Hello, I need to drive a dc motor with MCP4725(control the speed), the motor have nominal 3V 0.3A.
Arduino can't drain more than 25mA and MCP4725 no more 20mA.
I read something online:
I have external power supply(5V 2A) for supply the dc motor, but I don't know how to comand this circuit with Arduino and MCP4725.
The real problem is how to control the speed, I can comand the external power supply with transistor but I can't control the speed.
You need an n-channel logic level mosfet. This is a good example:
A mosfet is a better choice than a transistor due to the 3 volt supply, a transistor could have a half volt, perhaps more, voltage drop across the collector to emitter. Please note that you cannot use the 3.3 volt output from the Arduino to power the motor, it should come from and external source (batteries) as shown in the first link given.
Then with the MOSFET you linked I can vary the speed of motor by voltage applying the wanted voltage to the gate, the GND of external power supply(EPS) to the source, the "+" of EPS directly to the positive of servo and the negative pole of the servo to the drain.
I understood?
With the MOSFET you linked I can vary the voltage with this range: 2.0v to 3.5v?.
No, motor speed is controlled with PWM, not analog variation, that's v. inefficient. The MOSFET is
either on, or off, both dissipate minimal power, all the power goes to the motor.