Abrir puerta corrediza

Tengo que programar con el 16f84 la apertura y cierre de una puerta corrediza.
Se debe manejar desde dos pulsadores, uno para abrir y otro para cerrar.
Cuando se abre, el pulsador de cerrado no debe funcionar sino hasta que haya terminado el recorrodo la puerta. Cada pulsación hace mover la puerta un poco hasta que se da el cierre o la apertura total.
Ayudenme a lograrlo que de veras estoy muy bloqueado. He hecho cantidad de programas para que funcione y me fallan de una forma que no puedo comprender. De hecho los boté paara no seguir revisando sobre errores.
pics
 
Eso es facil. lo primero que tienes que plantearte es ¿Que quieto hacer?

Una vez resuelto ese problema (que ya lo tienes) puedes hacerte un diagrama de flujo con la secuencia que tienes que hacer el pic para abrir o cerrar (esto no lo hace ni dios) Una vez resuelto se procede a realizar el progama.

¿Que paso no haces bien?

Pues realiza los pasos y veras lo que haces bien o mal.

Luego pega lo que haces y vemos el fallo. Pienso que lo resolveras solo.
 
La verdad no se si el método que utilizo esta mal pero me ha dado duro la programación por *.asm
Me canso de revisar y soy muy dedicado, pero nada.
Croeo que el lio está por el lado de la configuracion de los puertos. Que va de entrada y de salida, aunque he probado las opciones con TRISA entrada y TRISB salida y visceversa.
No sé donde va al pulsador para simularlo.
Gracias hermano por la ayuda.
 
hola.
no intentes hacer el programa todo de golpe. haz pqueñas rutinas y vas comprobando si te funcionan.
cuando finalmente veas que todas te funcionan, entonces procedes a acoplar unas a otras.
saludos
 
Pequeño analicis

Si el motor de la puerta lo comandara un par de relees.
Si para conocer el lugar donde se encuentra la puerta (Abriendo o cerrando) se usaran switch´s.

¿ Por que no hacerlo todo con relees y switch´s de fin de recorrido ?

Confucio Filosofo Chino (551 adC - 479 adC) dijo:
"No mates un mosquito con una explosion termonuclear"
 
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.
 

Adjuntos

  • IMAG000.BMP
    47 KB · Visitas: 58
Última edición por un moderador:
Lo primero, hola a todos, y muchas gracias, supongo que a fogonazo por moverme el mensaje, te juro que había buscado de todo, problemas consumo, problemas reles, pero no se me ocurrió buscar puerta corredera.. jaja.. que burro soy..
Bueno, el esquema es sencillito, 4 reles en parejas de dos y los controlo con dos pines del pic, en reposo estan los reles a GND y con el pin del pic pongo un u otro a +12v con lo cual tengo ambos sentidos de giro.
La diferencia entre el usuario "pics" y mi proyecto es que yo no puedo poner switch de final de carrera ni puedo modificar los motores para poner un sensor hall, vale, sí, yo me complico la vida, pero para el usuario final, la instalación será super sencilla.

Ahí vá el esquema en jpg.

Ahora, lo que se me olvidó decir son los problemas que tengo:
-Para saber donde está la puerta utilizaré un cronometro el cual tendrá una tolerancia dada por la carga de la batería y la tabla de consumos, mientras más descargada esté la batería más consumirá el motor y más despacio irá, con lo cual le daré un margen de tiempo para conseguir cerrar la puerta

-Para saber si se ha cerrado del todo o abierto del todo utilizaré el CAD del pic, ya que la puerta hace tope mecánicamente, el pic detectará una subida grande de consumo en un periodo muy corto de tiempo, claro que si la tabla de datos existe la utilizaré para saber donde más o menos está la puerta, tampoco me hace falta que tenga una precisión milimetrica.

En el circuito final cambiaré las resistencias shunt por un cacho almbre y un AOP, las resistencias shunt las tengo ahora para facilitarme la tarea de I+D.

Saludos.

P.D.: Ahora que me fijo, en la captura hay una etapa con un AOP, actualmente no lo tengo, eso será para despues, para cuando ponga el cacho alambre para hacer las mediciones.
 

Adjuntos

  • esquema.jpg
    esquema.jpg
    37 KB · Visitas: 39
