Kazalo:

Upravljanje robotske roke s TLV493D, igralno palico in, Arduino: 3 koraki
Upravljanje robotske roke s TLV493D, igralno palico in, Arduino: 3 koraki

Video: Upravljanje robotske roke s TLV493D, igralno palico in, Arduino: 3 koraki

Video: Upravljanje robotske roke s TLV493D, igralno palico in, Arduino: 3 koraki
Video: Upravljanje robotske roke s kontrolami 2024, November
Anonim
Upravljanje robotske roke s TLV493D, igralno palico in, Arduino
Upravljanje robotske roke s TLV493D, igralno palico in, Arduino
Upravljanje robotske roke s TLV493D, igralno palico in, Arduino
Upravljanje robotske roke s TLV493D, igralno palico in, Arduino
Upravljanje robotske roke s TLV493D, igralno palico in, Arduino
Upravljanje robotske roke s TLV493D, igralno palico in, Arduino

Alternativni krmilnik za vašega robota s senzorjem TLV493D, magnetnim senzorjem s 3 stopnjami svobode (x, y, z) s temi lahko upravljate svoje nove projekte s komunikacijo I2C na vaših mikrokrmilnikih in elektronski plošči, ki jo Bast Pro Mini M0 ima z Mikrokrmilnik SAMD21 v Arduino IDE.

Cilj je imeti alternativno krmilno palčko za krmiljenje vaših projektov, v tem primeru robotsko roko s 3 stopinjami svobode. Uporabil sem MeArm Robot Arm, to je odprtokodni projekt, ki ga lahko olajšate in ga najdete tukaj. Lahko naredite svojo krmilno roko ali drugo aplikacijo s tem znanjem, ki jo z veseljem delim z vami.

Vse elektronske komponente imajo povezave za nakup v trgovini, datoteke v 3D tiskalniku in kodo za Arduino IDE.

TLV493D je lahko igralna palica 3D magnetni senzor TLV493D-A1B6 ponuja natančno tridimenzionalno zaznavanje z izjemno nizko porabo energije v majhnem 6-polnem paketu. S svojim zaznavanjem magnetnega polja v smeri x, y in z senzor zanesljivo meri tridimenzionalna, linearna in rotacijska gibanja.

Aplikacije vključujejo krmilne palice, krmilne elemente (bela tehnika, večnamenski gumbi) ali električne števce (preprečevanje nedovoljenih posegov) in vse druge aplikacije, ki zahtevajo natančne kotne meritve ali nizko porabo energije. Vgrajen temperaturni senzor se lahko uporablja tudi za preverjanje verodostojnosti. Ključne lastnosti so 3D magnetno zaznavanje z zelo nizko porabo energije med delovanjem.

Senzor ima digitalni izhod prek 2-žičnega standardnega vmesnika I2C do 1 MBit/s in 12-bitno ločljivost podatkov za vsako smer merjenja (meritve linearnega polja Bx, By in Bz do +-130mT). TLV493D-A1B6 3DMagnetic je samostojen izvenkrmni motor.

Z lahkoto ga lahko povežete s katerim koli mikrokrmilnikom po vaši izbiri, ki je združljiv z Arduino IDE in ima 3,3 V logično raven. V tem projektu uporabljamo preboj Electronic Cats in razvojno ploščo, ki jo bom razložil kasneje.

electroniccats.com/store/tlv493d-croquette…

Prednost uporabe senzorja TLV493D je, da se za sprejem informacij uporabljata samo dva kabla z I2C, zato je zelo dobra možnost, ko imamo na kartici zelo malo zatičev, tudi zaradi prednosti I2C lahko povežemo več senzorji. Repozitorij tega projekta najdete tukaj. Za ta projekt bomo uporabili krmilno palčko, ki jo lahko natisnete na 3D tiskalniku ali pa jo natisnete v najbližji trgovini s 3D tiskanjem.

Datoteke. STL so dodane na koncu projekta. Njegova sestava je zelo preprosta, vidite jo v videu

Zgradite lastnega robota V tem primeru sestavim robota Mearm v1, ki ga najdete na strani avtorja tukaj

Ta robot je enostaven za izdelavo in krmiljenje, ker ima servomotorje na 5 voltov. Lahko zgradite ali uporabite katerega koli robota po vaši izbiri, ta projekt se bo osredotočil na nadzor s senzorjem TLV493D.

Zaloge:

  • x1 Bast Pro Mini M0 Kupite v
  • x1 Croquette TLV493D Kupite v
  • x1 Komplet MeArm v1
  • x20 Dupont kabli
  • x1 Protoboard
  • x2 Gumb
  • x1 Magnet 5 mm premera x 1 mm debeline

1. korak: Priključitev senzorja z Bast Pro Mini M0

Priključitev senzorja z Bast Pro Mini M0
Priključitev senzorja z Bast Pro Mini M0

Za krmiljenje robotske roke se uporablja razvojna plošča Electronic Cats, Bast Pro Mini M0 z mikrokrmilnikom SAMD21E ARM Cortex-M0.

Ta čip deluje na 48 MHz, s 256 KB pomnilnika za programiranje, 32 KB SRAM in deluje pri napetosti od 1,6 do 3,6 V. Zaradi njegovih specifikacij ga lahko uporabljamo za nizko porabo in dobre zmogljivosti ter ga programiramo tudi s CircuitPythonom ali katerim drugim jezikom, ki omogoča mikrokrmilnike.

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

