Uradi sam Segway. Kako napraviti Segway vlastitim rukama Segway s benzinskim motorom vlastitim rukama


Hoverboard unutra

Glavni detalji

Od čega se sastoji hoverboard? Ako gledate izvana, hoverboard jest zanimljiv uređaj. Prva je radna platforma ili daska. Na njemu osoba stoji i, pokušavajući održati ravnotežu, upravlja, vozi ili pada. Postoje dva kotača na stranama platforme, oni su ono što nam daje priliku da se vozimo i krećemo naprijed ili nazad.

Prvo, pogledajmo platformu. Radna platforma je podijeljena na dva dijela, desni i lijeva strana. Taman za desnu i lijevu nogu. To je učinjeno tako da je bilo moguće skrenuti desno ili lijevo, samo pritiskom nožnog prsta na te platforme.

Kako radi hoverboard?

Mini Segway uređaj

Kotači

Sa strane su dva kotača. Hoverboardi obično dolaze u 4 vrste, a razlikuju se po klasi i veličini kotača. Prva klasa hoverboarda je dječji hoverboard s kotačima promjera 4,5 inča. Mala veličina kotači čine hoverboard vrlo nezgodnim i neprohodnim na nekim dijelovima ceste.

Sljedeća klasa je hoverboard od 6,5 inča. Ima veći promjer kotača, ali je još uvijek namijenjen samo za vožnju po ravnim površinama. Hoverboard od 8 inča je zlatna sredina među svim hoverboardima. On ima optimalna veličina kotači koji se mogu kretati gotovo svim cestama.

A najveći je SUV od svih mini Segwaya - hoverboard od 10 inča. Ovo je model koji ima zanimljiva značajka, osim velikih kotača, ovi kotači imaju sustav komora. Odnosno, kotači su na napuhavanje, imaju uglađeniju vožnju, a takvi hoverboardi otporniji su na habanje od manjih prototipova.

Okvir

Tijelo svih hoverboarda napravljeno je od različitih materijala, ali s istom značajkom. Posvuda kućište pokriva kotače, štiteći ih od prskanja, prljavštine, vode, snijega i prašine. Hoverboardi s malim kotačima 4,5 i 6 obično su izrađeni od obične plastike. Budući da su ovi modeli dizajnirani za vožnju po ravnoj cesti i ne razvijaju tako veliku brzinu, inženjeri su odlučili ne ugraditi skupu plastiku i time ne povećati cijenu hoverboarda.

Za hoverboarde s kotačima od 8 inča, tijela su izrađena od raznih materijala kao iz jednostavna plastika, te od karbonske, magnezijske plastike otporne na udarce. Takva plastika može izdržati gotovo svaki fizički udar i udar. Ugljik, na primjer, također lagani materijal, čime se smanjuje opterećenje elektromotora i smanjuje brzina pražnjenja baterije.

Motori

Nakon što uklonite poklopac, trebali biste vidjeti električni motor na stranama bliže kotaču. Elektromotori dolaze u različitim kapacitetima. Prosjek među svim mini-Segwayima je 700 vata na oba kotača. Ili 350 W po kotaču. Činjenica je da elektromotori hoverboarda rade neovisno jedan o drugome. Jedan se kotač može kretati jednom, a drugi drugom brzinom ili se mogu kretati u različitim smjerovima, jedan natrag, drugi naprijed. Dakle, ovaj sustav daje mogućnost upravljanja hoverboardom.

Postaje osjetljiviji na skretanje pri velikoj brzini. Također se možete okrenuti za 360 stupnjeva. Što je veća snaga motora, to je veći teret i veća brzina, ali ne uvijek. Morate shvatiti da što je veća masa tereta na platformi, to je manja brzina i brže se prazni baterija. Stoga su hoverboardi sa snažnim motorima skuplji.

Sustav balansiranja

Sustav za balansiranje sastoji se od i uključuje nekoliko komponenti. Prije svega, to su dva žiroskopska senzora, koji se nalaze na desnoj i lijevoj strani platforme. Ako uklonite poklopac kućišta, možete vidjeti dvije pomoćne ploče, na koje su spojeni žiroskopski senzori. Pomoćne ploče pomažu u obradi informacija i slanju ih procesoru.

Dalje s desne strane možete vidjeti glavnu ploču, tu se nalazi 32-bitni procesor i obavljaju se sve kontrole i proračuni. Tu je i program koji reagira na svaku promjenu platforme s desne ili lijeve strane.

