Shop OBEX P1 Docs P2 Docs Learn Events
Trouble driving the powerSTEP01 using the X - NUCLEO - IHM03A1expansion board — Parallax Forums

Trouble driving the powerSTEP01 using the X - NUCLEO - IHM03A1expansion board

The powerSTEP01 is an amazing stepper motor driver chip, and it's made available to experimenters like myself as an expansion board for Nucleo. I am using P1 of course, and that gives me the pleasure of writing the drivers. Trying to learn from the {{{C source}}} of the Arduino world just gives me a head ache, and it is much more rewarding to interpret the data sheets and write the SPI protocol.
So what do I do when there is no response? (sending the hexD0 ("Status") command and pushing for 3 bytes of status reply, I only get zeroes)
I have tried swapping for another SPI device to see if the code works and the pins are active - and it does.

Documentation is scarce by means of guidelines etc, so maybe there is a start-up sequence or some pins that should be held high or low - I cannot find out!
Anyone have any experience with this chip?

Erlend

st.com/content/ccc/resource/technical/document/data_brief/61/d2/55/60/bf/b5/47/59/DM00151763.pdf/files/DM00151763.pdf/jcr:content/translations/en.DM00151763.pdf

st.com/content/ccc/resource/technical/document/datasheet/3f/48/e2/37/6b/ac/4c/f5/DM00090983.pdf/files/DM00090983.pdf/jcr:content/translations/en.DM00090983.pdf

Comments

  • kwinnkwinn Posts: 8,697
    That data sheet is not exactly a shining example of clarity and ease of use. The command descriptions start on page 74 of the PDF but do not seem to have any description of how the chip is initialized. I suspect you need to set up the config register (page 66) first, but who knows for sure? Taking a couple of aspirins and digging in to the arduino code may be the way to go unless there is an app note that does a better job of describing the powerSTEP01 operation.
  • kwinn,
    Thanks for the support. Reading the AN you linked gives me the idea to try various schemes with the ChipSelect signal. Arduino I will not, there is not a strong enough painkiller available.
    Coming over to Norway any time soon?

    Erlend
  • kwinnkwinn Posts: 8,697
    Erlend wrote: »
    kwinn,
    Thanks for the support. Reading the AN you linked gives me the idea to try various schemes with the ChipSelect signal. Arduino I will not, there is not a strong enough painkiller available.
    Coming over to Norway any time soon?

    Erlend

    The Norway trip is on hold for now. Too much on the go to be away for for any length of time at the moment. Shooting for next summer.
  • It seems that the chip expects a CS toggle between each byte transmitted, but still I get no response. The GetStatus xD0 should give a response even if no registers are initially configured - I think.
    I feel I am at a dead end now :(

    Erlend
  • This is what the data sheet says:
    The device can be reset and put into Standby mode through the STBY/RESET pin. When it is forced low, all the MOSFETs are turned off (High Z state), the charge pump is stopped, the SPI interface and control logic are disabled...
    What is actually the case is that that pin is pulled low internally, and has to be forced high for the chip to respond. I have also gathered together that it wants SPI Mode 0, MSB first, long data in 8bit chunks with ChipSelect toggled between each byte.
    Finally I got a reply. Now I will implement all the fun commands such as run, stop, step, etc. -and hopefully post a driver on OBEX one day.

    Erlend
Sign In or Register to comment.