Clear Filters
Clear Filters

How can I use writePWMVoltage() in a matlab function ?

1 view (last 30 days)
Hello, I'm working on the simulation of a pressure sensor which return 0-5 V signal. So I use an arduino Mega to supply the analog signal. I succeded to simulate the sensor but when I try to set to zero my Ouput at the end of the programm it doesn't work : the voltage value decreases instantly then it increases gradually to a limit. It is very strange because when I execute my program directly in the command windows it works perfectly. I use the "writePWMVoltage()" function to create the analog signal which is read by an automaton M172 (SCHNEIDER ELECTRONIC).
Thank's for your help !
  2 Comments
Madhu Govindarajan
Madhu Govindarajan on 3 Nov 2017
Could you post the critical portions of your function's code so that someone could see if you are doing something differently than intended because based on what you describe everything should work fine.
Anthony Auvergnon
Anthony Auvergnon on 8 Nov 2017
Here is my function :
function [V] = simulationP2()
clear a;
a=arduino('COM5','Mega2560');
configurePin(a,'D6','PWM');
for i=160:10:190
i=i
V=(i+52.503)/223.12;
writePWMVoltage(a,'D6',V);
pause(5);
if i==190
configurePin(a,'D6','DigitalOutput');
writeDigitalPin(a,'D6',0);
pause(5);
end
end
end
if true
% code
end
To be precise I use an M-duino PLC based on arduino Mega2560, it can supply 0-10V output versus 0-5V for arduino Mega2560. So I try this morning an arduino Mega2560 card and my function works, do you think that the problem is due to the m-duino ?
Thanks.

Sign in to comment.

Answers (0)

Categories

Find more on Arduino Hardware in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!