TLV493D, Joystick va Arduino yordamida robot qo'lini boshqarish: 3 qadam
TLV493D, Joystick va Arduino yordamida robot qo'lini boshqarish: 3 qadam
Anonim
TLV493D, Joystick va Arduino yordamida robot qo'lini boshqarish
TLV493D, Joystick va Arduino yordamida robot qo'lini boshqarish
TLV493D, Joystick va Arduino yordamida robot qo'lini boshqarish
TLV493D, Joystick va Arduino yordamida robot qo'lini boshqarish
TLV493D, Joystick va Arduino yordamida robot qo'lini boshqarish
TLV493D, Joystick va Arduino yordamida robot qo'lini boshqarish

Sizning robotingiz uchun TLV493D sensori bilan muqobil nazoratchi, 3 darajali erkinlik (x, y, z) bilan magnitli sensor, bu bilan siz yangi loyihalaringizni mikrokontrollerlar va elektron platada I2C aloqasi bilan boshqarishingiz mumkin. Arduino IDE -dagi SAMD21 mikrokontroller.

Maqsad, sizning loyihalaringizni boshqarish uchun muqobil joystikka ega bo'lish, bu holda 3 darajali erkinlikka ega robot qo'l. Men MeArm Robot Arm-dan foydalandim, bu ochiq manbali loyiha va siz buni osonlashtirasiz va uni bu erda topishingiz mumkin. Men siz bilan baham ko'rishdan mamnun bo'lgan bu ma'lumot bilan o'zingizning qo'mondon qo'lingizni yoki boshqa dasturni yasashingiz mumkin.

Barcha elektron komponentalarda do'konda sotib olish uchun havolalar, 3d printerga fayllar va Arduino IDE kodi mavjud.

TLV493D Joystick bo'lishi mumkin TLV493D-A1B6 3D magnit sensori kichik 6-pinli paketda juda kam quvvat sarfi bilan aniq uch o'lchovli sensorni taqdim etadi. X, y va z yo'nalishidagi magnit maydonini aniqlash bilan sensor uch o'lchovli, chiziqli va aylanish harakatlarini ishonchli o'lchaydi.

Ilovalarga joystiklar, boshqaruv elementlari (oq buyumlar, ko'p funktsiyali tugunlar) yoki elektr hisoblagichlar (buzg'unchilikka qarshi) va aniq burchak o'lchovlari yoki kam quvvat sarfi talab qilinadigan boshqa dasturlar kiradi. O'rnatilgan harorat sensori ishonchliligini tekshirish uchun ishlatilishi mumkin. Asosiy xususiyatlar - 3D magnitli sezish, ish paytida juda kam quvvat sarflanadi.

Sensor 2 simli standart I2C interfeysi orqali 1 MBit/sekundgacha bo'lgan raqamli chiqishga ega va har biri uchun 12-bitli ma'lumot o'lchamlari, o'lchov yo'nalishi (Bx, By va Bz chiziqli maydon o'lchami +-130mT gacha). TLV493D-A1B6 3DMagnetic-bu mustaqil ravishda ishlaydigan tanaffus.

Siz uni Arduino IDE mos keladigan va 3,3V mantiq darajasiga ega bo'lgan har qanday mikrokontrollerga osongina ulashingiz mumkin. Ushbu loyihada biz "Elektron mushuklar" yorilishi va rivojlanish taxtasidan foydalanamiz, men keyinroq tushuntiraman.

electroniccats.com/store/tlv493d-croquette…

TLV493D sensoridan foydalanishning afzalligi shundaki, ma'lumotni olish uchun faqat ikkita I2C kabeli ishlatiladi, shuning uchun bizda kartada juda kam pin mavjud bo'lsa, bu juda yaxshi variant, shuningdek I2C afzalliklari tufayli biz ko'proq ulashimiz mumkin. sensorlar. Siz bu erda ushbu loyiha uchun omborni topishingiz mumkin. Ushbu loyiha uchun biz 3D printerda chop etish yoki sizga eng yaqin 3D bosmaxonada chop etish uchun joystikdan foydalanamiz.

