cancel
Showing results for 
Search instead for 
Did you mean: 

X-NUCLEO-IHM03A1 Arduino compatibility?

jamesmakohon9
Associate
Posted on October 25, 2016 at 13:37

Hello,

I'm trying to use an Arduino UNO R3 to control the IHM03A1 stepper driver.  I found an Arduino library for the IHM01A1, which looks to me like an older version of the stepper driver.  I installed the library and uploaded an example sketch, which should move the motor about using various commands.  However, when I power up the board, I get a green power LED, and a red and an amber LED lighting up, and the step LEDs are very dimly lit up. There is no motor movement.  I'm wondering whether anyone can help.  It says it's compatible with STM32 Nucleo boards, and compatible with Arduino UNO R3 connector, but none of the official software seems to be for the Arduino... I'm coming to the conclusion ST doesn't want Arduino users to be able to use the ST library for this device, and want us to buy a Nucleo board instead?  I hope there is a way to use the Nucleo library on a proper Arduino.   

Thanks,

James

Arduino library information:

http://forum.arduino.cc/index.php?topic=295928.0

https://github.com/MotorDriver/L6474

Stepper driver information:

http://www.st.com/content/st_com/en/products/ecosystems/stm32-open-development-environment/stm32-nucleo-expansion-boards/stm32-ode-move-actuate-hw/x-nucleo-ihm03a1.html

#l6474 #ihm03a1 #nucleo
1 REPLY 1
Ariel Levesque
Associate
Posted on July 11, 2017 at 05:00

I am in a similar situation - not sure if you find a solution as this question was posted a while ago.

I would really appreciate some insight, as I'm not sure what is the problem. I'm using an AVR 328p to interface with the driver with a custom simple program, and have had no problems working with the L6470 which uses the same communication protocol and set of instructions.

I need to driver larger steppers than the L6470 can accomodate, and absolutely love the features of those boards, so the Powerstep01 seemed perfect. However I get the same problem as above; the powerstep board (X-NUCLEO-

IHM03A1) is powered and properly wired. Both the green POWER OK and red FAULT LEDs stay on, and I can't get any motion commands to work (not even Hard stop).

What's puzzling is that I can write & read the registers, STP_MODE, KVALS, MAX_SPD, etc... And I'm even more stunned as the board will let me write the ACC register and change it to whichever values - although this register can only be written when the motor is stopped (my code sends a 0xB8 command when changing ACC), which leads me to believe that the board does indeed execute the HARD STOP cmd (since it wouldn't let me write the ACC register otherwise). But it won't hold the motor in STOP mode when I just send a B8 or B0 cmd (HardStop / SoftStop). Run and GoTo commands are also ignored.

I have the driver wired exactly the same way as the L6470, which works perfectly in my application. Is there something I am missing particular to the PowerStep01 or 

IHM03A1 board that is dealt differently than on the L6470?

Stepper is a 5.6A Nema34 stepper, and power supply is a steady 48V / 1000W.

Any help would be much appreciated.

-A