Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Alternatívny ovládač pre vášho robota so snímačom TLV493D, magnetický snímač s 3 stupňami voľnosti (x, y, z), pomocou ktorých môžete ovládať svoje nové projekty pomocou komunikácie I2C na vašich mikrokontroléroch a elektronickej doske, ktorú Bast Pro Mini M0 s Mikrokontrolér SAMD21 na Arduino IDE.
Cieľom je mať alternatívny joystick na ovládanie vašich projektov, v tomto prípade rameno robota s 3 stupňovou voľnosťou. Použil som MeArm Robot Arm, toto je projekt s otvoreným zdrojovým kódom a môžete si to uľahčiť a nájdete to tu. Môžete si vytvoriť vlastné rameno ovládača alebo inú aplikáciu s týmito znalosťami, o ktoré sa s vami rád podelím.
Všetky elektronické súčiastky majú odkazy na získanie v obchode, súbory na 3D tlačiarni a kód pre Arduino IDE.
TLV493D môže byť joystick 3D magnetický snímač TLV493D-A1B6 ponúka v malom 6-kolíkovom balení presné trojrozmerné snímanie s extrémne nízkou spotrebou energie. Vďaka detekcii magnetického poľa v smere x, y a z senzor spoľahlivo meria trojrozmerné, lineárne a rotačné pohyby.
Aplikácie zahŕňajú joysticky, ovládacie prvky (biela technika, multifunkčné zariadenia) alebo elektrické merače (nedovolená manipulácia) a akékoľvek ďalšie aplikácie, ktoré vyžadujú presné uhlové merania alebo nízke spotreby energie. Integrovaný teplotný senzor možno ďalej použiť na kontrolu vierohodnosti. Kľúčovými funkciami sú 3D magnetické snímanie s veľmi nízkou spotrebou energie počas prevádzky.
Senzor má digitálny výstup prostredníctvom 2-vodičového štandardného rozhrania I2C až do 1 MBit/s a 12-bitového rozlíšenia údajov pre každý smer merania (meranie lineárneho poľa Bx, By a Bz do +-130 mT). TLV493D-A1B6 3DMagnetic je samostatný prívesný motor.
Môžete ho ľahko pripojiť k akémukoľvek mikrokontroléru podľa vášho výberu, ktorý je kompatibilný s Arduino IDE a má logickú úroveň 3,3 V. V tomto projekte používame Breakout od Electronic Cats a vývojovú dosku, ktorú vysvetlím neskôr.
electroniccats.com/store/tlv493d-croquette…
Výhodou použitia senzora TLV493D je, že na príjem informácií slúžia iba dva káble s I2C, takže je to veľmi dobrá voľba, keď máme na karte k dispozícii veľmi málo pinov, a to aj vďaka výhodám I2C, že môžeme pripojiť viac senzory. Úložisko tohto projektu nájdete tu. Na tento projekt použijeme joystick, ktorý môžete vytlačiť na 3D tlačiarni alebo si ho nechať vytlačiť v najbližšom obchode s 3D tlačou.
Súbory. STL sú priložené na konci projektu. Jeho montáž je veľmi jednoduchá, môžete ju vidieť na videu
V tomto prípade staviam robota Mearm v1, ktorý nájdete na stránke autora tu
Robot je ľahko vyrobiteľný a ovládateľný, pretože má servomotory na 5 voltov. Môžete postaviť alebo použiť ľubovoľného robota podľa vlastného výberu, tento projekt sa zameria na ovládanie pomocou senzora TLV493D.
Zásoby:
- x1 Bast Pro Mini M0 Kúpiť v
- x1 Kroket TLV493D Kúpiť v
- x1 Kit MeArm v1
- x20 Dupont káble
- x1 Vranov nad Topľou
- x2 Tlačidlo
- x1 Magnet s priemerom 5 mm x hrúbkou 1 mm
Krok 1: Pripojenie senzora k Bast Pro Mini M0
Na ovládanie ramena robota slúži vývojová doska Electronic Cats, Bast Pro Mini M0 s mikrokontrolérom SAMD21E ARM Cortex-M0.
Tento čip pracuje na frekvencii 48 MHz, s 256 kB programovacej pamäte, 32 kB SRAM a pracuje pri napätí 1,6 až 3,6 V. Vďaka svojim špecifikáciám ho môžeme použiť na nízku spotrebu s dobrým výkonom a tiež ho naprogramovať pomocou CircuitPython alebo iného jazyka, ktorý umožňuje mikrokontroléry.
electroniccats.com/store/bast-pro-mini-m0/
Ak máte záujem dozvedieť sa viac o tejto karte, ponechám vám odkaz na jej úložisko.
github.com/ElectronicCats/Bast-Pro-Mini-M0…
Na ovládanie pohybu servomotorov sa používa magnetický snímač TLV493D, ktorý vyšle signál na umiestnenie servomotora do zodpovedajúcich stupňov.
S jediným senzorom môžeme pohybovať dvoma servomotormi, v tomto prípade použijeme na ovládanie chápadla iba jeden senzor a tlačidlo.
Ďalší návrh, ktorý môžete urobiť, je pridať ďalší snímač TLV493D a presunúť tretí servomotor a chápadlo. Ak áno, zanechajte svoje skúsenosti v komentároch a ja vás pozývam na zdieľanie projektu.
Na obrázku: ozbrojený obvod na protoboarde.
- Prvý servomotor je pre chápadlo a pripája sa k kolíku 2
- Druhý servomotor je pre základňu robota a pripája sa k kolíku 3
- Tretí servomotor je pre rameno robota a pripája sa k kolíku 4
- Štvrtý servomotor je pre koleno robota a pripája sa k kolíku 5
- Prvé tlačidlo je na zastavenie akéhokoľvek pohybu robota a pripája sa na vývod 8 v smere nadol s odporom 2,2 kohm.
- Druhé tlačidlo slúži na otváranie a zatváranie chápadla a je spojené s čapom 9 v ťahu nadol s odporom 2,2 kohm.
Na obrázku obvodu sa snímač TLV493D nezobrazuje, pretože nebol pridaný k fritovaniu, ale bol pridaný 4-kolíkový konektor na simuláciu jeho konektorov VCC, GND, SCL, SDA. Na obrázku sú umiestnené v rovnakom poradí.
- Prvý pin sa pripája k 3,3 voltu na doske
- Druhý pin sa pripája k GND
- Tretí pin SCL sa pripája k kolíku A5 na doske
- Štvrtý kolík SDA sa pripája k kolíku A4 na doske
Vďaka výhode čipu SAMD21 môžeme ako výstupy PWM použiť ktorýkoľvek z jeho digitálnych pinov, ktoré nám poslúžia na odoslanie správnej šírky impulzu na pohyb servomotora.
Ďalšou dôležitou informáciou, ktorú je potrebné vziať do úvahy, je externý napájací zdroj pre servomotory, v obvode môžete vidieť konektor, ktorý sa pripája na 5 voltov pri zdroji 2 amp, aby sa zabránilo preťaženiu dosky a jej poškodeniu.
Nezabudnite tiež pripojiť spoločný signál GND karty a externý zdroj, inak by ste mali problémy s ovládaním servomotorov, pretože by nemali rovnakú referenciu.
Krok 2: Kódovanie Arduino IDE na Bast Pro Mini M0
Prvá vec bude inštalácia karty Bast Pro Mini M0 do Arduino IDE, kroky nájdete v úložisku Electronic Cats a sú dôležité pre jeho fungovanie.
github.com/ElectronicCats/Arduino_Boards_I…
Keď budete mať pripravené Arduino IDE, je potrebné nainštalovať oficiálnu knižnicu senzora TLV493D, vstúpte na https://github.com/Infineon/TLV493D-A1B6-3DMagnet… a prejdite na Vydania.
V prvej časti kódu sú použité knižnice deklarované, v tomto prípade Servo.h pre servomotory a TLV493D.h pre snímač.
Pri použití knižnice Servo.h je dôležité deklarovať počet servomotorov, hoci robot má 4, v súčasnosti sa používajú iba 3.
Kolíky sú určené pre tlačidlá, ktoré zastavia akýkoľvek pohyb robota a otváranie a zatváranie chápadla. Deklarované sú niektoré globálne premenné, ktoré budú slúžiť na poznanie stavu uchopovača a prípadného pohybu.
V druhej časti kódu si na sériovom monitore ukážeme hodnotu stupňa, v ktorom sa motory nachádzajú. Ďalším dôležitým bodom je stanovenie limitu stupňov vo vašich servomotoroch, na to sa používa funkcia map (), ktorá prevádza hodnotu pohybov snímača TLV493D do rozsahu 0 až 180 stupňov servomotora.
V poslednej časti kódu sú stanovené podmienky na aktiváciu pohybu servomotorov pomocou tlačidla a na zistenie, v akom stave je chápadlo pre svoj ďalší pohyb po stlačení druhého tlačidla. Ako vidíte na predchádzajúcich obrázkoch, kód nie je ťažké implementovať a pochopiť, na konci projektu ho nájdete.
Učíte sa používať Circuit Python?
Ak vás zaujíma naučiť sa používať toto IDE, kartu Bast Pro Mini M0 nájdete v nasledujúcom odkaze, kde si stiahnete bootloader a začnete ho programovať v Pythone.
Krok 3: 3D figúrky
Ak máte záujem o realizáciu projektu, môžete si kúsky stiahnuť v.stl a vytlačiť. Nájdete súbory pre základňu a otočnú páčku.