Ako se platforma nagne prema naprijed, procesor nakon obrade informacija šalje signal električnim motorima koji fizički drže ploču u ravnom položaju. Ali ako se platforma više naginje uz određeni pritisak, kotač se odmah počinje pomicati naprijed ili natrag.

Neophodno je zapamtiti da svi trenutni hoverboardi moraju imati dvije pomoćne ploče za žiroskopske senzore i jednu glavnu ploču na kojoj se nalazi procesor. Stariji modeli mogu imati sustav s dvije daske, ali od jeseni 2015. godine napravljena je promjena u standardu i sada se svi hoverboardi i mini-Segwayi izrađuju s 3 daske.

U kineskim krivotvorinama ili hoverboardima niske kvalitete može postojati jedna ploča, glavna. Nažalost, ovaj mini-Segway ima loše karakteristike upravljanja. Može vibrirati ili prevrnuti vozača. A nakon toga cijeli sustav može potpuno otkazati.

Shema unutarnja struktura Upravljanje hoverboardom nije tako teško kao što se čini. Cijeli sustav je dizajniran da što brže odgovori na bilo kakvo ponašanje platforme. Izračun se odvija u djeliću sekunde i s nevjerojatnom točnošću.

Baterija

Sustav napajanja hoverboarda napajaju dvije ili više baterija. Standardni jeftini modeli obično imaju bateriju kapaciteta 4400 mAh. Baterija je odgovorna za rad cijelog sustava kao cjeline i opskrbu električnom energijom, stoga baterija mora biti visoke kvalitete i marke. Obično se koriste dvije marke baterija - Samsung i LG.

Baterije se također razlikuju po klasi. Postoje baterije niske razine 1C, 2C. Takve baterije obično se postavljaju na hoverboarde s kotačima od 4,5 i 6,5 inča. Sve iz istog razloga, jer su ovi hoverboardi dizajnirani za glatke ceste, glatki asfalt, mramor ili podove.

Hoverboardi s kotačima od 8 inča obično koriste 3C baterije srednje klase; ovo je pouzdaniji model baterija. Neće se isključiti tijekom naglog zaustavljanja ili udarca u rubnjak ili rupu.

Modeli s velikim kotačima od 10 inča obično imaju baterije klase 5C. Ovaj hoverboard može se voziti po gotovo svakoj cesti, tlu, lokvama ili jamama. Stoga baterija mora biti pouzdanija.

Osnovno načelo hoverboarda je održavanje ravnoteže. Na velika težina Vozač hoverboarda treba više električne energije za manevriranje i kretanje.

ostalo

Mnogi hoverboardi također imaju Bluetooth sustav i zvučnike. Uz njega možete slušati omiljenu glazbu i voziti se s prijateljima. Ali ovaj sustav također omogućuje povezivanje vašeg pametnog telefona s hoverboardom i praćenje stanja vašeg vozila. Možete pratiti svoju prosječnu brzinu i vidjeti koliko ste daleko prešli. Postavite najveću dopuštenu brzinu i još mnogo toga.

Mnogo više modela ima pozadinsko osvjetljenje, ono vam osvjetljava put u mraku, a može i bljeskati jako u ritmu glazbe. Ali morate zapamtiti da glazba i osvjetljenje jako troše bateriju. Mnogi ljudi potpuno isključe pozadinsko osvjetljenje kako bi povećali rezervu snage.

Zaključak

Hoverboard je dizajniran da bude kompaktan i lagan, ali brz, snažan i izdržljiv. Glavna stvar je kupiti hoverboard od provjerenih dobavljača koji imaju sve potrebna dokumentacija tako da ga ne morate rastavljati nakon neuspješne vožnje.

U današnje vrijeme sve je popularnija mala samohodna platforma s dva kotača, tzv. Segway, koju je izumio Dean Kamen. Uočivši poteškoće koje je imao korisnik invalidskih kolica kada se penjao na pločnik, vidio je priliku da stvori vozilo koje bi moglo pomoći ljudima da se kreću bez poseban napor. Kamen je svoju ideju o stvaranju samobalansirajuće platforme proveo u praksi. Prvi model testiran je 2001. godine i radilo se o vozilu s gumbima na ručki. Razvijen je za osobe s invaliditetima i omogućio im samostalno kretanje čak i po neravnom terenu. Novi model postao poznat kao “Segway RT”, i već je omogućavao upravljanje naginjanjem ručice lijevo ili desno. 2004. godine počinje se prodavati u Europi i Aziji. Cijena najnaprednijeg moderni modeli, na primjer Segway PTi2 - oko 5000 dolara. U U zadnje vrijeme Kineske i japanske tvrtke stvaraju uređaje s razne modifikacije i inovativan dizajn. Neki čak proizvode slična vozila sa samo jednim kotačem, ali pogledajmo klasični Segway.


