Yeah, I would also recommend an
RS232/TTL<->usb adapter.
Not strictly USB programming (i.e no libusb, etc needed); it just comes up as a serial port.
Then a simple
atmega328p(u) (DIP package, convenient for breadboards)
(....or an Arduino (
including nano clone) is basically is the equivalent to the above USB-TTL adapter and the atmega328p. Might be a little easier when starting out. Besides, you will need a hardware programmer anyway and weirdly, an Arduino is one of the better programmer options available, even with a
fancy DIP expansion)
And finally, the compiler (
devel/avr-gcc) and programmer (
devel/avrdude). Note: even if you decide to use an Arduino, I wouldn't bother with the Arduino environment itself. Its all a bit messy and much of the effort is working out the terrible documentation and broken translation of the hardware anyway.
Then, once you can set pins high/low, drive i2c, PWM and read UART, you can start controlling various controller boards. For example this
motor controller. This
MOSFET controller may be useful for your specific task.
This book is really good. They use the ATmega168 but it is all very similar. Both were in various generations of Arduino.