I'm a beginner at electric circuits. I wondering about why you can't connect a dc motor directly to a DC motor. I mean won't the Arduino just not be able to supply enough current so it will just result in the dc motor not running, but no damage to the Arduino right?
No.
The outputs do not have "current foldback", no-loss as a result of some excess is not guaranteed.
You can't supply enough current from the GPIO of an arduino to run a DC motor. The motor is going to try and pull too much current from the arduino so you will probably fry the board.
You can. If you do, one motor can act as a generator and make the other motor turn whenever it turns.
You can connect it, but their won't be enough power out of an Arduino to turn any normally-sized small motor. It's the same as trying to use a little go-cart motor to pull a large tractor-trailer truck. The little go-cart motor would run so hard, it might burn up, or waste a whole lot of gas trying. Same with the Arduino pin. Turning a motor that is likely 10 or 20 times larger than that small integrated chip just won't work well.
Something like that is usually amplified - where a small movement of current or voltage controls a larger movement of current. A small output from a microprocessor controls a transistor. The transistor controls a relay. The relay controls the motor. That's how it's done. Like a driver controls a gas pedal. The gas pedal controls a carburetor valve. The valve controls the fuel into the motor, the motor spins the transmission, and the transmission is geared to move the truck within a specific range of speed.
Each device has a small movement that causes a larger movement, because each one requires more power - more energy.
Read about dc motor inrush current at DuckDuckGo
Bear in mind: MCU outputs are digital signals, low (0V) and high (3V3). And these are CMOS outputs, they cannot drive a high current load (like an electrical motor).
Maximum, such an output can drive is maybe 16mA ("drive strength").
So, you could connect a very tiny electrical motor, when it runs with 3V3 and does not draw more as 16mA (maybe 32mA as total max.). So, the motor power is just max. 0.066W (very tiny!)
You need a driver!
And: due to fact that MCU pin output is just 0 or 1 : your motor does not run or it would run in full speed - but nothing in between.
You need a PDM (Pulse Density Modulation) signal: this can generate also interim speeds by pulsing the current, with gaps, the longer the gap - the slower (average of current). MCU can generate such PDM signal, but not able to drive the current.
So, in order to drive a motor - you need an external "driver".
Also to bear in mind: MCU pins are very sensitive for "inductive loads" such as a motor is: if you would stop the motor - it generates an opposite voltage (see "self-induction") and MCU pins do not like to see a negative voltage (protection diodes needed to kill it).
Also bear in mind, if you want to use a DC motor vs. a stepper motor: a stepper motor has two separate coils and you feed a "quadrature signal" (4 wires, two for each coil). The beauty is: you can generate steps (just turn a bit, an angle), reverse the direction, let it rotate in any speed etc.
For this kind of motors there are drivers on market which will take a 4-wire signal (PDM) and you generate pulses for the current to let it just turn a specific angle (a step) or let it rotate, control the speed, reverse the direction... just via these PDM signals generate by MCU (here you need 2x PDM, synchronized with each other).
As simple answer:
Assume you want to drive a 3W motor, on an MCU pin which can drive high as 3V. So, this pin has to provide 1A of current.
And all this current has to go via your MCU: imagine, this tiny chip, which needs maybe just 200mA to operate, has to "forward" now 1A on a single tiny pin! Impossible - the tiny wires inside the chip are not strong (thick) enough to do so.
You need an external driver (like an "amplifier"). You have to "convert" the MCU output to a stronger signal (or even with a different voltage needed. not 3V, e.g. 12V).
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.