Përmbajtje:

Krah Robotik Arduino: 5 Hapa
Krah Robotik Arduino: 5 Hapa

Video: Krah Robotik Arduino: 5 Hapa

Video: Krah Robotik Arduino: 5 Hapa
Video: Beyond the Basics: Automatic Gatekeeper With IR Sensor And ChatGPT Generated Arduino Code 2024, Nëntor
Anonim
Image
Image
Krah Robotik Arduino
Krah Robotik Arduino
Krah Robotik Arduino
Krah Robotik Arduino

Meqenëse është projekti im i parë pas 15 udhëzimeve të kompletit tim fillestar Arduino, qëllimi i vërtetë i tij është të marr disa kritikë, këshilla, sugjerime, ide nga kushdo që di më shumë se unë.

Ky projekt ka të bëjë me një krah robotik, me 4 dof dhe një dorezë. Me një buxhet mjaft të ulët: struktura është prerë nga një mik, 4 servos ishin 30 €, 2 levë 4 €, vida vidhosje etj për më pak se 10 € dhe të gjithë të tjerët (Arduino, tela, servo të gripit etj.) ishte përfshirë tashmë në çantën time fillestare. Për një total prej 40-45 € që janë rreth 45-50 dollarë amerikanë (i njëjti çmim i një kompleti me krahë, por hej, ishte kënaqësi ta ndërtoja vetë (dhe të ngatërroja diçka herë pas here) dhe duke mos ndjekur udhëzimet si një makinë).

Meqenëse ky ishte projekti im i parë dhe i udhëzueshëm, unë hyra në '' Autori i Herës së Parë '' dhe disa konkurse të tjera, kështu që nëse ju pëlqen, votojeni:)

Hapi 1: PROJEKTIMI DHE MONETIMI:

