No Image

Дистанционное управление на микроконтроллере

267 просмотров
12 декабря 2019

Дистанционное управление нагрузками.

Автор: Plant
Опубликовано 01.01.1970

Идея изготовления данного устройства возникла при изучении принципа работы трансивера TRC102. Эта микросхема обладает неплохими характеристиками и оснащена аппаратными средствами для обеспечения высокой помехозащищенности канала приёма-передачи. Полученное устройство имеет следующие характеристики:
Дальность действия — до 500м (в прямой видимости)
Частота приёма-передачи — 433,92 МГц
Мощность передатчика брелока — 7мВт
Ток потребления брелока
— в режиме передачи — 16 мА
— в спящем режиме 50 мкА
Ток потребления приёмного устройства (все реле выключены) -20 мА
Напряжение питания 11-15 Вольт
Коммутируемые нагрузки — 10А 220В
Электрическая схема передающей части:

Работой устройства управляет микроконтроллер (МК) фирмы ATMEL ATmega8L (IC1). Он выполняет функции опроса клавиатуры, управления приёмопередатчиком TRC102 (IC2), и вывода информации о режиме работы на светодиод LED1.
После подключения устройства к источнику питания МК формирует последовательность команд управления, необходимых для начальной инициализации трансивера (частота передачи, скорость, девиация и др.). Затем последовательно трансивер и МК переходят в режим пониженного токопотребления Power-down. Благодаря этому в режиме ожидания устройство потребляет порядка ___мкА, что практически не сказывается на состоянии питающего элемента. Для обмена данными между МК и трансивером используется аппаратный интерфейс SPI МК
При нажатии на любую кнопку на вход внешнего прерывания МК INT0 (выв. 32) подаётся сигнал "низкого" уровня, что приводит к "пробуждению" МК. В результате выполняется программа определения нажатой кнопки, трансивер переводится в режим передачи и в его внутренний регистр передачи загружается последовательность, соответствующая коду нажатой кнопки. Трансивер TRC102 включен по типовой схеме, на выходе РЧ добавлен П-фильтр (С11,С12,L4). По документации на трансивер установка конденсатора С3 носит рекомендательный характер, но как показала практика некоторые образцы кварцевых резонаторов при отсутствии этого конденсатора не уверенно "запускаются".
Подстроечным конденсатором С4 осуществляется точная настройка частоты передачи. Резисторы R8, R9 нулевого сопротивления установлены для упрощения топологии печатной платы, и могут иметь любое сопротивление в диапазоне 0-1кОм. Резистор R7 в данной версии прошивки можно не ставить — он выполняет функции переключения алгоритма работы.
Схема приёмной части устройства:

В его составе МК ATmega8L (IC1), микросборка 7-ми канальный "усилитель-ключ" ULN2003 (IC2), микросхема приёмопередатчика TRC102 (IC3), двухступенчатый стабилизатор на 5в. и 3,3в. (IC4, IC5). Применение двухступенчатого стабилизатора продиктовано исходя из соображения надёжности — у стабилизатора на 3,3 в. максимальное входное напряжение-15в., т.е. практически равно питающему напряжению устройства (12 в.). Да и стабилизатор на 3,3в. в "массивном" корпусе (для облечения теплового режима) найти довольно проблематично. Была идея сделать импульсный стабилизатор на МС34063, но остановился на варианте двух стабилизаторов, как на более простом.
С выходов МК (вывод 23-26) сигналы управления нагрузками на сборку ключей IC2, нагрузкой которой являются реле REL1-REL4. Реле REL1-REL4 своими контактами X1-X4 непосредственно коммутируют подключенные нагрузки. Выходы сборки ключей IC2 OUT1, OUT2 (выв.14,15) соеденены с гнездом SV2 (Конт. 2,3), и их можно использовать для управления ещё двумя нагрузками (см. ниже). Светодиоды LED1-LED4 неоходимы для индикации включения реле REL1-REL4.
Для реализации возможности ограничения крайних положений исполнительных механизмов (автоматические ворота, шлагбаумы, системы набора воды и т.д.) служат контакты Х6, Х7 , к которым подключаются контакты (замыкатели) исполнительных механизмов. Контакты должны быть отрегулированы так, чтобы при достижении крайних положений механизма они замыкались. Замыкание контакта исполнительного механизма, подключенного к контакту X6 данного устройства, приводит к выключению реле REL1, а контактам Х7-к выключению реле REL2. Оптопары ОК, ОК2 необходимы в случаях, когда длина проводников соединяющих концевики исполнительных механизмов и контакты печатной платы велика и устройство работает в зоне с повышенным уровнем электромагнитных помех. Если в этом плане всё в порядке, то оптопары можно исключить. При этом резисторы R1,R3 исключаются, а на плате вместо оптопар устанавливаются 2 перемычки, соединяющие выводы 2 и 4 соответствено.
Перемычки J1-J3 — сервисные, они служат для включения режима настройки и для режима работы приёмного устройства.
В приёмной части схема особенностей не имеет и является аналогичной передающей части.

Работа устройства.
При нажатии на кнопку S1-S4 брелока в эфир передается кодовая посылка, несущая информацию о нажатой кнопке. Приёмная часть устройства это информацию принимает, декодирует и осуществляет управление нагрузками посредством коммутации реле REL1-REL4. Выбор режима реагирования на входящий сигнал производится при помощи перемычки J1-2. При разомкнутых контактах перемычки при поступлении соответствующей команды происходит инвертирование состояний реле, т.е. при первом нажатии на кнопку (S1например) брелока включится реле REL1. В этом положении реле будет находиться до тех пор, пока на брелоке не будет нажата кнопка S1. При замкнутых контактах перемычки J1-2 реле будет включено до тех пор, пока нажата кнопка на брелоке. Важно: состояние перемычки J1-2 анализируется только при включении питания. При замыкании внешнего концевика, подключенного к контактам Х6 платы произойдёт выключение реле REL1. Если будет замкнут внешний концевик, подключенный к контактам Х7, то выключится реле REL2. Повторное включение реле невозможно до тех пор, пока замкнут соответствующий концевик. Т.е. при замкнутом одном концевике возможно только движение в противоположном направлении. Для правильной работы узла ограничения крайних положений необходимо правильно установить концевики. Пример: реле REL1 управляет перемещением ворот "вверх", реле REL2-"вниз". При этом концевик ограничения перемещения вверх должен быть подключен к контактам Х6, концевик ограничения перемещения "вниз"- к контактам Х7. При перемещении из крайней верхней точки в нижнюю (и наоборот) зону, в которой оба концевика разомкнуты ворота должны проходить не менее чем за 0,5сек. Режим работы реле REL3, REL4 не зависит от системы ограничения, и они определяются только положение переключателя режима J1-2. При необходимости число каналов управления можно увеличить. При этом в приёмном устройстве достаточно просто подключить нагрузку к зарезервированным выходам OUT1, OUT2 (разъем SV2, Конт. 3, 2). Это может быть реле или любая другая нагрузка. Напряжение питания нагрузки не должно превышать 30 Вольт (постоянное напряжение) а ток не должен превышать 0,5 Ампера. В брелоке же необходимо добавить 2 кнопки (потребуется либо изменение топологии платы или выносные) подключенные, так же как и S1-S4, только к выводам 27, 28 МК (другие выводы кнопок подключаются к общей точке соединения всех кнопок). Также необходимо последовательно с дополнительными кнопками включить резисторы 470 Ом. Корректировать управляющую программу не надо, этот "апгрейд" уже предусмотрен

Читайте также:  Защитное покрытие для окон

