Иногда возникает необходимость иметь связь между оборудованием, приборами, какими-то своими схемами на расстоянии и при этом нет возможности или не целесообразно использовать провода. В этом случае приходится строить беспроводную связь. Реализовать это можно большим количеством способов, но совсем недавно на глаза мне попались беспроводные модули HC-12 на GearBest (ссылка HC-12 на AliExpress), о которых речь пойдет дальше. Стоимость модулей составляет около 4-5$ за штуку.
Для начала технические характеристики беспроводных модулей HC-12:
- Рабочая частота – 433,4 – 473,0 МГц
- Используется только внешняя антенна, PCB антенна на модуле отсутствует
- Дальность передачи информации – до 1000 - 1800 м на открытом пространстве в зависимости от режима работы
- Мощность передатчика – до 100 мВт (доступны настройки для 8 уровней мощности)
- Количество каналов передачи данных – 100
- Четыре рабочих режима
- Встроенный микроконтроллер (присутствует на модуле) STM8S003F3
- Интерфейс для коммуникации с внешними устройствами – UART
- Потребляемый ток – от 3,6 мА до 16 мА в зависимости от режима работы
- Пиковое потребление тока – до 100 мА (передача данных)
- Потребление тока в ждущем режиме – 80 мкА
- Напряжение питания – от 3,2 В до 5,5 В
- Настройка модуля AT командами
Параметры модуля по умолчанию:
- UART: 9600, 8N1
- Канал 001 (433,4 МГц)
- Мощность передачи 100 мВт
Разработчики этого устройства предлагают следующие сферы применения продукта:
- Беспроводные датчики
- Устройства для охраны и безопасности
- Беспроводное управление роботами
- Телеметрия и дистанционное управление в промышленности
- Автоматическое получение данных
- Системы POS
- Системы входа без ключа
- Беспроводные сети для ПК и т.д.
Однако, предлагаемые производителем сферы применения не исчерпывают все области, где можно применить беспроводную связь. Ограничением в данном случае будет только фантазия радиолюбителей и инженеров.
Модули HC-12 работают как беспроводной удлинитель UART и не вносят каких-либо изменений в передачу информации - что отправил на одном конце, то получил на другом.
Данные модули позиционируются в продаже как заменяющие Bluetooth модули:
В некоторой степени это на самом деле более выгодно: намного больший радиус передачи, более компактное исполнение модуля (справа на фото Bluetooth модуль HC-05, о которых подробно рассказывалось в данной статье), возможность использования внешней антенны, однако отсутствие штатной PCB антенны можно поставить в минус, а кроме этого при соединении с ПК или планшетом понадобится еще один модуль для связи, в то время как Bluetooth есть практически во всех устройствах. Таким образом, модули HC-12 расширяют линейку беспроводных модулей и дают большее поле для конструирования собственных устройств.
Модуль представляет собой печатную плату с необходимыми элементами размером 27,8 х 14,4 мм. Беспроводной модуль имеет возможность подключения антенны двумя способами: подключение антенны через разъем IPEX20279-001E-03 (ANT1) или просто припаять кусочек провода (к контакту 6) (ANT2) или другой разъем (контакты 7,8 - земля). Для подключения к другим устройства модуль имеет пятиконтактный разъем (PLS/PBS), где 1 – плюс питания, 2 – земля, 3 – RxD, 4 – TxD, 5 – SET. Вывод 5 SET подтянут 10 кОм резистором к плюсу питания. Этот вывод необходим для активации настроек при помощи AT команд. Активация происходит при подключении вывода к низкому уровню, то есть к земле.
Модули построены на базе микросхемы SI4463 (микросхема в корпусе QFN-20), к этой же микросхеме подключен кварцевый резонатор на 30 МГц, необходимый для работы. Сама по себе эта микросхема (микроконтроллер) имеет интерфейс SPI, но модуль подключается по UART. Дело в том, что на модуле присутствует еще один микроконтроллер - STM8S003F3, он выступает в роли преобразователя интерфейсов. Кроме этого микроконтроллер STM упрощает взаимодействие с SI4463. Дело в том, что по UART нам необходимо всего лишь отправить байты данных как они уже отправляются в «воздух», но напрямую по SPI так сделать не получится, так как необходимо выполнять дополнительные команды. Микроконтроллер STM реализует все необходимые команды для этого и упрощает настройку и управление модулем HC-12 посредством собственных AT команд.
Диапазон питания модуля HC-12 определяет LDO (Low Dropout) регулятор напряжения (регулятор напряжения с низким падение напряжения на регулирующем элементе) XC6206 (элемент в корпусе SOT-23 с маркировкой 662K). Диод и транзистор на модуле под микроконтроллером STM относятся к схеме согласования UART. Элемент в шестиногом корпусе SC-70 – это переключатель AS179-92LF. Функционал наглядно показан на электрической схеме выше – переключение антенного выхода на приемный и передающий выводы микросхемы SI4463.
Контакты модуля HC-12 выполнены таким образом, что их можно использовать для пайки к разъемам PLS/PBS, либо припаивать напрямую к контактным площадкам другой печатной платы. При этом антенну может заменить печатный проводник (PCB антенна).
В продаже кроме модулей HC-12 (на базе микроконтроллера SI4463) есть так же практически идентичный модуль на базе микроконтроллера СС1101, обладающего практически теми же параметрами. Справа СС1101, слева SI4463:
Однако отличия между ними существуют как в плане элементной базы, так и в программной составляющей. Между собой в стоковом состоянии модули не соединяются. Для работы в паре одному из модулей необходимо модифицировать прошивку, если это возможно. А именно Зеленый модуль является модулем HC-11, что часто не указывают при продаже. HC-11 имеет несколько другую структуру работы и, хотя и схожие, но с различиями, AT команды.
Для подключения к компьютеру используем стандартный USB-UART переходник:
После подключения питания модуль начинает сразу работать со стандартными параметрами, заложенными производителем и ждет поступления данных по UART. Для изменения параметров модуля необходимо замкнуть вывод SET на землю, что активирует управление AT командами. Для HC-12 применимы 12 AT команд.
AT команда | Описание |
---|---|
AT | Тестовая команда. |
AT+Bxxxx | Команда изменения скорости передачи данных (может быть 1,200bps, 2,400bps, 4,800bps, 9,600bps, 19,200bps, 38,400bps, 57,600bps, и 115,200bps) |
AT+Cxxxx | Команда изменения канала связи (от 1 до 127). Шаг частоты канала 400 кГц, при больших расстояниях и скоростях больше 9,600bps рекомендуется не использовать частоты 5 соседних каналов выбранного канала, что бы сохранить полноценную работоспособность |
AT+FUx | Команда выбора режима работы (FU1, FU2, FU3, FU4). FU1 - режим сохранения энергии, потребляемый ток 3,6 мА. FU2 - экстремальный режим сохранения энергии, потребляемый ток 80 мкА. FU3 - режим полной скорости, потребляемый ток 16 мА. FU4 - режим максимальной дальности, потребляемый ток 16 мА, только скорость 1,200bps, количество информации не более 60 байт, интервал передачи пакетов рекомендуется использовать около 2 секунд для предотвращения потери данных |
AT+Px | Команда выбора передающей мощности (от 1 до 8) |
AT+Ry | Запрос установленных параметров модуля (AT+RB - baud rate, AT+RC - канал передачи данных, AT+RF - режим работы, AT+RP - мощность передачи) |
AT+Rx | Получение всех параметров: режим работы, baud rate, канал передачи данных, мощность передачи |
AT+Uxxx | Команда выбора data bits, check bit и stop bit |
AT+V | Запрос версии программного обеспечения модуля |
AT+SLEEP | Команда перехода в спящий режим, ток потребления в спящем режиме 22 мкА. Для выхода из спящего режима необходимо послать AT команду |
AT+DEFAULT | Сброс параметров настроек модуля до заводских |
AT+UPDATE | Вход в режим ожидания обновления программного обеспечения модуля. После ввода команда необходимо закрыть COM порт и запустить софт для обновления (HC-1X updater) |
При построении схем с применением модулей HC-12 необходимо учитывать несколько факторов:
- Не рекомендуется подключать к TxD UART светодиоды и резисторы, так как это может привести к ошибкам передачи данных
- При динамической смене параметров модуля после подтяжки вывода SET к нулю необходимо выждать не менее 40 мс перед тем как посылать AT команды, после отключения вывода от нуля необходимо выждать не менее 80 мс перед тем как начать передачу данных
- Пиковый ток модуля составляет 100 мА, это необходимо учитывать при выборе источника питания, рекомендуется применять конденсаторы по питанию емкостью не менее 22 мкФ, а предпочтительно использовать конденсатор емкостью 1000 мкФ
Прикрепленные файлы:
- Si4464.pdf (854 Кб)
- AS179_92LF.pdf (665 Кб)
- XC6206(1).pdf (1094 Кб)
- HC-12_User_Manual.pdf (223 Кб)
- HC11_User_Manual.pdf (506 Кб)
- STM8S003F3.pdf (1478 Кб)
- СС1101.pdf (1805 Кб)
Комментарии (36) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
[Автор]
Подключил данный модуль как в статье через USB-UART (как в статье) поигрался с АТ командами через Termite все работает. Оба модуля скинул АT+DEFAULT (заводские настройки). Задача стоит соединить МастерКИТ NM8036 и комп находящийся недалеко в другой постройке(расстояние 20м). Через физический COMовский шнур все прекрасно работает.
Итак один подключил к компу USB-UART, другой к МастерКИТ NM8036 к его COM порту на борту +5В-+5в; GND-GND; Rx-Tx; Tx-Rx запускаю программу управления МастерКитом с компа, выбираю нужный com порт ... и ничего, пишет "Ошибка при настройке локального порта". Как проверить обмениваются м-ду собой НС-12? Что делаю не так? С блютусом понятно пока соединение не установишь связи не получишь, видно соединение ч/з мигающий светодиод, а здесь как определить соединились они м-ду собой иль нет. Извиняюсь за ламерские вопросы. С уважением...
[Автор]
Подключаю модуль напрямую к МК, ну а шнурок идет через ST232BDR мож там что инвертируется?
Ссыль на схему мастеркит http://masterkit.ru/zip/nm8036.pdf
Может есть какие идеи как проверить контачат м-ду собой НС ки или нет?
[Автор]
У НС-12 и компа то-же самое но 1 стоп бит,, хотя на компе выставлял и 1 стоп бит, и 2 стоп бит со шнурком все работает, по воздуху не хотит...
ST232BDR я так понял поднимает уровни до стандартных 10в для RS232, инверсию не делает, т.е. подключение НС-12 на прямую к пинам МК думаю правильное, ниче понять не могу...
[Автор]
Полюбому где-то косяк - железо если работает, то и данные передавать будет
Как запускаю программу управления (Brocly) и указываю нужный com пишет "Ошибка при настройке локального порта" видимо дело в софте...странно что со шнуром работает...
[Автор]
А если настройки сделать все точно как требует девайс, а не дефолт модулей (2 стоп бита, может там еще какие нюансы)
С уважением...
[Автор]
[Автор]
Прикрутить CRC и пр навороты для контроля целостности пакетов мне не проблема.