2018-07-04 03:09 PM
Posted on July 05, 2018 at 00:09
I am using an X-NUCLEO-IHM03A1 board (powerstep01) to control a stepper motor (17HS24-0644S) speed.
When I use the command 'Run (DIR, SPD)' over SPI interface, I observed that the speed in step/s is not exactly the same as requested. (e.g requested 200 step/s, result is 198.4 step/s)
I have noticed that by changing slightly the voltage value of the powerstep01 pin VDDIO the speed of the motor changes as well for the same requested value.
For example:
VDD = 3.3V speed = 198.4 step/s,
VDD =
3.4V gives 196 step/sVDD =
3.2V = 201.6 step/s
My application requires to control the speed of several stepper motors precisely and currently this is an issue since the speed varies according to VDD and it is very sensitive.
Does anyone knows about this issue, is there a workaround
Note: I used the library from
https://os.mbed.com/teams/ST/code/IHM03A1_ExampleFor3Motors/
with the same initialization parameters.
Datasheet:
https://www.st.com/resource/en/datasheet/powerstep01.pdf
Solved! Go to Solution.
2018-07-12 10:00 AM
I found out the root cause of my problem. The internal oscillator frequency as a +- 5% tolerance. I have fixed the problem by adding an external clock source.
2018-07-12 10:00 AM
I found out the root cause of my problem. The internal oscillator frequency as a +- 5% tolerance. I have fixed the problem by adding an external clock source.
2019-04-24 01:33 PM
How many powerstep01 I can use in daisy chain? I know that i can use up to 3 ihm03a1 boards with nucleo. Why 3?
2019-04-26 08:30 AM
I think theoretically you can use up to 255 powerstep01 in daisy chain. You cannot stack more than 3 ihm03a1boards because of the way the MISO and MOSI signal are wired inside the board.
CPU MOSI -> PS1 MOSI -> PS1MISO->PS2 MOSI-> PS2 MISO -> PS3 MOSI -> PS3 MISO -> CPU MISO.
If you want to use more than 3 ihm03a1 boards you cannot stack them on your nucleo board and cannot stack more than 3 together. In my project I used 7 ihm03a1 in daisy chain. I had 2 stacks of 3 boards and 1 board independent and it was working perfectly.