Së pari më duhej një strukturë: Kjo ishte padyshim pjesa më e gjatë. Meqenëse nuk doja të kopjoja dhe ngjisja projektin nga dikush tjetër, mora një projekt si referencë dhe unë (dhe disa shokë të klasës më të aftë që më shpëtuan vërtet) filluan ta modifikojnë atë sipas nevojave tona (servos të ndryshëm me çift rrotullues, peshë dhe dimensione të ndryshme, etj.). Më duhej ta ndërtoja disa herë, secilën prej tyre gjeta diçka të gabuar, dhe ne duhej të rimarrim disa pjesë dhe të provoj përsëri. Unë kam bashkangjitur skedarin.dxf në rast se dëshironi ta përdorni. Pastaj më duhej të blija pajisjet elektronike: Shumica e pjesëve ishin standarde, pjesa e vështirë ishte zgjedhja e servos. Kam llogaritur çift rrotullues të kërkuar me rregullin e gishtit, më vonë provova një llogaritje më të saktë dhe zbulova se mund ta kisha tepruar pak. Me sa duket 6 kg/cm do të ishin të mjaftueshme për servon e dytë (nga baza), dhe e imja siguron 9-11 kg/cm. Epo, kjo më jep njëfarë sigurie dhe mundësinë për të ngarkuar deri në 2 kg ngarkesë (e cila është e pamundur, por më pëlqen që mund ta bëj teknikisht). Unë gjithashtu mund të kisha blerë servos të ndryshëm, me rënie të çift rrotullues gjatë lëvizjes nga baza, por blerja e servove identikë nga i njëjti shitës ishte opsioni më i lirë. Furnizimi me energji elektrike: Arduino definitivisht nuk ishte i mjaftueshëm për servos, pasi secili barazim mg995 350mA dhe microservo 9g tërheq 100mA, në total 350*4 +100 = 1500mA. Kështu që unë shpëtova një karikues (6V 1.5A) dhe i bashkova dy tela kërcyes. (Nëse disa prej jush mund të kenë nevojë për udhëzime të vërteta, thjesht pyesni në komente dhe unë do të bëj çmos për të krijuar një hap pas hapi udhëzues) Lista e materialeve:- Struktura- M5x7cm vidë x5, bulona m5 x15 (bazë)- M3x16mm vidë x18*- M3x20mm vidë x13*- M3 bulona x40*- M3x8cm vidë x3- Kapëse (përndryshe do të bjerë)- 3 kunja- Arduino (ose diçka tjetër për ta kontrolluar atë, duhet të ketë të paktën 5 PWM)- Diçka për të furnizuar 5-6V dhe të paktën 1.5A- xhojstikë të ngjashëm me ps2 3x- 4x TowerPro mg995 servos- 1x TowerPro 9g mikroservo (për kontroll) - Shumë tela bluzë - Breadboard*(Kam përdorur bulona dhe vida për të qenë në gjendje të mblidhen dhe çmontohen shpejt, përndryshe ju mund t'i zëvendësoni pothuajse të gjitha me vida të punimeve të drurit)

Hapi 2: KODI:

Ideja është që të kontrollohet çdo servo me një nga dy boshtet e një levë të ngjashme me ps2. Çdo levë dukej se kishte "vlera pushimi" të ndryshme (vlera midis 0-1023 kur është ende) për të dy akset y dhe x. Kjo ishte një problem, pasi diferenca ishte krejt e vogël (njëra kishte zero në y në 623) dhe unë doja të përdorja funksionin e hartës për të kthyer nga 0-1023 në gradë. Por funksioni i hartës mendon se vlera e mbetur është 1023/2. E cila solli në çdo servo që lëviz sapo ndez Arduino, jo mirë. Unë arrita ta kapërcej këtë duke gjetur manualisht ndryshimin midis vlerës së leximit dhe secilës vlerë tjetër të pushimit (të cilën e kam llogaritur veçmas për çdo levë), pastaj në bëjeni kodin më të shkurtër dhe më të zgjuar, e bëra atë të lexojë vlerat e tjera në funksionin e konfigurimit dhe t'i ruajë ato në disa ndryshore. Algoritmi i ri mbështetet në konvertimin e rritjes në gradë, por unë doja një sasi shumë të ulët të gradave për rritjen time, kështu që Më duhej ta ndaja për një konstante: Provova shumë vlera, derisa arrita në 200 -ën përfundimtare (mund të shtoj një potenciometër për ta ndryshuar manualisht këtë vlerë në atë të dëshiruar). Pjesa tjetër e kodit mendoj se është shumë standarde, edhe pse mund të jetë më elegante të vendosni llogaritjen e rritjes brenda një funksioni të veçantë.

Hapi 3: ELEKTRONIKA:

ELEKTRONIKA
ELEKTRONIKA

Instalimet elektrike janë të njëjta siç tregohen në figurë ose skedarin e ngrirë: sinjal servos për kunjat: 5-6-9-10-11 dhe boshtin e levës në kunjat analoge: A0-A1-A2-A3-A4 Problemi kryesor në të cilin hasa ishte se levë duhet të furnizohen nga Arduino, JO nga karikuesi që përdor për servos. Përndryshe, servo thjesht do të çmendet duke lëvizur rastësisht mbrapa dhe me radhë. Unë mendoj se mund të jetë sepse, nëse i furnizoj me karikuesin, Arduino nuk do të jetë në gjendje të tregojë saktësisht ndryshimin e mundshëm kur t'i lëviz, por përsëri përsëri: Unë jam shumë i ri në elektronikë, kështu që është vetëm një supozim. Lidhja e tokës Arduino dhe karikuesit përmes bordit të bukës ndihmoi në parandalimin e lëvizjeve të rastësishme dhe të papritura, për një arsye të ngjashme të furnizimit me levë supozoj.

Hapi 4: P GR PMPRMIRSIMI AKTUAL:

AKTUALISHT PR P IRMIRSIM
AKTUALISHT PR P IRMIRSIM

Meqenëse çdo levë mund të kontrollojë 2 servos (1 për aks), më duhen 3 servos për të kontrolluar të gjithë krahun, por për fat të keq kam vetëm 2 gishtërinj të mëdhenj. Kështu që mendova se, në vend që të kontrolloja çdo servo, unë mund të kontrolloja vetëm pozicionin xyz të mbërthejeni dhe hapeni-mbërtheni dorezën, për një total prej 4 boshtesh, 2 levë dhe 2 gishtërinj të mëdhenj! Zbulova se ai problem njihet mirë si Kinematika Inverse, gjithashtu zbulova se nuk është e lehtë. Ideja është të shkruash (ekuacione jolineare për të gjetur gjendjen e çdo efektori (këndet për servot) duke pasur parasysh pozicionin përfundimtar. Kam ngarkuar një letër të shkruar me dorë me ekuacionet, dhe aktualisht jam duke punuar në një kod të ri për t'i përdorur ato. Nuk duhet të jetë shumë e vështirë, në thelb më duhet të lexoj levë, të përdor leximet e tyre për të modifikuar koordinatat xyz të kapjes, dhe pastaj t'i jap ato në ekuacionet e mia, të llogaris këndet e servos dhe t'i shkruaj ato.

Hapi 5: P IRMIRSIMET E ARDHSHME:

Pra, unë jam mjaft i kënaqur me rezultatin e tij dhe duke marrë parasysh që jam krejtësisht i ri në elektronikë, mos hedhja në erë diçka ose veten time ishte tashmë një fitore e madhe. Siç thashë në fillim, çdo ide për përmirësime të ardhshme, si softuer ashtu edhe hardware, është më se i mirëpritur! Deri tani kam menduar për: 1. Potenciometri për të modifikuar "ndjeshmërinë" e levave. Kod i ri për ta bërë atë të "regjistrojë" disa lëvizje dhe t'i bëjë ato përsëri (ndoshta më shpejt dhe më shkurt se kontributi i njeriut) 3. Një lloj hyrje vizuale/distancë/zë dhe aftësia për të marrë objekte pa dikë që përdor levë 4. Të jesh në gjendje të vizatosh figura gjeometrike Ndonjë ide tjetër? Ju lutemi mos ngurroni të komentoni me ndonjë sugjerim. Faleminderit

Recommended: