Reading Step/dir with Arduino



  • I am looking to read the step/dir going to each driver with an Arduino. I am aware that it is not recommended to use the step/dir test points but this would be my ideal solution.

    Questions:
    What is the reason for not using these test points?
    If it will work are the drivers fine being triggered without a motor attached?
    If it wont work can a get the remaining step/dir pins off the expansion header directly or will I need the breakout board? Glancing over the current limit of these pins and the current draw from the arduino digital pins it looks like I will. This seems a little silly though for what is a data pin...

    Thanks in advance!


  • administrators

    An Arduino needs almost no current to drive its digital input pins, so could be driven from the expansion header or the test points. However, most 8-bit Arduinos run from 5V and need 5V signal levels, so you would need level shifters for reliable operation. There are exceptions: the Arduino Pro Mini runs from 3.3v AFAIR, and the atmega32u4 chip used on the Leonardo and Pro Micro accepts 3.3V input signals even when running from 5V.



  • @btmurton said in Reading Step/dir with Arduino:

    What is the reason for not using these test points?

    because it could interfere with the signaling even if the attached instrument is high impedance it could fail or couple noise into the signal. not to mention human error.

    If it will work are the drivers fine being triggered without a motor attached?

    yes, but you'll likely get a ton of erros from the firmware. don't (di)sconnect motors while energized.

    If it wont work can a get the remaining step/dir pins off the expansion header directly or will I need the breakout board? Glancing over the current limit of these pins and the current draw from the arduino digital pins it looks like I will. This seems a little silly though for what is a data pin...

    rephrase? the different pins / test points are dedicated to any given driver number that is corresponding to the mapped axis, so you'll need to get them where they are.

    you don't want to load the duet signals at all, and the arduino inputs should be relatively high impedance. you can add some series resistance for adttionl protection against Mr. Murphy though.

    edit: took too long typing; take not of what he said about 5v signaling though ☝



  • Thank You! All questions answered!


Log in to reply