Segway se sastoji od platforme i dva kotača postavljena poprečno, a pokreću ih dva elektromotora. Sam sustav je stabiliziran složenim elektroničkim sklopom koji upravlja motorima, uzimajući u obzir ne samo nagib vozača, već i stanje vozila, što mu omogućuje da uvijek ostane u uspravnom, stabilnom položaju. Vozač, stojeći na platformi, kontrolira brzinu jednostavnim pomicanjem ručke naprijed ili natrag, a kada se naginje udesno ili ulijevo - okrene. Upravljačka ploča prati signale odgovarajućih senzora kretanja i orijentacije (slično onima koji pametnim telefonima omogućuju promjenu orijentacije zaslona) kako bi se ugrađenom mikroprocesoru pomoglo da točno usmjeri platformu. Glavna tajna Segway nije toliko u elektro-mehaničkom dijelu, već u kodu koji uzima u obzir fiziku kretanja uz značajnu matematičku točnost u obradi podataka i predviđanju ponašanja.

Segway je opremljen s dva elektromotora bez četkica izrađenih od legure neodima, željeza i bora, koji mogu razviti snagu do 2 kW, zahvaljujući litij-polimer bateriji.

Segway dijelovi

Za izradu Segwaya potrebna su vam dva motora s kotačima, baterija, elektronički sklop, platforma i volan.

Snaga motora jeftini modeli cca 250W, što omogućuje brzine do 15 km/h, uz relativno malu potrošnju struje. Oni ne mogu izravno okretati kotače, jer im velika brzina ovih motora ne dopušta postizanje potrebne vučne sile. Slično onome što se događa kada koristite mjenjače na svom biciklu: povećanjem omjera prijenosa izgubit ćete brzinu, ali ćete povećati silu koja se primjenjuje na papučicu.

Platforma se nalazi ispod osovine motora. Baterija, čija je težina prilično velika, također se nalazi ispod oslonca za noge u simetričnom položaju, što osigurava da čak i bez vozača Segway ostane u uspravnom položaju. Osim toga, unutarnja mehanička stabilnost bit će potpomognuta elektroničkom jedinicom za kontrolu stabilnosti, koja je potpuno aktivna kada je vozač prisutan. Prisutnost osobe na platformi podiže težište iznad osi kotača, što čini sustav nestabilnim - to će već kompenzirati elektronička ploča.

U principu, takvu stvar možete učiniti sami kupnjom potreban blok elektronike na kineskoj web stranici (na akciji su). Svi dijelovi se postavljaju pomoću vijaka i matica (ne vijaka). Posebna pažnja Morate paziti da osigurate odgovarajuću napetost lanca. Baterije su pričvršćene pomoću stezaljki u obliku slova U s malim gumenim brtvama kako bi se osiguralo potreban pritisak. Preporučljivo je staviti dvostranu traku između baterije i platforme kako ne bi došlo do klizanja. Upravljačka ploča mora biti umetnuta između dvije baterije i pričvršćena posebnim odstojnicima.

Kontrolna poluga može postojati, ali i ne mora - uostalom, Segway modeli bez nje (mini-Segways) sada su popularni. Općenito, stvar je zanimljiva i nije jako skupa, jer prema informacijama od prijatelja, veleprodajna nabavna cijena u Kini je samo 100 dolara.

Ako mislite da je nemoguće napraviti hoverboard ili mini-Segway kod kuće vlastitim rukama i snagom, onda ste u velikoj zabludi. Čudno, na internetu postoji mnogo videozapisa u kojima mnogi majstori sami izrađuju hoverboard. Za neke se ispostavlja da je vrlo domaća, ali postoje i oni koji su se stvarno uspjeli približiti samoj tehnologiji stvaranja i reproducirati doista zanimljivu i kvalitetnu stvar. Pa je li moguće napraviti hoverboard vlastitim rukama? O tome će nam reći Adrian Kundert, inženjer i samo dobra osoba.

Što je hoverboard?

