Tartalomjegyzék:
- 1. lépés: Elmélet a projekt mögött
- 2. lépés: NYÁK tervezése
- 3. lépés: NYÁK készítése
- 4. lépés: A kar tervezése
- 5. lépés: Az alkatrészek nyomtatása
- 6. lépés: Összerakás
- 7. lépés: Az Arduino programozása
- 8. lépés: Programozás Pythonban
- 9. lépés: Az alkatrészek listája
- 10. lépés: Utolsó gondolatok
Videó: Robotkar, amelyet az Arduino és a PC irányít: 10 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
A robotkarokat széles körben használják az iparban. Legyen szó összeszerelési műveletekről, hegesztést vagy akár egyet használnak az ISS (Nemzetközi Űrállomás) dokkolásához, segítik az embereket a munkában, vagy teljesen helyettesítik az embert. Az általam épített kar a robotkar kisebb ábrázolása, amelyet állítólag tárgyak mozgatására használnak. Az arduino pro mini vezérli, amely már rendelkezik beépített könyvtárral a szervók vezérléséhez. A szervókat a PWM (Pulse Width Modulation) vezérli, amelyet nem nehéz programozni, de ez a könyvtár megkönnyíti. A felhasználó vezérelheti ezeket a szervókat potenciométerekkel, amelyek feszültségosztóként szolgálnak, vagy PC -ről, amely 4 csúszkát használ a szervomotorok vezérlésére.
Ehhez a projekthez meg kellett terveznem az egyéni PCB -m, és elkészítenem, 3D kar- és karmodelleket kellett létrehoznom, ami mindent irányít. Ráadásul további programot kódoltam a pythonban, amely jeleket küld az arduino -nak, amely képes dekódolni ezt a jelet, és a szervókat a felhasználó által beállított pozícióba mozgatni.
1. lépés: Elmélet a projekt mögött
Az Arduino nagyszerű abban az értelemben, hogy ingyenes könyvtárat kínál a munkához. Ehhez a projekthez a Servo.h könyvtárat használtam, amely sokkal egyszerűbbé teszi a szervók vezérlését.
A szervomotort a PWM -impulzusszélesség -moduláció vezérli, ami azt jelenti, hogy a szervó vezérléséhez rövid feszültségű impulzusokat kell készíteni. A szervó képes dekódolni a jel hosszát, és el tudja forgatni az adott pozícióba. És itt használtam a már említett könyvtárat. Nem kellett egyedül kiszámítanom a jel hosszát, hanem a könyvtár funkcióit használtam, amelyeknek csak paramétereket adok át fokban, és jelez.
A szervók vezérléséhez potenciométereket használtam, amelyek feszültségosztóként működnek. Az Arduino táblák számos analóg/digitális átalakítóval rendelkeznek, amelyeket a projekthez használtam. Az arduino alapvetően a potenciométer középső csapjának feszültségét figyeli, és ha az egyik oldalra forog, akkor a feszültség 0 volt (érték = 0), a másik oldalon pedig 5 volt (érték = 1023). Ezt az értéket ezután 0-1023 tartományból 0-180 -ig skálázza, majd átadja a már említett függvénynek.
Egy másik téma az arduino -val folytatott soros kommunikáció, amelyről csak röviden szólok. Alapvetően a PC -re írt program elküldi a felhasználó által választott értéket, az arduino képes dekódolni és a szervót az adott pozícióba helyezni
2. lépés: NYÁK tervezése
2 PCB -t terveztem - egyet a fő vezérléshez, ahol az arduino és a szervók csapjai vannak, a második pedig a potenciométereket. 2 PCB oka az, hogy biztonságos távolságból akartam irányítani a robotkart. Mindkét áramkört meghatározott hosszúságú - esetemben 80 cm - kábellel kötik össze.
Áramforrásként külső adaptert választottam, mert az általam használt szervók sokkal több energiát fogyasztanak, mint amennyit az arduino képes biztosítani. Mint látható, vannak olyan kondenzátorok, amelyeket még nem említettem. Ezek a szűréshez használt kondenzátorok. Mint most már tudja, a szervomotort rövid impulzusok vezérlik. Ezek az impulzusok csökkenthetik a tápfeszültség csökkenését és a potenciométereket, amelyek korábban 0-5 volt tartományban voltak. Ez azt jelenti, hogy a középső csap feszültsége megváltozik, és az arduino megkapja ezt az értéket, és megváltoztatja a szervomotor helyzetét. Ez örökké tarthat, és nem kívánt rezgést okoz, amelyet néhány kondenzátor kiküszöbölhet az áramellátással párhuzamosan.
3. lépés: NYÁK készítése
A PCB készítéséhez javaslom, hogy olvassa el ezt.
Iron on Glossy Paper módszert használtam, és nagyon jól sikerült.
Aztán forrasztottam alkatrészeket a NYÁK -ra. Láthatja, hogy arduino aljzatot használtam arra az esetre, ha szükségem lesz rá a jövőben.
4. lépés: A kar tervezése
Ez egyáltalán nem volt a legnehezebb része ennek a projektnek.
A teljes beállítás 8 részből áll, ahol 4 nem mozgó alkatrész - a potenciométerek doboza és az alap, ahol az arduino található -, a többi négy pedig maga a kar. Nem részletezem sok részletet, kivéve, hogy a tervezés meglehetősen intuitív és valamilyen módon egyszerű. Úgy tervezték, hogy illeszkedjen az én egyedi NYÁK -omhoz és szervóimhoz, amelyeket felveszek az alkatrészek listájára.
5. lépés: Az alkatrészek nyomtatása
Az alkatrészeket Prusa nyomtatóval nyomtattuk. Néhány arcot kissé meg kell őrölni, és lyukakat kell fúrni. A tartóoszlopokat is el kellett távolítani.
6. lépés: Összerakás
Ebben a lépésben, ahogy a cím mondja, összeszedtem az egészet.
Először a potenciométereken forrasztottam vezetékeket, majd azokat a PCB -n. A potenciométerek szépen illeszkednek a lyukakhoz, és melegen ragasztottam a NYÁK -t a doboz aljára nyomtatott oszlopokra. Fúrhat lyukakat a táblába és a dobozba, de rájöttem, hogy a ragasztás több mint elég. Ezután bezártam a doboz mindkét részét, és rögzítettem a helyükön 4 csavarral, amelyek illeszkednek az általam tervezett lyukakba.
Következő lépésként lapos szalagkábelt készítettem mindkét tábla összekapcsolására.
A fődobozban a vezetékeket forrasztottam a csatlakozó VCC csapjától a kapcsolóig, majd az alaplap Vcc -jéig és az alaplap GND -jétől a csatlakozó GND -ig. Ezután a ragasztót a helyére ragasztottam és az oszlopokra támasztottam. A csatlakozó a lyukba illeszkedik, így nincs szükség forró ragasztóra.
Ezután csavarokkal rögzítettem az alsó szervót a doboz aljára.
Ezt követően a doboz felső részét az alsó részre tettem, és ugyanúgy, mint a potenciométer doboznál, 4 csavarral rögzítettem.
A következő rész kissé trükkös volt, de a kar többi részét különféle anyákkal és betétekkel sikerült összeraknom, és nem volt olyan szoros, mint vártam, mert bizonyos tűréseket terveztem az alkatrészek között, így könnyebb velük dolgozni.
És utolsó lépésként ragasztószalagot tettem a dobozok aljára, mert különben elcsúsznak.
7. lépés: Az Arduino programozása
Már említettem, hogy a program elméletileg hogyan működik a projekt mögött, de még jobban fel fogom bontani.
Tehát az elején meg kell határoznunk néhány változót. Többnyire 4 -szer másolódik, mert 4 szervónk van, és véleményem szerint felesleges bonyolultabb logikát készíteni, csak azért, hogy egy kicsit lerövidítsük a programot.
Ezután van üres beállítás, ahol a szervók csapjai vannak definiálva.
Aztán van egy void loop - a program része, amely végtelen ciklusokat végez. Ebben a részben a program a potenciométer skáláiból veszi az értéket, és beírja a kimenetet. De van egy probléma, hogy a potenciométerből származó érték meglehetősen megugrik, ezért hozzá kellett adnom egy szűrőt, amely az utolsó 5 érték átlagát teszi ki, és ezután kiadja a kimenetet. Ez megakadályozza a nem kívánt billegést.
A program utolsó része adatokat olvas a soros portról, és a küldött adatok alapján eldönti, hogy mit kell tennie.
A kód teljes megértése érdekében javaslom, hogy látogasson el a hivatalos arduino webhelyekre.
8. lépés: Programozás Pythonban
A projektnek ez a része nem szükséges, de úgy gondolom, hogy csak nagyobb értéket ad ennek a projektnek.
A Python rengeteg szabadon használható könyvtárat kínál, de ebben a projektben csak tkintert és sorozatot használok. A Tkinter a GUI (Graphical User Interface) és a soros, mint a neve mondja, a soros kommunikációhoz használatos.
Ez a kód GUI -t hoz létre 4 csúszkával, amelyek minimális értéke 0 és maximum 180. Lehet, hogy tipp, hogy fokokban van megadva, és minden csúszka egy szervó vezérlésére van programozva. Ez a program meglehetősen egyszerű - veszi az értéket és elküldi az arduino -nak. De a küldési módja érdekes. Ha úgy dönt, hogy az első szervo értékét 123 fokra módosítja, akkor az arduino 1123 értékre küldi. Minden elküldött szám első száma jelzi, hogy melyik szervót kell vezérelni. Az Arduino rendelkezik olyan kóddal, amely képes ezt dekódolni és a megfelelő szervót mozgatni.
9. lépés: Az alkatrészek listája
- Arduino Pro Mini 1 db
- Szervo FS5106B 1 db
- Servo Futaba S3003 2 db
- Tűfejfej 2x5 1 db
- Csapfej 1x3 6 db
- Kondenzátor 220uF 3 db
- Micro Servo FS90 1 db
- Csatlakozó AWP-10 2 db
- Csatlakozó FC681492 1 db
- Kapcsoló P-B100G1 1 db
- Aljzat 2x14 1 db
- TTL-232R-5v-átalakító 1 db
- B200K potenciométer 4 db
- és még sok más csavar, betét és anya
10. lépés: Utolsó gondolatok
Köszönöm, hogy elolvastad, és remélem, hogy legalább motiváltam. Ez az első nagyobb projektem, amelyet egyedül készítettem, anélkül, hogy lemásoltam volna az internetről származó anyagokat és az első utasításokat. Tudom, hogy a kar fejleszthető lenne, de egyelőre elégedett vagyok vele. Minden alkatrész és forráskód ingyenes, bármikor használhatja és módosíthatja. Ha bármilyen kérdése van, bátran tegye fel őket a megjegyzések részben. Megnézheti a videókat is, nem túl jó minőségűek, de a projekt funkcionalitását mutatják.
Ajánlott:
DIY -- Hogyan készítsünk egy pókrobotot, amelyet okostelefonnal lehet irányítani az Arduino Uno használatával: 6 lépés
DIY || Hogyan készítsünk egy pókrobotot, amelyet az okostelefon segítségével vezérelhetünk az Arduino Uno használatával: A pókrobot készítése során sok mindent megtudhat a robotikáról. A robotok készítése szórakoztató és kihívást jelent. Ebben a videóban megmutatjuk, hogyan lehet Pók robotot készíteni, amelyet okostelefonunk segítségével működtethetünk (Androi
Aktív aluláteresztő szűrő RC, amelyet az Arduino projektekben alkalmaznak: 4 lépés
Aktív aluláteresztő szűrő RC, amelyet az Arduino projektekben alkalmaznak: Az aluláteresztő szűrő kiváló elektronikus áramkör, amely kiszűri a projektekből származó parazita jeleket. Az Arduino és az áramkörök közelében működő érzékelőkkel rendelkező projektek gyakori problémája a „parazita” jelek jelenléte
Vezeték nélküli Arduino robot, amelyet PC vezérel: 4 lépés
Vezeték nélküli Arduino robot, amelyet PC vezérel: Ebben az utasításban megtanulhatja, hogyan kell kommunikációs csatornát beállítani a számítógép és egy Arduino -alapú robot között. Az itt használt robot differenciálmű kormányzási mechanizmust használ a mozgáshoz. Relé alapú motorvezérlőt használok a MO helyett
Az útmutató, amelyet kívántam volna egy Arduino drón építéséhez: 9 lépés
Útmutató, amit szerettem volna egy Arduino drón építésénél: Ez a dokumentum egyfajta „Hogyan kell irányítani” perjeles dokumentációt, amely végigmegy azon a folyamaton, amelyen keresztül megértettem a fogalmakat, hogy elérjem azt a célt, hogy egy egyszerű quadcopter -t építsek, amelyet irányítani tudok a mobilomról. A projekt megvalósításához szerettem volna
Rajzkar, amelyet a hang irányít - Arduino School Project: 4 lépés (képekkel)
Rajzkar, amelyet a hang irányít - Arduino School Project: Ez az első alkalom, hogy Arduino -val dolgozom, és valaha is ilyesmivel dolgozom, ezért sajnálom, ha hibákat követtem el! Ezt az ötletet akkor kaptam, amikor a hobbijaimra gondoltam, amelyek a rajzolás és a zene. Szóval megpróbáltam a kettőt ötvözni! Egy sel