Контроллер манипулятора робота на Arduino
Роботизированные руки очень популярны - я использую EEZYbotARM и GHIZmo. Копаясь в справочных источниках, я разработал свой собственный контроллер на базе Arduino, и решил поделиться идеей с вами.
Использую его с EEZYbotARM, он может быть пригодным для любого манипулятора с 4-серво.
Имеет следующие особенности:
- Джойстик управляется движением руки.
- Контроль вращения происходит с помощью поворотного потенциометра.
- Управление Gripper с помощью двух кнопок (открыть / закрыть).
- Есть возможность дистанционного управления ИК (по выбору).
- Может запоминать до 1000 шаблонов, путем регистрации движения или вручную (кодирование / редактирование файла на SD-карте).
Помимо роботизированной руки, необходимы следующие детали:
- шайбы 4x 5мм M2
- гайки 4x M2
- 4x M2 короткий (<5 мм) Винты
- 2x 5мм M3 шайбы
- 2x M3 гайки
- 2x короткие (<5 мм) винтов M3
- 4x M3 х 15 мм винта
- 4x M3 с резьбой вставки
- Кнопки 4x 12мм
- Thumb джойстик и плата
- 5K линейный потенциометр
- Arduino Pro Mini 5V
- FTDI USB Serial адаптер для программирования Arduino
- TM1637 4-х разрядный светодиодный дисплей
- один 5мм светодиод
- один 330 Ом резистор
- один 2.1mm цепи разъем питания
- один ИК - приемник Диод - TSOP38238, а также ИК - контроллер (я использовал Инфракрасный пульт дистанционного управления
- провода
- Адаптер питания 5V 1A
- Микро карта SD
Инструменты, которые вам понадобятся:
- Паяльник
- Мультиметр
- Кусачки
- Беспаечная макетная плата для тестирования
- 3D-принтер для корпуса (можно корпус сделать вручную)
Я предлагаю все соединения произвести на макете. ВАЖНО - смотрите внимательно на расположение выводов в Arduino Mini.
На платформе Arduino соединения будут следующими:
- D2 - джойстик кнопка выбора
- D3 - ИК-диод
- D4 - вращение сервопривод а
- D5 серво
- D6 - вертикальный рычаг движения серво
- D7 - горизонтальный рычаг движения серво
- D8 - LCD CLK
- D9 - LCD DIO
- D10 - SD-карта CS
- D11 - SD-карта MOSI
- MISO SD-карта - D12
- D13 - CK SD-карта
- A0 - кнопка записи
- A1 - кнопка воспроизведения
- A2 - не использовался
- A3 - потенциометр
- A4 - кнопка закрытия
- A5 - Кнопка открытия
- A6 - джойстик по вертикали
- A7 - джойстик по горизонтали
5V в подключен к свободным входным Arduino, а также положительным контактам на каждом сервоприводе. Все остальные компоненты имеют свои положительные и отрицательные выводы, подсоединенные к VCC и GND на Arduino. Вот программный Arduino код, который использовал. Я не буду говорить, что это панацея, но для меня вполне пригодно.. Я уверен, что вы внесете множество изменений и улучшений.
Корпус состоит из двух частей которые распечатал на 3D (спереди и сзади), удерживаемых вместе четырьмя M3 15мм болтами. Я напечатал две половинки в PLA с заполнением 0.2mm высоты слоя и 20%. ).
Представляю оба STL файла, а также файлы OpenSCAD дизайна в случае, если вы хотите сделать изменения.
Для записи и воспроизведения движений:
- Нажмите правую верхнюю кнопку (красная), чтобы начать запись. Чтения СИД покажет нижний регистр "R" (запись), а затем 3-значный номер, который будет имя / номер последовательности событий, которые можно будет записывать.
- Выполните движения для записи. Только непосредственный контроль регистрируются, а не движение от ИК-пульта дистанционного управления.
- Нажмите красную кнопку второй раз, чтобы закончить запись.
- Для воспроизведения программы, нажмите кнопку слева от верхней пары (желтая). Переместите джойстик вверх или вниз, чтобы выбрать имя / номер записанной последовательности, которую вы хотите воспроизвести. Нажмите желтую кнопку второй раз, чтобы запустить последовательность.
Все "программы" записываются на SD карту Micro как CSV-файлы. Каждая строка файла указывает на время выполнения движения (в миллисекундах от начала программы), буквенный код служит для обозначения серво (H, V для сервоприводов руки, C для клешней и B для основания) , и положение сервопривода. Таким образом, вы можете редактировать записанные программы, или даже вручную кодировать свои собственные.