Varying PWM dutycycle with session-based interface in Data Acqusition Toolbox
조회 수: 2 (최근 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개)
커뮤니티
더 많은 답변 보기: Power Electronics Community
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Acquisition Toolbox Supported Hardware에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!