Why try to serie- or parallell-connect 2 z-stepper motors?

Why try to serie- or parallell-connect 2 z-stepper motors?

I have created a “super-DRV8825” that uses only one stepperdriver-bay on the board, but gives up to 2A to each stepper-motor.

The heatsinks are in copper and mounted the way it should have been from the beginning.

The “pin-risers” are Arduino-Shield connectors. You will need one 8 pin connector and two 2pin connectors.

The heatsink is soldered to the thermal-vias a copperstrip will transfer the heat from the chip to the “external” heatsink.

I have made both the upper and the lower driver equal. This in not needed. You can simplify the design by only remove the pins for the JST connector.

The disadvantage of this design is that it will be high and that each driver hast to be adjusted separatly. When they are calibrated they are connected together and joined to the board.

When testing there was alot of improvements on the force.

When you say “alot of improvement in force”, do you have any specific measurements?
Looks like a great idea…Just curious.

Stacking two drivers to share EN/DIR/STEP lines is a pretty well-established solution. It’s a bit abusive to your electronics because you’re using one driver worth of controller board capacitors to run two drivers, but I haven’t seen that cause problems in practice.

What I usually do is unsolder the motor coil pins and flip them over so they stick up from the upper driver, rather than out the side.

@Ryan_Carlyle would any Improvemets to the ramps electronics be needed to compensate for the extra loads?

Not what I can see… The rest of the board has limits on capacitors and they are well within limits…

There will be some extra amps going to the driverbay, but this design makes it possible to have less VREF and still the same power/torq/force

Stepper drivers are hideous from a power supply cleanliness standpoint. They draw a lot of power for a few milliseconds, then push power back to the PSU (or to other motors) for a few milliseconds, then freewheel for a few milliseconds. Every time they switch, you get local voltage transients due to FET switching timing imperfections, and you get abrupt changes in the current draw off the board’s VMot rail. (Although I should note that 8825s don’t make as much electrical noise as 4988s.)

8825s run on a fixed 30 kHz switching frequency, but the oscillator tolerances will never exactly match frequency between drivers, so you’ll get a beat frequency in the electrical behavior as the drivers phase in and out of sync with each other. So with stacked drivers, in some moments you get twice the noise and current draw, and in others they’re out of phase and actually buffer each other to some extent.

In order to deal with all that, each driver needs some low-ESR filter capacitors (to clean up the switching spikes) and some bulk capacitance (to handle the changes in current draw). These capacitors basically protect the rest of the board from the drivers’ nastiness, and make sure the drivers are given the juice they need from millisecond to millisecond despite parasitic inductance in the board and wiring from the PSU.

TI recommends the 8825 have a 0.1uF low-ESR filter cap immediately adjacent to each motor coil supply pin (VMA and VMB) and 100uF of bulk capacitance nearby. The Pololu 8825 has the two 0.1uF filter caps and a 4.7uF cap thrown in for good measure. The 100uF bulk capacitor is too big for the Pololu and has to go on the mainboard. So when you stack two drivers, they do have their own filter caps, but they’re sharing the big capacitor. But it’s a little more complex than just saying there’s one 100uF cap for two drivers – the whole VMot rail has to be considered. That overall behavior depends on how much impedance you’re getting between the other drivers’ 100uF caps (probably not much) and the main PSU caps (probably a lot).

My thinking is that the total number of drivers is probably more important than the number stacked in each socket. RAMPS should be good for 5 drivers.

Does it matter? Maybe, maybe not. Hard to say. Running two 8825s at 2A is certainly way more work for the capacitors than a more normal 1-1.5A through a 4988. For example, the printer might be more susceptible to powered-off back-driving causing board damage.

@Ryan_Carlyle Wow!! thats good news… I was not thinking that way…
I am thinking of doing a slimmer PCB with the stacked drivers so adding low-ESR on that “piggy-back” PCB should be a good idea.

Why do you guys not simply use “clean” extension boards like the cnc shield? Nevertheless, an interesting solution.

This is good research but why you don’t consider to bay more powerful driver at general. This drivers neither cheap neither state of the art. simple driver like TB6600 will do the job anyway.

The DRV8825 is so cheap that it is almost unbelivable. Ther is so many guides how to calibrate and setup the DRV8825

The absolutly best should be to totaly design a new pcb with 2 drivers on one PCB with the same footprint as the famous DRV8825.

The design of the DRV8825 is not complicated at all. Changing to a better chip will get more performance and alot of more good features, but the DRV8825 is almost a defacto standard for 3Dprinters.

My goal was to create somthing that is close to plug-and-play and minimum of change to existing setup.
My hack was made with solderiron, pliers, and some sockets that are available anywhere. I even split a 8pin socket to get the 2pin connectors because I did not have any at home. The 8pin connectors is from canabalizing a Arduini Shield and the JST sockets is left-overs from another project.

Even if this is a quick-hack it have potensial and shows an idea that is working. This is NOT a perfect solution… It creates more eletric noice and needs an improved ESR filter.

okay - so if it has more noise and needs a filter - what would you recommend? Im all about creating a pcb for this if its a viable solution.

@Jeff_Para Simple answer is to just run the drivers stacked and don’t worry about it. My personal opinion, any board with Pololu sockets but not enough sockets to just clone the axis onto another socket via firmware probably isn’t worth much effort to protect.

If you want to try to meet driver spec for stacked drivers, you would add a 100uF capacitor (whatever exact part is on the RAMPS) between VMot and GND.

@George_Novtekov Here’s your Pololu socket to TB6600 adapter :slight_smile: https://oshpark.com/shared_projects/gdzCnULv

I agree with @Ryan_Carlyle . The motherboards I have tested is rigid enought to handle the noice.

The best way to test this is to add an oscilloscope and test what filter design kill kill the noice.

This is not 100% because it will change with the number of drivers on the board

@Ryan_Carlyle The adapter board is a marvelous PCB… It will create a much better driver than the dual-DRV8825. But will cost twice as much.

I goal was to try to do something with spareparts and junk that I allready have.

@Jeff_Para A simple PCB that has a 100uF between Vmot and Ground. It can be unoccupied.
The design is so easy that I think that is is possible to do in Fritzing or KeyCAD.