Kako napraviti hoverboard vlastitim rukama? Da biste razumjeli kako napraviti samostalni hoverboard, prvo morate razumjeti što je hoverboard, od čega se sastoji i što je potrebno za stvaranje ovog zanimljivog prijevoznog sredstva. Hoverboard je samouravnoteženo vozilo čiji se princip rada temelji na sustavu žiroskopskih senzora i internoj tehnologiji za održavanje ravnoteže radne platforme. Odnosno, kada uključimo hoverboard, uključuje se i sustav za balansiranje. Kada osoba stane na hoverboard, položaj platforme počinje se mijenjati, te informacije čitaju žiroskopski senzori.

Ovi senzori osjećaju svaku promjenu položaja u odnosu na Zemljina površina ili točka iz koje dolazi gravitacijski utjecaj. Nakon očitanja informacije se šalju na pomoćne ploče koje se nalaze s obje strane platforme. Budući da senzori i sami elektromotori rade neovisno jedan o drugome, u budućnosti će nam trebati dva elektromotora. S pomoćnih ploča informacije u obrađenom obliku već idu na matičnu ploču s mikroprocesorom. Tamo se program održavanja ravnoteže već provodi s potrebnom točnošću.

To jest, ako se platforma nagne prema naprijed za otprilike nekoliko stupnjeva, motori dobivaju signal da se pomaknu u suprotnom smjeru i platforma se izravnava. Također se izvodi nagib u drugom smjeru. Ako se hoverboard nagne u većem stupnju, tada program odmah razumije da postoji naredba za pomicanje elektromotora naprijed ili nazad. Ako se hoverboard nagne više od 45 stupnjeva, motori i sam hoverboard se isključuju.

Hoverboard se sastoji od tijela, čelične ili metalne baze, na koju će biti pričvršćena sva elektronika. Zatim tu su dva elektromotora dovoljne snage da mogu voziti pod težinom osobe do 80-90 kg. Sljedeće dolazi matična ploča s procesorom i dvije pomoćne ploče, na kojima su smješteni žiroskopski senzori. I naravno, baterija i dva kotača istog promjera. Kako napraviti hoverboard? Kako bismo riješili ovaj problem, morat ćemo pribaviti određene detalje dizajna same hoverboard.

Što trebamo?

Kako napraviti hoverboard vlastitim rukama? Prva i glavna stvar koju trebate je dvoje električni motor, sa snagom da nosi težinu odrasle osobe. Prosječna snaga tvorničkih modela je 350 W, pa ćemo pokušati pronaći motore te snage.

Zatim, naravno, morate pronaći dva identična kotača, otprilike 10-12 inča. Bolje je imati više, jer ćemo imati puno elektronike. Tako da je sposobnost cross-country veća, a udaljenost između platforme i tla na potrebnoj razini.

Dvije baterije, olovne, potrebno je odabrati nazivnu snagu od najmanje 4400 mAh, a po mogućnosti i više. Budući da nećemo učiniti metalna konstrukcija, ali će težiti više od originalnog mini-segwaya ili hoverboarda.

Proizvodnja i proces

Kako napraviti hoverboard koji je snažan i tako da može održavati ravnotežu tijekom vožnje? Prvo moramo napraviti plan kakvo vozilo ćemo trebati. Moramo napraviti prilično snažno vozilo s velikim kotačima i odličnom upravljivošću na različitim cestama. Minimalna vrijednost kontinuirane vožnje trebala bi biti 1-1,5 sati. Potrošit ćemo otprilike 500 eura. Instalirajmo bežični sustav upravljanja za naš hoverboard. Ugradit ćemo uređaj za očitavanje problema i grešaka, sve informacije će ići na SD karticu.

Dijagram hoverboarda

Na gornjem dijagramu možete jasno vidjeti sve: elektromotore, baterije itd. Najprije je potrebno točno odabrati mikrokontroler koji će vršiti upravljanje. Od svih Arduino mikrokontrolera na tržištu odabrat ćemo UnoNano, a ATmega 328 služit će kao dodatni čip za obradu informacija.

Ali kako hoverboard učiniti sigurnim? Imat ćemo dvije baterije spojene u seriju, pa ćemo dobiti potreban napon. Za elektromotore je dvostruki mostni krug upravo ono što je potrebno. Instalirat će se gumb za spremanje, kada se pritisne, napajanje će se napajati motorima. Kada pritisnete ovu tipku, motori i sama hoverboard će se isključiti. To je neophodno za sigurnu vožnju samog vozača i našeg vozila.