Настройка.
Настройка при правильно собранной схеме и из исправных элементов заключается только в установке несущей частоты передатчика и частоты приема. Если нет частотомера то настройку производят ("кастрюльным" способом, например) по максимальному расстоянию между приёмником и передатчиком в обычном режиме работы устройства, т.е. когда команды от брелока принимаются приёмным устройством. Настройку при этом можно провести только подстройкой частоты брелока конденсатором С4. Частота конечно не будет точно совпадать со значением 433920 кГц. Неприятность эту мы переживём:). Если же есть частотомер, то есть смысл точнее установить частоты. Для этого предусмотрен режим настройки. В брелоке он включается следующим образом. При снятом источнике питания нажимаем любую кнопку, и её удерживая подключаем источник питания. При этом трансивер TRC102 переходит в режим передачи немодулированной несущей. Подстройкой конденсатора С4 необходимо установить частоту передачи 433920 кГц. Контроль ведётся при помощи частотомера, подключенного непосредственно к антенному выходу или размещённого в непосредственной близости от антенны брелока (если позволяет конструкция и чувствительность частотомера). Если в режиме настройки частотомер показывает "что-то не то" (типа 355 МГц, например), то необходимо увеличить емкость С9 на 0,5-1 пФ. После настройки на 433920 КГц снимаем и ставим заново источник питания.
На приёмном устройстве режим настройки включается аналогично. На выключенном устройстве замыкается перемычка J1-1 (пинцетом, например) и подаётся питание. После подачи питания перемычку можно снимать. TRC102 приёмника также переходит в режим передачи немодулируемой несущей. Настройку частоты (433920 кГц) производят при помощи подбора конденсатора С9. При желании можно параллельно ему установить подстроечный конденсатор 0,5-3,5пФ.
Или подобрать вручную. При увеличении ёмкости на 0,5пФ частота понижается примерно на 7-8 кГц. После настройки приёмник необходимо обесточить и подключить питание заново. Настройка после этого завершена и можно произвести проверку работоспособности. Нажимая кнопки на брелоке контролируем срабатывание соответствующих реле.

Конструкция. Все детали брелока расположены на печатной плате из двустороннего стеклотекстолита толщиной 1,5 мм размером 66х28,5 мм. С одной стороны расположены проводники, электронные компоненты и источник питания. Обратная сторона печатной платы сохранена полностью и соединяется с "земляным" проводником посредством перемычек, продетых через отверстия в плате. Перемычки тщательно пропаиваются с обеих сторон как показано на фото:

Под кнопками расположены технологические отверстия, необходимые для точного изготовления отверстий в корпусе брелока для толкателей кнопок. После сверловки платы, до расположения на ней деталей, плату переворачивают и прикладывают к внутренней стороне корпуса брелока. Затем тонким сверлом (1мм) сверлятся отверстия под толкатели кнопок. Полученные отверстия в корпусе в дальнейшем рассверливаются до необходимого диаметра. Отверстия под выводы кнопок со стороны сплошной металлизации зенкуются, а сами выводы обрезаются до длины 1-1,5 мм. Корпус брелока куплен на радиорынке. В боковой стенке пропиливается отверстие под антенну. Размер и конфигурация отверстия зависит от применённой антенны. Держатель элемента питания изготавливается из луженой жести (банка под кофе, например). Заготовка вырезается обычными ножницами по эскизу, показанному на рис.6, затем загибается по линии изгиба на 90 град. Часть "А" загибается на 180 град. образуя пружинящий контакт. Область "земли" на печатной плате под элементом питания должна быть залужена и промыта спиртом.
Печатная плата приёмного устройства изготовлена из одностороннего стеклотекстолита размером 117х87 мм толщиной 1,5мм. На стороне без проводников в месте расположения элементов трансивера TRC102 устанавливается полоска из луженой жести размером 15х30 мм, которая соединяется с "земляным" проводником платы в нескольких местах, как показано на рисунке:

Читайте также:  Варочная панель комбинированная индукция и электрическая

Такое решение избавило от необходимости некоторых технологических "заморочек" (защита слоя при травлении, зенковка отверстий. ) Также желательно впаять 3 "земляные" перемычки (см. фото).

