Obsah:
- Zásoby
- Krok 1: Vytiskněte všechny 3D komponenty
- Krok 2: (Volitelné) Připevněte dřevěnou desku ke spodní části krabice, abyste ji posílili
- Krok 3: Změřte a vyřízněte prkno ze dřeva, aby se vešlo do krabice
- Krok 4: Označte polohy motorů
- Krok 5: Označte polohy závorek a potrubí
- Krok 6: Vyvrtejte otvor pro kabely vycházející z krabice (USB a napájení)
- Krok 7: Vyvrtejte a prohlédněte všechny označené otvory
- Krok 8: Připevněte motory a potrubí k prknu
- Krok 9: Připevněte prkno ke krabici pomocí L-držáků
- Krok 10: Vezměte si koncové bloky a spojte dráty dohromady
- Krok 11: Odřízněte konec napájecího kabelu adaptéru a odizolujte dráty
- Krok 12: Identifikujte a označte kladné a záporné vodiče
- Krok 13: Připojte vodiče ke koncovým blokům tak, aby byly připojeny všechny + servo vodiče a + vodič z napájecího kabelu, to samé platí pro - dráty
- Krok 14: Odřízněte hlavu z drátěného prkénka
- Krok 15: Do spodní části krabice vyvrtejte tři otvory pro dráty vycházející z vaší paže
- Krok 16: Připojte základní konektor ke krabici
- Krok 17: Pomocí nože nebo pilníku na nehty udělejte dráty hlubší
- Krok 18: Postavte paži
- Krok 19: Nainstalujte si Processing a Arduino
- Krok 20: Vložte programové kódy
- Krok 21: Připojte ovládací piny Servo k Arduinu
- Krok 22: Stiskněte tlačítko Reset při zpracování, tím se všechny paže nastaví na 90 stupňů
- Krok 23: Upevněte servo ramena k motoru vodorovně
- Krok 24: Provlékněte dráty pažemi, aby nedošlo k prověšení
- Krok 25: Vyzkoušejte rameno a podle potřeby utáhněte nebo uvolněte dráty
- Krok 26: Horké přilepte dráty k servo ramenům, aby byla trvalá
- Krok 27: Poznámky
- Krok 28: Řešení potíží
- Krok 29: Odkazy
- Krok 30: Kód
- Krok 31: Další obrázky
Video: Rameno ovládané robotem: 31 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Toto je návod, jak vyrobit rameno robota ovládané pomocí drátů. Výhodou použití vodičů je, že je vaše paže lehčí a ve spodní části paže můžete mít všechny motory, což usnadňuje stavbu a údržbu. Zde je video paže v akci. V budoucnu plánuji přidat dráp, aby mohl věci sbírat a ne je jen tlačit.
3D tisk:
Tady a tady
Zásoby
6 servomotorů (MG995)
Arduino Uno
Asi 6 metrů ocelového drátu potaženého plastem (0,5 mm)
Box 23x33x10 (může být užší, rozhodně by neměl být kratší)
Prkno ze dřeva 33x10
Šrouby a matice
Trubka 14 cm (to je potřeba k vedení strun)
4 držáky L
5voltový adaptér
2 7směrné svorkovnice
Dráty na prkénko
3D tištěné komponenty (nenavrženo mnou, odkazy na prvky v popisu):
3 „šrouby“
2 „Prvek 1“
1 „Prvek 2“
2 „Prvek 3“
1 Základní konektor
Krok 1: Vytiskněte všechny 3D komponenty
Možná budete potřebovat podporu pro otvory pro šrouby a oblouky, ale ujistěte se, že nepřidáváte podporu k tělu vašich součástí; tím se uzavřou malé otvory pro drát a budete muset vytvořit nové otvory
Krok 2: (Volitelné) Připevněte dřevěnou desku ke spodní části krabice, abyste ji posílili
Moje schránka byla dost slabá, ta vaše možná ne
Krok 3: Změřte a vyřízněte prkno ze dřeva, aby se vešlo do krabice
Krok 4: Označte polohy motorů
ujistěte se, že se žádná z paží navzájem nedotýká
Krok 5: Označte polohy závorek a potrubí
Trubka by měla být umístěna přibližně jeden centimetr před otvorem
Krok 6: Vyvrtejte otvor pro kabely vycházející z krabice (USB a napájení)
Krok 7: Vyvrtejte a prohlédněte všechny označené otvory
Krok 8: Připevněte motory a potrubí k prknu
Krok 9: Připevněte prkno ke krabici pomocí L-držáků
Krok 10: Vezměte si koncové bloky a spojte dráty dohromady
Krok 11: Odřízněte konec napájecího kabelu adaptéru a odizolujte dráty
Krok 12: Identifikujte a označte kladné a záporné vodiče
Krok 13: Připojte vodiče ke koncovým blokům tak, aby byly připojeny všechny + servo vodiče a + vodič z napájecího kabelu, to samé platí pro - dráty
Krok 14: Odřízněte hlavu z drátěného prkénka
Připojte odizolovaný konec žhavicího drátu k mínusové svorkovnici a konec kolíku k uzemňovacímu kolíku ve vašem arduinu. Pokud to neuděláte, motory se budou pohybovat nepravidelně bez jakéhokoli vstupu.
Krok 15: Do spodní části krabice vyvrtejte tři otvory pro dráty vycházející z vaší paže
Otvory by měly odpovídat otvorům v základním konektoru.
Krok 16: Připojte základní konektor ke krabici
Krok 17: Pomocí nože nebo pilníku na nehty udělejte dráty hlubší
Drátěné drážky pro prvky 2 a 3 jsou příliš mělké.
Krok 18: Postavte paži
Sestrojte rameno podle zde uvedených pokynů, možná budete muset součásti zařadit tak, aby pasovaly
Krok 19: Nainstalujte si Processing a Arduino
Zpracování a Arduino
Krok 20: Vložte programové kódy
Kód je v dolní části této stránky
Krok 21: Připojte ovládací piny Servo k Arduinu
První motor jsem připojil ke třetímu digitálnímu pinu, druhý motor ke čtvrtému digitálnímu pinu a tak dále. Ujistěte se, že je zemnicí kolík stále připojen ke svorkovnici -.
Krok 22: Stiskněte tlačítko Reset při zpracování, tím se všechny paže nastaví na 90 stupňů
Krok 23: Upevněte servo ramena k motoru vodorovně
Krok 24: Provlékněte dráty pažemi, aby nedošlo k prověšení
Ujistěte se, že provléknete drát tolika otvory, kolik jen můžete, dočasně to udrží a bude snadné jej vyjmout.
Krok 25: Vyzkoušejte rameno a podle potřeby utáhněte nebo uvolněte dráty
Krok 26: Horké přilepte dráty k servo ramenům, aby byla trvalá
Krok 27: Poznámky
Použil jsem 0,5 mm šperkovací drát, ale 0,4 mm by mělo být v pořádku. Původní design používal PVC drát, ale ten se příliš snadno zlomil a těžko se s ním pracovalo.
Pokud se chystáte pohybovat paží v autě nebo na kole, omotejte klouby paží páskou, abyste se ujistili, že nevyskočí. To je zvláště důležité pro prvek 1.
Když jsem zahájil tento projekt, přemýšlel jsem, proč jsem našel pouze jeden návod, jak vyrobit rameno ovládané dráty. Nyní chápu, proč to není nejběžnější způsob výroby hobby robotického ramene. Dráty občas vypadnou z drážek a celé je to takové chatrné. Nevím, jestli jsou problémy proto, že nemám mnoho zkušeností, nebo je celá myšlenka problematická, i když jsem si jistý, že by bylo pevnější, kdybych věděl, co dělám.
Krok 28: Řešení potíží
Otvory pro drát jsou uzavřeny v 3D tištěných prvcích:
Místo otvorů pro šrouby jste přidali podporu pro celý prvek. Buď znovu vytiskněte prvek nebo otevřete otvory opravdu horkou jehlou.
Port COM je zavřený, nemůžete komunikovat s arduino:
Vaše arduino nemusí přijímat porty USB 3 (moje ne), můžete si koupit buď prodlužovací kabel USB 2, nebo použít počítač s porty USB 2
Kód nefunguje:
Postupujte podle tohoto tutoriálu a upravte jej, abyste si vytvořili vlastní kód
Část paže se nepohybuje:
Dráty se mohly zamotat, abyste to zkontrolovali, sejměte rameno serva ze serva a zkuste kabely vytáhnout ručně. Rozmotejte dráty a pokud je stále obtížné kabely natáhnout, zkuste použít nějaký WD-40 nebo mazivo, které vám usnadní pohyb
Krok 29: Odkazy
Non Robotic Arm:
Arm 3D Printable:
3D tisk mé paže:
Arduino a zpracování:
Krok 30: Kód
Upraveno z tohoto kódu
Arduino kód:
#include // Deklarace motorů Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; Servo myservo6; // Všechny motory jsou ve výchozím nastavení nastaveny na 90 stupňů int current1 = 90; int aktuální2 = 90; int aktuální3 = 90; int current4 = 90; int aktuální5 = 90; int aktuální6 = 90; // Minimální a Maximální stupně, kterých mohou motory dosáhnout int mini1 = 0; int maxi1 = 180; int mini2 = 0; int maxi2 = 180; int mini3 = 0; int maxi3 = 180; int mini4 = 0; int maxi4 = 180; int mini5 = 0; int maxi5 = 180; int mini6 = 0; int maxi6 = 180; // Stupně, které mají být přidány nebo odečteny od aktuální polohy int stupňůFoward = 5; // Zpoždění, aby nedošlo ke dvěma funkcím ve špatném pořadí int delayBetweenSteps = 100; void setup () {// Nastavit ovládací piny pro každý motor myservo1.attach (3); myservo2.attach (4); myservo3.attach (5); myservo4.attach (6); myservo5.attach (7); myservo6.attach (8); // Nastavit všechny motory na výchozí nastavení myservo1.write (current1); myservo2.write (aktuální2); myservo3.write (aktuální3); myservo4.write (aktuální4); myservo5.write (aktuální5); myservo6.write (aktuální6); // zahájení sériové komunikace @9600 bps Serial.begin (9600); } void loop () {if (Serial.available ()) {// pokud jsou k dispozici data ke čtení char val = Serial.read (); // vložte to do tohoto znaku // Motor Controls if (val == 'a' && current1 + stupňůFoward mini1) {myservo1.write (aktuální1 - stupněFoward); current1 = current1 - stupňůFoward; delay (delayBetweenSteps); } if (val == 'c' && current2 mini2) {myservo2.write (current2 - stupňůFoward); current2 = current2 - stupňůFoward; delay (delayBetweenSteps); } if (val == 'e' && current3 mini3) {myservo3.write (current3 - stupňůFoward); current3 = current3 - stupňůFoward; delay (delayBetweenSteps); } if (val == 'g' && current4 mini4) {myservo4.write (current4 - stupňůFoward); current4 = current4 - stupňůFoward; delay (delayBetweenSteps); } if (val == 'i' && current5 mini5) {myservo5.write (current5 - stupňůFoward); current5 = current5 - stupňůFoward; delay (delayBetweenSteps); } if (val == 'k' && current6 mini6) {myservo6.write (current6 - stupňůFoward); current6 = current6 - stupňůFoward; delay (delayBetweenSteps); } // Ovládání rychlosti if (val == 'w') {// Pokud je stisknuto tlačítko rychlosti 1 stupňůFoward = 1; delay (delayBetweenSteps); } if (val == 'x') {// Pokud je stisknuto tlačítko rychlosti 5 stupňůFoward = 5; delay (delayBetweenSteps); } if (val == 'y') {// Pokud je stisknuto tlačítko rychlosti 10 stupňůFoward = 10; delay (delayBetweenSteps); } if (val == 'z') {// Pokud je stisknuto tlačítko rychlosti 20 stupňůFoward = 20; delay (delayBetweenSteps); } if (val == 'r') {// Pokud stisknete tlačítko rychlosti 20 myservo1.write (90); aktuální1 = 90; myservo2.write (90); aktuální2 = 90; myservo3.write (90); aktuální3 = 90; myservo4.write (90); current4 = 90; myservo5.write (90); aktuální5 = 90; myservo6.write (90); aktuální6 = 90; delay (delayBetweenSteps); }}}
Kód zpracování:
zpracování importu.sériové.*; kontrola importu P5.*; // import knihovny ControlP5 Sériový port; ControlP5 cp5; // vytvoření objektu ControlP5 písmo PFont; void setup () {// stejné jako velikost programu arduino (300, 700); // velikost okna, (šířka, výška) printArray (Serial.list ()); // vytiskne všechny dostupné sériové porty // Pokud máte problém, pravděpodobně pochází odtud Řetězec portName = Serial.list () [0]; port = new Serial (this, portName, 9600); // připojil jsem arduino na com3, v linuxu a mac os by to bylo jiné // umožňuje přidat tlačítko do prázdného okna cp5 = nový ControlP5 (toto); font = createFont ("Arial", 13); // vlastní písma pro tlačítka a nadpis // Tlačítka ovládání rychlosti cp5.addButton ("One") // "One" je název tlačítka.setPosition (50, 50) // souřadnice x a y v levém horním rohu tlačítka.setSize (55, 25) // (šířka, výška).setFont (písmo); cp5.addButton ("Pět").setPosition (110, 50).setSize (55, 25).setFont (písmo); cp5.addButton ("Ten").setPosition (170, 50).setSize (55, 25).setFont (písmo); cp5.addButton ("Dvacet").setPosition (230, 50).setSize (55, 25).setFont (písmo); cp5.addButton ("Reset").setPosition (110, 2).setSize (55, 25).setFont (písmo); cp5.addButton ("Servo_1_Foward").setPosition (50, 90).setSize (190, 40).setFont (písmo); // Tlačítka ovládání motoru cp5.addButton ("Servo_1_Back").setPosition (50, 140).setSize (190, 40).setFont (písmo); cp5.addButton ("Servo_2_Foward").setPosition (50, 190).setSize (190, 40).setFont (písmo); cp5.addButton ("Servo_2_Back").setPosition (50, 240).setSize (190, 40).setFont (písmo); cp5.addButton ("Servo_3_Foward").setPosition (50, 290).setSize (190, 40).setFont (písmo); cp5.addButton ("Servo_3_Back").setPosition (50, 340).setSize (190, 40) // (šířka, výška).setFont (písmo); cp5.addButton ("Servo_4_Foward").setPosition (50, 390).setSize (190, 40).setFont (písmo); cp5.addButton ("Servo_4_Back").setPosition (50, 440).setSize (190, 40) // (šířka, výška).setFont (písmo); cp5.addButton ("Servo_5_Foward").setPosition (50, 490).setSize (190, 40).setFont (písmo); cp5.addButton ("Servo_5_Back").setPosition (50, 540).setSize (190, 40).setFont (písmo); cp5.addButton ("Servo_6_Foward").setPosition (50, 590).setSize (190, 40).setFont (písmo); cp5.addButton ("Servo_6_Back").setPosition (50, 640).setSize (190, 40).setFont (písmo); } void draw () {// stejné jako smyčka na pozadí arduina (192, 215, 249); // barva pozadí okna (r, g, b) nebo (0 až 255) // Přidejte text, který říká, že řízení rychlosti je vyplnění řízení rychlosti (0, 10, 25); // barva textu (r, g, b) textFont (písmo); text („Řízení rychlosti“, 50, 40); // ("text", souřadnice x, souřadnice y)} // umožňuje přidat do našich tlačítek některé funkce // takže při stisknutí libovolného tlačítka odešle konkrétní znak přes sériový port // Jsem si jistý, že je možné odesílat řetězce místo znaků by to dávalo větší smysl, ale nevím, jak to udělat // Příkazy řízení rychlosti void One () {port.write ('w'); } void Five () {port.write ('x'); } void Ten () {port.write ('y'); } void Twenty () {port.write ('z'); } // Příkazy řízení motoru neplatné Servo_1_Foward () {port.write ('a'); } void Servo_1_Back () {port.write ('b'); } void Servo_2_Foward () {port.write ('c'); } void Servo_2_Back () {port.write ('d'); } void Servo_3_Foward () {port.write ('e'); } void Servo_3_Back () {port.write ('f'); } void Servo_4_Foward () {port.write ('g'); } void Servo_4_Back () {port.write ('h'); } void Servo_5_Foward () {port.write ('i'); } void Servo_5_Back () {port.write ('j'); } void Servo_6_Foward () {port.write ('k'); } void Servo_6_Back () {port.write ('l'); } void Reset () {port.write ('r'); }
Krok 31: Další obrázky
Doporučuje:
Rameno robota ovládané rotačním kodérem: 6 kroků
Rameno robota ovládané rotačním kodérem: Navštívil jsem howtomechatronics.com a viděl tam robotické rameno ovládané bluetooth. Nerad používám bluetooth a navíc jsem viděl, že můžeme servo ovládat pomocí rotačního kodéru, takže jsem přepracoval, abych mohl ovládat robota rameno použijte rotační kodér a zaznamenejte jej
Jednoduché robotické rameno ovládané skutečným pohybem ruky: 7 kroků (s obrázky)
Jednoduché robotické rameno ovládané skutečným pohybem ruky: Jedná se o velmi jednoduché robotické rameno DOF pro začátečníky. Rameno je ovládáno Arduino. Je spojen se snímačem, který je připevněn na ruce operátora. Operátor proto může ovládat loket paže ohnutím vlastního pohybu loktů
Robotické rameno ovládané Arduinem a PC: 10 kroků
Robotické rameno ovládané Arduinem a PC: Robotické zbraně jsou v průmyslu široce používány. Ať už se jedná o montážní operace, svařování nebo dokonce o použití pro dokování na ISS (Mezinárodní vesmírná stanice), pomáhají lidem v práci nebo člověka zcela nahrazují. Rameno, které jsem postavil, je menší než
Arduino ovládané robotické rameno W/ 6 stupňů svobody: 5 kroků (s obrázky)
Arduino Controlled Robotic Arm W/ 6 Degrees of Freedom: Jsem členem robotické skupiny a každý rok se naše skupina účastní každoročního Mini-Maker Faire. Počínaje rokem 2014 jsem se rozhodl vybudovat nový projekt pro každý rok. V té době jsem měl asi měsíc před akcí něco společného
Arduino ovládané robotické rameno z Lego Mindstorm: 6 kroků
Arduino ovládané robotické rameno z Lego Mindstorm: Upravte dva staré motory Lego Mindstorm na drapákové rameno ovládané Arduino Uno. Jedná se o projekt Hack Sioux Falls, kde jsme vyzvali děti, aby s Arduinem postavily něco skvělého