Output a square wave with tuneable frequency and phase delay

3 vues (au cours des 30 derniers jours)
Tom
Tom le 8 Avr 2013
I am trying to output two square waves to control a stepper motor. I need to be able to change the phase difference between the two waves to control the direction of the motor and I need to change the frequency of the waves to control the speed. I also need to control the number of cycles to control how far the motor travels.
Please help as I have tried quite a lot of different ways and had no success.
  1 commentaire
Jon
Jon le 8 Avr 2013
Are you running a loop in MATLAB that sends its output to some physical i/o, or is it in Simulink. Please clarify

Connectez-vous pour commenter.

Réponses (1)

Jonathan Epperl
Jonathan Epperl le 8 Avr 2013
Showing us some of your prior attempts would certainly help, since we then could avoid suggesting stuff you already tried.
Anyway, whenever I needed square waves, I used a sine wave together with logical operators, e.g.
f = @(t) (sin(2*pi*t)>0)-(sin(2*pi*t)<=0)
should get you a square wave with frequency 1. Adapt it to your needs.

Community Treasure Hunt

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

Start Hunting!

Translated by