Каталог статей


Выбранная схема!!!


8075
Беспроводное управление серводвигателем | Полный проект с исходным кодом

Беспроводное управление серводвигателем | Полный проект с исходным кодом

Комментируйте ошибки или исправления, обнаруженные для этой схемы, и получите шанс выиграть по-крупному! Раздел комментариев находится в конце этой страницы.

Я сделал своего первого робота, когда учился в колледже, и всегда думал сделать его полностью беспроводным. То же самое я подумал о том, чтобы сделать дверной замок управляемым по беспроводной сети, замок на полке и многое другое. Многие новые инженеры-электронщики либо никогда не находят времени, либо думают, что нужно много учиться и создавать, чтобы сделать что-то подобное. В этой статье я сосредоточусь на том, как мы можем это сделать, управляя серводвигателем с помощью РЧ связи. Сегодня мы будем управлять серводвигателем по радиочастотному каналу передачи данных. Итак, для начала мы увидим базовую блок-схему того, как будет работать система:

Рис. 1. Блок-схема системы

Как показано на рисунке 1, логический блок устройства имеет 3 основных раздела
1. Питание: включает источник питания и регулятор
2. Обработка сигнала: включает радиочастотное радио и контроллер для обработки полученных данных
3. Drive: включает контроллер для создания сигнала возбуждения и усиления его до желаемой мощности.

Мы будем использовать SmartRF от Knewron Technologies, устройство на базе nrf24l01. SmartRF имеет 8-битный процессор atmega324 и радиочастотное радиочастотное устройство, поэтому наш радиочастотный приемник и контроллер физически представляют собой один и тот же модуль, но я сохранил их отдельно на блок-схеме для логического понимания.

Рис. 2. Модуль SmartRF

Работа сервопривода

Давайте вкратце рассмотрим методологию управления серводвигателем. Из трех линий сервопривода две — это питание и земля, а третья — линия управления или сигнальный импульс, или вход PWM, как бы его ни называли в разных частях инженерного мира. Чаще всего это сигнальная линия. Поэтому мы будем использовать это соглашение до конца статьи. Обычно сервоприводы соответствуют одному и тому же цветовому соглашению для поддержания стандартизации.
• КРАСНЫЙ: предложение положительное
• Черный/Коричневый: Земля снабжения
• Оранжевый/Белый: сигнал

Рис. 3. Серводвигатель

На сигнальную линию необходимо подавать импульс определенной ширины и определенной продолжительности, чтобы сервопривод оставался в устойчивом положении. Ширина называется шириной импульса, а длительность связана с частотой импульса. Вам необходимо свериться с техническими данными вашего сервопривода, чтобы узнать точные значения этих двух параметров. Частота поддерживается постоянной, а ширина импульса изменяется, чтобы перевести сервопривод в другое положение.

Рис. 4. Форма сигнала сервоуправления

Список деталей

• 2 модуля SmartRF
• 1 кабель USB
• 1 зарядное устройство для мобильных устройств с разъемом Micro USB
• 1 серводвигатель
• 3 соединительных кабеля «мама-папа»
• 1 макетная плата (дополнительно)

Помимо этих компонентов для подачи команд на установку потребуется ноутбук или ПК с программным обеспечением последовательного терминала.

Настройка системы

Ниже представлена схема всей установки и изображение фактической установки.

Рис. 5. Схема на стороне приемника

Ниже приведены фактические изображения установки.

Рис. 6. Передатчик, подключенный к USB
Рис. 7. Приемник, подключенный к сервоприводу

Я буду использовать две одинаковые платы SmartRF в качестве приемника и передатчика. Передатчик подключается к порту USB ноутбука, а питание приемника осуществляется через зарядное устройство 5 В.

Управление сервоприводом по радиочастотному каналу

Для этой статьи мы будем использовать V3001, купленный в Интернете, диапазон ширины импульса которого составляет
0,9 мс для -90 градусов или 0 градусов
2,1 мс для угла 90 или 180 градусов

Для работы этого двигателя требуется частота 50 Гц на сигнальной линии. Программному обеспечению привода необходимо преобразовать значения вращения в ширину импульса и подавать этот импульс на сервопривод с частотой импульса.

