I recently had to design a drive circuit which takes 5V logic on/off/pwm and drives a low impedance load driven from a higher and varying voltage source. Its use in this case is driving the transmission solenoids in an automatic gearbox where current controls the line pressure and hence the shift firmness. Since the voltage level in a car varies quite widely depending on battery charge, temperature etc, and the current has to be consistent even if the solenoid resistance changes so a feedback system has been used. Also as the gearbox solenoids have a tendency to sometimes go closed circuit when they fail a current limiting driver has been used.
I thought this design might help a few out there who are planning on driving motors or low impedance solenoids with a max current around the 1.5-2A mark.http://delta.uni.cc/car/solenoiddriver.asc
Circuit was designed in SwitcherCAD/LTSpice.