Arduino mikrokontroler će biti na oko 38400 bauda, ​​koristite serijska komunikacija s XBee sklopom. Koristit ćemo dva žiroskopska senzora InvenSense MPU 6050 temeljena na GY-521 modulima. Oni će pak očitati informacije o položaju platforme. Ovi senzori su dovoljno precizni da naprave mini Segway. Ovi senzori bit će smješteni na dvije dodatne pomoćne ploče koje će obavljati primarnu obradu.

Koristit ćemo I2C sabirnicu, ima dovoljno propusnosti za brzu komunikaciju s Arduino mikrokontrolerom. Žiroskopski senzor s adresom 0x68 ima brzinu ažuriranja informacija svakih 15 ms. Drugi senzor adrese 0x68 radi izravno iz mikrokontrolera. Imamo i prekidač opterećenja; on stavlja hoverboard u ravnotežni način rada kada je platforma u ravnom položaju. U ovom načinu rada, hoverboard ostaje na mjestu.

Tri drveni dijelovi, na kojem će se nalaziti naši kotači i elektromotori. Stup upravljača napravljen je od običnog drvenog štapa i bit će pričvršćen na prednji dio samog hoverboarda. Ovdje možete uzeti bilo koji štap, čak i dršku mopa. Potrebno je uzeti u obzir činjenicu da će baterije i drugi krugovi proizvoditi pritisak na platformu i time će se balansiranje malo rekonfigurirati, upravo u dijelu gdje će biti veći pritisak.

Motori trebaju biti ravnomjerno raspoređeni na desnoj i lijevoj strani platforme, a baterija treba biti maksimalno u sredini u posebnoj kutiji. Pričvršćujemo stup upravljača na uobičajene finte i pričvršćujemo spremni gumb na vrh palice. Odnosno, ako nešto pođe po zlu i pritisne se tipka, hoverboard će se isključiti. U budućnosti se ovaj gumb može pretvoriti u nožni dio ili prilagoditi određenom nagibu same platforme, ali to za sada nećemo raditi.

Unutarnji krug i lemljenje svih žica provodi se prema istoj shemi. Zatim moramo spojiti dva žiroskopska senzora na naš mikrokontroler, koristeći premosni krug s motorom, prema ovoj tablici.

Senzori za balansiranje trebaju biti postavljeni paralelno s tlom ili duž same platforme, ali senzori desnog i lijevog skretanja trebaju biti instalirani okomito na žiroskopske senzore.

Konfiguriranje senzora

Zatim konfiguriramo mikrokontroler i preuzimamo izvorni kod. Zatim morate provjeriti ispravan odnos između žiroskopskih senzora i senzora rotacije. Koristite program Arduino Terminal za programiranje i konfiguriranje hoverboarda. Potrebno je konfigurirati PID regulator ravnoteže. Činjenica je da možete odabrati motore različite snage i karakteristika, za njih će podešavanje biti drugačije.

Postoji nekoliko opcija u ovom programu. Prvi najvažniji parametar je Kp parametar, on je odgovoran za balansiranje. Prvo povećajte ovaj indikator kako bi hoverboard bio nestabilan, a zatim smanjite indikator na željeni parametar.

Sljedeći parametar je Ki parametar, on je odgovoran za ubrzanje hoverboarda. Kako se kut nagiba smanjuje, brzina se smanjuje ili povećava s obrnutim djelovanjem. i posljednji parametar je parametar Kd, on vraća samu platformu u ravni položaj i stavlja motore u način čekanja. U ovom načinu rada, hoverboard jednostavno stoji.

Zatim uključite gumb za napajanje Arduino mikrokontrolera i hoverboard prelazi u stanje mirovanja. Nakon što stanete na sam hoverboard, stojite s nogama na tipki, tako da hoverboard prelazi u "stacionarni" način rada. Senzori za balansiranje se uključuju i kada se kut nagiba promijeni, hoverboard se pomiče naprijed ili nazad. U slučaju bilo kakvih kvarova, hoverboard možete lako popraviti sami.

Razgovarajmo o tome kako možete koristiti Arduino za stvaranje robota koji održava ravnotežu poput Segwaya.

Segway s engleskog. Segway je stojeće vozilo na dva kotača opremljeno električnim pogonom. Zovu se još i hoverboardi ili električni skuteri.

Jeste li se ikada zapitali kako radi Segway? U ovom tutorialu pokušat ćemo vam pokazati kako napraviti Arduino robota koji se sam balansira kao Segway.

