Оглавление:
- Запасы
- Шаг 1: плинтус
- Шаг 2: Тестирование ЖК-дисплея и клавиатуры I2C
- Шаг 3: Управление сервоприводом
- Шаг 4: Готовый продукт
Видео: Тестер сервоприводов Arduino: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Здесь мы демонстрируем, как управлять сервоприводом с Arduino без компьютера. Использование этого портативного интерфейса значительно ускоряет процесс создания прототипа при определении пределов вращения сервопривода. Это особенно полезно, когда у вас много сервоприводов, как у нас.
Если вы используете это руководство как часть серии модифицированных роботов InMoov, имейте в виду, что это незаконченная версия панели управления, установленная на задней части робота. Вы можете использовать его так же, как и мы, чтобы определить пределы ваших сервоприводов.
Если вы просто надеетесь управлять несколькими сервоприводами с помощью нашего метода для другого проекта или просто для развлечения, это руководство по-прежнему для вас, так что не покидайте страницу! Обратите внимание, что на некоторых изображениях есть пометки, поэтому смотрите на каждое отдельно.
Давайте начнем!
Запасы
Здесь перечислены не все расходные материалы, пожалуйста, прочтите все инструкции
- 1 х Arduino Uno
- 1 силовой модуль, понижающий преобразователь DC-DC 5A (мы использовали этот модуль, но вы также можете использовать что-то вроде этого)
- 1 ЖК-дисплей I2C (это то, что мы использовали, но любой ЖК-дисплей с последовательным интерфейсом или практически любой стандартный ЖК-дисплей работает)
- 1 матричная клавиатура 4x4 (например)
- Макет и / или перфокарта. Если вы используете перфорированную плату, вам потребуются штыри разъема, такие как здесь, а также все необходимое оборудование для пайки.
- Перемычки между мужчиной и женщиной, мужчиной с женщиной, женщиной с женщиной; разные резисторы, светодиоды и макетные провода.
- Плинтус какой-то. Мы использовали прозрачный акрил 1/4 дюйма. Вы можете использовать любой прочный, легко сверлящийся материал.
- Петли, винты, гайки / болты, суперклей
Шаг 1: плинтус
Вы захотите сделать прочную основу для своей электроники. Если вы делаете это для модифицированного робота InMoov, он должен будет вместить еще один Arduino Uno (возможно, Mega), Raspberry Pi3 и несколько макетов и / или перфомансных плат для серво / сенсорного управления. Наша базовая панель была размером примерно 7x15 дюймов. На фотографиях выше вы можете увидеть общую компоновку модулей. Мы установили клавиатуру и ЖК-дисплей на крышке так, чтобы панель открывалась только в случае неисправности, прототипирования или обслуживания. Как видите, крышка откидывается снизу и фиксируется сверху на липучке.
Постарайтесь расположить микроконтроллеры на одной стороне платы. Силовой модуль недостаточно мощный, чтобы управлять всеми сервоприводами готового робота. Фактически, он не может управлять даже тремя сервоприводами с высоким крутящим моментом, которые используются в предплечье, без отключения питания от внутреннего токового выключателя. В любом случае предоставленный образец кода работает только для одного сервообъекта, поэтому вы можете протестировать его с этой настройкой. Расположите этот модуль рядом с контроллерами, так как он будет их регулятором мощности, а также обеспечивать питание некоторых микросервоприводов, которые потребляют несущественный ток остановки - но это на потом …
Установите ЖК-дисплей и клавиатуру на внешней стороне крышки, которую вы используете, или сбоку, но близко к Arduino.
Если вы делаете это для себя, все же попробуйте настроить свою доску в аналогичном макете. Возможно, вам не понадобится ни верхняя крышка, ни 3 макета, но компоненты должны быть расположены логически, например, последняя фотография другого проекта, в котором также используются клавиатура и ЖК-дисплей. Вы можете заменить схему слева на макетную плату или полностью отказаться от нее.
Шаг 2: Тестирование ЖК-дисплея и клавиатуры I2C
Теперь мы продолжим и протестируем клавиатуру и ЖК-дисплей одновременно. Выполните подключения, как показано на рисунке выше, и запустите прикрепленный код. Вам нужно будет загрузить библиотеки ZIP для liquidCrystal_I2C.h, если у вас их еще нет; также вам нужно будет импортировать библиотеки Keypad.h и Wire.h (это можно сделать в среде IDE).
Файл Fritzing также прилагается. Вам пока не нужно ничего подключать к силовому модулю, хотя вы могли бы, если бы захотели. Arduino будет иметь достаточно питания от USB-кабеля, по которому вы загружаете код.
Когда вы загружаете свой код, ЖК-дисплей должен предлагать вам нажать клавишу на клавиатуре; после нажатия на ЖК-дисплее отображается нажатая клавиша. Возможно, вам придется изменить раскладку матрицы клавиатуры; см. комментарии в коде для уточнения.
Шаг 3: Управление сервоприводом
Теперь мы продвинемся еще дальше в этом проекте и добавим сервопривод. Вам необходимо подключить его к цифровому выводу 10, как указано в коде, или вы можете изменить это в соответствии с вашими потребностями. Следуйте приведенной выше диаграмме Fritzing; он такой же, как и предыдущий, за исключением сервопривода, светодиода с общим катодом RGB и зуммера. Последние два используются для дополнения пользовательского интерфейса - предупреждения и статус будут отображаться на светодиодах и через зуммер. Выше мы видим, как мы используем готовый серво-тестер, чтобы установить пределы для роботизированного предплечья и руки InMoov.
Загрузите прикрепленный код и запустите его. Нажатие A вызывает информационную панель; все остальное должно быть самоочевидным.
На этом этапе вы можете использовать силовой модуль для отдельного питания сервопривода; особенно, если есть большая вероятность того, что сервопривод достигнет тока остановки.
Если вы хотите, вы можете установить зуммер и светодиод на перфокартах, как показано выше. Это полезно, потому что позже оно будет служить коммутационной панелью для сервоприводов и в целом более аккуратно.
Попробуйте ввести значение сервопривода больше 180 градусов - посмотрите, что произойдет!
Шаг 4: Готовый продукт
Теперь вы можете управлять сервоприводами с помощью этого ручного интерфейса. Здесь упоминаются некоторые советы.
Исправление проблем:
-LCD не работает: проверьте все ваши соединения и что вы инициализировали ЖК-дисплей с правильным количеством строк и столбцов
-Клавиатура не работает: проверьте соединения
-Клавиатура работает, но печатаются неправильные числа: у вас есть две альтернативы. Вы можете либо перемаркировать матрицу в коде (например, если вы печатаете A вместо 1, пометьте «A» на «1»), либо вы можете переделать проводку, уделяя особое внимание тому, чтобы все провода шли к правильные контакты на Arduino.
-LED не работает: убедитесь, что вы используете светодиод с общим катодом (общим заземлением). Если нет, вы можете инвертировать все сигналы, которые вы ему посылаете (т. Е. Изменить HIGH на LOW) и подключить общий анод к + 5V.
Вскоре мы опубликуем короткое видео на Youtube, демонстрирующее возможности этого устройства; а также целую серию статей о конструкции нашего модифицированного робота InMoov. Вы можете узнать больше об оригинальном InMoov здесь. Если это Учебное пособие участвует в конкурсе, пожалуйста, проголосуйте за него! Все, что мы выиграем, поможет нам ускорить проект и, следовательно, дополнительные инструкции по этой теме.
Это руководство последний раз редактировалось 5 октября 2019 г.
Рекомендуемые:
Генерация ШИМ-сигнала высокого разрешения для сервоприводов RC с устройствами STM32: 3 шага
Генерация ШИМ-сигналов высокого разрешения для сервоприводов RC с устройствами STM32. В настоящее время я создаю передатчик / приемник RC на основе радиочастотного чипа SX1280. Одна из целей проекта состоит в том, чтобы я хотел получить 12-битное разрешение сервоприводов от стиков до сервоприводов. Отчасти потому, что современные цифровые сервоприводы имеют 12-битное разрешение
Тестер микросхем, операционный усилитель, тестер таймера 555: 3 шага
Тестер ИС, Операционный усилитель, Тестер таймера 555: все плохие или заменяемые ИС валяются, но если они смешались друг с другом, требуется много времени, чтобы определить плохой или хороший.В этой статье мы узнаем о том, как мы можем сделать ИС. тестер, давайте продолжим
Управление до 4 сервоприводов с помощью смартфона или любого устройства с аудиовыходом: 3 шага
Управление до 4 сервоприводов с помощью смартфона или любого устройства с аудиовыходом: здесь я представляю простой электронный монтаж для управления до четырех сервоприводов с любого устройства, способного читать аудиофайл
Тестер тройных сервоприводов Arduino: 6 шагов (с изображениями)
Arduino Triple Servo Tester: в настоящее время я создаю несколько шагающих роботов, все из которых работают от нескольких сервоприводов. Тогда возникает проблема в определении степени движения каждого сервопривода доступного диапазона движения. Кроме того, я пытаюсь понять, что такое ходячая походка
Управляйте множеством сервоприводов с помощью Arduino !: 4 шага (с изображениями)
Управляйте множеством сервоприводов с помощью Arduino !: Сначала я должен кое-что сказать. У меня не было красивых картинок. Итак, я взял изображения из bildr.blog. Мы знаем, что у Arduino UNO не так много штырей для управления многими сервоприводами. Итак, мы часто сталкиваемся с проблемой управления большим количеством сервоприводов с помощью Arduino