Help with a NEMA23 upgrade

I find this perplexing. Working a little blind without having all the diagnostic tools available… It’s not obvious which component is failing :frowning:

If you disconnect that external controllers, add the step sticks, and use the step sticks to drive the steppers, do the steppers move at all? Try just one axis?

Sorry for the late reply, I just got super busy at work.
Forgive me, but I am not following completely. By external controllers and step sticks, are you talking about the stepper drivers (TB6600) and the stepper motor driver modules (DRV8825)?

I am out of town for the next few days but if this is the way I will give it a try when I get back. I am very perplexed about the inconsistant readings on the STP > PUL+ test. I wonder if I need to re-run the wiring and make sure the connections are solid. One of the problems that (may) be causing issue is the connections on the board are MOLEX and I have dupont connectors on the wires. It is a solid connection, but who knows. I have the MOLEX connectors, but not the wire ends that go into the connector.

Be back in a few days.

Step sticks are the things that fit directly on the board. In your picture, the purple things with the heat sinks.

By “external” I mean the TB6600s.

While the step sticks don’t have enough current to run the machine reliably, if there’s no load they should be able to turn the steppers.

If I were physically present and didn’t have my oscilloscope or logic analyzer to fall back on, I’d disconnect one of the steppers from the TB6600, install a step stick back directly in the board, disconnect the pulley on the stepper so it had no load, and try to move the associated axis to see whether the board is correctly commanding output from the stepper driver.

Oh!

If that driver is enable low then you might need to disconnect the wires entirely from the ENA. I keep forgetting that this is a thing. :frowning:

Do that first before trying anything else.

What does that mean that ENA is low?

So if I am removing the wires from ENA, are you saying that I abandon the +5V? Right now the +5V is just going to ENA+ (ref wiring diagram above).

Michael, don’t the ENA- and ENA+ just mean that if you want to “enable” the driver with a positive signal you connect to the ENA+ terminal and if you want active low you connect your low signal wire to ENA-?

Same for the pulse signals PUL-/PUL+ and direction signals DIR-/DIR+?

Therefore, if there was a 5V power signal which had it’s negative terminal connected with the 24V/36V negative terminal. Then with 5V applied to ENA+ and another 5V positive signal momentarily tapped on/off of PUL+ the motor should move in whatever direction the system had DIR- or DIR+ pulled to and you might even want to be sure and connect 5V positive wire to DIR+ .

Making sure the motors work with standard stepstick driver boards which came with the board is a good start becaue now you’d know the board signaling was working and the stepper motors and wires were OK. The stuff I posted above this last section really just tests the stepper drivers and motors and motor wires.

Exactly. Simply disconnect at least one wire from ENA, but you can disconnect both ENA+ and ENA-.

Nope.

I forgot that at least with some drivers, “ENA” really should be printed with an overbar, indicating that it’s an inverted signal.

ENA, PUL, and DIR on these boxes go through optoisolators. These are not wired directly to the chip. This is true in general when you have two connections for each one signal. (I have other external stepper drivers that are wired directly to the chip; they have only four wires.)

1 Like

So all those arrows were trying to tell us that’s an an opto-isolation diode. Crazy they don’t know what a diode/LED symbol looks like. And as you mentioned, without any trigger indication for active-low or active-high it would be assumed to be active-high.

There was probably a big sticker on those stating “Not a User Serviceable Part”.

That says ENA high.

(1)To turn on the output, configure the ENABLE pin high. To turn off the output, configure the ENABLE pin low.

But searching, I see references to TB6600 boxes like this being explicitly inverted enable. So it’s possible that they made these boxes to be compatible replacements for other boxes that are enable low by inverting the input inside. :person_shrugging:

Anyway, given that inverted enable is a thing, definitely the first thing to try, and I feel bad about having forgotten this, because I have known it. :cry:

Pause on the trip, so I have time to troubleshoot.
Here is what I did today.
I isolated the controll board, one stepper motor and one driver.
With the step stick installed on the control board and the motor plugged directly into the board (z axis position) the motor moves as it should.
With the step stick removed and the driver plugged into the driver port I get nothing.
I tried removing the ENA+ and ENA-, no joy.
ENA+ and ENA- connected, no joy
PUL+ and DIR+ inverted, no joy.

