Prototipni razvojni model električnega vozička MECANUM MB-1/2020 je bil izdelan na osnovi naročila stranke za specifični namen. Osnovna ideja in cilj projekta je bila izdelava električnega vozička, ki ga bo mogoče krmiliti preko namensko razvite Bluetooth aplikacije.
Ko se avtoserviser pripelje na teren s kombiniranim vozilom, se na ciljni lokaciji najprej na vozilo namesti montažna rampa, po kateri je voziček mogoče zapeljati iz avta in nato do mikrolokacije izvedbe storitve. Med izvajanjem popravila je voziček možno po potrebi voziti okrog avtomobila in ob koncu storitve nazaj po rampi v kombinirano vozilo.
Voziček je torej namenjen transportu orodja na terenu v avtoservisni dejavnosti. Tako bo prototipni razvojni model v praksi seveda dopolnjen z orodjem in predali za le-to.
Zaradi obsežnosti tematike je članek razdeljen na dva dela. V prvem delu bomo predstavili blokovno shemo, konstrukcijsko rešitev, Mecanum kolesa in namensko razvito Android aplikacijo za krmiljenje električnega vozička. V naslednji številki nato sledi drugi del članka, ki bo zajemal električni načrt, načrtovanje elektromotornega pogonskega sklopa, razvito programsko rešitev in ugotovitve testiranja.
BLOKOVNA SHEMA
Cilj razvoja je bila optimalna rešitev, ki bi bila enostavna, cenovno ugodna in učinkovita. Sistemska napajalna napetost znaša 12 V, kar omogoča dodatni priklop avtomobilskega akumulatorja v primeru izpraznitve vgrajenega akumulatorja. Odločili smo se za uporabo mikrokrmilniške razvojne plošče ARDUINO MEGA ter izbrali DC elektromotorje in krmiljenje s pulzno širinsko modulacijo (PŠM). V ta namen smo uporabili močnostne krmilnike BTS7960, ki zmorejo do 43 A toka in do 27 V napajalne napetosti. Za to smo se odločili, ker ne potrebujemo popolnoma natančnega vodenja in menimo, da bo sistem krmiljenja s pulzno širinsko modulacijo (PŠM) deloval zadovoljivo.
Za Bluetooth povezavo smo uporabili modul HC-05. Napajanje mikrokrmilnika smo izvedli s pomočjo DC/DC pretvornika navzdol z oznako LM2596.
KONSTRUKCIJA
Zahteve za dimenzije vozička so bile:
• dolžina 125 cm,
• širina 46 cm,
• v sredinskem delu dvignjen toliko, da ga bomo lahko zapeljali iz vozila ter nazaj in pri tem ne bo nasedel.
Konstrukcija je izdelana iz 4 mm aluminijaste pločevine izrezane z laserjem in strojno upognjene. Z upogibanjem smo pridobili na mehanski trdnosti. Celotno konstrukcijo sestavljajo 4 deli. Zgoraj imamo pokrov, na katerega je možno priviti nadgradnjo, v sredinskem spodnjem delu pa je trup, kjer se nahaja krmilje in povezave. V sprednjem delu se nahajata dva pogonska sklopa, tipka za zasilni izklop in kontrolna LED.
Na zadnji strani vozička se nahajajo:
• glavno stikalo za vklop (1),
• tipka za zasilni izklop (2),
• LED prikazovalnik stanja vozička (3),
• priključek za polnjenje akumulatorja, 12 V, 20 Ah (4) in
• prikazovalnik stanja baterije med vožnjo (5).
V zadnjem delu imamo tudi 12 V akumulator s kapaciteto 20 Ah.
MECANUM KOLESA
Mecanum kolo je izumil inženir Bengt leta 1974. Kolo je sestavljeno iz vozlišča in več prosto gibljivih valjev, ki so nameščeni pod kotom 45°. Odvisno od kombinacije smeri gibanja posameznega kolesa se lahko pri krmiljenju 4 koles gibljemo v poljubni smeri, brez da bi se le-ta pri tem obračala (vsa kolesa so ves čas obrnjena v isto smer, vzporedno s konstrukcijo ohišja). Na sliki nam puščice ob kolesih prikazujejo smer vrtenja posameznega kolesa, v sredini pa puščica prikazuje smer gibanja vozička. Ob tem je potrebno omeniti še to, da vsa 4 kolesa niso enaka, saj se ločijo na leva in desna. Pri nabavi koles je torej potrebno paziti, da naročilo zajema dve levi in dve desni kolesi!
Na obravnavan prototip vozička so nameščena 152 mm Mecanum kolesa iz aluminija, z nosilnostjo 15 kg, naročena preko spletne strani www.robotshop.com. Naročilo je vsebovalo komplet 4 koles, dve levi in dve desni.
ANDROID APLIKACIJA in namestitev
Za izdelavo namensko razvite aplikacije za mobilno napravo z nameščenim Android operacijskim sistemom smo uporabili programsko okolje MIT App Inventor, ki je brezplačna in odprtokodna programska oprema ter je bila razvita v izobraževalne namene.
Po prijavi v spletno orodje je najprej potrebno kreirati nov projekt in ga shraniti. Sledi izdelava izgleda aplikacije na zaslonu (»Designer«).
Na vrhu smo v našem primeru postavili tekst z osnovnimi podatki o aplikaciji. V naslednji vrstici smo dodali »HorizontalArrangement2«. V to polje smo dodali gumb za povezovanje aplikacije z Bluetooth modulom. Ob ta gumb smo dodali še napis »STANJE POVEZAVE«. V tem polju sta možna dva izpisa. Če se nam izpiše »Povezava je vzpostavljena« v zeleni barvi, pomeni, da smo povezani, če pa se pojavi rdeč napis »Povezava je PREKINJENA«, pa bo pomenilo, da nimamo vzpostavljene povezave z Bluetooth modulom.
Nadaljevali smo s tabelo »TableArrangement1«, saj smo morali mrežo postaviti tako, da slike gumbov ostanejo v željeni poziciji. Izgled gumbov je najprej potrebno pripraviti v enem izmed bitnih ali vektorskih programov za grafično oblikovanje (Gimp, Inkscape, CorelDRAW, Photoshop, …), lahko pa bi uporabili gumbe, ki se kreirajo v aplikaciji.
Pri izvažanju izdelane grafične oblike je smiselno, da objekte izvozite v primerni velikosti in v formatu PNG s transparentnim ozadjem.
Sledi uvoz grafičnih objektov v MIT App Inventor, ki jih uvažamo posamično. Slike se naložijo v zavihek »Media« s pomočjo gumba »Upload File…«. Uvožene slike nato razporedimo v mrežo, ki smo jo določili za ozadje oblike na postavljenem zaslonu. Postavljenim gumbom določimo lastnosti ter jih poimenujemo. V našem primeru gre za tabelo s 5 stolpci in 9 vrsticami. V bistvu potrebujemo za postavitev potrebnih gumbov le 3 stolpce in 5 vrstic. Za večje število smo se odločili, da imamo med vsako vrstico in med vsakim stolpcem še en prazen prostor. Ta prostor bi lahko na primer koristil določevanju razmika med gumbi ali pa za vstavljanje dodatne grafike, kot so mrežne črte in podobno. Pri končnem izgledu smo v naši tabeli medprostore pustili prazne, so pa dodali nekaj razmika, ki se je izkazal za pravo odločitev.
Vsak gumb je potrebno smiselno poimenovati. Mi smo se za poimenovanje odločili na osnovi kombinacije pomena gumba in postavitve v izgledu aplikacije. Zgoraj levo je gumb, ki nam omogoča rotiranje vozička v proti-urini smeri. Določili smo mu ime »ROTIRA_LEVO« in še skrajšan tekst na gumbu »RL«. Določili smo mu velikost 120 pixels tako po višini kot tudi širini. Za vsak gumb smo določili sredinsko poravnavo teksta, ki je zapisan preko izbrane slike, in takšno barvo, da čim manj izstopa na zaslonu mobilne naprave, razviden pa je za razvijalca APP.
Iz slike je tudi razvidno, da smo pri razvoju aplikacije v MIT App Inventorju morali izbrati monitorsko ločljivost (Monitor size 1024×768), da smo lahko hkrati videli vse ikone. Za takšen pogled smo se odločili, saj je takšna velikost primerna za ločljivost današnjih aktualnih GSM naprav, kar smo pri prenosu APP na GSM ugotovili tudi sami.
V osnovnih nastavitvah (ko se v »Components« postavimo na osnovni zaslon – »Screen1«) določimo še ime aplikacije (»AppName«) in izberemo ikono (»Icon«), ki se bo pojavila na zaslonu telefona po namestitvi. Ko smo zadovoljni z izgledom aplikacije na zaslonu sledi programski del (zgoraj desno preklopimo iz »Designer« v »Blocks«).
Pri programiranju sem si najprej pogledal nekaj primerov, ki so na spletu:
http://appinventor.mit.edu/explore/ai2/hello-codi.html
https://sites.google.com/site/solaelektronikesers/home/bluetooth-krmiljenje-led-diod
Pri sestavljanju programske kode je najprej potrebno sprogramirati Bluetooth povezavo. Ko bomo pritisnili na gumb »POVEŽI«, nam bo v mobilni napravi prikazalo vse razpoložljive Bluetooth naprave. Nato izberemo pravo in naprava se bo povezala, ob gumbu pa se bo pojavil napis v zeleni barvi »Povezava je vzpostavljena«. Za vzpostavitev povezave je potrebno dodati »ListPicker« in ga pravilno sestaviti. Podroben postopek programiranja je opisan na omenjenih spletnih straneh.
Osnovna ideja prenosa podatkov za vsak pritisk in sprostitev gumba izhaja iz odločitve, da smo se odločili prenašati tekstovna sporočila. Ob pritisku na tipko pošljemo malo črko iz angleške abecede, za sprostitev tipke pa pošljemo enako, vendar veliko tiskano črko. Ob prenosu nam programska rešitev v Arduinu sprejme to kot številčno desetiško vrednost v skladu z desetiško vrednostjo iz ASCII tabele znakov.
Te vrednosti so pri nastavljeni hitrosti serijskega prenosa 9600 bps. Če spremenimo hitrost komunikacije, nam programska rešitev prebere druge vrednosti številk.
Naša končna verzija aplikacije se imenuje »Bezjak_VOZ_v10.2«. Potrebno jo je samo še izvoziti in namestiti na mobilno napravo. Postopek je sledeč:
1. Na spletni strani v MIT APP inventorju 2 se nahaja aplikacija, ki omogoča kreiranje QR kode.
2. Na GSM namestimo aplikacijo APP inventor 2, ki jo najdemo v »Trgovina Play«.
3. Na GSM-u zaženemo aplikacijo »MIT AI2 Companion« in izberemo opcijo »scan QR code«.
4. Aplikacija se namesti pod imenom »Bezjak_VOZ_V10.2«.
5. Za aplikacijo se namesti ikona , ki ima obliko sivega kroga, v katerem je vijolična puščica, obrnjena desno navzgor pod kotom 45°.
Postopek za povezovanje Bluetooth modula HC-05 z mobilno napravo je sledeč:
1. Na GSM aparatu je potrebno vklopiti Bluetooth povezavo.
2. Voziček je potrebno vklopiti in počakati nekaj sekund, da se elektronika zažene in Bluetooth modul začne komunicirati.
3. Na GSM aparatu v nastavitvah Bluetooth je potrebno najti Bluetooth modul, ki je nameščen na vozičku (modul HC-05).
4. Za povezavo Bluetooth modula HC-05 (na vozičku) z mobilno napravo je ob prvi povezavi (ali pa ko ga ponovno seznanjamo z napravo) potrebno vpisati kodo »1234«.
5. Ko se mobilna naprava in modul HC-05 povežeta, zaženemo aplikacijo za upravljanje vozička.
Zagon aplikacije na mobilni napravi in upravljanje vozička:
1. Aplikacijo zaženemo s pritiskom na ikono APP »Bezjak_VOZ_V10.2«.
2. Ob zagonu APP je najprej potrebno povezati APP in Bluetooth modul HC-05 – to naredimo s pritiskom na gumb »POVEŽI«, ki se nahaja na zgornjem levem vogalu zaslona. Ob zagonu aplikacije se ob gumbu izpiše »Povezava je PREKINJENA« (napis je v rdeči barvi).
3. Ob pritisku na gumb »POVEŽI«, se nam izpiše seznam naprav, ki so na voljo. Izberemo napravo: »98:D3:31:FC:17:32 HC-05«.
4. Če smo uspešno povezali mobilno napravo in HC-05, se ob gumbu pojavi napis »Povezava je vzpostavljena« (napis je v zeleni barvi).
Upravljanje aplikacije:
1. Aplikacija krmili voziček MB-1/2020.
2. S pritiskom na gumb za posamezno smer vožnje, se prične voziček gibati v izbrano smer.
3. Voziček se giblje v izbrano smer tako dolgo, dokler držimo gumb pritisnjen.
4. Ko gumb spustimo, se voziček prične ustavljati.
5. Šele ko en gumb spustimo, lahko vklopimo drugi gumb (hkrati ne moremo usmerjati vozička v dve smeri).
6. Osrednji gumb je rdeče barve in pomeni »STOP«.
7. S pritiskom na gumb »STOP« sunkovito (v trenutku) ustavimo vožnjo.
8. Pritisk na gumb za vsako smer vožnje povzroči postopni zagon vožnje (mehki zagon), sprostitev gumba pa povzroči postopno ustavljanje vožnje (mehko ustavljanje).
9. Ko izklopimo posamezno smer vožnje in izberemo drugo smer, se prehod med smermi vožnje izvede zvezno (mehki prehod).
Pri upravljanju vozička in Bluetooth komunikaciji obstaja možnost, da se kaj »zalomi« in ne deluje vse idealno. V ta namen smo pri izdelavi programske rešitve predvideli tudi način odpravljanja težav:
1. V primeru, da se voziček ne odziva ali se nekontrolirano pelje v določeno smer, ga je potrebno izklopiti.
2. Voziček izklopimo z napajalnim stikalom (1 / 0) s pritiskom na rdečo tipko »0«.
3. Za izklop vožnje se v primeru nujne potrebe po zaustavitvi uporabi tipka za izklop v sili, ki se nahaja na prednji in zadnji strani (pritisne se katerakoli tipka).
4. Ponovni zagon vožnje se izvede tako, da obe tipki za zasilni izklop izklopimo (zasukamo v desno in tipka se sprostiti – izskoči). Poleg tega moramo za 5 sekund izklopiti tudi napajanje.
5. Če mobilne naprave in modula HC-05 ne moremo povezati, je priporočljivo v Bluetooth nastavitvah mobilne naprave prekiniti povezavo in seznanitev s HC-05 ter ponovno seznaniti HC-05 z mobilno napravo.
ZAKLJUČEK
V prvem delu članka smo skušali predstaviti namen Mecanum električnega vozička MB-1/2020 in postopek razvoja. V grobem smo predstavili ključne sestavne dele in povezave. 3D model konstrukcijske rešitve bralcu omogoči razumevanje celote. Predstavljena so tudi izredno zanimiva Mecanum kolesa, ki se vedno več uporabljajo pri razvoju avtonomnih robotskih vozičkov. Bistveni del pa je bil razvoj aplikacije, ki omogoča krmiljenje vozička. Podrobno je predstavljen potek razvoja od ideje, oblikovanja gumbov, vizualne postavitve, do programske rešitve in namestitve aplikacije na mobilno napravo. Predstavljena rešitev je glede na naša prva testiranja zanesljiva, zato menimo, da bo tudi na končnem prototipnem modelu dolgoročno delovala brezhibno. Razvojno okolje MIT App Inventor se je izkazalo kot zelo dobra rešitev pri razvoju aplikacij za prototipne rešitve. Mi smo želeli zmanjšati količino prenesenih podatkov na minimum. Odločili smo se tudi, da pošiljamo podatke samo v eno smer in s tem zmanjšamo možnost napak pri prenosu. Kljub temu smo pri programski rešitvi upoštevali izpad komunikacije, ki nam iz varnostnih razlogov ustavi gibanje vozička. To pa je že tema, ki se ji bomo podrobneje posvetili v drugem delu članka, ki bo objavljen v naslednji številki…
Avtor: mag. Marjan Bezjak
Marjan Bezjak s. p.
marjan.bezjak@gmail.com