Kako bi uravnotežili robota, motori se moraju oduprijeti padu robota. Ova radnja zahtijeva povratne informacije i korektivne elemente. Element povratne veze - koji osigurava i ubrzanje i rotaciju u sve tri osi (). Arduino to koristi da zna trenutnu orijentaciju robota. Korektivni element je kombinacija motora i kotača.

Konačni rezultat trebao bi biti nešto poput ovoga:

Dijagram robota

L298N pogonski modul motora:

Motor s reduktorom istosmjerna struja s kotačem:

Samobalansirajući robot je u biti obrnuto njihalo. Može biti bolje uravnotežen ako je središte mase više u odnosu na osovine kotača. Više središte mase znači veći moment tromosti mase, što odgovara manjoj kutnoj akceleraciji (sporiji pad). Zato smo stavili bateriju na vrh. Međutim, visina robota odabrana je na temelju dostupnosti materijala :)

Dovršena verzija samobalansirajućeg robota može se vidjeti na gornjoj slici. Na vrhu se nalazi šest Ni-Cd baterija za napajanje PCB-a. Između motora koristi se 9-voltna baterija za pogon motora.

Teorija

U teoriji upravljanja, držanje neke varijable (u ovom slučaju položaja robota) zahtijeva poseban regulator koji se zove PID (proporcionalna integralna derivacija). Svaki od ovih parametara ima "dobitak", koji se obično naziva Kp, Ki i Kd. PID osigurava korekciju između željene vrijednosti (ili ulaza) i stvarne vrijednosti (ili izlaza). Razlika između ulaza i izlaza naziva se "greška".

PID regulator smanjuje pogrešku na najmanju moguću vrijednost kontinuiranim podešavanjem izlaza. U našem samouravnoteženju Arduino robot postavljen je ulaz (što je željeni nagib u stupnjevima). softver. MPU6050 očitava trenutni nagib robota i šalje ga PID algoritmu, koji izvodi izračune za kontrolu motora i održavanje robota u uspravnom položaju.

PID zahtijeva da vrijednosti Kp, Ki i Kd budu postavljene na optimalne vrijednosti. Inženjeri koriste softver kao što je MATLAB za automatski izračun tih vrijednosti. Nažalost, u našem slučaju ne možemo koristiti MATLAB jer će to još više zakomplicirati projekt. Umjesto toga, prilagodit ćemo PID vrijednosti. Evo kako to učiniti:

  1. Neka Kp, Ki i Kd budu jednaki nuli.
  2. Podesite Kp. Premali Kp uzrokovat će pad robota jer korekcija nije dovoljna. Previše Kp uzrokuje da robot divljački ide naprijed-natrag. Dobar Kp natjerat će robota da se prilično pomiče naprijed-natrag (ili malo oscilira).
  3. Nakon što je Kp postavljen, podesite Kd. Dobra vrijednost Kd smanjit će oscilacije sve dok robot ne postane gotovo stabilan. Osim toga, ispravan Kd će zadržati robota čak i ako je gurnut.
  4. Na kraju instalirajte Ki. Kada je uključen, robot će oscilirati čak i ako su postavljeni Kp i Kd, ali će se s vremenom stabilizirati. Ispravna Ki vrijednost će smanjiti vrijeme potrebno za stabilizaciju robota.

Ponašanje robota može se vidjeti u videu ispod:

Arduino kod za samobalansirajući robot

Za izradu našeg robota bile su nam potrebne četiri vanjske knjižnice. PID biblioteka pojednostavljuje izračun vrijednosti P, I i D. Biblioteka LMotorController koristi se za upravljanje dvaju motora s modulom L298N. Biblioteka I2Cdev i biblioteka MPU6050_6_Axis_MotionApps20 dizajnirane su za čitanje podataka s MPU6050. Možete preuzeti kod, uključujući biblioteke, u ovom repozitoriju.