Нам необходимо передать сервоприводу угол поворота по радиочастотному каналу. Для этого мы будем транслировать данные по радиочастотному каналу, со стороны приемника он должен получить данные, преобразовать их в числа и передать на сторону программного обеспечения.

Поскольку мы используем nrf24l01, мы будем отправлять команды на SPI, а полученные данные будут считываться получателем через SPI. Есть несколько доступных библиотек nrf24l01, или вы можете создать свою собственную. Итак, теперь, чтобы сохранить простоту, мы будем использовать отправку целых чисел, относящихся к миллисекундам. Для этой демонстрации я оставлю низкое разрешение, поэтому будем отправлять целые числа следующим образом:

90 -> 0,9 мс->-90 градусов
210->2,1 мс-> 90 градусов

Передатчик отправит данные от 90 до 210, и приемник будет работать соответственно.
Сначала для приемника я запущу простой цикл while для генерации импульса, и беспроводной приемник будет переведен в режим прерывания. Использование PWM или таймера даст вам возможность одновременно использовать контроллер для других задач. Пока приемник не получит новые данные, он будет сохранять последние данные и позицию. Следующий фрагмент кода создает импульсы желаемой ширины с частотой 50 Гц.

Беспроводная связь

Модули Nrf24L01 представляют собой трансиверы 2,4 ГГц; они могут передавать и принимать со скоростью максимум 2 Мбит/с. В модулях имеются встроенные настройки для настройки диапазона частот, мощности передатчика. Эти модули имеют кодовую адресацию, и вы можете настроить их адрес так, чтобы они обменивались данными только с нужными модулями. Это снижает сложность программного обеспечения, а также позволяет лучше использовать радиочастотный канал. Все эти настройки можно выполнить через SPI, а конфигурации можно обновлять во время выполнения, что делает nrf24l01 очень удобным и недорогим беспроводным решением. У него нет SOC, поэтому нам нужен внешний контроллер для управления и чтения из nrf24l01; в SmartRF у нас мощный atmega324a. У SmartRF достаточно GPIO и вычислительной мощности, поэтому небольшому приложению даже не требуется какое-либо другое периферийное устройство.

SmartRF имеет встроенный мост USB, который делает нашу настройку еще проще: передатчик будет подключен только к ноутбуку, и мы можем предоставить ему данные, то есть угол вращения, через USART, который подключен через мост USB, поэтому вы можете напрямую связываться с модулем с программным обеспечением последовательного терминала через виртуальный COM-порт.

Для связи мы установим одинаковые адреса приемника и передатчика и настроим их для работы на одном частотном канале и скорости передачи данных. Когда мы отправляем данные из nrf24L01, аппаратное обеспечение заботится о CRC, преамбуле и всем пакете связи. Эти данные принимаются стороной приемника и декодируются для извлечения только пакета данных. Как только получен действительный пакет, генерируется IRQ, и контроллер может прочитать буфер приемника, все, что контроллеру теперь нужно сделать, это прочитать данные и преобразовать их в числа для подачи на серводвигатель.

Итак, все блоки интерфейса будут выглядеть следующим образом

Рис. 8. Поток данных и типы сигналов

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

Теперь, когда у нас есть настройка приемника и схемы управления, мы посмотрим на сторону передатчика. Здесь мы будем читать последовательный порт, чтобы получить желаемый угол и передать его приемнику. Следующий фрагмент кода принимает угол из последовательного порта и отправляет его в радиочастотный канал.

Заключение

Установка способна передавать команды серводвигателям по беспроводной сети; эта установка с небольшими радиочастотными модулями может легко работать на расстоянии до 15-20 метров в открытой среде. Модуль не требует каких-либо дополнительных компонентов, и эта система очень полезна для приложений, в которых сервоприводами необходимо управлять удаленно. С помощью этой установки можно реализовать приложения, включая домашнюю автоматизацию, автоматизацию офиса, где сервоприложения используются для дверных замков, перекладин оконного стекла, автоматического перемещения штор и многих подобных. С помощью радиочастотных модулей высокой мощности дальность действия может быть значительно увеличена.


Категория: Железо | Добавил: Администратор (20.05.2026)
Просмотров: 34 | Рейтинг: 0.0/0


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2026