Forward and reverse motor

I am wondering if there is a way to run a motor one direction then the other using the PWM pins that does not involve unplugging the motor and changing the polarities. Any suggestions?

and without a motor controller

You'd need some kind of driver or controller, unless you know electronics and how to design a H-bridge. You can't directly connect the motor to PWM line, because PWM can't supply power and it's just meant as a control signal to connect to a motor driver or H-bridge control input.

I'd suggest using a motor driver that is cheap, then you can easily control the direction with I/O lines. Just find the right driver that can handle the stall current of your motor.

This is a cheap IC motor driver: http://www.robotsimple.com/Motor_Controller_and_Driver/SN754410_Motor_Driver_IC

and this is one carrier board with reverse battery protection: http://www.robotsimple.com/Motor_Controller_and_Driver/TB6612FNG_Dual_Motor_Driver_Carrier

http://www.robotsimple.com/Motor_Controller_and_Driver

Thanks a lot for the links and the reply. I will be purchasing the IC motor controller.

See :- http://www.thebox.myzen.co.uk/Workshop/Motors_1.html and http://www.thebox.myzen.co.uk/Workshop/Motors_2.html

For controlling DC motors.

and without a motor controller

You always need components to drive a motor, and a collection of components to drive a motor IS called a motor controller. You can make one or buy one but you need one.

Thanks Mike, looks like a great resource. Why is it that there are so many expensive motor control units made by pololu and others? Do you have information on using a half H driver like this one with the Arduino? http://www.robotsimple.com/Motor_Controller_and_Driver/SN754410_Motor_Driver_IC

Why is it that there are so many expensive motor control units made by pololu and others?

I actually consider most of pololu's offerings to be fairly cheap given their capabilities and current handling ability. If you want to see expensive, look into motor controllers for electric mobility chairs. If you want to see -real expensive-, look into controllers for electric cars!

Do you have information on using a half H driver like this one with the Arduino?

Have a read of this:- http://web.ics.purdue.edu/~fwinkler/616/sn754410_Arduino.pdf