#uključi #uključi #include "I2Cdev.h" #include "MPU6050_6Axis_MotionApps20.h" #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE #include "Wire.h" #endif #define MIN_ABS_SPEED 20 MPU6050 mpu; // MPU kontrola/status vars bool dmpReady = false; // postavi true ako je init DMP-a bio uspješan uint8_t mpuIntStatus; // drži stvarni bajt statusa prekida iz MPU-a uint8_t devStatus; // vrati status nakon svake operacije uređaja (0 = uspjeh, !0 = pogreška) uint16_t packetSize; // očekivana veličina DMP paketa (zadano je 42 bajta) uint16_t fifoCount; // broj svih bajtova trenutno u FIFO uint8_t fifoBuffer; // FIFO međuspremnik // orijentacija/gibanje vars Quaternion q; // spremnik kvaterniona VectorFloat gravity; // vektor gravitacije float ypr; //yaw/pitch/roll kontejner i vektor gravitacije //PID double originalSetpoint = 173; dvostruka zadana vrijednost = originalna zadana vrijednost; dvostruko pomicanje AngleOffset = 0,1; dvostruki ulaz, izlaz; //prilagodite ove vrijednosti kako bi odgovarale vašem dizajnu double Kp = 50; dvostruko Kd = 1,4; dvostruki Ki = 60; PID pid(&input, &output, &setpoint, Kp, Ki, Kd, ​​​​DIRECT); dvostruki motorSpeedFactorLeft = 0,6; dvostruki motorSpeedFactorRight = 0,5; //KONTROLER MOTORA int ENA = 5; int IN1 = 6; int IN2 = 7; int IN3 = 8; int IN4 = 9; int ENB = 10; LMotorController motorController(ENA, IN1, IN2, ENB, IN3, IN4, motorSpeedFactorLeft, motorSpeedFactorRight); volatile bool mpuInterrupt = false; // pokazuje da li je MPU prekidni pin prešao visok void dmpDataReady() ( mpuInterrupt = true; ) void setup() ( // pridruži se I2C sabirnici (I2Cdev biblioteka to ne čini automatski) #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE Wire.begin( ); TWBR = 24; // 400kHz I2C takt (200kHz ako je CPU 8MHz) #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE Fastwire::setup(400, true); #endif mpu.initialize(); devStatus = mpu.dmpInitialize(); // ovdje navedite vlastite pomake žiroskopa, skalirane za minimalnu osjetljivost mpu.setXGyroOffset(220); mpu.setYGyroOffset(76); mpu.setZGyroOffset(-85); mpu.setZAccelOffset(1788); // 1688 tvornički zadano za moj test čip // provjeri radi li (vraća 0 ako je tako) if (devStatus == 0) ( // uključi DMP, sada kada je spreman mpu.setDMPEnabled(true); // omogući Arduino otkrivanje prekidaInterrupt(0, dmpDataReady, RISING); mpuIntStatus = mpu.getIntStatus(); // postavite našu oznaku DMP Ready tako da funkcija main loop() zna da je u redu koristiti je dmpReady = true; // dobivanje očekivane veličine DMP paketa za kasniju usporedbu veličina paketa = mpu.dmpGetFIFOPacketSize(); //postavlja PID pid.SetMode(AUTOMATIC); pid.SetSampleTime(10); pid. PostaviOutputLimits(-255, 255); ) else ( // POGREŠKA! // 1 = početno učitavanje memorije nije uspjelo // 2 = ažuriranje DMP konfiguracije nije uspjelo // (ako će se pokvariti, obično će kod biti 1) Serial.print(F("DMP Inicijalizacija neuspješno (kod ")); Serial.print(devStatus); Serial.println(F()")); ) ) void loop() ( // ako programiranje nije uspjelo, ne pokušavajte ništa učiniti ako (!dmpReady ) return; // čekaj MPU prekid ili dodatni paket(e) koji je dostupan dok (!mpuInterrupt && fifoCount< packetSize) { //no mpu data - performing PID calculations and output to motors pid.Compute(); motorController.move(output, MIN_ABS_SPEED); } // reset interrupt flag and get INT_STATUS byte mpuInterrupt = false; mpuIntStatus = mpu.getIntStatus(); // get current FIFO count fifoCount = mpu.getFIFOCount(); // check for overflow (this should never happen unless our code is too inefficient) if ((mpuIntStatus & 0x10) || fifoCount == 1024) { // reset so we can continue cleanly mpu.resetFIFO(); Serial.println(F("FIFO overflow!")); // otherwise, check for DMP data ready interrupt (this should happen frequently) } else if (mpuIntStatus & 0x02) { // wait for correct available data length, should be a VERY short wait while (fifoCount < packetSize) fifoCount = mpu.getFIFOCount(); // read a packet from FIFO mpu.getFIFOBytes(fifoBuffer, packetSize); // track FIFO count here in case there is >1 paket dostupan // (ovo nam omogućuje da odmah pročitamo više bez čekanja na prekid) fifoCount -= veličina paketa; mpu.dmpGetQuaternion(&q, fifoBuffer); mpu.dmpGetGravity(&gravity, &q); mpu.dmpGetYawPitchRoll(ypr, &q, &gravity); ulaz = ypr * 180/M_PI + 180; ) )

