Оглавление:

Роботизированная рука на базе микроконтроллера PIC: 6 шагов (с изображениями)
Роботизированная рука на базе микроконтроллера PIC: 6 шагов (с изображениями)

Видео: Роботизированная рука на базе микроконтроллера PIC: 6 шагов (с изображениями)

Видео: Роботизированная рука на базе микроконтроллера PIC: 6 шагов (с изображениями)
Видео: АПС Л16. Микроконтроллеры и системы общего назначения 2024, Ноябрь
Anonim
Роботизированная рука на базе микроконтроллера PIC
Роботизированная рука на базе микроконтроллера PIC

Роботизированные манипуляторы можно найти повсюду, от конвейеров автомобильной промышленности до телехирургических роботов в космосе. Механизмы этих роботов похожи на человеческие, которых можно запрограммировать для выполнения аналогичных функций и расширенных возможностей. Они могут использоваться для выполнения повторяющихся действий быстрее и точнее, чем люди, или могут использоваться в суровых условиях без риска для жизни человека. Мы уже создали роботизированную руку для записи и воспроизведения с использованием Arduino, которую можно обучить выполнять конкретную задачу и заставлять ее повторять бесконечно.

В этом уроке мы будем использовать 8-битный микроконтроллер PIC16F877A промышленного стандарта для управления той же роботизированной рукой с помощью потенциометров. Проблема с этим проектом заключается в том, что PIC16F877A имеет только два вывода с поддержкой PWN, но нам нужно управлять примерно 5 серводвигателями для нашего робота, для чего требуется 5 отдельных выводов PWM. Таким образом, мы должны использовать выводы GPIO и генерировать сигналы ШИМ на выводах PIC GPIO, используя прерывания таймера. Теперь, конечно, мы могли бы перейти на более качественный микроконтроллер или использовать демультиплексорную ИС, чтобы упростить задачу. Но все же стоит попробовать этот проект для обучения.

Механическая структура роботизированной руки, которую я использую в этом проекте, была полностью напечатана на 3D-принтере для моего предыдущего проекта; здесь вы можете найти полные файлы дизайна и процедуру сборки. В качестве альтернативы, если у вас нет 3D-принтера, вы также можете построить простую роботизированную руку из картона, как показано по ссылке. Предполагая, что вы каким-то образом заполучили свою роботизированную руку, приступим к проекту.

Шаг 1: Принципиальная схема

Принципиальная электрическая схема
Принципиальная электрическая схема

Полная принципиальная схема этого робота-манипулятора на базе микроконтроллера PIC показана ниже. Схема была нарисована с помощью EasyEDA.

Принципиальная схема довольно проста; весь проект питается от адаптера 12 В. Затем это 12 В преобразуется в + 5 В с помощью двух регуляторов напряжения 7805. Один обозначен как + 5V, а другой - как + 5V (2). Причина наличия двух регуляторов заключается в том, что когда сервопривод вращается, он потребляет большой ток, который вызывает падение напряжения. Это падение напряжения вынуждает PIC перезапускаться, поэтому мы не можем управлять PIC и серводвигателями на одной шине + 5V. Таким образом, тот, который обозначен как + 5V, используется для питания микроконтроллера PIC, ЖК-дисплея и потенциометров, а отдельный выход регулятора, обозначенный как + 5V (2), используется для питания серводвигателей.

Пять выходных контактов потенциометров, которые обеспечивают переменное напряжение от 0 В до 5 В, подключены к аналоговым контактам An0 - AN4 PIC. Поскольку мы планируем использовать таймеры для генерации ШИМ, серводвигатели могут быть подключены к любому выводу GPIO. Я выбрал контакты от RD2 до RD6 для серводвигателей, но это может быть любой GPIO по вашему выбору.

Поскольку программа включает в себя множество операций по отладке, ЖК-дисплей 16x2 также подключен к порту B PIC. Это отобразит рабочий цикл сервомоторов, которыми управляют. Помимо этого, я также расширил соединения для всех GPIO и аналоговых контактов, на всякий случай, если в будущем потребуется сопряжение каких-либо датчиков. Наконец, я также подключил вывод программатора H1, чтобы напрямую программировать PIC с помощью pickit3, используя опцию программирования ICSP.

Шаг 2: Генерация сигналов ШИМ на выводе GPIO для управления серводвигателем

"loading =" ленивый ">

Рекомендуемые: