Control of Stepper Motor with Simulink

19 次查看(过去 30 天)
Hi there!
I have a program that tells the step sequence for a step motor to take. So far, I have been able to make the stepper motor turn clockwise and counter-clockwise. I did this using a repeating sequence stair, where the output is [0,1,2,3], and the sample rate is .01 seconds
Now I want that if I push a button (eg. arduino push button), then the repeating sequence stair logic will operate for 5 seconds. However, the repeating sequence stair logic is a source with no input.
Therefore, my question now is, how do I integrate an if statement so that when the push button is pressed, then the repeating sequence stair logic will initiate for five seconds?
Hardware used:
Arduino Uno
5 Volt DC 28BYJ-48 step motor
Motor Driver Board ULN2003
Thanks, Nick
  2 个评论
Cosimo Mercuro
Cosimo Mercuro 2018-5-5
Hi Nicky. May you provide me the simulink file? Thanks in advance
Nicky Man
Nicky Man 2018-5-13
Here you are. Let me know if it works or not.
Regards, Nick


回答(2 个)

Cosimo Mercuro
Cosimo Mercuro 2018-4-26
Hi Nicky. I've the same issue. Have you found any solution? Thanks in advance
  1 个评论
Nicky Man
Nicky Man 2018-4-27
Hi Cosimo,
Yes. I added a delay block as an input u2 to the if statement block. I set the delay block to the amount of time I wish for the motor to be delayed. The delay block becomes u1 after this period of time. The logic in the if statement is that if u2 becomes u1, then it will output the constant 8, which stops the stepper motor.


Michael Goebel
Michael Goebel 2020-6-24
You could try to implement it with
  • stateflow or
  • an enabled subsystem or
  • look under the mask of the repeating sequence block and adjust it as u want


更多回答在  Power Electronics Control


Help CenterFile Exchange 中查找有关 Arduino Hardware 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by