Codificación / Decodificación sólido '0' o '1' con IC (o solución discreta)

Pedí un transmisor y receptor rf 434MHz para un proyecto de hobby.
Solo necesita transmitir un '0' o un '1' sólido (esto no cambiará más de una vez cada 5 segundos, probablemente mucho más), así que pensé que podría salirme con la mía solo con el par.

Sin embargo, parece que tiene problemas para enviar señales de CC (inicialmente se envían correctamente pero se pierden rápidamente, supongo que un filtro de paso bajo). Lo comprobé y puede enviar una onda cuadrada de ~ 8 KHz muy bien (aunque variar el ciclo de trabajo en la señal de TX del 5% al ​​95% todavía causa una señal de onda casi cuadrada en el RX).

Entonces, es posible que necesite algo como la codificación Manchester, de modo que un '0' sólido siga cambiando lo suficiente para el par tx/rx.

Parecía que el HT12E y el HT12D harían exactamente lo que necesitaba. Pero no puedo encontrarlos en ningún lado excepto en Amazon por ~ $ 10 cada uno, o en algún sitio en un idioma que no entiendo.

¿Hay algún IC barato que me ayude a lograr esto (codificar un 0 y un 1 en algún formato con suficientes transiciones, como Manchester)? ¿O una solución con componentes discretos en los que no estoy pensando?

Gracias

Los dos circuitos integrados Holtek que menciona están disponibles a través del distribuidor europeo tme.eu por menos de un dólar cada uno (use su motor de búsqueda), también se envían a los EE. UU. y, por cierto, estoy bastante sorprendido de que haya tanta diferencia en los precios.
¿Has pensado en usar 2 frecuencias para transmitir las 2 señales lógicas?
Si está de acuerdo con usar Arduino, entonces RadioHead con un ATtinyX5 es una solución decente.

Respuestas (1)

Su transmisor y receptor utilizan el tipo de modulación ASK - Amplitude Shift Keying. Esto significa que cuando ingresa un "1" al transmisor, está produciendo la onda portadora a 434 MHz continuamente. Cuando ingresa un "0", no se produce ninguna onda portadora.

Es probable que tenga razón en que hay un filtro involucrado, probablemente en el receptor, que está cortando el portador constante que está recibiendo cuando está transmitiendo un "1", y por lo tanto, el transmisor está produciendo continuamente el portador. Este sería un filtro de paso alto, no un filtro de paso bajo.

Entonces, creo que puede solucionar este problema simplemente activando y desactivando el transmisor con algo así como un temporizador 555 configurado en una frecuencia baja arbitraria, digamos 1,000 Hz, cuando desee transmitir un "1". Luego, en el extremo receptor, simplemente rectifique en media onda la salida del receptor con un diodo de señal de baja frecuencia (por ejemplo, 1N914 o 1N4148), y una pequeña tapa de filtro (aproximadamente 0.1 Mfd de cerámica), y quizás una resistencia de purga como se muestra en el esquema. abajo. Esto convertirá la modulación ASK de 1000 Hz en un nivel alto constante, lo que significa la recepción de un "1".

Cuando "transmite" un "0", el receptor emitirá aproximadamente 0,0 voltios, por lo que el rectificador de media onda emitirá una salida constante de 0,0 voltios, lo que significa la recepción de un "0". (¡No estás realmente "transmitiendo" porque no hay portador!)

Dado que su tasa de "datos" es tan baja (5 segundos encendido, 5 segundos apagado), los valores del componente del rectificador de media onda no son muy críticos. Un poco de experimentación con diferentes frecuencias 555 en el extremo del transmisor y valores de condensador de media onda en el extremo del receptor debería producir resultados viables rápidamente.

esquemático

simular este circuito : esquema creado con CircuitLab

Si su receptor sufre un grado razonable de adquisición de ruido de portador aleatorio, es posible que pueda filtrar los pulsos de ruido de salida resultantes agregando D2, D4, Q1, R2, R3 y R4 al circuito rectificador básico de media onda. El ruido aleatorio producirá un voltaje de CC promedio en C1 de aproximadamente 1/2 Vcc (presumiblemente 2.0 - 2.5 voltios). D2, D4 y Q1 forman un comparador crudo que solo se encenderá (creando una salida baja) cuando llegue la señal real de 1K. Cuanto menor sea la frecuencia de modulación del 555, mejor será su inmunidad al ruido.

Gracias. Desafortunadamente, cuando se transmite un '0', el receptor intenta bloquearse en un ruido aleatorio. Entonces, en lugar de un '0' sólido, obtienes un montón de oscilaciones.
"Fijarse en el ruido aleatorio" es una de las principales desventajas de esos kits de transmisor/receptor ultrabaratos. Si necesita una mayor confiabilidad, es posible que deba pasar a una solución menos parecida a un juguete barato.
Es mejor usar un NE555 para transmitir 2 frecuencias (cambie otra resistencia en paralelo con la resistencia de ajuste de frecuencia, para una frecuencia más alta, para '1'). En el receptor, algo así como un decodificador de tonos NE567 para distinguir entre frecuencias altas y bajas. Luego puede distinguir entre "encendido", "apagado" y "fuera de rango, o el transmisor murió".
Brian, estaba tratando de favorecer el uso de componentes discretos en mi respuesta ya que el OP lo solicitó como una solución opcional. El uso de circuitos integrados "caros" anularía el propósito de usar un transmisor y un rcvr baratos como estos. Me pareció que el OP estaba tratando de hacer esto en el suelo y sucio.