El controlador para el circuito como se muestra no puede ser una puerta lógica. Para trabajar en esta configuración, las compuertas FET tendrían que ser accionadas por un amplificador operacional riel a riel, como el LM7322 configurado como un comparador.
simular este circuito : esquema creado usando CircuitLab
Si bien esto funcionará, y puede girar el motor con un voltaje positivo o negativo, tiene limitaciones si solo usó una salida de Pin de 1 = fwd 0 = rev desde el microprocesador.
Para obtener el control de velocidad o para mantener el motor parado, tendría que usar una señal PWM. Si la entrada es una onda cuadrada con períodos altos y bajos iguales, entonces el motor sería estacionario. Consumirá algo de energía en este estado (dependiendo de la frecuencia utilizada) y si la frecuencia de conmutación está en el rango audible, la oirá (actúa como un altavoz). A medida que cambia el ciclo de trabajo de la forma de onda de entrada, el motor se moverá hacia atrás o hacia atrás.
Un último problema que debe tener en cuenta con este tipo de circuito de control es que cuando enciende su microprocesador, es probable que todos los puertos digitales se configuren como entradas (esencialmente solo con un pullup en el mejor de los casos). Esto significará que hasta que inicialice sus puertos, el motor será accionado. Mientras el micro se inicia y sale del reinicio, usted puede ejecutar su código y podría tomar mS. Esto podría ser suficiente para dar al motor una sacudida repentina al menos.
Si esta es una preocupación, realmente necesita tener una señal de habilitar / deshabilitar diseñada en.