Arduino wiring to stepper drivers for 3 axes

Hello,

A question for Arduino wiring to TB6600 drivers for 3 axes; Please help confirm if the below understanding is correct:

X axis Pul+ & Dir+ ==> pins 2 & 5
Y axis Pul+ & Dir+ ==> pins 3 & 6
Z axis Pul+ & Dir+ ==> pins 4 & 7
All axes EN+ ==> pin 8
All axes Pul-, Dir- & EN- ==> gnd (pin 13)

We connect En+ only if we want to use holding torque in the motors e.g. Z axis in a CNC router.
For X & Y, detent torque would suffice. Hence En+ need not be connected.
EN- can be connected to ground (or both EN+ and EN- could be connected to ground).

Also, how does one extend pins for more analog / digital IOs?

Thanks..

Your stepper wiring looks good.

You can add on ADC chips for more analog channels. Interface with SPI or I2C. Lots of resolutions (bit widths) available.

For digital GPIO there are several ways to go.

My favorite is the MCP23008 (8 bit, I2C),MCP23017 (16 bit, I2C), MCP23S08 (8 bit, SPI), MCP23S17 (16 bit, SPI). Each of those parts feature internal pullup resistors per pin, pin change interrupt, and other features.

Also the PDF8574 8 bit I2C expander popular on I2C backpacks for LCDs.

There are also shift registers like 74HC595 or 74HC165 (8 bit serial in, parallel out) and high current versions for driving higher power LEDs and such.

And 74HC164 8 bit parallel in/serial out shift registers.

This is not a complete list, but the most available and popular.

Thank you so much for the response.. I'm new to Arduino, so lots of reading for me here.

I just thought of the analog multiplexer (74HC4051 for example) to add ADC channels. It uses to Arduino board's ADC so is the same speed and resolution.

Hi, @aalcaponix
Welcome to the forum.

Can you tell us what Arduino controller you are using?

Thanks.. Tom.. :grinning: :+1: :coffee: :australia:

I'm not quite shure if you understand the usage of the EN connection. If you activate the EN input ( EN+ = HIGH, EN- = Gnd ) you completely disable the motor. If you want to have any torque you must not activate EN. If you never want to completely disable a motor, you can leave EN unconnected.

Thanks Tom, I plan on using the Arduino Uno as a controller.

Indeed.. I don't really understand these electricals. Had compiled this after having read another post on this forum and some youtube videos.. And thanks!