Member Since: January 16, 2008

Country: United States

  • List of Quirks I’ve found so far, after working with this for a year:…

    1) While motor is running, you cannot: change acceleration, or use setPos()… If I recall, you also cannot call another goTo().

    2) If you call a run direction command before the existing one has finished, It will run crazy.

    3) number of steps the chip keeps track of overflows at plus and minus 221 (~2 mil).

    4) You cannot setPos() to a negative number directly… You’ll have to set it to a number that overflows its 21 bit register to switch that 22nd bit to make it a negative number.

    Will add more as I run into these…

  • The library is has a little bug in in it. AutoDriverConfig.cpp, line 34 reads

    stepModeConfig |= (stepModeConfig&0x07);

    This should instead be

    stepModeConfig |= (stepMode&0x07);

    See the simple typo? So far it has given me microstepping. Have not yet tried to see if the automatic transition from micro to full steps works. I will report back if I find evidence of any unsolved problems.

    Edit 1: Keep in mind that now, when you call goTo(steps), it uses microsteps, not full steps. (eg, 1 rev on a 200-step motor at 128 microsteps is goTo(25600);… other things, though, like maxSpeed() or run() use full steps.

No public wish lists :(