¿Cuál es el nombre de los protocolos utilizados para que un abridor automático de puertas de garaje sepa qué botón presioné en el panel de control de pared? [cerrado]

El panel de control de pared cableado en mi garaje tiene solo 2 cables conectados. Sin embargo, de alguna manera actúa de manera diferente cuando presiono el botón grande de "puerta" que cuando presiono el botón de "luz" o el botón de "bloqueo". Ese par de cables está conectado al abridor automático de la puerta del garaje.

Muchos abridores de puertas de garaje automáticos elevados diferentes y muchos paneles de control de pared diferentes son compatibles entre sí. Sospecho que son compatibles porque todos discriminan entre los botones de la misma manera. ¿Cuál es el nombre de ese camino? Si hay varias formas o protocolos diferentes e incompatibles que se usan en los talleres reales, ¿cuáles son los nombres de esas formas?

(No debería importar qué abridor de puerta en particular tengo, porque me gustaría saber los nombres de las formas utilizadas por la mayoría de los abridores de puerta, incluso si esa no es exactamente la misma manera en que lo hace mi puerta en particular. Pero solo como ejemplo, actualmente uso un abridor de puerta de garaje de Chamberlain LiftMaster ).

Aquí hay una imagen que muestra algunos ejemplos de paneles de control de pared de 2 y 3 botones aparentemente compatibles de 2 compañías competidoras (y algunas incompatibles), del sitio web BlueMate.com:

foto de varias placas de control de pared de 2 y 3 botones

Como muchas otras personas, estoy diseñando y construyendo un dispositivo conectado a esos mismos 2 cables que le dice al abridor automático de la puerta del garaje que baje la puerta del garaje cuando me alejo, pero se olvida de hacerlo. ( Depuración de un circuito de apertura de puerta de garaje con un optoacoplador y mosfet ; Activación del control remoto del garaje a través de un Arduino ; Cortocircuito de un botón pulsador de control remoto con GPIO y un transistor ; etc.). Sería bueno si mi dispositivo utiliza un método estándar que funcione con muchas o la mayoría de las puertas de garaje. Sería bueno si mi dispositivo también pudiera activar y desactivar la luz del techo de la misma manera que lo hace el panel de control de pared.

¿Cuál es el nombre de los protocolos utilizados para que un abridor automático de puertas de garaje sepa qué botón presioné en el panel de control de pared?

Estoy buscando una respuesta más como "Se llama Protocolo de comunicación HART; las variedades principales son..." y menos como las publicaciones bien intencionadas que sugieren algo como "Simplemente mire las señales con un osciloscopio y asuma que si tu prototipo funciona en tu casa en un control ActiveX en Mosaic Netscape, funcionará para todos".

Por lo general, señales codificadas de RF (radio).
¿Ha intentado conectar un osciloscopio a los dos cables y capturar lo que sucede cuando presiona los botones? sabrá rápidamente si se comunica por los dos cables y, de ser así, si es un porotcol complicado
Intenté editar esta publicación para que quede más claro que estoy haciendo una pregunta (sobre el tema) sobre el diseño de un dispositivo electrónico que implementa un protocolo estándar particular. Esta publicación no se trata de intentar usar algún dispositivo en particular (que estaría fuera de tema). ¿Quizás podamos volver a abrirlo ahora?
Creo que esta pregunta tiene mucho que ver con el diseño electrónico y, por lo tanto, debería reabrirse.
Acabo de mirar esto. La marca Genie utiliza una configuración de resistencia simple. La placa tiene R1 = 82.5Ohm y R2 = 121Ohm. Abrir/Cerrar es corto, Bloquear es a través de R1 y Encender/Apagar la luz es a través de R1+R2 en serie. 5V provenientes del abridor de puerta de garaje.
A quién le importa si está "fuera de tema", tiene 12k vistas, así que obviamente tiene valor.

Respuestas (8)