Če vas zanima več o tej kartici, vam bom pustil povezavo do njenega skladišča.

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

Za nadzor gibanja servomotorjev se uporablja magnetni senzor TLV493D, ki bo poslal signal za postavitev servomotorja na ustrezne stopinje.

Z enim senzorjem lahko premikamo dva servomotorja, v tem primeru bomo za upravljanje prijemala uporabili le en senzor in potisni gumb.

Drug predlog, ki ga lahko naredite, je, da dodate še en senzor TLV493D in premaknete tretji servo motor in prijemalo. Če to storite, pustite svoje izkušnje v komentarjih in vabim vas, da delite projekt.

Slika prikazuje oboroženo vezje na protoboardu.

  • Prvi servomotor je za prijemalo in se poveže z zatičem 2
  • Drugi servomotor je namenjen podstavku robota in se poveže z zatičem 3
  • Tretji servomotor je namenjen robotskemu ramenu in se poveže s čepom 4
  • Četrti servomotor je namenjen robotskemu komolcu in je priključen na pin 5
  • Prvi gumb mora ustaviti vsako gibanje robota in se pri izvleku poveže z zatičem 8 z uporom 2,2Kohms.
  • Drugi gumb je za odpiranje in zapiranje gibanja prijemala in je povezan z zatičem 9 pri spuščanju z uporom 2,2Kohms.

Na sliki vezja se senzor TLV493D ne pojavi, ker ni bil dodan fritingu, ampak je bil dodan 4-polni konektor za simulacijo njegovih priključkov VCC, GND, SCL, SDA. Na sliki so postavljeni v istem vrstnem redu.

  • Prvi pin se priključi na 3,3 volta na plošči
  • Drugi pin se poveže z GND
  • Tretji SCL pin se poveže s pin A5 na plošči
  • Četrti zatič SDA se poveže z zatičem A4 na plošči

Zahvaljujoč prednosti čipa SAMD21 lahko za izhod PWM uporabimo kateri koli njegov digitalni zatič, ki nam bo služil za pošiljanje pravilne širine impulza za premikanje servomotorja.

Drug pomemben podatek, ki ga je treba upoštevati, je zunanji napajalnik za servomotorje, v vezju lahko vidite vtični konektor, ki se priključi na 5 voltov pri viru 2Amp, da se izognete preobremenitvi plošče in njene poškodbe.

Prav tako ne pozabite priključiti skupnega signalnega GND kartice in zunanjega vira, sicer bi imeli težave pri krmiljenju servo motorjev, ker ne bi imeli iste reference.

2. korak: Kodiranje Arduino IDE na Bast Pro Mini M0

Kodiranje Arduino IDE na Bast Pro Mini M0
Kodiranje Arduino IDE na Bast Pro Mini M0
Kodiranje Arduino IDE na Bast Pro Mini M0
Kodiranje Arduino IDE na Bast Pro Mini M0
Kodiranje Arduino IDE na Bast Pro Mini M0
Kodiranje Arduino IDE na Bast Pro Mini M0

Prva stvar bo namestitev kartice Bast Pro Mini M0 v Arduino IDE, korake najdete v skladišču Electronic Cats in so pomembni za njeno delovanje.

github.com/ElectronicCats/Arduino_Boards_I…

Ko pripravite Arduino IDE, morate namestiti uradno knjižnico senzorja TLV493D, vnesite https://github.com/Infineon/TLV493D-A1B6-3DMagnet… in pojdite na Releases.

V prvem delu kode so uporabljene knjižnice deklarirane, v tem primeru Servo.h za servomotorje in TLV493D.h za senzor.

Pri uporabi knjižnice Servo.h je pomembno navesti število servomotorjev, čeprav ima robot 4 trenutno le 3.

Zatiči so deklarirani za potisne gumbe, ki ustavijo vsako gibanje robota ter odpiranje in zapiranje prijemala. Deklarirane so nekatere globalne spremenljivke, ki bodo služile za poznavanje stanja prijemala in če obstaja premik.

V drugem delu kode bomo v serijskem monitorju prikazali vrednost stopnje, v kateri so motorji. Druga pomembna točka je določiti mejo stopinj v vaših servomotorjih, za to se uporablja funkcija map (), ki pretvori vrednost premikov senzorja TLV493D v območje od 0 do 180 stopinj servomotorja.

Za zadnji del kode so vzpostavljeni pogoji za aktiviranje premikanja servomotorjev s pritiskom na gumb in vedeti, v kakšnem stanju je prijemalo pri naslednjem premiku, ko pritisnete drugi gumb. Kot lahko vidite na prejšnjih slikah, kode ni težko implementirati in razumeti, na koncu projekta lahko najdete kodo.

Se učite uporabljati Circuit Python?

Če vas zanima, kako uporabljati to IDE, lahko na naslednji povezavi najdete kartico Bast Pro Mini M0, da prenesete zagonski nalagalnik in ga začnete programirati s Pythonom.

3. korak: 3D kosi

Če vas zanima izdelava projekta, lahko dele prenesete v.stl in jih natisnete. Našli boste datoteke za osnovo in vrtljivo palico.

Priporočena: