0
\$\begingroup\$

I am fairly new to the world of stepper motors, drivers and RPis, so I might have some potentially naive questions.

Firstly, I am using two NEMA 34 stepper motors and planning to connect them with DM860T drivers. However, I am unsure if I am able to connect these two, big drivers to a single RPi, or will I need two Rpis. Is this possible? Can a RPi work with this setup? Are the drivers too high voltage for the RPis?

I have seen many tutorials for small, single motors, but little resources for big stepper motors.

Any other assistance or advice will be greatly appreciated.

Thank you most kindly for your help.

\$\endgroup\$
0

3 Answers 3

2
\$\begingroup\$

As such, the raspi doesn’t care about the size of the motor - that is the job of the driver module. However, you will most likely need an interface in order to provide enough voltage and current to the inputs of the motor driver. I’d suggest you consult the forums of linuxcnc as it is likely someone else has done the exact same thing you want to do.

Nevertheless, you need some circuitry. Something like a BSS184 mosfet and some resistors.

With popular devices like Arduino and RaspberryPi, if someone hasn’t done what you want to do before, then that suggests it is probably not a good idea. Usually I’d expect an Arduino to do the grunt work using the likes of GRBL and the raspi feeding it co-ordinates.

\$\endgroup\$
1
  • \$\begingroup\$ thank you for that advice. Would I be able to connect two of the drivers to a single RPi, provided I supply enough power for them? \$\endgroup\$ Commented Apr 28, 2021 at 13:53
1
\$\begingroup\$

Normally I would recommend a "3 Axis Control Board GRBL" instead. But those NEMA34 mean some real business given their 6 A rating.

The DM860T correctly provides differential inputs to cope with interferences that are expected at those power levels. If you really need that much steam you could maybe still use the control part from the Control Boards: it is an Arduino Nano that runs a state machine able to read GRBL and feed the drivers accordingly - which incidentally have a DIR, STP, EN interface as well. Its 5V should allow a direct interface with the DM860T (compare eg. datasheet fig 10).

The software is freely available and can be easily modified and loaded onto the Arduino. It can be easily adressed via a generic COM port from the RPi and takes care of all the legwork.

P.S. Alternatively you could use the PWM module of the RPi and take care of the acceleration and breaking part yourself. Have done both in the past. However you will mostlikely a 3.3V to 5V translation to ensure proper operation and you have to take care of all the timing/stepping on th RPi yourself.

\$\endgroup\$
0
\$\begingroup\$

The two other answers are technically correct. I want to simply emphasize a singular point they both made.

An RPi is a multi threaded, multi core general purpose system on a chip. It's just like your laptop but with less chips. Their GPIO is sluggish. That means they are not best suited to millisecond control applications. You're suggesting professional driver modules. An Arduino type micro controller is better suited. The RPi would be used for higher level control, leaving the pulse control (and other feedback) to the Arduino.

See What's the difference between a microcontroller and a microprocessor?

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.