If you drive the whole thing from an AVR or a PIC then your problems are solved. Not only can you select a device with an ADC and PWM output, but you can put in the adjustable deadband, velocity limiting and trapezoidal velocity profiling that you'll find you need to keep the system stable and working correctly.
If you don't believe me then here's a handy circuit: When Vin > 0 the
4053 switches to the + input and the "DIR" output is on. When Vin < 0 the 4053 switches to the - input and the "DIR" output is off. When Vin = 0 the DIR output oscillates like crazy and you get all sorts of weird transients on "MAG" -- but what do you want for free? Figuring out how to get some hysteresis in the comparator is your problem. ___ .---|___|----. | | 4053 | Opamp | ___ | |\\ | Vin /o-|___|--o---|-\\ | Mag o---o----o/ | >-----o--------o | | o--------o---|+/ | | | |/ | | .-. | | | | | | | | | | '-' | | | | | | | | === | | GND | | | '----------------------. | | | Comparator | | |\\ | '--------------------|+\\ | Dir | >----o---------o .---|-/ | |/ | | === GND created by Andy´s ASCII-Circuit v1.24.140803 Beta