Përmbajtje:
Video: Roboti i vet balancimit - Algoritmi i kontrollit PID: 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Ky projekt u krijua sepse isha i interesuar të mësoja më shumë rreth Algoritmeve të Kontrollit dhe si të zbatoja në mënyrë efektive sythet PID funksionale. Projekti është ende në fazën e zhvillimit pasi një modul Bluetooth ende nuk është shtuar i cili do të lejojë kontrollin mbi robotin nga një smartphone me Bluetooth.
Motorët N20 DC të përdorur ishin relativisht të lirë, dhe kështu kanë një sasi të konsiderueshme loje në to. Kjo çon në një sasi të vogël hovi pasi motorët kapërcejnë 'plogështinë' ndërsa aplikon çift rrotullues në rrota. Prandaj, është pothuajse e pamundur të arrihet një lëvizje e përkryer e qetë. Kodi që kam shkruar është mjaft i thjeshtë, por në mënyrë efektive demonstron aftësitë e algoritmit PID.
Përmbledhje projekti:
Shasia e robotit është e printuar 3D duke përdorur një printer Ender 3 dhe është projektuar që të përshtatet së bashku.
Roboti kontrollohet nga një Arduino Uno i cili merr të dhënat e sensorit nga MPU6050 dhe kontrollon motorët DC përmes një drejtuesi të motorit të jashtëm. Ajo punon me një bateri 7.4V, 1500mAh. Drejtuesi i motorit e rregullon këtë në 5V për të fuqizuar Arduino dhe furnizon motorët 7.4V.
Softueri është shkruar nga e para me ndihmën e bibliotekave 'Arduino-KalmanFilter-master' dhe 'Arduino-MPU6050-master' nga gitHub.
Furnizimet:
- Pjesë të printuara 3D
- Arduino UNO
- Sensori MPU6050 6-Bosht
- Drejtuesi i motorit D. C
- N20 DC Motors (x2)
- Bateri 9V
Hapi 1: Ndërtimi i robotëve
Shtypja dhe montimi
E gjithë struktura duhet të jetë e përshtatshme për shtyp, por unë kam përdorur superglues për të siguruar përbërësit për të siguruar që roboti të jetë plotësisht i ngurtë kur balancohet.
Unë kam projektuar pjesët në Fusion 360 dhe kam optimizuar secilën pjesë për të printuar pa mbështetës për të lejuar toleranca më të forta dhe një përfundim më të pastër të sipërfaqes.
Cilësimet e përdorura në Ender 3 Printer ishin: 0.16mm Lartësia e Shtresës @ 40% mbushje për të gjitha pjesët.
Hapi 2: Roboti i printimit 3D
Shasia (x1)
Rrota e majtë (x2)
Strehimi i motorit të majtë (x2)
Rast Arduino (x1)
Hapi 3: Algoritmi i Kontrollit PID
Unë kam shkruar një algoritëm të kontrollit PID nga e para duke përdorur bibliotekat 'Arduino-KalmanFilter-master' dhe 'Arduino-MPU6050-master' nga gitHub.
Premisa e algoritmit është si më poshtë:
- Lexoni të dhëna të papërpunuara nga MPU6050
- Përdorni Kalman Filter për të analizuar të dhënat nga Xhiroskopi dhe Përshpejtuesi për të anuluar pasaktësitë në leximet e xhiroskopit për shkak të përshpejtimit të sensorit. Kjo kthen një vlerë relativisht të zbutur për lartësinë e sensorit në shkallë në dy vende dhjetore.
- Llogaritni gabimin E në kënd, domethënë: Këndi midis sensorit dhe pikës së caktuar.
- Llogaritni gabimin proporcional si (Konstanta e proporcionalitetit x gabim).
- Llogaritni Gabimin Integral si shumën rrjedhëse të (Konstanta e Integrimit x gabim).
- Llogaritni Gabimin Derivativ aq konstant sa [(Konstantja e Diferencimit) x (Ndryshimi në gabim / Ndryshimi në kohë)]
- Përmblidhni të gjitha gabimet për të dhënë shpejtësinë e daljes që do t'i dërgohet motorëve.
- Llogaritni drejtimin për të kthyer motorët bazuar në shenjën e këndit të gabimit.
- Lak do të funksionojë pafundësisht dhe do të ndërtohet mbi daljen pasi hyrja ndryshon. Shtë një lak reagimi, duke përdorur vlerat e daljes si vlerat e reja hyrëse për përsëritjen e ardhshme.
Hapi i fundit është të sinkronizoni parametrat e lakut PID, Ki & Kd.
- Një pikënisje e mirë është të rrisni ngadalë Kp derisa roboti të lëkundet rreth pikës së ekuilibrit dhe mund të kapë një rënie.
- Tjetra, filloni Kd me rreth 1% vlerën e Kp dhe rriteni ngadalë derisa lëkundjet të zhduken dhe roboti të rrëshqasë pa probleme kur shtyhet.
- Së fundi, filloni me Ki rreth 20% të Kp dhe ndryshoni derisa roboti të "tejkalojë" pikën e caktuar për të kapur në mënyrë aktive një rënie dhe të kthehet në vertikale.
Recommended:
Roboti i vet balancimit me dy rrota: 7 hapa
Roboti i vetë-balancimit me dy rrota: Ky udhëzues do të kalojë nëpër procesin e projektimit dhe ndërtimit për një robot vetë-balancues. Si shënim, unë thjesht dua të them se robotët vetë-balancues nuk janë një koncept i ri dhe ato janë ndërtuar dhe dokumentuar nga të tjerët. Unë dua ta përdor këtë mundësi
Roboti i balancimit / Roboti me 3 rrota / Roboti STEM: 8 hapa
Roboti i Balancimit / Roboti me 3 Rrota / Robot STEM: Ne kemi ndërtuar një robot të balancuar të kombinuar dhe 3 rrota për përdorim arsimor në shkolla dhe programe arsimore pas shkollës. Roboti bazohet në një Arduino Uno, një mburojë me porosi (të gjitha detajet e ndërtimit të dhëna), një paketë baterie Li Jon (të gjitha të ndërtuara
Platforma Stewart e balancimit të topit të kontrolluar nga PID: 6 hapa
Platforma Stewart e balancimit të topit të kontrolluar nga PID: Motivimi dhe Koncepti i Përgjithshëm: Si një fizikan në trajnim, unë jam tërhequr natyrshëm dhe kërkoj të kuptoj sistemet fizike. Unë jam trajnuar për të zgjidhur problemet komplekse duke i ndarë ato në përbërësit e tyre më themelorë dhe thelbësorë, pastaj
Krijimi i një roboti të vetë-balancimit Arduino të kontrolluar nga distanca: B-robot EVO: 8 hapa
Krijimi i një roboti të vetë-balancimit Arduino të kontrolluar nga distanca: B-robot EVO: ------------------------------------ -------------- UPDATE: ekziston një version i ri dhe i përmirësuar i këtij roboti këtu: B-robot EVO, me karakteristika të reja! ------------ ------------------------------------------ Si funksionon? B-ROBOT EVO është një nga distanca kontroll
Arduino - Bilanci - Roboti i balancimit - Si të bëni?: 6 hapa (me fotografi)
Arduino - Bilanci - Roboti i balancimit | Si për të bërë?: Në këtë tutorial ne do të mësojmë se si të bëjmë Arduino balancues (balancues) robot që balancon vetveten. Së pari mund të shikoni videon mësimore më sipër