How Do I Controll A Motor With A Transistor?

My motors specs are
Key specs at 12 V: 80 RPM and 300 mA free-run, 250 oz-in (18 kg-cm) and 5 A stall.
I notice there are transistors that can handle 300 mA bur what happens if the motor pulls that 5 amps?
My old Idea was to use relays. any suggestions

Do you need speed control, forward/backward rotation?

YES: --> get a motor driver, at least an H-bridge chip that can take the current (see pololu.com)
NO: --> get a beefy n-channel logic level mosfet + protection diode that can withstand say 10A. And maybe get a slow-blow 5A fuse as well.

What work is your motor going to do ? (What's it going to be used for ?)

The mosfet/diode solution suggested by madworm can do speed control as well as on/off. You only need an h-bridge if you need to reverse the motor direction.

The motors will be used as wheels. I dont need speed control (although it would be nice) but I do need forward and backwards
can anyone post a schematic?

See Figure 3
http://www.ti.com/lit/ds/slis006/slis006.pdf
Replace 555 output and 7401 output with Arduino outputs.

Can also make it "smart", add shunt resistors and monitor the current, (voltage drop across the shunt)/(shunt resistance), if it starts to reach limits, then back off on duty cycle.

arduinopi:
The motors will be used as wheels. I dont need speed control (although it would be nice) but I do need forward and backwards
can anyone post a schematic?

The simpler (but less elegant) solution is to make an H-bridge from two SPDT relays. See http://www.engg.uaeu.ac.ae/departments/units/gra/presentation/nd_05_06/Final%20Pres%20ss05.06/Final%20Pres-M/Mech/MEM2-1/website&poster/Website_template/projec15.jpg for the schematic. This gives control of direction but not speed. You will probably need to use transistors to drive the relay coils, and don't forget to connect diodes across the relay coils to catch the back emf when they are turned off.

The problem with using an L298n in this application is that the 5A stall current is too much for the L298, so you would need to implement current limiting. Alternatively, connect both channels of the L298n in parallel (which gives you 4A maximum DC current rating) and connect a power resistor of 0.6 ohms or more in series with the motor, to limit the current to 4A. However, current limiting is still a good idea, otherwise you may burn out the motors if they are stalled for a long time (of course, this applies to the relay solution as well). One possibility is to use a 0.6 ohm or greater power resistor as the current sense resistor (instead of in series with the motor) and to monitor the voltage across it using an analog input.

is there a newer version to the tcip0298 ? the page says revised 1990 and it says it's obsolete http://www.ti.com/sitesearch/docs/universalsearch.tsp?searchTerm=tpic0298&linkId=2

There could be - I was just using that as a schematic example.
Here's one example
http://www.ti.com/lit/ds/slvsar1b/slvsar1b.pdf

Browse
H-Bridge Motor Driver
at TI.com, peruse the specs of the listed parts, see what suits your requirements.

You can check out this guide too

http://www.ti.com/lit/ml/slyb165c/slyb165c.pdf

arduinopi:
is there a newer version to the tcip0298 ? the page says revised 1990 and it says it's obsolete Search results | TI.com

This is updated L298
http://www.st.com/internet/analog/product/63147.jsp