Детали
Микроконтроллер брелока ATmega8L устанавливается в корпусе TQFP-32, приёмной части — в корпусе DIP-28. Замены МК без изменения управляющей программы нет. Особо необходимо отметить о наличии литеры "L" в названии — возможность работы при пониженном напряжении питания (до 2,7 вольта). Все резисторы брелока типоразмера 0603, приёмника -0805. Индуктивности типоразмера 0805-проволочные, которые рассчитаны для работы на высоких частотах (фирмы Pulse, например). Топология печатной платы позволяет применить позволяет применить конденсаторы размеров 0603 и 0805 -кому что доступней. Исключение составляют конденсаторы С_ брелока и С_ приёмника, оба имеют типоразмер 1206. Реле REL1-REL4 -JQC-3FF фирмы Hogna. Ну и самая важная деталь — аккуратность на каждом этапе изготовления, особенно при монтаже приёмо-передающей части.
Антенны можно использовать самодельные — проводник длиной 16,5 см.
При прошивке МК необходимо запрограммировать фьюзы SKSEL2, SKSEL3, SUT0, BODEN, BOOTSZ0, BOOTSZ1, SPIEN. Программирование МК брелока возможно прямо на плате, подпаяв технологическим площадкам RES, MOSI, MISO, SCK.

Данное устройство предназначено для управления 4 различными нагрузками (например управление гаражными воротами, эл. освещением и прочее). Допускается одновременное нажатие кнопок в любой комбинации (для режима без фиксации команды). Приемник имеет 2 режима работы: – 1 режим без фиксации команды (перемычка на приемнике убрана) – команды выполняются только в момент удержания соответствующей кнопки (кнопок). – 2 режим с фиксацией команды (установлена перемычка на приемник) – команда выполняется после нажатия кнопки, повторное нажатие кнопки отключает команду.

Передатчик состоит из кодера на микроконтроллере, и радиомодуля для передачи данных по радиоканалу. Модуляция – ШИМ. В передатчик заложен алгоритм помехоустойчивой передачи данных, для защиты от ложных срабатываний. Потребление тока в режиме покоя составляет 0,1мкА в режиме сна, и 11мА во время передачи (от источника напряжения 3В). 0,3мкА в режиме сна, и 15мА во время передачи (от источника напряжения 6В). Для управления на небольшой дистанции достаточно одной литиевой батареи. Для более дальней связи используются 2 литиевых батареи. Плата передатчика – 2-х сторонняя. Обратная сторона используется в качестве экрана. Фольга только удалена под катушкой L2.

Особенности передатчика:
— для сверхнизкого потребления тока в режиме сна в контроллере пришлось отключить одну важную функцию (с этой функцией потребление тока составило бы 60 мкА, что не есть хорошо), поэтому в некоторых ситуациях контроллер при подключении батареи может зависнуть. Для вывода его из этого состояния нужно извлечь батарею, нажать на кнопку SB4 (для разряда конденсаторов), и снова установить батарею до успешного старта контроллера. В нормальном рабочем режиме с установленной батареей зависаний не будет (пока батарея не разрядится).

Приемник состоит из декодера на микроконтроллере, и готового приемного радиомодуля (радиомодуль не должен инвертировать сигнал передатчика). Приемник команд особенностей не имеет. К выходу микроконтроллера можно подключить мощные полевые транзисторы для управления всеразличными нагрузками или твердотельное реле.

А теперь о дальности работы. При питании передатчика от источника напряжением 6В и нахождении передатчика на 7 этаже мне удавалось передавать команды на расстояние до 1км. Причем внутри дома сигнал передатчика пробивал насквозь 7 этажей (до 1 этажа), прием даже велся в металлическом лифте на пути следования с 7 до 1 этажа. При нахождении передатчика на уровне 1,5 метра от земли сигнал передавался до 300 метров при прямой видимости. В качестве антенн были использованы куски провода по 17см.

Читайте также:  Дымосос правый или левый как определить

Прошивки бесплатны, и не имеют никаких ограничений. Кодер и декодер имеют индивидуальный код (который пользователь может изменить для себя при прошивании контроллеров). Отмечено красным на скриншоте. Важно, чтобы ID кодера и декодера в формате HEX совпадали, иначе декодер не увидит кодер. Тем, кому ID менять не надо — просто прошиваем контроллер. По умолчанию ID E5EAA9.