Attached are the results from my testing:

OK, that’s progress. The board works and the steppers work!

So what’s left?

  • The power supply
  • The external TB6600 drivers
  • The wiring

You’ve replaced the power supply. I’m still wondering about the current control. You’ve reviewed the wiring. Where did you buy the TB6600 external drivers? Can you provide a link?

1 Like

See this video on connecting up a controller board, an external stepper motor driver and a stepper motor. It was informative on the PUL+/-, DIR+/-, ENA+/- connections. https://youtu.be/3LZ_v3Jldwo?si=s_4cKetgoh8yzFyu&t=341

This is a great video, but what is pin 8 and pin 9. If I were running an Arduino I would be all set, but I am not. I get the +5V running to the ENA+, PUL+, and DIR+, which was in the original diagram. ENA- not connected makes sense as well.

Does this mean that DIR- connects to the DIR on the control board, and PUL- connects to the STP on the control board?
Does the GND on the control board connect to anything?

The Arduino pins 8 and 9 are the signaling pins controlled from the firmware on the Arduino controller which is set for active-low operation. This means when the signals from the Arduino are pulled to 0V the 5V on the other side(PUL+ or DIR+) completes the circuit for current to flow through the photodiode of the opto-isolator and activates the control on the driver module.

The video was NOT instructions but hoped it explained how things worked but a miniumum understanding of electric circuits is a required for any understanding.

I’ll bow out here as I’m not very good at just supplying assembly instructions and don’t have that board nor firmware to know exact step-by-step instructions required. Sorry Michael, if I confused things.

I truly appreciate your help and input. I’m learning a lot here. I thought I understood enough to fumble-f my way through but you have opened my eyes to a whole new world.

I am pulling a set of drivers off my buddies machine that he doesn’t use to see if I get different results. I’ll let you know what I find when I get home.

1 Like

And Michael opened my eyes a bit too and I dig learning about stuff. That opto-isolator Michael mentioned before is what eliminates the need for a common ground, which often can be the source of signal noise. Especially around motors.

These things let you control the LED/diode either at the anode/positive side(if the cathode/negative side is appropriately grounded) or controlled from the cathode/negative side if the anode/positive side is pulled up appropriately. There would need to be some voltage and current specs to prevent damage to the LED in the opto-isolator becaues even with a built-in series resistor, connecting 36V to the anode/+ side with gnd at the cathode/- would likely cause the LED to fail.

It’s a robust way to drive the module but also why those modules tend to be more expensive besides the other hardware in that big module, vs those little plug-in driver boards.

1 Like

The TB6600 drivers were off Amazon, but there is almost no info on them. I am borrowing three of my buddies drivers that he got off of Amazon also, there is a lot more info on them.
Looking at the wiring setup on the amazon page, I am not really sure what I need to do; Active High or Active Low. Also, I don’t know what wire the “Enable signal” is, is that the +5V on my control board? As a reminder all I have on my driver connection is 5V, STP, DIR, and GND.

Step sticks are active-high for STP and DIR. The four-connector port near the step stick socket just breaks out the same signals that go to the step stick. Therefore, active high is appropriate.

(There are controller boards that can be configured for active low; I own at least one. But that configuration isn’t compatible with any step sticks I know of.)

Therefore, Active High (common anode) is the correct side.

Sadly, even for step sticks enable isn’t always the same. However, DRV8825, which is what you said you have, is active low enable (inverted enable). Therefore, the firmware should be set for inverted enable.

The TB6600 datasheet I found said it was enable-high (not inverted). That would mean that you would want to connect 5V to ENA+ and GND to ENA-. But if that doesn’t work, then it might be inverted between the opto-isolator and the TB6600 chip inside the box. In that case, leaving it disconnected should be fine, or connecting GND to both ENA+ and ENA- should be the same.

So to Doug’s point, if you ever connected 36V to the logic inputs, they may well have burned out.

I will give this a go when I get back with different drivers.

Just to be clear, the 36v has only been connected to the VCC, the logic ground was connected to the GND at one point, but not on the new drivers.

leaving what disconnected? If I do connect gnd to ENA+ and -, where does the 5V go?

Sorry for all the questions but I am really trying to understand all this.