Управление на ръката на робота с TLV493D, джойстик и, Arduino: 3 стъпки
Управление на ръката на робота с TLV493D, джойстик и, Arduino: 3 стъпки
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 може да бъде джойстик 3D магнитният сензор TLV493D-A1B6 предлага точно триизмерно откриване с изключително ниска консумация на енергия в малък 6-пинов пакет. Със своето откриване на магнитно поле в x, y и z посока сензорът надеждно измерва триизмерни, линейни и въртеливи движения.

Приложенията включват джойстици, елементи за управление (бяла техника, многофункционални бутони) или електрически измервателни уреди (против подправяне) и всяко друго приложение, което изисква точни ъглови измервания или ниска консумация на енергия. Освен това вграденият температурен сензор може да се използва за проверка на достоверността. Основните характеристики са 3D магнитно измерване с много ниска консумация на енергия по време на работа.

Сензорът има цифров изход чрез стандартен 2-проводен I2C интерфейс до 1 MBit/sec и 12-битова разделителна способност на данните за всяка посока на измерване (Bx, By и Bz линейно измерване на поле до +-130mT). TLV493D-A1B6 3DMagnetic е самостоятелен извънбордов двигател.

Можете лесно да го свържете към всеки микроконтролер по ваш избор, който е съвместим с Arduino IDE и има 3.3V логическо ниво. В този проект използваме пробив на 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 Protoboard
  • x2 Бутон
  • x1 Магнит 5 мм диаметър x 1 мм дебелина

Стъпка 1: Свързване на сензора с Bast Pro Mini M0

Свързване на сензора с Bast Pro Mini M0
Свързване на сензора с Bast Pro Mini M0

За управление на рамото на робота се използва дъска за разработка на електронни котки, Bast Pro Mini M0 с микроконтролер SAMD21E ARM Cortex-M0.

Този чип работи на 48MHz, с 256KB памет за програмиране, 32KB SRAM и работи при напрежение от 1.6v до 3.6v. Благодарение на неговите спецификации можем да го използваме за ниска консумация с добра производителност и също така да го програмираме с CircuitPython или друг език, който позволява микроконтролери.

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

Ако се интересувате да научите повече за тази карта, ще ви оставя връзката към нейното хранилище.

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

За да се контролира движението на сервомоторите, се използва магнитният сензор TLV493D, който ще изпраща сигнала за позициониране на сервомотора до съответните степени.

С един сензор можем да преместваме два сервомотора, в този пример ще използваме само един сензор и бутон за управление на грайфера.

Друго предложение, което можете да направите, е да добавите друг сензор TLV493D и да преместите третия серво мотор и грайфера. Ако го направите, оставете своя опит в коментарите и ви каня да споделите проекта.

Изображението показва въоръжената верига на протоборд.

  • Първият сервомотор е за грайфера и се свързва с щифт 2
  • Вторият сервомотор е за основата на робота и се свързва към щифт 3
  • Третият сервомотор е за рамото на робота и се свързва към щифт 4
  • Четвъртият сервомотор е за лакътя на робота и се свързва с щифт 5
  • Първият бутон е да спре всяко движение на робота и се свързва към щифт 8 при изтегляне надолу със съпротивление 2.2Kohms.
  • Вторият бутон е за отваряне и затваряне на грайфера и е свързан към щифт 9 при изтегляне надолу със съпротивление 2.2Kohms.

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

  • Първият щифт се свързва към 3.3 волта на платката
  • Вторият щифт се свързва към GND
  • Третият SCL щифт се свързва с щифт A5 на платката
  • Четвъртият SDA щифт се свързва с A4 пина на платката

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

Друга важна информация, която трябва да се има предвид, е външното захранване за сервомоторите, във веригата можете да видите щепселен конектор, който се свързва към 5 волта при източник 2Amp, за да се избегне претоварване на платката и нейното повреждане.

Също така не забравяйте да се присъедините към общия сигнал GND на картата и външния източник, в противен случай ще имате проблеми с управлението на серво моторите, тъй като те няма да имат една и съща референция.

Стъпка 2: Кодиране на Arduino IDE към Bast Pro Mini M0

Кодиране на Arduino IDE към Bast Pro Mini M0
Кодиране на Arduino IDE към Bast Pro Mini M0
Кодиране на Arduino IDE към Bast Pro Mini M0
Кодиране на Arduino IDE към Bast Pro Mini M0
Кодиране на Arduino IDE към Bast Pro Mini M0
Кодиране на Arduino IDE към Bast Pro Mini M0

Първото нещо ще бъде да инсталирате картата Bast Pro Mini M0 в IDE на Arduino, стъпките могат да бъдат намерени в хранилището на 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 и да ги отпечатате. Ще намерите файловете за основата и въртящата се пръчка.

Препоръчано: