2
\$\begingroup\$

I am trying to drive a nema 17 stepper motor with a 12v external power source between the collector and emitter. The base voltage will be 5v supplied by an Arduino Uno. I have read a lot on the net about transistors and stepper motors. However, the diagrams on the net have diodes in different places and some have resistors and some have not.

I have tried my best to draw a diagram to represent how I have it currently connected. I do not have any resistors in the diagram because I do not know why I would need it and where to add them. I added the diode between the 5v signal source and the base thinking it will prevent the external 12v from pushing back into the Arduino. Some positive input to help me understand will be most welcome. enter image description here

\$\endgroup\$
4
  • 2
    \$\begingroup\$ This is hard so say but, I have difficulty finding anything right in that diagram. I think you should start learning about electronics. Providing a schematic which is correct is 1/ not what we do here (this is not a design house) 2/ Not helpful because unless you understand how it all works you will get stuck at any small issue you encounter. \$\endgroup\$
    – Oldfart
    Commented Apr 18, 2020 at 9:12
  • \$\begingroup\$ I did not ask anyone to design anything. I asked if you could point out what I am doing wrong. No point in critiquing if you cannot also throw in some good advice. If I do not ask questions how would I learn? Kapish? \$\endgroup\$
    – Danny
    Commented Apr 18, 2020 at 9:51
  • 3
    \$\begingroup\$ @Danny If we bind critique to supplying a good advice, we will silence a lot of voices. This is not what we want. Simple critique is a value on its own. Nevertheless I understand that it is frustrating when entering new areas of knowledge and all people just say "sigh, where should I start to explain...". But on the other hand this "sigh" is how many veterans feel here, when they see proposals with every single mistake someon can imagine (or even not). \$\endgroup\$
    – Ariser
    Commented Apr 18, 2020 at 14:58
  • \$\begingroup\$ Welcome to EE.SE! ”motor with a 12v external power source between the collector and emitter” That would be a short circuit if you turn on the transistor and not what your fizzling diagram shows. Please draw a schematic. Click edit and click on the schematic symbol. \$\endgroup\$
    – winny
    Commented Apr 18, 2020 at 15:00

2 Answers 2

5
\$\begingroup\$

The schematic that you provided does not provide any level of functionality for driving the stepper motor. For your level of understanding of electronics you should instead get a stepper motor driver module that can connect to your motor and properly control it from your Arduino.

There are several businesses that provide modules like this for experimenters. The ones that come to my mind are Adafruit and Sparkfun which you can find via a simple web search. The part number ROB-12779 EasyDriver from Sparkfun is a module that comes with all kinds of helpful documentation to get you started including a Schematic, Hookup Guide, Datasheet for the used A3967 chip and available Arduino code samples.

If you look up that A3967 chip data sheet and take a look at its Functional Block Diagram you can start to get a sense of what it takes to properly drive the coils on a bipolar stepper motor. For the relatively low current applications (i.e. less than 1A coil current) you are much better off using an integrated stepper motor driver chip than you are trying to build two H-Bridges all with discrete transistors and diodes.

\$\endgroup\$
2
\$\begingroup\$

Short summary of mistakes:

  1. no current limiting device between the GPIO and bases. To drive transistors correctly you have to set the base current to a reasonable value. In this case a series resistor should be calculated and selected.
  2. The diodes are unnecessary. They steal only voltage for controlling the base
  3. When driving inductive loads and almost all motors are inductive loads, you have to supply a recovery diode or something will break due to the voltage overshoot from suddenly disconnected windings.
  4. There is no reference connection to the windings. The windings won't do anything because there won't be any current through them without connecting the "Co"-pin somewhere, preferably GND.. You have to drive them probably with a H-bridge (Thanks to Michael Karas for looking up the model).
  5. You built kind a weird high side driver. The load will rise the base voltage until no base current will flow any longer. With this setup (excluding the diodes) you won't be able to generate more than 4.3 V at the windings, because the arduino can't output more than 5 V.

search the web for sample circuits and compare them with yours. Find the differences using my hints.

Addendum I smelled another rat. Maybe the diodes criticised in 2) were meant to be a recovery diode. The more important is it to view other's circuits and compare.

\$\endgroup\$
4
  • \$\begingroup\$ I looked up the indicated part number for the stepper motor that the OP had in his "schematic" and found that the stepper is a bi-polar type with just two coils. The "Co" pin showing in the diagram would not connect to anything in that case as it would for a four coil stepper motor. A bipolar stepper requires driver capable of sending current through the coil in both directions during the step sequence and thus two full H-bridge drivers are required to drive the stepper coils. \$\endgroup\$ Commented Apr 18, 2020 at 16:38
  • \$\begingroup\$ thanks for looking it up, what should we tell OP? \$\endgroup\$
    – Ariser
    Commented Apr 18, 2020 at 16:49
  • 2
    \$\begingroup\$ I think the proper response to @Danny is already included in my answer. There is a big disconnect between what has been shown as a driver circuit and what can be found on many web sites that discuss Arduinos and steppers. To me this signals that Danny is anxious to make a motor move but lacks the experience to design/build a circuit. Using a ready made module (and trust me there are many of them available) is the best way for OP to start gaining experience. Once crossing a certain threshold of experience there will come a better adjustment of adapting circuits found on the internet. \$\endgroup\$ Commented Apr 18, 2020 at 16:58
  • \$\begingroup\$ Ya don't have to tell me that you can buy motor driver modules for little money. :) What I'm pondering about is, what's the best way to bring the OP on track, but probably we gave enough options now. \$\endgroup\$
    – Ariser
    Commented Apr 18, 2020 at 18:09

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.