Оглавление:

Управление роботом-манипулятором с помощью TLV493D, джойстика и Arduino: 3 шага
Управление роботом-манипулятором с помощью TLV493D, джойстика и Arduino: 3 шага

Видео: Управление роботом-манипулятором с помощью TLV493D, джойстика и Arduino: 3 шага

Видео: Управление роботом-манипулятором с помощью TLV493D, джойстика и Arduino: 3 шага
Видео: Управление роботом Moveo с помощью 3D модели | Robot Arm Moveo - control with 3D model 2024, Ноябрь
Anonim
Управление роботом-манипулятором с помощью TLV493D, джойстика и Arduino
Управление роботом-манипулятором с помощью TLV493D, джойстика и Arduino
Управление роботом-манипулятором с помощью TLV493D, джойстика и Arduino
Управление роботом-манипулятором с помощью TLV493D, джойстика и Arduino
Управление роботом-манипулятором с помощью TLV493D, джойстика и Arduino
Управление роботом-манипулятором с помощью TLV493D, джойстика и Arduino

Альтернативный контроллер для вашего робота с датчиком TLV493D, магнитный датчик с 3 степенями свободы (x, y, z) с ними вы можете управлять своими новыми проектами с помощью связи I2C на ваших микроконтроллерах и электронной плате, которую Bast Pro Mini M0 с Микроконтроллер SAMD21 на Arduino IDE.

Цель состоит в том, чтобы иметь альтернативный джойстик для управления вашими проектами, в данном случае манипулятор робота с 3 степенями свободы. Я использовал MeArm Robot Arm, это проект с открытым исходным кодом, и вы можете упростить его, и вы можете найти его здесь. Обладая этими знаниями, вы можете создать собственный манипулятор или другое приложение, которым я рад поделиться с вами.

Все электронные компоненты имеют ссылки для приобретения в магазине, файлы для 3D-принтера и код для Arduino IDE.

TLV493D может быть джойстиком. Трехмерный магнитный датчик TLV493D-A1B6 предлагает точное трехмерное зондирование с чрезвычайно низким энергопотреблением в небольшом 6-контактном корпусе. Благодаря обнаружению магнитного поля в направлениях x, y и z датчик надежно измеряет трехмерные, линейные и вращательные движения.

Приложения включают джойстики, элементы управления (бытовая техника, многофункциональные ручки) или электросчетчики (защита от взлома), а также любые другие приложения, требующие точных угловых измерений или низкого энергопотребления. Кроме того, встроенный датчик температуры можно использовать для проверки достоверности. Ключевыми особенностями являются трехмерное магнитное зондирование с очень низким энергопотреблением во время работы.

Датчик имеет цифровой выход через 2-проводный стандартный интерфейс I2C со скоростью до 1 Мбит / с и 12-битным разрешением данных для каждого направления измерения (измерение линейного поля Bx, By и Bz до + -130 мТл). TLV493D-A1B6 3DMintage представляет собой автономный подвесной двигатель.

Вы можете легко подключить его к любому микроконтроллеру по вашему выбору, который совместим с Arduino IDE и имеет логический уровень 3,3 В. В этом проекте мы используем прорыв Electronic Cats и плату для разработки, о которой я расскажу позже.

electroniccats.com/store/tlv493d-croquette…

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

Файлы. STL добавляются в конец проекта, его сборка очень проста, вы можете увидеть это на видео

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

Это простой в изготовлении робот и управление им, поскольку он имеет серводвигатели на 5 вольт. Вы можете построить или использовать любого робота по вашему выбору, в этом проекте основное внимание будет уделено управлению с помощью датчика TLV493D.

Запасы:

  • x1 Bast Pro Mini M0 Купить в
  • x1 Croquette TLV493D Купить в
  • x1 Комплект MeArm v1
  • x20 кабелей Dupont
  • x1 Протоборд
  • x2 кнопка
  • x1 Магнит диаметром 5 мм x толщиной 1 мм

Шаг 1. Подключение датчика к Bast Pro Mini M0

Подключение датчика к Bast Pro Mini M0
Подключение датчика к Bast Pro Mini M0

