easy dc motor controller

by:IPON LED     2020-06-29
If you are making robots or other micro-control devices, you will need to drive the DC motor before and after.
In this note, I will demonstrate a simple and inexpensive circuit that controls the DC motor through two I/O pins.
It does not require an integrated circuit and uses commonly used components.
I suggest you build it on the breadboard for the first time.
I designed this circuit but I am not the inventor of this motor controller.
When I saw the amazing and precise movement of Makerbots and CNC routers at Maker Works in Ann Arbor, I was interested in motor control circuits like this.
Here are the parts you need.
All of this should be sold at your local radiowack or hobby store. (1)DC motor (4)
MOSFET transistor
I used IRF540N but any N-
Channel MOSFET can. (4)Diodes (2)
I\'m using bc548. (2)
PNP bipolar transistor
I\'m using bc327. (4)
2200 ohm resistance (red-red-red)(4)
10 k ohm resistance (brown-black-orange)
The resistor values of some jumpers and breadboards are not important if needed.
A fairly close value is likely to work fine.
This is a picture of the complete circuit on the breadboard, and there are a few additional part labels.
When you set the pin to 1 with your micro controller, the pnjunction Transistor Q7 turns on.
This connects the base of the PNP transistor Q5 to the ground and turns it on.
The Q5 then connects 12 volts to the mosfet Q1 and Q4, and the mosfet Q1 and Q4 connect the motor to the positive and ground.
Set pin 2 high to connect the motor to the positive and ground with opposite polarity.
These four diodes protect your transistor from the voltage surge that sometimes occurs when the DC motor suddenly stops.
When your I/O pin is low, the 10 k ohm resistor pulls the base of the transistor to the ground, and the 2200 ohm resistor limits the current extracted from the I/O pin, to protect them.
Have fun rotating the motor!
I used two of these circuits on my robot butler\'s drive train.
Custom message
Chat Online 编辑模式下无法使用
Leave Your Message inputting...