Última edición:
Bueno, pues ya he descubierto la "ratita"... jeje, resulta que los dos motores los tengo en vacío, y claro, como no tengo datos reales de consumos y tiempos ( cada puerta pesa lo suyo y cada una tiene un recorrido mas o menos largo ) pues las mediciones las hago a ojo, la fuerza de los motores la calculo bloqueandolos con la mano y claro, una cosa son datos reales y otra muuy distinta datos inventados.
El problema es que según el DAC del pic, un motor en marcha consume 40 ( recordad que vá de 0 a 1023 ), le puse que a 50 invirtiese el giro y lo hace, pero cuando los dos estan en marcha y cerrando, que es cuando deben de trabajar individualemente, si uno cambia, parte del pico de consumo me lo manda por la otra línea y claro, 40+el pico me paso de 50 pues invierto el motor, la cosa se ha solucionado haciendo que en vez de a 50, el motor pegue la vuelta a 60, claro, 40+el pico ya no llega a 60 y consinúa su marcha mientras el otro lo hace en sentido inverso.

Curiosidades de la vida.. jeje.. la explicación es que los dos motores utilizan la misma línea de alimentación y también tendrá que ver que estoy utilizando resistencias de 1/4 de watio, peeeero, no os alarmeis, que os veo, jeje, llevo mas de un mes esperando las resistencias de 0.01 ohmnio de 50 watios que son las que llevará.

Ale, otra rata muerta, a ver cual es la siguiente... jeje..
Por cierto, quiero compartir una nota "off-topic", resulta que haciendo pruebas con mi circuito de golpe se ha vuelto loco sin tocar nada, he comprobado todo y las mediciones fuera de escala, ¿ pero que es lo que pasa ? un lm385 de 5v que utilizo para vref+ me sacaba 7 voltios... raro, raro, al pic le entraban 6 por vcc... vamos una locura. La rata estába en el negativo de la fuente, se me había desconectado el "cocodrilo" y como tengo el programador icsp conectado y el rs232 pues cogía el negativo de ahí, al meterle carga había tal caída de tensión que me saltaba el POR, el BOR y el Watchdog. Así que, queridos lectores, si algun día sin tocar nada, vuestro invento pierde la cabeza, lo primero revisar los cables de alimentación, no os vaya a pasar como a mi que el cocodrilo mordía el plastico ( parecía que estaba conectado ) y no el hierro.

Saludos!
 
No conozco el contexto de "pics" pero yo no tengo otra que utilizar dos motores a batería, se cargan con placa solar o generador; es una puerta de entrada de chalét, de esas puertas correderas que son dos partes y cada una cierra hasta la mitad...y lo mejor de todo que en acabar esto me toca hacer lo mismo pero para puertas abatibles.. ains...

Saludos.
 
No conozco el contexto de "pics" pero yo no tengo otra que utilizar dos motores a batería, se cargan con placa solar o generador; es una puerta de entrada de chalét, de esas puertas correderas que son dos partes y cada una cierra hasta la mitad...y lo mejor de todo que en acabar esto me toca hacer lo mismo pero para puertas abatibles.. ains...

Saludos.

¿ Esto de que se trata: ?
¿ Un desarrollo a ser realizado ?
¿ Solo un proyecto ?

¿ Realizaste algún cálculo sobre los requerimientos de placas solares/Baterías para mantener el sistema funcionando ?

¿ Por que/para que 2 motores ?
 
Lo mio trata de automatizar unas puertas, es un proyecto que tengo desde hace mucho y hace poco me puse en serio, aunque sólo a ratos, los calculos por ahora los he obviado ya que dispongo de una batería de 80Amp ( es de coche ) y para recargarla tengo un par de placas que utilizo para iluminación y aparte tengo un grupo electrógeno a gas con un cargador de batería, por eso, el tema de calculos de carga y tal me los he saltado.
El tema de dos motores es porque son dos puertas, para entrar personas abres una y para entrar vehículos pues abres las dos.
Las puertas van sobre una guía que es un ángulo, con ruedas de metal y una cremallera, los motores son de un desguace de coches, de esos de los elevalunas, no he podido conseguir otros, la economía esta muy malita en estos tiempos que corren...

saludos.
 
Una preguntita, en el circuito que envié unos mensajes más arriba, he cambiado R11 por un potenciometro de 10k, del pot sólo utilizo dos pines, el de un lateral y el central, el otro... bueno.. pues ahí está la duda, he visto varias placas que usan pot's y dejan la patilla que no usan al aire, otros la conectan a masa, yo pienso que también debería de conectarla a masa pero no estoy mu seguro.
Vosotros que pensais?

saludos y gracias.
 
Si lo conectas a masa alteras el comportamiento dle circuito, asi como lo trabajas es una R variable, lo que hacen algunos es unir el extremo libre al cursor, lo cual si podes hacer
 
Atrás
Arriba