How would i power 2 3v motors and control their speed with an arduino?
From another question i asked here i learned that the digital pins on the arduino output enough voltage to power my motors but not enough amps (Not sure how much these small hobby motors use but i was told the digital pins only output 40ma each).
40mA is the absolute max - you don't go that high if you want the chip to last. Motors take
MUCH more current than a logic chip can provide, don't even think about it!
So i need to figure out how i can power and control the speed of each motor. My idea so far has been power the motors using the 3.3v power pin
That's one way to destroy your Arduino. The 3.3V pin cannot supply high current either,
on some boards its limited to an absolute maximum of 50mA. External supply is
the correct way to power any motor. Motors put spikes onto their power rails that
can reset or damage logic chips, keep it separate.
(im assuming it pumps out more amps, will need to research). Then in between the power supply and the motor add a piece of hardware that will close and open the circuit for the motor using a digital pins on/off state. (I have no idea what kind of hardware could be used to accomplish this though).
If you use PWM you can use a higher voltage supply than 3V and simply limit the maximum
PWM duty cycle to prevent overloading the motor.
The darlington-based L298 and L293's lose about 2 to 2.5V across their output
drivers so you can drive a 3V motor from these if powered from 5--6V. Don't use
the Arduino 5V to power the motors though.
I'm still new to alot of this stuff so if anyone has ideas please explain everything in detail.
Thank you for any help :D
Normally a MOSFET H-bridge would be a good choice for low voltage driver as the
voltage losses are much less than in a L298 etc. However they need a minimum voltage
to work, typically 5 or 6V... This is because MOSFETs need a minimum gate voltage
to turn on.
Pololu have a nice range of motor drivers and its worth looking at what they have.