При программировании контроллеров не забываем о калибровочных константах http://pro-radio.ru/controllers/3131-2/ (у кого PICkit – могут о этом не беспокоиться, программатор сам все сделает).

Если применить готовые радиомодули приемника и передатчика, то сборка данного устройства значительно упростится.

Скачать прошивки и печатные платы в формате LAY вы можете ниже

Всем добрый день!

В рамках моего проекта:
Создаем робота в домашних условиях
был сделан модуль управления роботом по ИК каналу. Вот о нём я бы и хотел написать поподробнее. Так как применений этому можно найти очень много.

Собственно, что такое ИК-управление — объяснять, думаю, не нужно. Сейчас более распространено управление по Wi-Fi, Bluetooth, ZigBee. Но если вам требуется простое устройство, которое можно собрать «на коленке» при минимальных затратах, то эта статья для вас. =)

Я не буду привязывать эту статью к определённому микроконтроллеру, а опишу общие принципы работы ИК прёмо-передатчика с AVR МК.

1. Что потребуется

При создании простого ИК-управления, негласным стандартом является использование приёмника от компании Vishay TSOPxxxx и диода TSALxxxx в качестве передатчика.

В обозначении приёмников TSOP последние две цифры означают частоту (в кГц) на которой воспринимается передаваемый сигнал. Сложностей в работе с этими компонентами особых нет. Можно писать свой протокол передачи, можно воспользоваться уже готовыми решениями. В моём случае я решил связать два микроконтроллера ИК-каналом, используя USART. Принцип такой же, как если бы мы соеденили два МК обычными проводами. Нюанс только в модулировании несущей частоты и в настройке таймера.

2. Схемки

Чтобы не городить огородов, воспользуемся схемой включения TSOP из его даташита:

Выход TSOPа нужно подключить напрямую к входу (RX) USART МК.

С подключением передатчика ситуация немного другая. Так как приёмник работает только на определённой частоте, то нужно задать эту же частоту на излучателе. Это сделать не сложно запрограммировав таймер. Для ATmega16 это будет выглядить вот так:
TCCR1A=0x40;
TCCR1B=0x09;
OCR1AH=0x00;
OCR1AL=0x84;

Нужную частоту можно выразить из формулы:

OCRn — будет искомое значение, которое нужно перевести в шестнадцатеричный формат и записать в регистр OCR1A (для случая с МК ATmega16).

Теперь TSOP будет принимать наш сигнал. Но чтобы можно было использовать USART, нужно промодулировать наш сигнал. Чтобы это можно было делать — подключим ИК-диод по схеме:

3. Немного кода

Прошивки я писал в CodeVision AVR.

Вот так будет выглядеть код для передатчика:
#include
#include

void main(void)
<
PORTB=0x00;
DDRB=0x02;

TCCR1A=0x40;
TCCR1B=0x09;
OCR1AH=0x00;
OCR1AL=0x84; // Сюда вписываем значение для вашей частоты

// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Mode: Asynchronous
// USART Baud Rate: 2400
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0xCF;

if (PINC.4 == 0x00) < putchar(‘S’);>/* В данном случае при нажатии на кнопку, которая висит на PINC.4 МК отсылает символ ‘S’. Который передаётся на другой контроллер через ИК.*/
>;
>

Код приёмника не привожу, т.к. занимает много места, а для восприятия общих принципов кода передатчика будет, думаю, достаточно.

Помимо дистанционного управления (хотя это и так обширная область применений), можно использовать этот метод для датчиков припятствийпрохождения объектва и если таковых датчиков у вас много, а работаю они на одной частоте, то чтобы они не засвечивали друг друга можно передавать разные пакеты.

Желаю удачи! Буду рад любым вопросакритикепредложениям 😉

UPD. Решил выложить фото самого пульта, чтобы было видно, что работает девайс не только как китайские приёмники, которые подключаются к ПК. Возможности гораздо шире и универсальнее.

Комментировать
267 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock detector