El pin de salida es un PWM que alimenta el transistor npn para controlar la velocidad del motor. El motor es un pequeño motor de corriente continua que encontré en un juguete, y el transistor es el 2n2222. El microcontrolador que estoy usando es un Tiva C. 3.3V y 9V son fuentes de alimentación independientes.
Hay un Arduino a la izquierda no dibujado que genera una señal digital desde un LED IR usando el protocolo NEC. El receptor de IR filtra la portadora y alimenta la señal digital sin procesar al microcontrolador. El microcontrolador está codificado para reconocer dos patrones; uno para aumentar el ciclo de trabajo y otro para disminuir.
Cuando el ciclo de trabajo supera algún valor, por lo general en un campo de juego del 30%, el microcontrolador se congela y no responde a las entradas. Tengo un LED que siempre parpadea a 1Hz, pero que también se congela cuando el motor está conectado. Tan pronto como desconecto el motor, el microcontrolador funciona bien y el ciclo de trabajo puede variar todo el rango y el LED vuelve a parpadear. Si sustituyo el motor por una carga resistiva, todo funciona bien.