Loyihaning oxirida. STL fayllari qo'shiladi, uni yig'ish juda oddiy, uni videoda ko'rish mumkin.

Bunday holda men Mearm v1 robotini quraman, uni siz ushbu loyihani muallifning sahifasida topishingiz mumkin

Bu robotni yasash va boshqarish oson, chunki u 5 voltli servomotorlarga ega. Siz xohlagan robotni qurishingiz yoki ishlatishingiz mumkin, bu loyiha TLV493D sensori bilan boshqarishga qaratiladi.

Ta'minot:

  • x1 Bast Pro Mini M0 sotib oling
  • x1 Croquette TLV493D sotib oling
  • x1 to'plami MeArm v1
  • x20 Dupont kabellari
  • x1 Protoboard
  • x2 tugmachasi
  • x1 Magnit diametri 5 mm x 1 mm qalinligi

1 -qadam: Sensorni Bast Pro Mini M0 bilan ulash

Sensorni Bast Pro Mini M0 bilan ulash
Sensorni Bast Pro Mini M0 bilan ulash

Robot qo'lini boshqarish uchun SAMD21E ARM Cortex-M0 mikrokontrolerli Bast Pro Mini M0 elektron mushuklarni ishlab chiqish platasi ishlatiladi.

Bu chip 48MGts da ishlaydi, 256KB dasturiy xotira, 32KB SRAM va 1,6v dan 3,6vgacha kuchlanish bilan ishlaydi. Texnik xususiyatlari tufayli biz uni yaxshi iste'mol bilan kam iste'mol qilish uchun ishlatishimiz mumkin, shuningdek, uni CircuitPython yoki mikrokontrollerlarga ruxsat beruvchi boshqa til bilan dasturlashimiz mumkin.

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

Agar siz ushbu karta haqida ko'proq bilmoqchi bo'lsangiz, men sizga uning ombori havolasini qoldiraman.

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

Servo motorlarining harakatini nazorat qilish uchun TLV493D magnit sensori ishlatiladi, bu signalni servomotorni tegishli darajaga joylashtirish uchun yuboradi.

Bitta datchik yordamida biz ikkita servomotorni harakatga keltira olamiz, bu misolda biz ushlagichni boshqarish uchun faqat bitta sensor va tugmani ishlatamiz.

Siz qila oladigan yana bir taklif - boshqa TLV493D sensorini qo'shish va uchinchi servo dvigatel va ushlagichni harakatlantirish. Agar shunday qilsangiz, o'z tajribangizni izohlarda qoldiring va men sizni loyihani baham ko'rishga taklif qilaman.

Rasmda protobarddagi qurolli davr ko'rsatilgan.

  • Birinchi servomotor tutqich uchun mo'ljallangan va 2 -pinga ulanadi
  • Ikkinchi servomotor robot bazasi uchun mo'ljallangan va pin 3 ga ulanadi
  • Uchinchi servomotor robot yelkasiga mo'ljallangan va 4 -pin bilan bog'langan
  • To'rtinchi servomotor robot tirsagi uchun va 5 -pin bilan bog'lanadi
  • Birinchi tugma-bu robotning har qanday harakatini to'xtatish va 8-pin bilan pastga tushganda 2,2 Kohms qarshilikka ulanish.
  • Ikkinchi tugma ushlagichni ochish va yopish harakati uchun mo'ljallangan bo'lib, 2,2 kohm qarshilik bilan 9-pinga tortiladi.

O'chirish tasvirida TLV493D sensori ko'rinmaydi, chunki u fritzingga qo'shilmagan, lekin uning VCC, GND, SCL, SDA ulagichlarini simulyatsiya qilish uchun 4 pinli ulagich qo'shilgan. Rasmda ular bir xil tartibda joylashtirilgan.

  • Birinchi pin bortdagi 3,3 voltga ulanadi
  • Ikkinchi pin GND ga ulanadi
  • Uchinchi SCL pimi bortdagi A5 piniga ulanadi
  • To'rtinchi SDA pimi kartaning A4 piniga ulanadi

