Ovládací rameno robota s TLV493D, joystickem a Arduino: 3 kroky
Ovládací rameno robota s TLV493D, joystickem a Arduino: 3 kroky
Anonim
Ovládací rameno robota s TLV493D, joystickem a Arduino
Ovládací rameno robota s TLV493D, joystickem a Arduino
Ovládací rameno robota s TLV493D, joystickem a Arduino
Ovládací rameno robota s TLV493D, joystickem a Arduino
Ovládací rameno robota s TLV493D, joystickem a Arduino
Ovládací rameno robota s TLV493D, joystickem a Arduino

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

Připojení senzoru k Bast Pro Mini M0
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

Kódování Arduino IDE na Bast Pro Mini M0
Kódování Arduino IDE na Bast Pro Mini M0
Kódování Arduino IDE na Bast Pro Mini M0
Kódování Arduino IDE na Bast Pro Mini M0
Kódování Arduino IDE na Bast Pro Mini M0
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.