Vrijednosti Kp, Ki, Kd mogu, ali i ne moraju funkcionirati. Ako ne, slijedite gore navedene korake. Imajte na umu da je nagib u kodu postavljen na 173 stupnja. Možete promijeniti ovu vrijednost ako želite, ali imajte na umu da je ovo kut nagiba koji robot mora održavati. Također, ako su vaši motori prebrzi, možete prilagoditi vrijednosti motorSpeedFactorLeft i motorSpeedFactorRight.

To je sve za sada. Vidimo se.

Je li doista moguće sami napraviti tako složenu spravu kao što je Segway? Ispostavilo se da je to moguće. Ako primijenite dovoljno marljivosti i koristite posebno znanje. To je učinio mladi inženjer po imenu Petter Forsberg, koji je diplomirao Švedsko tehnološko sveučilište Chalmers s diplomom iz automatizacije i mehatronike.

Uz znanje i vještine, trebalo bi mu i mnogo novca, kažete. Da, novac je bio potreban, ali ne puno, oko 300 eura, za kupnju određenog kompleta dijelova i opreme. Rezultat njegovog truda je u ovom videu:

Mehanika

Motori, kotači, lanci, zupčanici i baterije uzeti su s dva jeftina kineska električna skutera. Motori daju 24Volt, 300W, 2750 okretaja u minuti.

Prijenos se vrši od malog zupčanika na motoru do velikog zupčanika na upravljaču. Omjer je otprilike 6:1, ovaj visoki omjer je poželjan za bolji okretni moment i nižu najveću brzinu. Prijenos na 12-inčnom kotaču temeljio se na mehanizmu slobodnog hoda, pa su morale biti napravljene potrebne izmjene kako bi se kotač mogao pokretati u oba smjera.

Osnova platforme je fiksna osovina na kojoj se moraju okretati oba kotača. Osovina je pričvršćena s tri aluminijska bloka, koji su pričvršćeni s 5 mm postavljenim vijcima.

Kako bi se prilikom upravljanja Segwayem moglo okretati naginjanjem stupa upravljača ulijevo i udesno, u programu SolidWorks izrađen je crtež potrebnog dijela, nakon čega je isti izrađen na CNC stroju. Strojni program je napisan korištenjem CAMBAM-a. Ista je metoda korištena za izradu kutije s elektronikom i sastavljanje jedinice za kočenje u nuždi.

Upravljač budućeg Segwaya je običan upravljač bicikla, čija je cijev pričvršćena na šuplju čeličnu cijev od 25 mm. Kako bi stup upravljača bio centriran i osigurao određenu silu povratne sprege, korištene su dvije čelične opruge. Na upravljaču postoji i tipka za hitne slučajeve, koja je spojena na standardni relej iz automobila i može smanjiti snagu motora.

Za napajanje se koriste dvije olovne baterije od 12V 12Ah koje se koriste za motore od 24V.

Elektronika

svi tiskane ploče proizvedeni su posebno za ovaj razvoj. Glavna ploča brine se za izračune, prikuplja podatke sa senzora kao što su žiroskop (ADXRS614), akcelerometar (ADXL203) i trimpot, na temelju kojih može odrediti u kojem smjeru želite skrenuti.

Glavni procesor AVR ATmega168. Veza s prijenosnim računalom ostvaruje se putem Bluetootha pomoću RN-41. Dva H-mosta pretvaraju upravljačke signale s glavne ploče u snagu za motore. Svaki H-most ima ATmega168, komunikacija između ploča je preko UART-a. Sva elektronika radi na zasebnoj bateriji (LiPo 7.4V 900mAh).

Za lakši pristup punjenju baterija, programiranju glavne ploče, promjeni parametara regulacijske petlje, napravljena je kutijica s potrebnim konektorima, sklopkom za napajanje elektronike i trim potenciometrom na gornjoj strani.

Softver

Softver mikrokontrolera uglavnom se sastoji od filtra za žiroskop i akcelerometar te PD kontrolne petlje. Za test su uzeta dva filtera: Kalman i Complementatry. Ispostavilo se da je njihova izvedba vrlo slična, ali je Complementatry filter zahtijevao manje računanja, pa je odabran za upotrebu. Aplikacije su također napisane u Javi tako da možete vidjeti sve vrijednosti senzora i kontrolnih signala, stanje baterije itd.

Tehnička strana stvaranja Segwaya vlastitim rukama u ovom videu: