Радиоуправляемая поворотная платформа, описанная в этой статье, разрабатывалась для управления мини-видеокамерой, с целью улучшения обзора путем поворота камеры в двух плоскостях. Я использовал поворотную платформу на основе сервоприводов Tower Pro SG90. Платформа приобретена в Китае и продается в разобранном виде, собирается из нескольких пластмассовых деталей совместно с двумя сервоприводами, на платформе имеется посадочное место для камеры, размером 30×30 мм.
На фото слева (кликабельно) представлен внешний вид собранной платформы с двумя сервоприводами, размер конструкции небольшой, высота составляет 7 см, платформу можно заказать здесь, а сервоприводы тут. Так как принцип управления у сервоприводов одинаковый, можно использовать платформу иной конструкции с другими сервоприводами. На рынке существуют похожие платформы из металлических деталей с более мощными сервоприводами, которые обычно используются в робототехнике.
Система радиоуправления состоит из передатчика в виде радиопульта и исполнительного блока, который осуществляет прием и обработку команд. Ниже на картинке представлена схема радиопульта на микроконтроллере PIC16F630:
Кнопками SB1- SB4 осуществляется дистанционное управление платформой на стороне исполнительного блока, поворот в горизонтальной плоскости (SB1, SB2) и наклон в вертикальной плоскости (SB3, SB4). При кратковременном нажатии на кнопки, платформа поворачивается на маленький угол (микрошаг), если кнопки удерживать в нажатом состоянии, платформа будет непрерывно поворачиваться с определенной скоростью, диапазон угла поворота и наклона составляет 180 градусов. Команды передаются с помощью модуля радиопередатчика A1, светодиод HL1 служит индикатором передачи данных по радиоканалу.
Система радиоуправления дополнительно включает в себя два канала для управления внешними устройствами. На исполнительном блоке установлены реле K1 и K2 (см. схему ниже) для коммутации устройств, например включение/выключение видеокамеры, инфракрасной подсветки и.т.д. Управление каналами осуществляется с радиопульта, при одновременном нажатии кнопок SB1 и SB2, на исполнительном блоке включится реле K1 (1 канал), при повторном нажатии кнопок реле выключится. Управление 2-м каналом осуществляется кнопками SB3, SB4 аналогично 1-му каналу.
С радиопульта можно регулировать скорость поворота платформы. Для входа в режим программирования скорости необходимо одновременно нажать кнопки SB2, SB4, при этом загорится светодиод HL1. Скорость изменяется кнопками SB3(увеличение) и SB4(уменьшение), при кратковременном нажатии скорость меняется на одно дискретное значение, светодиод HL1 кратковременно гаснет, при удержании кнопки изменение значений ускоряется, светодиод начинает быстро мигать. Текущую скорость можно проверить, поворачивая платформу в горизонтальной плоскости кнопками SB1, SB2. Всего предусмотрено 54 дискретных значений скорости. По умолчанию поворот платформы на 180 градусов занимает 4 секунды, для максимальной скорости время поворота составит 1,26 секунд, для минимальной 6,12 секунд. Выход из режима программирования осуществляется одновременным нажатием кнопок SB2, SB4, текущая скорость записывается в EEPROM память микроконтроллера, светодиод HL1 гаснет. Если в режиме программирования ни одна из кнопок не будет нажата в течении 2-х минут, произойдет автоматический выход из режима с сохранением текущей скорости.
После подачи питания микроконтроллер настраивает внутренние регистры и переходит в спящий режим. На линиях RA0-RA3 включены прерывания по изменению уровня сигнала, при нажатии кнопок микроконтроллер просыпается, выполняет соответствующие команды и снова засыпает, в целях экономии заряда батареи.
Питается радиопульт от миниатюрной батарейки напряжением 9В (типоразмер A10), для питания микроконтроллера установлен микромощный стабилизатор напряжения DA1 (MCP1702) с собственным током потребления 1-2 мкА. В спящем режиме передатчик потребляет ток 2,1-2,2 мкА.
Ниже представлена схема исполнительного блока на микроконтроллере PIC16F628A:
Микроконтроллер принимает команды с радиомодуля A1 и управляет сервоприводами A2, A3, которые поворачивают платформу соответственно в горизонтальной и вертикальной плоскостях. Как было сказано выше, к микроконтроллеру подключены реле K1, K2, которые образуют два управляемых выхода для подключения внешних устройств. Реле управляются с помощью транзисторов VT1, VT2, диоды VD1, VD2 гасят выбросы напряжения, возникающие в результате коммутации обмоток реле. Светодиод HL1 является индикатором и светится во время приема команд по радиоканалу.
Кнопки SB1-SB4 управляют поворотом платформы, аналогично кнопкам радиопульта. Здесь также возможна регулировка скорости поворота платформы. Для входа и выхода из режима программирования скорости необходимо одновременно нажать кнопки SB1, SB2. С помощью этих же кнопок изменяется значение скорости, SB2 (увеличение), SB1 (уменьшение). В остальном настройка аналогична вышеописанному способу для передатчика. Значение скорости сохраняется в EEPROM память микроконтроллера.
С помощью перемычки JP1 можно задать два способа управления сервоприводами. При наличии перемычки управляющие сигналы для сервоприводов генерируются непрерывно, если перемычка отсутствует, управляющие сигналы подаются в момент поступления команды (нажатие кнопок на радиопульте или на исполнительном блоке), и прекращаются через 0,4 секунды при отсутствии новых команд. Соответственно, в первом варианте сервоприводы постоянно поддерживают текущее положение, а во втором положение не контролируется, то есть под действием внешнего момента вал сервопривода может повернуться.
Радиомодуль A1 питается от отдельного стабилизатора напряжения DA2, так как модуль чувствителен к помехам на линии питания, которые возникают при работе сервоприводов. Подробнее о радиомодулях можно почитать в статье про радиопередачу данных, в другой статье можно ознакомиться с принципом работы сервопривода SG90.
В конце статьи также добавлена прошивка исполнительного блока с сохранением положения сервоприводов после отключения питания, значения длительности управляющих импульсов сохраняются в EEPROM память.
да, это круто
Здравствуйте можно ли поставить резисторы 8.2 вместо 9.1 и как то странно у меня он работает подаю питание и сервоприводы начинают сами по себе дергаться сервоприводы sg90 и постоянно горит светодиод на команды с пульта сервоприводы не реагируют хотя светодиод загорается ярче что может быть не так подскажите пожалуйста спасибо
Резисторы в цепях кнопок могут иметь номинал от 4,7 до 9,1 кОм, Модуль приемника XY-MK-5V запитан от отдельного стабилизатора напряжения? Если нет, то это может вызвать ложные срабатывания и неуверенный прием команд, в схеме приемной части должно быть 2 стабилизатора напряжения.
да стабилизатора два он у меня даже на кнопки которые на приемнике не отвечает может я не правильно прошил мк и в схеме нет релющек но я думаю это на работу не как не повлияет
так прошу прошения кварц перепутал поставил 4 вместо 16 и конденсатор 22 мф 25 вольт пойду менять наверное из а этого
Приводы в комплекте?
Или нужно приобретать?
Сервоприводы нужно покупать отдельно, хотя могут быть лоты вместе с платформой.
Возможна ли замена пик630 на пик676?
Это возможно, но нужно подкорректировать прошивку, в ближайшее время я выложу прошивку если необходимо.
Спасибо, будем подождать 🙂
Прошивку выложил, в конце статьи
Спасибо огромное.
на плате исполнительного блока на 5 ноге контроллера нет питания GND, учитывайте это при травлении платы 😉
Да действительно 5 вывод не был подключен, плату подправил.
Здравствуйте! IMHO, было бы крайне полезно обучить вашу платформу пониманию стандартного протокола PTZ (Pan-Tilt-Zoom), по которому идут команды от видеорегистраторов к поворотным\зуммирующим камерам наблюдения. Но описания этого протокола я найти не смог…
Классная задумка и реализация! Есть пару вопросов, я новичок, но все же: какие конденсаторы подразумеваются под № С3 и С4 значение 24 возле кварца? 24 мкф? вольт?
И где поправить в прошивке что бы все двигалось еще медленнее и точнее? Сервы и контроллер и платформа полностью как у Вас, спасибо, очень жду!
Конденсаторы керамические по 24 пФ, если рядом со значением нет буквенных обозначений, то это пикофарады. При минимальной скорости сервоприводы вращаются достаточно медленно, просто на видео это не показано.
супер, спасибо!
Здравствуйте! Возможно ли реализация данного устройства на микроконтроллере Atmega 16 и 32, если по схемотехнике все более или менее понятно, то с программой все уж очень плачевно. Имеется ли у вас возможность реализовать данную схему с выше перечисленными микроконтроллерами? Заранее благодарен за ваш ответ.
Здравствуйте, я не программирую АВР, никогда не пробовал, почему именно Atmega, чем не устраивает PIC?
Ничего против PICов не имею, к сожалению не имел опыта работы с ними.
У меня имеется парочка биполярных шаговых двигателей с мостами L293D, возможно ли подключение данных движков вместо сервоприводов. Если это возможно, то я не смогу перепрограммировать PIC, а АВР смог бы.
Управление сервоприводом и шаговыми двигателями это совсем разные принципы, для шаговиков надо писать новую прошивку. К приведенной поворотной платформе не получится подключить шаговики с драйверами.
а три сервопривода можно подключить что бы управлять можно было одновременно? для авиамодели хочу сделать радиоуправление
Здравствуйте. Повторил Вашу схему исполнительного блока на микроконтроллере PIC16F628A, всё отлично работает, но скорость поворотов для меня великовата даже после коррекции с помощью кнопок SB1 и SB2, не могли-бы вы выслать прошивку, с уменьшенной скоростью ровно в два раза в отличии от оригинала.
Спасибо.
Здравствуйте, как время будет я подредактирую прошивку и вышлю вам.
Здравствуйте. Скорость поворотов великовата, не могли-бы вы изменить прошивку уменьшив скорость в два раза, или в меню добавить редулировку скорости.
Спасибо.
Приветствую, скорректировал прошивки, пробуйте.
Добрый день. Вы не подскажете марку реле которые на плате?