Оглавление:
Видео: UChip - простой эскиз для дистанционного управления двигателями и / или сервоприводами с помощью радио Tx-Rx 2,4 ГГц !: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Мне очень нравится мир RC. Использование радиоуправляемой игрушки дает вам ощущение, что вы управляете чем-то необычным, несмотря на то, что это небольшая лодка, автомобиль или дрон!
Однако непросто настроить игрушки и заставить их делать то, что вы от них хотите. Обычно вы ограничены использованием настроек передатчика по умолчанию или специально разработанных комбинаций переключателей и ручек.
Довольно сложно управлять всем, как вы действительно хотите, в основном потому, что мир RC требует довольно глубоких знаний программирования на аппаратном уровне, чтобы извлечь из этого максимум пользы.
Я перепробовал множество платформ и настроек, но всегда требовалось много усилий, чтобы освоиться с кодом, прежде чем приступить к реальной настройке моей игрушки RC.
Чего мне не хватало, так это простого скетча, который я мог бы загрузить с помощью Arduino IDE и который легко позволил бы мне преобразовать значения, исходящие от Radio RX (приемника), в желаемое управление двигателем / сервоприводом.
Поэтому вот то, что я создал, немного поиграв с uChip и Arduino IDE: простой эскиз для дистанционного управления двигателями и / или сервоприводами через радио Tx-Rx 2,4 ГГц!
Ведомость материалов
1 x uChip: плата, совместимая с Arduino IDE
1 xTx-Rx Radio system: подойдет любая радиосистема с приемником cPPM (моя комбинация - старый Spectrum DX7 Tx + Orange R614XN cPPM Rx), убедитесь, что вы соблюдаете правильную процедуру привязки, чтобы связать Tx и Rx.
1 x Батарея: батареи с высоким разрядом необходимы при работе с двигателями и сервоприводами.
Двигатели / сервоприводы: в соответствии с вашими потребностями
Электронные компоненты для управления двигателями / сервоприводами: простые резисторы, полевые МОП-транзисторы и диоды позволяют вам решать задачи вождения.
Шаг 1. Подключение
Соедините компоненты вместе, как описано на схемах.
Rx подключается напрямую к uChip и не требует никаких внешних компонентов. Если вы используете другой приемник, проверьте, нужен ли вам переключатель уровня или нет. Обязательно подключите сигнал cPPM к uChip PIN_9 (который является PORTA19 на случай, если вы хотите адаптировать код к другой плате SAMD21).
Остальная проводка необходима для привода двигателя и / или сервопривода. Прилагаемая схема представляет собой базовую схему для защиты uChip от скачков / выбросов, которые обычно возникают при работе с индуктивными нагрузками. Ключевым компонентом для обеспечения безопасности uChip является силовой стабилитрон на 5,1 В (D1 на схеме), который необходимо подключить параллельно VEXT (вывод 16 uChip) и GND (вывод 8 uChip). В качестве альтернативы, вместо использования стабилитрона, вы можете выбрать дополнительную схему, представленную D2, C1 и C2, которая предотвращает обратные выбросы, которые могут повредить компоненты uChip.
Вы можете управлять любым количеством двигателей / сервоприводов, которое вам нужно, просто скопировав схему и изменив выводы управления (вы можете использовать любой вывод, кроме выводов питания (PIN_8 и PIN_16) и вывода cPPM (PIN_9)). Имейте в виду, что, хотя вам нужна только одна схема защиты, которая представлена стабилитроном (или компонентами для дополнительной схемы), электрические компоненты, связанные с приводом двигателя / сервопривода, должны повторяться столько раз, сколько количество двигателей / сервоприводы, которыми вы собираетесь управлять.
Поскольку я хотел управлять как минимум двумя двигателями и двумя сервоприводами, я сделал небольшую печатную плату, на которой реализована описанная схема, которую вы можете видеть на картинке. Однако первый прототип был изготовлен на прототипе с использованием летающих тросов.
Таким образом, для реализации этого несложного проекта вам не потребуются какие-либо навыки пайки / проектирования печатных плат:)
Шаг 2: программирование
Вот это волшебство! Здесь все становится интересно.
Если вы построили схему, описанную на предыдущей схеме, вы можете просто загрузить скетч «DriveMotorAndServo.ino», и все должно работать.
Взгляните на код и проверьте, как он работает.
Вначале есть несколько #define, используемых для определения:
- количество каналов Rx (6Ch с Orange 614XN)
- штифты, на которых прикреплены двигатели / сервоприводы
- Макс и мин, используемые для сервопривода и двигателей
- Макс. И мин., Используемые для диапазона радиоканалов
Затем есть раздел объявления переменных, в котором объявляются переменные двигателей / сервоприводов.
Если вы управляете более чем одним двигателем и одним сервоприводом, подключенным, как описано на предыдущей схеме, вам необходимо изменить эскиз и добавить код, управляющий дополнительными двигателями / сервоприводами, которые вы подключили. Вам нужно добавить столько сервоприводов, servo_value и motor_value, сколько сервоприводов / двигателей вы используете.
В разделе объявления переменных есть также несколько изменчивых переменных, используемых для сравнения захвата сигнала cPPM. НЕ МЕНЯЙТЕ ЭТИ ПЕРЕМЕННЫЕ!
Что вам нужно сделать дальше, так это в функции loop (). Здесь вы можете решить, как использовать значение входящих каналов.
В моем случае я подключил входящее значение напрямую к двигателю и сервоприводу, но вы можете изменить его в соответствии с вашими потребностями! В видео и изображениях, связанных с этим уроком, я подключил 2 двигателя и 2 сервопривода, но их могло быть 3, 4, 5,… до максимально доступных свободных контактов (13 в случае uChip).
Вы можете найти захваченное значение канала в массиве ch [index], чей «индекс» идет от 0 до NUM_CH - 1. Каждый канал соответствует ручке / переключателю / ручке на вашем радио. Вам решать, что к чему:)
Наконец, я реализовал некоторые функции отладки, чтобы облегчить понимание происходящего. Прокомментируйте / раскомментируйте #define DEBUG, чтобы напечатать на собственном SerialUSB значение каналов.
СОВЕТ. Ниже функции loop () есть дополнительный код. Эта часть кода необходима для установки контактов питания uChip, обработки прерываний, генерируемых функцией сравнения захвата, установки таймеров и цели отладки. Если вы чувствуете себя достаточно смелым, чтобы поиграть с регистрами, не стесняйтесь изменять его!
Изменить: обновлен скетч, исправлена ошибка в функции сопоставления.
Шаг 3: Играйте, управляйте, гоняйте, летайте
Убедитесь, что вы правильно подключили систему Tx и Rx. Включите его, подключив аккумулятор. Убедитесь, что все работает. Вы можете расширить функциональные возможности или изменить функцию каждого канала по своему усмотрению, потому что теперь вы полностью контролируете свою будущую модель RC.
Теперь создайте свою индивидуальную модель RC!
P. S.: поскольку привязка может быть довольно скучной, я планирую вскоре выпустить скетч, который позволит привязать вашу систему Tx-Rx без необходимости делать это вручную. Следите за обновлениями!
Рекомендуемые:
IRduino: Пульт дистанционного управления Arduino - имитация утерянного пульта дистанционного управления: 6 шагов
IRduino: Пульт дистанционного управления Arduino - имитируйте потерянный пульт: если вы когда-либо теряли пульт дистанционного управления для своего телевизора или DVD-плеера, вы знаете, как неприятно ходить, находить и использовать кнопки на самом устройстве. Иногда эти кнопки даже не обладают той же функциональностью, что и пульт. Rece
Беспроводной пульт дистанционного управления с использованием модуля 2,4 ГГц NRF24L01 с Arduino - Nrf24l01 4-канальный / 6-канальный передатчик-приемник для квадрокоптера - Радиоуправляемый вертолет - Самолет на радиоуправлении с использованием Arduino: 5 шагов (с изображениями)
Беспроводной пульт дистанционного управления с использованием модуля 2,4 ГГц NRF24L01 с Arduino | Nrf24l01 4-канальный / 6-канальный передатчик-приемник для квадрокоптера | Радиоуправляемый вертолет | Самолет на радиоуправлении с использованием Arduino: для управления автомобилем на радиоуправлении | Квадрокоптер | Дрон | Самолет RC | Лодка с дистанционным управлением, нам всегда нужны приемник и передатчик, предположим, для RC QUADCOPTER нам нужен 6-канальный передатчик и приемник, а такие типы TX и RX слишком дороги, поэтому мы сделаем один на нашем
Управление двигателями постоянного тока с помощью L298N с помощью микроконтроллера CloudX: 3 шага
Управление двигателями постоянного тока с помощью L298N с помощью микроконтроллера CloudX: В этом проекте мы объясним, как использовать наш H-мост L298N для увеличения и уменьшения скорости двигателя постоянного тока. H-мостовой модуль L298N можно использовать с двигателями, которые имеют напряжение от 5 до 35 В постоянного тока. Также имеется встроенный регулятор 5 В, поэтому, если ваш
Обычный комплект дистанционного управления, преобразованный в четырехканальный игрушечный пульт дистанционного управления с дистанционным управлением: 4 шага
Обычный комплект дистанционного управления, преобразованный в четырехканальный игрушечный пульт дистанционного управления с дистанционным управлением:改造 方法 非常 简单。 只需 准备 一些 视频 教程 完成 这个 电子 项目 并 您 服务。 玩具 控制。
Отпуск кабеля дистанционного управления Olympus Evolt E510 (версия 2 с автофокусом на пульте дистанционного управления): 6 шагов (с изображениями)
Отпуск кабеля дистанционного управления Olympus Evolt E510 (версия 2 с автофокусом на пульте дистанционного управления): Вчера я построил простой пульт с одной кнопкой для своего Olympus E510. У большинства камер есть кнопка спуска затвора (та, которую вы нажимаете, чтобы сделать снимок), которая имеет два режима. Если слегка нажать кнопку, камера автоматически сфокусируется и измерит свет