Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Alternativní ovladač pro vašeho robota se snímačem TLV493D, magnetický senzor se 3 stupni volnosti (x, y, z) s nimi můžete ovládat své nové projekty pomocí komunikace I2C na vašich mikrokontrolérech a elektronické desce, kterou Bast Pro Mini M0 s Mikrokontrolér SAMD21 na Arduino IDE.
Cílem je mít alternativní joystick pro ovládání vašich projektů, v tomto případě rameno robota se 3 stupni volnosti. Použil jsem MeArm Robot Arm, jedná se o open-source projekt a můžete si to usnadnit a najdete ho zde. S touto znalostí, o kterou se s vámi rád podělím, si můžete vytvořit vlastní rameno ovladače nebo jinou aplikaci.
Všechny elektronické komponenty mají odkazy k získání v obchodě, soubory na 3D tiskárně a kód pro Arduino IDE.
TLV493D může být joystick 3D magnetický senzor TLV493D-A1B6 nabízí přesné třírozměrné snímání s extrémně nízkou spotřebou energie v malém 6pólovém balení. Díky detekci magnetického pole ve směru x, y a z senzor spolehlivě měří trojrozměrné, lineární a rotační pohyby.
Mezi aplikace patří joysticky, ovládací prvky (bílé zboží, multifunkční knoflíky) nebo elektrické měřiče (proti neoprávněné manipulaci) a jakékoli další aplikace, které vyžadují přesné úhlové měření nebo nízkou spotřebu energie. Integrované teplotní čidlo lze dále použít ke kontrole věrohodnosti. Klíčovými funkcemi jsou 3D magnetické snímání s velmi nízkou spotřebou energie během provozu.
Senzor má digitální výstup přes 2vodičové standardní I2C rozhraní až 1 MBit/s a 12bitové rozlišení dat pro každý směr měření (měření lineárního pole Bx, By a Bz až +-130 mT). TLV493D-A1B6 3DMagnetic je samostatný přívěsný motor.
Můžete jej snadno připojit k libovolnému mikrokontroléru podle vašeho výběru, který je kompatibilní s Arduino IDE a má logickou úroveň 3,3 V. V tomto projektu používáme útěk Electronic Cats a vývojovou desku, kterou vysvětlím později.
electroniccats.com/store/tlv493d-croquette…
Výhodou použití senzoru TLV493D je, že pro příjem informací slouží pouze dva kabely s I2C, takže je to velmi dobrá volba, když máme na kartě k dispozici jen velmi málo pinů, a to i díky výhodám I2C můžeme připojit více senzory. Úložiště pro tento projekt najdete zde. Pro tento projekt použijeme joystick, který můžete vytisknout na 3D tiskárně nebo si jej nechat vytisknout v nejbližší prodejně 3D tisku.
Soubory. STL jsou připojeny na konci projektu. Jeho montáž je velmi jednoduchá, můžete ji vidět na videu
V tomto případě stavím robota Mearm v1, který najdete na stránce autora zde
Je to snadný robot na výrobu a ovládání, protože má servomotory na 5 voltů. Můžete postavit nebo použít libovolného robota podle vašeho výběru, tento projekt se zaměří na ovládání pomocí senzoru TLV493D.
Zásoby:
- x1 Bast Pro Mini M0 Zakoupit v
- x1 Croquette TLV493D Buy in
- x1 Kit MeArm v1
- x20 Dupont kabely
- x1 Valašské Meziříčí
- x2 Tlačítko
- x1 Magnet o průměru 5 mm x tloušťce 1 mm
Krok 1: Připojení senzoru k Bast Pro Mini M0
K ovládání ramene robota slouží vývojová deska Electronic Cats, Bast Pro Mini M0 s mikrokontrolérem SAMD21E ARM Cortex-M0.
Tento čip pracuje na 48 MHz, s 256 kB programovací paměti, 32 kB SRAM a pracuje při napětí 1,6 až 3,6 V. Díky jeho specifikacím jej můžeme použít pro nízkou spotřebu s dobrým výkonem a také jej naprogramovat pomocí CircuitPython nebo jiného jazyka, který umožňuje mikrokontroléry.
electroniccats.com/store/bast-pro-mini-m0/
Pokud máte zájem dozvědět se o této kartě více, nechám vám odkaz na její úložiště.
github.com/ElectronicCats/Bast-Pro-Mini-M0…
K řízení pohybu servomotorů se používá magnetický senzor TLV493D, který vyšle signál k umístění servomotoru do odpovídajících stupňů.
S jediným senzorem můžeme přesunout dva servomotory, v tomto případě použijeme k ovládání chapadla pouze jeden senzor a tlačítko.
Další návrh, který můžete udělat, je přidat další snímač TLV493D a přesunout třetí servomotor a chapadlo. Pokud ano, zanechte své zkušenosti v komentářích a já vás zvu ke sdílení projektu.
Na obrázku je ozbrojený obvod na protoboardu.
- První servomotor je pro chapadlo a připojuje se ke kolíku 2
- Druhý servomotor je pro základnu robota a připojuje se ke kolíku 3
- Třetí servomotor je pro rameno robota a připojuje se ke kolíku 4
- Čtvrtý servomotor je pro koleno robota a připojuje se ke kolíku 5
- Prvním tlačítkem je zastavit jakýkoli pohyb robota a připojit se ke kolíku 8 v roztaženém stavu s odporem 2,2 kohm.
- Druhé tlačítko je určeno pro otevírací a zavírací pohyb chapadla a je spojeno s kolíkem 9 při stahování dolů s odporem 2,2 kohm.
Na obrázku obvodu se snímač TLV493D neobjevuje, protože nebyl přidán k fritování, ale byl přidán 4pinový konektor pro simulaci jeho konektorů VCC, GND, SCL, SDA. Na obrázku jsou umístěny ve stejném pořadí.
- První pin se připojuje k 3,3 voltu na desce
- Druhý pin se připojuje k GND
- Třetí pin SCL se připojuje ke kolíku A5 na desce
- Čtvrtý pin SDA se připojuje ke kolíku A4 desky
Díky výhodě čipu SAMD21 můžeme jako výstupy PWM použít kterýkoli z jeho digitálních pinů, které nám poslouží k vyslání správné šířky impulsu k pohybu servomotoru.
Další důležitou informací, kterou je třeba vzít v úvahu, je externí napájecí zdroj pro servomotory, v obvodu můžete vidět konektor, který se připojuje k 5voltovému zdroji 2Amp, aby nedošlo k přetížení desky a jejímu poškození.
Nezapomeňte také připojit společný signál GND karty a externí zdroj, jinak byste měli problémy s ovládáním servomotorů, protože by neměly stejnou referenci.
Krok 2: Kódování Arduino IDE na Bast Pro Mini M0
První věcí bude instalace karty Bast Pro Mini M0 do Arduino IDE, kroky najdete v repozitáři Electronic Cats a jsou důležité pro jeho provoz.
github.com/ElectronicCats/Arduino_Boards_I…
Když máte připraveno Arduino IDE, je nutné nainstalovat oficiální knihovnu senzoru TLV493D, přejděte na https://github.com/Infineon/TLV493D-A1B6-3DMagnet… a přejděte na Releases.
V první části kódu jsou použité knihovny deklarovány, v tomto případě Servo.h pro servomotory a TLV493D.h pro senzor.
Při použití knihovny Servo.h je důležité deklarovat počet servomotorů, přestože robot má v tuto chvíli 4, používají se pouze 3.
Kolíky jsou deklarovány pro tlačítka, která zastaví jakýkoli pohyb robota a otevírání a zavírání chapadla. Jsou deklarovány některé globální proměnné, které poslouží k poznání stavu chapadla a případného pohybu.
V druhé části kódu si na sériovém monitoru ukážeme hodnotu stupně, ve kterém jsou motory. Dalším důležitým bodem je stanovení limitu stupňů ve vašich servomotorech, k tomu se používá funkce map (), která převádí hodnotu pohybů senzoru TLV493D do rozsahu 0 až 180 stupňů servomotoru.
Pro poslední část kódu jsou stanoveny podmínky pro aktivaci pohybu servomotorů tlačítkem a pro zjištění, v jakém stavu je chapadlo pro svůj další pohyb, když je stisknuto druhé tlačítko. Jak vidíte na předchozích obrázcích, kód není obtížné implementovat a porozumět, na konci projektu kód najdete.
Učíte se používat Circuit Python?
Pokud vás zajímá, jak se toto IDE používat, najdete kartu Bast Pro Mini M0 v následujícím odkazu, kde si stáhnete bootloader a začnete jej programovat pomocí Pythonu.
Krok 3: 3D kusy
Pokud máte zájem o vytvoření projektu, můžete si kousky stáhnout v.stl a vytisknout je. Najdete soubory pro základnu a rotační páčku.