Доброго времени суток.
Выручайте, с такими задачами пока не сталкивался, но есть необходимость просто и бюджетно передать сигнал по радиоканалу 433 МГц с одного устройства на другое.
Опишу примитивно. Подал на передатчик логическую единицу или ноль, а приемник выдал то же самое.
Взял для эксперимента вот такой модуль
Но понял, что там не все так просто. Нужен шифровщик/дешифровщик, насколько я понял. В общем, посоветуйте, как решить задачу.
Спасибо
Если с данными модулями нужно сделать только то, что написано ниже.
Viper115 писал(а):Подал на передатчик логическую единицу или ноль, а приемник выдал то же самое.
То никакого шифровщика/дешифровщика не нужно.
Просто на вход передатчика подавайте единицу и на выходе приемника получите единицу.
Также и с нулем.
Хотя с нулем не всегда получается просто.
Можно сигнал в приемнике снимать до компаратора. Тогда при отсутствии несущей там будет шум, который нужно продетектировать.
Когда включается передатчик в режиме просто передачи несущей, то шум пропадает.
Вот наличие и отсутствие шума и будет этим бинарным сигналом.
Если с данными модулями нужно сделать только то, что написано ниже.
Viper115 писал(а):Подал на передатчик логическую единицу или ноль, а приемник выдал то же самое.
То никакого шифровщика/дешифровщика не нужно.
Просто на вход передатчика подавайте единицу и на выходе приемника получите единицу.
Также и с нулем.
Хотя с нулем не всегда получается просто.
Можно сигнал в приемнике снимать до компаратора. Тогда при отсутствии несущей там будет шум, который нужно продетектировать.
Когда включается передатчик в режиме просто передачи несущей, то шум пропадает.
Вот наличие и отсутствие шума и будет этим бинарным сигналом.
Если с трансмиттером все понятно, то с ресивером не очень. Там две ноги Data. Относительно земли или VCC каждая по отдельности выдает беспорядочный сигнал. Если брать сигнал с обеих сразу, то выдает ноль. Ну, правда я на передатчике сначала переполюсовку организовал Может и накрылся.
По сути, все что я получаю на выходе, а именно беспорядочный сигнал - это эфир частоты. Из этого эфира мне нужно выловить сигнал моего передатчика. Как его идентифицировать? Подать ему на вход уникальный код, который я выловлю на выходе из приемника. Для этого мне и понадобится шифратор и дешифратор. Я правильно рассуждаю?
На выходе, а именно беспорядочный сигнал - это шум эфира. Из этого шума эфира нужно выловить сигнал передатчика. Как его идентифицировать? Точно так же как делают во всех современных пультах (ИК пульт, радиопульт, звонки, автосигнализация... и т.д.). Подать ему на вход уникальный код (101010101.... и т.д.), который я выловлю на выходе из приемника. Для этого мне и понадобится шифратор и дешифратор.
P.S. Никто с помощью однобитового сигнала команды управления не передаёт. Это не надежно.
Однобитовый сигнал мне нужен уже как конечный результат для МК. А по воздуху я уже понял, что надо посложнее что-то.
Отсюда вопрос. Какая нужна еще обвеска?
Никогда не придумывал протоколов передачи))
А как быть с тем, что прием и передача - два разных МК с внутренним тактированием и некоторой погрешностью?
Viper115 писал(а):А как быть с тем, что прием и передача - два разных МК с внутренним тактированием и некоторой погрешностью?
Для этого я использую МК (ATmega8) с тактированием от кварца (4 Мгц... 8 Мгц... 12 Мгц... и т.д.). При этом погрешность тактирования получается очень маленькая)) При любой температуре (-20...+85) и напряжения питания (2,5...5 В) ATmega8 у меня работает стабильно (подстраивать ничего не надо).
Viper115 писал(а):икогда не придумывал протоколов передачи
Лично мне не понравился "китайский" протокол... Мне не понравился протокол для Arduino (у меня нет Arduino). Поэтому я придумал свой протокол (типа UART), для своей задачи (для своей игрушки).. ))
Вы можете тоже придумать свой протокол для своих задач.
В таком случае мне придется предусматривать как минимум дополнительную тиньку с кварцем для протокола в оба конца, ибо существующие ноги впритык.
Может уже проще повесить шифратор/дешифратор? Из доступного вот нашел HT12A/HT12E. Что скажете?
Если свободных нет, то можно придумать протокол с синхроницацией частоты импульсов... Например как в заводских радиомодулях. Протокол будет сложней и менее устойчивый к помехам...
В заводских радиомолулях обычно сначала передают преамбулу (10101010101... и т.д.) по которой синхронизируется приёмник.
А затем уже код команды (1100111001010001001110... и т.д.)
Мне кажется, что если делать схему на МК, то никакие дополнительные шифраторы/дешифраторы не требуются.
Только в случае если МК непрерывно занят вычислениями, то потребуется отдельный шифратор/дешифратор. В противном случае все задачи должен выполнять один МК... Вообще это зависит от конкретной задачи...
с HT12A/HT12E не работал... сказать про помехоустойчивость не могу.
Для простого радиозвонка использовать можно)) Ложный звонок - не смертельно))
Для серьёзных вещей (автоматические ворота, сигнализация... и т.д.) я бы его использовать не стал.
Viper115 писал(а):
Опишу примитивно. Подал на передатчик логическую единицу или ноль, а приемник выдал то же самое.
...В общем, посоветуйте, как решить задачу.
Уточните, пожалуйста,- система нужна для передачи команды на включение/выключение чего-то, или задача передать некую последовательность единиц/нулей?
Тогда обратите внимание на MC145026- кодер и MC145028- декодер. В режиме троичной адресации позволяют передать 19683 команды, в режиме двоичной- 512 команд. Обвеска простая, нет кварцевых резонаторов, режим заедается RC- цепочками с 5% допуском- в общем, "дёшево и сердито".Использовал эту парочку в системе охранной сигнализации по радиоканалу на 26945 кГц.
Bigsnake писал(а):обратите внимание на MC145026- кодер и MC145028- декодер.
Специализированные микросхемы... надо искать/заказывать...
Лучше берём любой МК (PIC, AVR...) всё что есть под рукой))) Накидали программку хоть с троичной адресацией, хоть с двоичной... хоть с десятичной)))
Захват и синхронизация по сигналу... нет кварцевых резонаторов... нет RC- цепочки (в МК есть внутренний RC-генератор, без RC- цепочки)... в общем, дёшевле не придумаешь)))
Любой МК позволяет переключать нагрузки по любому алгоритму:
- Быстрое Включение/выключение...
- Плавное Включение/выключение...
- Включение/выключение одной нагрузки, в зависимости от Включение/выключение другой нагрузки...
- Включение/выключение/переключение...
....
....
и т.д. и т.п. ......