Hola. Estoy diseñando un sistema de apertura y cierre el cual consta de dos puertas con un motor cada una, los dos motores están controlados mediante 4 relés por un PIC16F819 a 4Mhz.
Los 4 relés forman un puente H, el cual quería hacerlo con Mosfet pero al final me incliné por los relés aún yendo en contra de mis principios. Jeje.
El problema que tengo, es que cada motor es independiente del otro, el funcionamiento es el siguiente:
El mando tiene dos botones, cada botón es para un motor, abre o cierra, ¿fácil, no?, jeje.
Pues como me gusta complicarme la vida, lo que he hecho es que si mantienes un botón accionado durante 2 segundos el PIC pone ese motor en automático y está activado hasta el final sin tener que apretar el botón, si se cambia el sentido mediante el mando el PIC para el motor, se espera 200 ms y lo invierte.
Hasta ahora ningún problema, pero a partir de aquí es donde la cosa se pone fea, me explico.
Nadie quiere pillarse la mano con la puerta, ¿no?. Jeje, entonces lo que hago es mediante dos resistencias de 0.1 ohm puestas en serie en el negativo de cada motor (dos resistencias por motor) leo el consumo de cada uno, si el consumo se pasa de cierto límite pues se para el motor e inmediatamente se invierte el giro de ese motor, el otro debería de seguir su camino, peeeero no lo hace, ¿y por qué? Pues por esto:
IMAG000.BMP
En la captura sólo activo el motor marcado con la línea azul, pero el consumo me aparece en las dos líneas y claro, cuando una puerta se atasca e invierte el giro del motor, el pico de consumo de arranque hacia el lado opuesto se me pasa también al otro motor, el PIC lo "ve" e invierte el giro en los dos motores.
He intentado ponerle un retardo al software para que cuando un motor se active se espere hasta 200 ms antes de comenzar a leer los datos, pero claro, las mediciones las hago cada 100 ms + 200 ms de "bloqueo" más lo que tarde en responder, pues todo ese tiempo te estará apretando la mano.
Lo que intento es minimizar el tiempo en el cual estás con la mano atrapada, claro está que no todas las guías de puerta son iguales así que se me ha ocurrido que una vez instalado el "invento" ponerlo en modo "programación", abrir y cerrar las puertas grabando cada 100 ms el consumo de cada motor en un tabla para que si hay "esfuerzos" por el camino no los interprete como "obstáculo" y continúe cerrando.
Las mediciones las hago con el CAD del PIC con una VRef+ a 4.5 voltios y VRef- a GND.
los motores son de 12v con un consumo máximo (con el motor bloqueado) de unos 8 amperios.
Saludos.