Azzera filtri
Azzera filtri

Varying PWM dutycycle with session-based interface in Data Acqusition Toolbox

2 visualizzazioni (ultimi 30 giorni)
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 Commento
jAwA
jAwA il 5 Lug 2016
Any news on this? I am also very interested in a solution for this issue for a DC motor control with PWM.

Accedi per commentare.

Risposte (0)

Community

Più risposte nel  Power Electronics Control

Categorie

Scopri di più su Data Acquisition Toolbox Supported Hardware in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by