SAMD21 chipining afzalligi tufayli biz har qanday raqamli pinni PWM chiqishi sifatida ishlata olamiz, bu bizga servomotorni harakatlantirish uchun to'g'ri puls kengligini yuborishga xizmat qiladi.

Yana bir muhim ma'lumot - bu servomotorlar uchun tashqi quvvat manbai, kontaktlarning zanglashiga olib kelmasligi uchun 2Amp quvvat manbasida 5 voltli ulanadigan vilkasini ko'rishingiz mumkin.

Shuningdek, kartaning tashqi signal manbai bo'lgan GND signaliga qo'shilishni unutmang, aks holda siz servo dvigatellarni boshqarishda muammolarga duch kelasiz, chunki ular bir xil ma'lumotga ega bo'lmaydi.

2 -qadam: Arduino IDE -ni Bast Pro Mini M0 -ga kodlash

Arduino IDE -ni Bast Pro Mini M0 -ga kodlash
Arduino IDE -ni Bast Pro Mini M0 -ga kodlash
Arduino IDE -ni Bast Pro Mini M0 -ga kodlash
Arduino IDE -ni Bast Pro Mini M0 -ga kodlash
Arduino IDE -ni Bast Pro Mini M0 -ga kodlash
Arduino IDE -ni Bast Pro Mini M0 -ga kodlash

Birinchi narsa, Bast Pro Mini M0 kartasini Arduino IDE -ga o'rnatish bo'ladi, bu qadamlarni Electronic Cats omboridan topish mumkin va ular uning ishlashi uchun muhimdir.

github.com/ElectronicCats/Arduino_Boards_I…

Arduino IDE tayyor bo'lganda, TLV493D sensorining rasmiy kutubxonasini o'rnatish kerak, https://github.com/Infineon/TLV493D-A1B6-3DMagnet… ga kiring va Releases-ga o'ting.

Kodning birinchi qismida ishlatilgan kutubxonalar e'lon qilinadi, bunda servomotorlar uchun Servo.h va sensor uchun TLV493D.h.

Servo.h kutubxonasidan foydalanganda servomotorlar sonini e'lon qilish kerak, garchi robotda hozirda 4 ta bo'lsa, atigi 3 tasi ishlatiladi.

Pinlar robotning har qanday harakatini va tutqichning ochilishi va yopilishini to'xtatadigan tugmalar uchun e'lon qilingan. Ba'zi global o'zgaruvchilar e'lon qilinadi, bu tutqichning holatini va agar harakat bo'lsa.

Kodning ikkinchi qismida biz ketma -ket monitorda dvigatellar qay darajada bo'lishini ko'rsatamiz. Yana bir muhim nuqta - servomotorlarda darajalar chegarasini belgilash, buning uchun TLV493D sensori harakatlarining qiymatini servomotorning 0 dan 180 darajagacha o'zgartiradigan map () funktsiyasi ishlatiladi.

Kodning oxirgi qismi uchun servomotorlarning harakatlanishini tugma bilan faollashtirish va ikkinchi tugma bosilganda tutqichning keyingi harakati uchun qanday holatda bo'lishini bilish uchun shartlar belgilanadi. Oldingi rasmlarda ko'rib turganingizdek, kodni amalga oshirish va tushunish qiyin emas, loyiha oxirida siz kodni topishingiz mumkin.

Siz Circuit Python -dan foydalanishni o'rganyapsizmi?

Agar siz ushbu IDE -dan qanday foydalanishni o'rganmoqchi bo'lsangiz, Bast Pro Mini M0 kartasini bootloader -ni yuklab olish va Python -da dasturlashni boshlash uchun quyidagi havolada topishingiz mumkin.

3 -qadam: 3D qismlar

Agar siz loyihani amalga oshirishga qiziqsangiz, qismlarni.stl -ga yuklab olishingiz va chop etishingiz mumkin. Siz tayanch va aylanadigan tayoq uchun fayllarni topasiz.

Tavsiya: