Output a square wave with tuneable frequency and phase delay

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

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)

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.

Catégories

En savoir plus sur Specialized Power Systems dans Centre d'aide et File Exchange

Question posée :

Tom
le 8 Avr 2013

Community Treasure Hunt

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

Start Hunting!

Translated by