Cómo cambiar la lógica cuando el sistema se apaga

0

Intento pensar en una buena manera de controlar el motor cuando apago la PCB principal (que incluye la MCU).

El sistema funciona hoy cuando está encendido, la MCU activa el motor, el motor mueve una parte mecánica que presiona un botón y lo "bloquea" (le da a la MCU la señal para desactivar el motor).

Me gustaría que su ayuda pensara en una manera de devolver el motor a su estado normal después de que apague el sistema y la MCU ya no tenga voltaje.

En lo que estaba pensando es en otro pequeño circuito de PCB que se conectará al mismo motor y otro botón pulsador. La PCB pequeña siempre obtendrá voltaje y cuando el sistema se apague, lo "reconocerá", tal vez utilizando una base de transistor (por favor avise si es posible), gire el motor hacia el otro lado y presione el otro botón pulsador, lo que detendrá la motor de movimiento.

Otra sugerencia es de alguna manera "retrasar" el "apagado" después de mover el interruptor de "apagado" y darle unos pocos segundos a la MCU para seguir trabajando, activar el motor a la inversa y luego apagarlo.

Apreciaría cualquier tipo de ayuda para ese problema difícil.

Añadido en edición:

LaMCUcontrolaelcontroladordelmotorquecontrolaelmotorutilizandoredesAyB.Siseenvía"10", el motor cambia a una dirección, si "01" se cambia a la otra dirección y si "00" se detiene. El sistema comienza moviendo el motor, digamos con "10", hasta que una parte mecánica presione el botón "abrir motor", que le dice a la MCU que detenga el motor ("00"). Mi problema es que, de alguna manera, quiero que cuando apague completamente el voltaje, el motor se mueva hacia el otro lado hasta que presione el otro botón (botón "cerrar motor") y luego deje de moverse. ¿Cómo puedo pensar de la forma más sencilla y económica que puedas imaginar?

Estaba pensando en agregar otra PCB que siempre obtenga voltaje de las baterías, conecte el interruptor de apagado, las redes A y B y cierre el botón del motor. ¿Cómo puedo hacer que ese PCB haga el truco y lo cierre?

Gracias,

    
pregunta Dudi

2 respuestas

1

Bien, nueva respuesta, ya que el problema ahora difiere de mi entendimiento original.

Supongo que puede conectar su segunda PCB a la batería, la alimentación principal de la PCB y también interceptar los 4 cables de la batería. Supongo que puede proporcionar suficiente corriente a través de la A y la B para hacer girar el motor.

Cuando detecte que la placa principal está apagada y el motor no está cerrado, aislar B, unidad A alta. Continúe hasta que se cierre, luego puede apagar la segunda placa hasta que la placa principal vuelva a encenderse.

La forma más fácil de lograr el control es usar un relé de tiro doble de 2 polos. Cualquier otra cosa corre el riesgo de volver a alimentar la PCB principal, lo que podría dañarla o causar efectos extraños. Encienda el relé cuando detecte la condición de falta de energía y libere la energía del relé una vez que detecte que está cerrado. Conecte los 10 valores que necesita para A / B para cuando el relé esté activo. (hay otras formas de cambiar el relé, por supuesto, alimentar el relé cuando la placa principal está encendida y utilizar el estado de apagado del relé para pasar a través de su señal de control)

De cualquier manera, probablemente deba invertir la señal 'CERRADO'. Tal vez un segundo relé es la forma más fácil de hacerlo: los relés son confiables y bastante lógicos.

    
respondido por el Sean Houlihane
0

Parece que debería implementar un handshake de 4 fases entre las dos partes que se puede alimentar de forma independiente, ya tiene la mayor parte de esto, creo, pero no está claro cuál es el conjunto completo de restricciones para adaptarse a esta modificación. en su sistema existente.

Si envía una señal de 'marcha' desde la MCU, y 'listo para correr' desde el motor, el motor (o su calzo) puede reiniciarse automáticamente una vez que la señal de RUN se apague. Tan pronto como el motor esté inactivo, puede indicar a la MCU que está listo nuevamente.

Esto da las reglas de que la MCU no debe conducir en RUN alto hasta que el motor esté listo, y debe mantener RUN en alto, ya que la señal de READY baja. Compruebe dónde tiene retrasos en el sistema y ajuste las reglas (tal vez exija que la MCU vea LISTO bajo durante 1 segundo antes de drivign alto) para que se entiendan todos los estados posibles, particularmente cuando a cada parte se le puede aplicar y eliminar la energía.

Una vez que haya diseñado su máquina de estados, continúe con los detalles de la implementación. Puede usar condensadores para almacenar energía o estado por un corto tiempo, pero no debe depender de una sincronización precisa alrededor del encendido y apagado de la alimentación.

    
respondido por el Sean Houlihane

Lea otras preguntas en las etiquetas