Для управления манипулятором робота используется макетная плата Electronic Cats - Bast Pro Mini M0 с микроконтроллером SAMD21E ARM Cortex-M0.

Этот чип работает на частоте 48 МГц, имеет память для программирования 256 КБ, SRAM 32 КБ и работает при напряжении от 1,6 до 3,6 В. Благодаря его спецификациям мы можем использовать его для низкого потребления с хорошей производительностью, а также программировать его с помощью CircuitPython или другого языка, поддерживающего микроконтроллеры.

electroniccats.com/store/bast-pro-mini-m0/

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

github.com/ElectronicCats/Bast-Pro-Mini-M0…

Для управления движением серводвигателей используется магнитный датчик TLV493D, который отправляет сигнал для позиционирования серводвигателя в соответствующих градусах.

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

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

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

  • Первый серводвигатель предназначен для захвата и подключается к контакту 2.
  • Второй серводвигатель предназначен для базы робота и подключается к контакту 3.
  • Третий серводвигатель предназначен для плеча робота и подключается к контакту 4.
  • Четвертый серводвигатель предназначен для локтя робота и подключается к контакту 5.
  • Первая кнопка предназначена для остановки любого движения робота и подключается к контакту 8 в режиме вывода с сопротивлением 2,2 кОм.
  • Вторая кнопка предназначена для открывания и закрывания захвата и соединена с штифтом 9 в опускании с сопротивлением 2,2 кОм.

На изображении схемы датчик TLV493D не отображается, потому что он не был добавлен к фритзингу, а был добавлен 4-контактный разъем для имитации его разъемов VCC, GND, SCL, SDA. На изображении они расположены в таком же порядке.

  • Первый вывод подключается к 3,3 вольт на плате.
  • Второй вывод подключается к GND.
  • Третий контакт SCL подключается к контакту A5 на плате.
  • Четвертый контакт SDA подключается к контакту A4 платы.

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

Еще одна важная информация, которую необходимо учитывать, - это внешний источник питания для серводвигателей, в схеме вы можете увидеть штекерный разъем, который подключается к источнику 5 В на 2 А, чтобы избежать перегрузки платы и ее повреждения.

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

Шаг 2. Кодирование IDE Arduino для Bast Pro Mini M0

Кодирование IDE Arduino на Bast Pro Mini M0
Кодирование IDE Arduino на Bast Pro Mini M0
Кодирование IDE Arduino на Bast Pro Mini M0
Кодирование IDE Arduino на Bast Pro Mini M0
Кодирование IDE Arduino на Bast Pro Mini M0
Кодирование IDE Arduino на Bast Pro Mini M0

Первым делом необходимо установить карту Bast Pro Mini M0 в Arduino IDE, шаги можно найти в репозитории Electronic Cats, и они важны для его работы.

github.com/ElectronicCats/Arduino_Boards_I…

Когда вы подготовите Arduino IDE, необходимо установить официальную библиотеку датчика TLV493D, войдите в https://github.com/Infineon/TLV493D-A1B6-3DMagnet… и перейдите в Releases.

В первой части кода объявлены используемые библиотеки, в данном случае Servo.h для серводвигателей и TLV493D.h для датчика.

При использовании библиотеки Servo.h важно указать количество серводвигателей, хотя у робота их 4, в настоящее время используются только 3.

Штифты заявлены для кнопок, которые остановят любое движение робота, а также открытие и закрытие захвата. Объявлены некоторые глобальные переменные, которые будут служить для определения состояния захвата и наличия движения.

Во второй части кода мы покажем на последовательном мониторе значение степени, в которой находятся двигатели. Еще один важный момент - установить предел градусов в ваших серводвигателях, для этого используется функция map (), которая преобразует значение перемещений датчика TLV493D в диапазон от 0 до 180 градусов серводвигателя.

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

Вы учитесь использовать Circuit Python?

Если вам интересно узнать, как использовать эту среду IDE, вы можете найти карту Bast Pro Mini M0 по следующей ссылке, чтобы загрузить загрузчик и начать программировать его с помощью Python.

Шаг 3: 3D-фигуры

Если вы заинтересованы в создании проекта, вы можете скачать фрагменты в формате.stl и распечатать их. Вы найдете файлы для базы и поворотной ручки.

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