Probé un poco con mi osciloscopio en los cables del abridor de fórmula 1 de Chamberlin Liftmaster Pro. Hay 2 cables que se conectan a un interruptor de pared de 3 botones (apertura/cierre de puerta, encendido/apagado de luz, encendido/apagado de bloqueo). Es una señal de CC codificada por PWM con máximos de alrededor de 18v. Cuando no se presiona ningún botón, hay un pulso bajo a períodos de 80 Hz que dura 200 us. Cuando se presiona el botón de luz, los dos cables de la pared se conectan a un capacitor electrolítico de 1uF que altera la señal PWM para tener periodos bajos de ~3ms. El botón de bloqueo tiene un límite de 22 uF, por lo que la señal baja será aún más larga. Cuando se presiona el botón de la puerta, los cables se cortocircuitan (0V, sin PWM).

También vale la pena señalar que cuando el abridor está "bloqueado", el LED del interruptor de pared parpadea. De manera efectiva, ahora hay 2 señales PWM en la línea: un pulso amplio y bajo para que nosotros, los humanos, podamos ver cómo se apaga el LED, y los pulsos regulares de 80 Hz durante los períodos altos (LED encendido) para la detección de botones en el panel de pared.

Teniendo en cuenta todo esto, hay 2 posibles formas en que miden esto. Uno sería un circuito de muestreo digital en el abridor que mide los anchos de los pulsos bajos para detectar la presión de un botón. Otro está usando un pin de entrada ADC para medir la pendiente del borde descendente/descarga. La tapa más grande será más lenta.

No tengo otros abridores para probar, pero sospecho que todos podrían ser diferentes. Todos pueden utilizar la codificación PWM ya que solo hay 2 cables para el panel de pared, pero los patrones de pulso utilizados probablemente sean diferentes. Por lo tanto, es posible que no pueda crear un dispositivo que pueda controlar todos los dispositivos.

Para mi solución, compré un interruptor de láminas de seguridad para el hogar que se conecta cuando hay un imán cerca (llamado normalmente abierto (NO)). Monté el imán en la puerta y el interruptor de láminas en el marco de la puerta. Un pin del interruptor va a tierra, el otro a un pin de entrada en mi microcontrolador que está configurado para tener una resistencia pull-up interna. De esta manera, cuando la puerta está cerrada, el interruptor se cierra y el pin de entrada se pone a cero. Tenga en cuenta que es posible que desee tener algún tipo de detección de rebote en el código de su microcontrolador, ya que el interruptor de lengüeta puede rebotar antes de que se asiente. Dado que el control de la puerta simplemente conecta los dos cables del controlador, esto se hizo con un relé simple controlado por el microcontrolador.

En cuanto al control de la luz, necesitaría obtener algún tipo de detector de luz para que el microcontrolador conozca el estado de la luz. Para controlar el funcionamiento de la luz, necesitaría implementar otro relé, pero este tiene un límite de 1uF en serie con el relé. Esto emularía casi a la perfección las diferentes señales PWM al igual que lo hace el interruptor de pared.

Para saber en qué estado de bloqueo se encuentra el abridor, necesitaría construir un detector PWM dentro de su microcontrolador para buscar esos pulsos bajos muy amplios (LED apagado). Enviar el comando de bloqueo al abridor sería como el interruptor de la luz, pero con un límite de 22uF en serie.

¿Fueron estos pulsos cuadrados o con un aumento de RC típicamente curvo? Lo más probable es que el abridor esté midiendo el capacitor a través de una constante de tiempo RC (ver, por ejemplo, el ejemplo del medidor de capacitancia arduino), aunque el uso compartido con el LED es inteligente. Puede ser posible enviar un comando al detectar el borde bajo y usar un transistor para mantener la línea baja durante una cantidad de tiempo comparable a la que se logra con el botón deseado, en lugar de usar dos capacitores reales.
Definitivamente no son cuadrados. Los condensadores tardan en cargarse o descargarse por completo. Tiene razón, podrían usar un ADC para muestrear el borde descendente para detectar la pendiente de descarga.
No es un ADC, sino un comparador explícito o implícito: probablemente bajan la línea, luego la vuelven a cargar lentamente con una fuente de corriente o una resistencia y miden el tiempo que lleva volver a un nivel particular.

Un ejemplo, para responder a la pregunta del título pero no a su dispositivo específico:

Consola de pared Genie Serie II

Dos hilos, 5 V, el blanco es neutro

  • R1, 121 ohmios
  • R2, 82 ohmios
  • CONDUJO

  • Bloqueado = R2

  • Desbloqueado = R2 + R1 + LED
  • Luz (cambio de botón pulsador) = R1 + R2 (el botón pulsador corta el LED)
  • Abrir/Cerrar (cambio de botón pulsador) = (el botón pulsador cierra el circuito)

En primer lugar, solo necesita simular presionar el botón cuando desea cerrar la puerta. No necesita saber cuándo otra persona presionó el botón.

Si solo hay dos cables entre el panel de control y el controlador de la puerta del garaje, entonces, como han dicho otros, debe estar ocurriendo algún tipo de multiplexación, ya sea usando alguna combinación de diodos, etc., niveles de voltaje, impulsos de CC o una señal de CA. superpuesta a la CC. En cualquier caso, tratar de descubrir el esquema de multiplexación y luego emularlo probablemente sea más problemático que útil.

En cambio, si puede abrir la caja y llegar a los terminales del botón, para simular presionar el botón, puede usar los circuitos a los que se vinculó en su pregunta, usando transistores o un aislador óptico, o podría usar un reed relay (mi preferencia) ya que es fácil de conectar a un Arduino, de hecho, hacen escudos de relé solo para este propósito.

Sin embargo, lo que nadie parece haber abordado es que debe tener una forma de detectar si la puerta del garaje ya está abierta o cerrada en primer lugar. Como parece que solo hay un botón en el panel de control que opera la puerta, funciona como un interruptor (abre la puerta si está cerrada y cierra la puerta si está abierta).

Por lo tanto, simular la presión del botón no garantizará que la puerta se cierre; de ​​hecho, si recuerda cerrar la puerta con el control remoto al salir de la entrada de su casa, entonces x minutos más tarde, su computadora va a abrir de nuevo.

Por lo tanto, necesitará algún tipo de sistema para determinar si la puerta está hacia arriba o hacia abajo. Esto podría ser mecánico (un microinterruptor con un brazo largo, como este ) o una solución óptica, ya sea rompiendo un camino de luz usando un transmisor IR y detector en ambos lados del camino de la puerta, o un transmisor IR y detector montado en ángulo en el techo, con una especie de parche reflectante en la parte superior de la puerta.

O bien, podría usar cualquiera de estas soluciones en la parte inferior de la puerta, cerca del piso del garaje, pero creo que colocarlo cerca del abridor de la puerta del garaje es una mejor solución. Significará pasar dos cables desde el área del abridor de la puerta del garaje hasta su Arduino.

Probablemente esté escribiendo que es más problemático de lo que vale; sin embargo, tengo curiosidad: ¿cuáles son los nombres de estos diversos esquemas de multiplexación que usan diodos, etc.? (Pensé que "escalera de resistencia" era el nombre de uno de ellos, pero theamk parece decir que significa otra cosa).
Un nombre dado a los esquemas de multiplexación de diodos es "Charlieplexin" . Como ya se mencionó, una "escalera de resistencias" puede referirse a un esquema en el que se derivan varios voltajes dependiendo de que se cierre un interruptor. Esta es también la forma en que se puede construir un DAC. Desafortunadamente, no creo que ninguno de estos esquemas sea aplicable a su circuito, ya que usa solo dos cables que deben suministrar energía y datos. Entonces, supongo que hay algún tipo de señal de CA superpuesta a la alimentación de CC.

Asumiendo que estás hablando de los cableados, los inalámbricos usan RF y códigos y cosas por el estilo.

Nota: estoy agregando esto como respuesta, pero solo para obtener las fotos de esta lista de eBay aquí (ya que no durarán). Parece que podrían ser resistencias o diodos para los dos interruptores superiores y el interruptor inferior solo cortocircuita los dos terminales. Tal vez algunos LED allí también.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Lo más fácil sería sacar el tablero y rastrearlo. Muy sencillo, en cualquier caso.

En caso de que se esté preguntando "cómo" usaría resistencias o diodos para detectar los cierres del interruptor, la unidad maestra mediría efectivamente la resistencia de las resistencias, o cambiaría la polaridad y mediría la continuidad. Obviamente, si se presiona el interruptor arriba/abajo, no puede detectar nada más, no hay rollover de n-key para usted.

Mi interruptor de línea de cámara tiene solo tres microinterruptores, una resistencia y 2 condensadores de diferentes valores, uno en línea con la función de luz y otro en una función de "bloqueo". La resistencia reduce el voltaje del LED y supongo que hay 2 componentes de CA diferentes en el CC que se activan para las funciones 2 y 3. No es un ingeniero, solo un técnico. pero me parece lógico.

Hola Tom, bienvenido al sitio. La sección de respuestas no es para conjeturas, si no está seguro de su respuesta, publíquela como un comentario.
@ClaudioAviChami, puede tomar nota de que esta es solo la respuesta aquí que establece los componentes que se encuentran en un panel de botones real ; en comparación con los otros que solo especulan, este en realidad tiene la mayor base en hechos relevantes. Incluso la imagen de la placa de circuito publicó previamente conjeturas sobre lo que hay en el lado de los componentes, ya que, a diferencia de Tom, ese cartel no desmontó la unidad para estudiarla.

Cuando hay varios botones conectados a un solo cable, generalmente hay resistencias y/o diodos involucrados. Aquí hay una buena explicación de cómo conectar múltiples botones a un solo cable usando resistencias:

http://www.instructables.com/id/How-to-access-5-buttons-through-1-Arduino-input/

Aquí está cómo hacerlo con diodos:

http://users.tpg.com.au/users/p8king/inform01.htm

No conozco los valores exactos de las resistencias utilizadas, pero debería poder medirlo usted mismo si tiene una unidad de trabajo conocida. Tenga en cuenta que la forma de "resistencia" está limitada a un botón a la vez, mientras que el 'diodo' puede hacer ambos interruptores de forma independiente; por lo tanto, sospecho que el interruptor de 'retención' está usando un diodo, mientras que los botones tienen las resistencias.

¿Te importaría añadir los nombres de estas técnicas? Algo así como 'Una "escalera de voltaje" , también llamada "escalera de resistencias" , utiliza una serie de resistencias.' ¿Cuál es el nombre de la técnica que usa diodos así?
Lo siento, no conozco los nombres de las técnicas, ya que parecen ser bastante genéricas. Una 'escalera de resistencias' se refiere a una disposición específica de resistencias utilizada con salidas push-pull (como salidas de microcontroladores), pero es probable que esta disposición no se utilice aquí.
¿Estás diciendo que la buena persona que escribió "Digitalduino: R2R Button Resistor Ladder" debería haber usado algún otro nombre en lugar de "resistor ladder"? Si es así, ¿cuál sería un nombre más apropiado?

¿Hay alguna razón por la que tenga que usar el mismo método de control que un botón de control de pared con cable?

Muchos abridores/motores de puertas de garaje tienen terminales para varias funciones, como abrir y cerrar en la unidad misma.

También debe investigar si tiene alguna salida para monitorear el estado de la puerta. Si no, probablemente sería más fácil agregar interruptores de láminas y monitorearlos.

Otra consideración es que debe tener mucho cuidado y verificar si el abridor tiene detección de obstrucciones, como detección de impacto o rayos PE o similar, para evitar daños a la propiedad o lesiones/muerte a las personas que puedan ser golpeadas por la puerta. Esto es muy importante si desea realizar un cierre de puerta automático sin supervisión.

No puedo comentar sobre el exacto en cuestión, pero sé que las unidades comerciales con varios botones parecen usar 4-6 núcleos y no me sorprendería si fueran RS-422/485 o similar.

La forma en que funciona es muy simple.

Hay tres interruptores en paralelo, todos usando el mismo voltaje de origen de los 2 terminales en el abridor de garaje.

Cada uno de los 3 interruptores en el control remoto (interruptor de puerta abierta/cerrada, interruptor de bloqueo e interruptor de luz) tiene una resistencia de valor diferente en serie con cada interruptor; uno de ellos probablemente NO tenga resistencia.

La entrada del controlador de garaje es simplemente un voltímetro digital y verá un voltaje diferente en el circuito según el interruptor que se presione; es por eso que puede hacerlo con solo 2 cables.