Varying PWM dutycycle with session-based interface in Data Acqusition Toolbox
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I want to vary the duty cycle of PWM without stopping the session. My code is based on this example: http://uk.mathworks.com/help/daq/examples/generate-pulse-width-modulated-signals-using-ni-devices.html.
s = daq.createSession('ni');
ch = addCounterOutputChannel(s,'Dev1', 0, 'PulseGeneration')
ch = s.Channels(1);
ch.Frequency = 50;
ch.InitialDelay = 0;
ch.DutyCycle = 0.1;
s.Rate = 1000;
s.DurationInSeconds = 10;
s.startForeground();
If I want to change the duty cycle, I currently have to use this code, but it creates a jutter:
s.stop
ch.DutyCycle = 0.05
startBackground(s)
Can anyone suggest an alternative that does not require stopping the session? The documentation suggests that I can change without stopping the session, see bottom line of http://uk.mathworks.com/help/daq/ref/dutycycle.html, but this does not work in practice and I get an error message.
FYI I'm using this to control a servo.
Many thanks
1 个评论
jAwA
2016-7-5
Any news on this? I am also very interested in a solution for this issue for a DC motor control with PWM.
回答(0 个)
社区
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Acquisition Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!