Turinys:

„OmniBoard“: riedlentė ir „Hoverboard“hibridas su „Bluetooth“valdymu: 19 žingsnių (su nuotraukomis)
„OmniBoard“: riedlentė ir „Hoverboard“hibridas su „Bluetooth“valdymu: 19 žingsnių (su nuotraukomis)

Video: „OmniBoard“: riedlentė ir „Hoverboard“hibridas su „Bluetooth“valdymu: 19 žingsnių (su nuotraukomis)

Video: „OmniBoard“: riedlentė ir „Hoverboard“hibridas su „Bluetooth“valdymu: 19 žingsnių (su nuotraukomis)
Video: Omniboard | #Shorts 2024, Liepa
Anonim
„OmniBoard“: riedlentė ir „Hoverboard“hibridas su „Bluetooth“valdymu
„OmniBoard“: riedlentė ir „Hoverboard“hibridas su „Bluetooth“valdymu

„OmniBoard“yra naujas elektrinis riedlentės-sklandančios lentos hibridas, valdomas naudojant „Bluetooth“išmaniųjų telefonų programą. Jis gali judėti su visais trimis laisvės laipsniais, pasiekiamais abiem lentomis, eiti į priekį, suktis aplink savo ašį ir pasukti į šoną.

Tai leidžia jums judėti bet kuria norima kryptimi, taip pat atlikti puikių gudrybių, kurių kitu atveju negalėtumėte su įprasta transporto rūšimi, pvz., (Elektrinėmis) riedlentėmis, sklandančiomis lentomis, automobiliais, dviračiais ir kt.

Mes su draugu nusprendėme sukurti „OmniBoard“kaip smagų pratimą ir iššūkį, taip pat dalyvauti keliuose „Instructables“konkursuose, būtent ratų iššūkyje. Mes norėjome padaryti tai, kas dar niekada nebuvo padaryta, yra šaunu ir būtų naudinga. Kadangi viešojo transporto sistema dažnai yra nepatikima, o miesto eismas siaubingas važiuojant ryte ir po pietų į darbą ir iš jo, naudinga alternatyvi transporto rūšis, pvz., Dviračiu ar riedlente. Elektrinės riedlentės ir dviračiai yra naudingi tolimojo susisiekimo kelionėms, tačiau šiai temai jau yra daug vartotojų ir „pasidaryk pats“sprendimų. Taigi nusprendėme pažodžiui išradinėti ratą ir sukurti naują ir linksmą „OmniBoard“.

1 žingsnis: įrankiai ir medžiagos

Įrankiai ir medžiagos
Įrankiai ir medžiagos
Įrankiai ir medžiagos
Įrankiai ir medžiagos
Įrankiai ir medžiagos
Įrankiai ir medžiagos

Pavaros sistema

  • (4) „Omni“ratai
  • (4) 60 dantų skriemulys
  • (4) 20 dantų skriemulys
  • (4) GT2 paskirstymo diržas (mes naudojome 140 dantų)
  • (8) 7 mm ID, 19 mm OD guolis*
  • (20) M5 (arba panašaus dydžio) mašininiai varžtai, maždaug 25 mm ilgio*
  • (28) Veržlės, tokio paties dydžio kaip mašininiai varžtai*
  • (32) Nr. 2 mediniai varžtai, 3/8 "ilgio*
  • (16) Kampiniai laikikliai, pageidautina keturios skylės, turi būti bent 1/2 colio atstumu nuo kampo iki varžto skylės*
  • 1'x2 'faneros lapas*
  • Riedlentės paviršius

Elektronika:

Pavaros sistema

  • (4) nuolatinės srovės varikliai
  • (4) Elektroniniai greičio reguliatoriai (ESC)
  • Maitinimo paskirstymo lenta (PBP)
  • 16AWG silikoninė viela - raudona ir juoda
  • XT90 jungties lygiagretus skirstytuvas
  • XT90 jungtis patinas su uodega
  • (8 poros) 4 mm kulkų jungtis
  • (4 poros) XT60 jungtys
  • (2) LiPo baterijos

Nuotolinio valdymo pultas

  • Dvipusė perforavimo lenta*
  • LM7805 įtampos reguliatorius*
  • 24AWG kieto branduolio laidai - įvairių spalvų*
  • HC-05 „Bluetooth“modulis*
  • „Arduino Uno“v3*
  • (32 kontaktų) Dvipusių vyriškų kaiščių antraštės*
  • (12 kontaktų) Vienpusės el. Kaiščių antraštės*

Įrankiai:

  • Litavimo stotis ir lydmetalis
  • Vielos pjaustytuvai
  • Vielos nuėmikliai
  • Replės
  • Žirklės
  • Gręžimo antgaliai: 1-3/8 ", 3/4", 1/4"

Įranga

  • 3D spausdintuvas
  • Lazerinis pjoviklis
  • Juostos pjūklas
  • Gręžimo presas

*Paimta iš vietinės elektronikos parduotuvės arba techninės įrangos parduotuvės.

2 žingsnis: kaip tai veikia

Kaip tai veikia
Kaip tai veikia

„Omniboard“yra elektrinė riedlentė ir sklandymo lenta viename! Jis gali judėti į priekį ir atgal, iš vienos pusės į kitą ir pasukti, visa tai valdoma telefono vairasvirte.

„Omniboard“maitina keturi varikliai, pritvirtinti prie visų krypčių rato. Kadangi „Omni“ratams leidžiama slysti į šoną, keičiant kiekvieno variklio greitį ir kryptį, lenta gali judėti bet kuria vartotojo pasirinkta kryptimi, kaip parodyta aukščiau esančiame paveikslėlyje.

3 žingsnis: „Omni“ratų ašių surinkimas

„Omni“ratų ašių surinkimas
„Omni“ratų ašių surinkimas
„Omni“ratų ašių surinkimas
„Omni“ratų ašių surinkimas
„Omni“ratų ašių surinkimas
„Omni“ratų ašių surinkimas
„Omni“ratų ašių surinkimas
„Omni“ratų ašių surinkimas

Ašims surinkti reikalingos šios dalys:

  • (8) 3D atspausdintas guolių tarpiklis
  • (4) 3D spausdintas didelis skriemulio tarpiklis
  • (8) Guolis
  • (4) Omni ratas
  • (4) Didelis skriemulys
  • (4) 3x3x80mm raktas

Pirma, jūs norite uždėti guolio tarpiklį ant veleno galo, kaip parodyta. Tarpiklis pagamintas taip, kad būtų labai tvirtai priglundantis, todėl rekomenduoju jį pritvirtinti naudojant kaištį arba plaktuką. Jei jis yra per daug laisvas, perkelkite jį šiek tiek aukščiau už rakto ir pritvirtinkite apykaklę. Jums nereikia jaudintis dėl apykaklės kitam galui.

Toliau stumkite „omni“ratą, o po to - guolio tarpiklį, nukreiptą priešinga kryptimi. Dabar galite užsukti guolius (nesvarbu, kad jie nėra prigludę) ir jis turėtų atrodyti kaip paveikslėlyje. Galiausiai galite įstumti ilgus plonus skriemulių tarpiklius į skriemulius. Šiuo metu neužveržkite skriemulių tvirtinimo varžtų ir nedėkite jų ant raktų. Tie ateina vėliau.

4 žingsnis: „Omni“ratinių sunkvežimių pjovimas ir gręžimas

Image
Image
Omni ratinių sunkvežimių pjovimas ir gręžimas
Omni ratinių sunkvežimių pjovimas ir gręžimas
Omni ratinių sunkvežimių pjovimas ir gręžimas
Omni ratinių sunkvežimių pjovimas ir gręžimas
Omni ratinių sunkvežimių pjovimas ir gręžimas
Omni ratinių sunkvežimių pjovimas ir gręžimas

Čia praverčia jūsų lazerinis pjaustytuvas ir 3/8 colių storio fanera! CAD, skirtas rėmo pjovimui lazeriu, yra pritvirtintas.dxf formatu.

Toliau gręžkite dvi skyles virš mažų kryžių, kuriuos lazerinis pjaustytuvas paliks ant faneros. Šiek tiek mažesnis kryžius bus gręžiamas 3/4 "antgaliu tik 1/4" iki galo, o didesnis kryžius bus gręžiamas 1-3/8 "antgaliu iki galo. Tai labai svarbu kad atsimenate, kad pusei gabalų iš vienos pusės išpjautumėte 3/4 colio skyles, o iš kitos pusės - kitą pusę. Toliau per 3/4 colių skylių vidurį išgręžkite mažesnę 3/8 colio skylę iki sluoksnio, kurio anksčiau nepjovėte.

Galiausiai prisukite kampinius laikiklius prie trumpesnių stačiakampių dalių pusių. Dabar turite beveik viską, ko reikia, norint surinkti ratinius sunkvežimius.

5 žingsnis: „Omni“ratinių sunkvežimių surinkimas

„Omni“ratinių sunkvežimių surinkimas
„Omni“ratinių sunkvežimių surinkimas
„Omni“ratinių sunkvežimių surinkimas
„Omni“ratinių sunkvežimių surinkimas
„Omni“ratinių sunkvežimių surinkimas
„Omni“ratinių sunkvežimių surinkimas

Dabar galime baigti sunkvežimio surinkimą! Jums reikės paskutinių dviejų žingsnių dalių ir:

  • (4) Paskirstymo diržas
  • (4) 3D spausdintas mažas skriemulio tarpiklis
  • (4) Mažas skriemulys
  • (4) Variklis

Kiekvieną faneros pusę uždėkite ant guolių. Jei 3/4 colio skylės lengvai netelpa ant guolių, naudokite „Dremel“šlifuodami juos šiek tiek plačiau. Kai jie užsifiksuos, uždėkite skriemulį ant išsikišusio rakto ir priveržkite varžtus. Įsukite stačiakampį gabalėlį į įpjova virš omni rato.

Šiuo metu patikrinkite, ar „omni“ratas laisvai sukasi. Jei ne, jūsų skriemulys gali prisispausti prie faneros. Pakelkite jį šiek tiek aukščiau už rakto.

Toliau mes sumontuosime variklius. 1-3/8 colių skylės yra šiek tiek per mažos, todėl lėtai šlifuokite vidinį apskritimą „Dremel“, kol variklis tvirtai įsitvirtins viduje. Būkite atsargūs, kad variklis neįsiverstų ir nesugadintų Kai variklis yra savo vietoje, perkelkite diržą ant mažų skriemulių, tada mažus skriemulius virš jų tarpiklių ir ant 3,175 mm variklio veleno.

Siekdami kompaktiškumo ir simetrijos, skriemulius ir diržus norėsite įdėti į vieną sunkvežimio pusę dviem, o kitą - kitoms dviem.

6 žingsnis: montavimas prie riedlenčių platformos

Montavimas prie riedlenčių platformos
Montavimas prie riedlenčių platformos
Montavimas prie riedlenčių platformos
Montavimas prie riedlenčių platformos
Montavimas prie riedlenčių platformos
Montavimas prie riedlenčių platformos

Dabar sunkvežimius pritvirtinsime prie riedlenčių platformos. Jūs galite padaryti savo iš faneros ir sugriebimo juostos; mūsiškis buvo paimtas iš senos riedlentės.

Pirma, norėsite išgręžti 1/4 colio skylutes abiejose faneros pusėse, kaip parodyta paveikslėlyje. Kiekvienoje skylėje pritvirtinkite kampinį laikiklį su M5 varžtu ir dvigubą veržlę vidinėje pusėje, kad jis nepatektų atsilaisvinęs dėl vibracijos. Išmatuokite ir išgręžkite skyles, leidžiančias sunkvežimius montuoti kuo arčiau galų ir kuo staigesniu kūgio kampu, išlaikant perono pėdsaką. Dabar apverskite ir atlikite apkrovos bandymą !

7 žingsnis: variklių litavimas

Image
Image
Variklių litavimas
Variklių litavimas

Lituokite 4 mm kulkos jungtis prie laido, kuris bus prijungtas prie variklių, tada lituokite šį laidą ant variklio gnybtų. Kabelių organizavimui kiekvienas laidas supjaustomas iki 6 cm ir nuimamas iš abiejų galų

Patarimas: lengviau lituoti laidus ant kulkų jungčių, o po to - prie variklio, nei atvirkščiai.

Norėdami prilituoti kulkos jungtį prie vielos, padėkite ją ant izoliuotos pagalbos rankos aligatoriaus spaustuko (nes šiluma greitai išsisklaido iš kulkos jungties korpuso į metalinį, šilumą laidų pagalbos ranką). Tada sujunkite šiek tiek lydmetalio ant kulkos jungties, maždaug iki pusės ir, laikydami lygintuvą jungtyje, pamerkite laidą ant litavimo baseino, kaip parodyta vaizdo įraše. Tada kaitinkite laidą ir kulkos jungtį.

Tada padėkite laidą šalia variklio gnybto ir pagalbos ranka laikykite jį vertikaliai. Naudojau litavimo ritinėlį, kad variklis būtų apverstas aukštyn kojomis. Tada lituokite laidą ant variklio gnybto. Laidų tvarka ir spalva yra dviprasmiški ir nesvarbūs, nes užsakymą galima pakeisti, kad sukimasis būtų atvirkštinis, o prireikus tai bus daroma kituose žingsniuose.

8 žingsnis: ESC akumuliatoriaus jungčių litavimas

Litavimo ESC akumuliatorių jungtys
Litavimo ESC akumuliatorių jungtys
Litavimo ESC akumuliatorių jungtys
Litavimo ESC akumuliatorių jungtys

Prieš litavimą, kiekvienam laidui, kuris bus naudojamas apšiltintiems lituotiems galams izoliuoti, šiek tiek sumažinkite šilumos susitraukimą.

Nupjaukite vieną iš laidų prie akumuliatoriaus jungties, nuimkite jį, įkiškite šilumos susitraukimą ir prilituokite prie XT60 jungties, raudonai jungdami prie teigiamo XT60 gnybto, o juodą - prie neigiamo XT60 gnybto.

Įspėjimas: ESC laidus pjaukite tik po vieną, nes tarp teigiamo ir neigiamo gnybtų gali būti įkrautas kondensatorius, kuris sutrumpės, jei žirklės ar vielos pjaustytuvai vienu metu perpjauna abu.

Norėdami prilituoti laidą prie XT60 jungties, pagalbos rankomis laikykite XT60 jungties korpusą. Tada sujunkite lydmetalį prie XT60 gnybto maždaug iki pusės ir, laikydami lituoklį ant XT60 jungties, pamerkite laidą į skysto litavimo baseiną, kaip parodyta ankstesnio veiksmo vaizdo įraše. Atvėsus, nuleiskite šilumos susitraukiklį žemyn, kad izoliuotumėte atvirą galą, ir pašildykite jį lituoklio šonais.

Pakartokite tai likusiems ESC akumuliatorių jungčių laidams.

9 veiksmas: maitinimo paskirstymo plokštės (PBP) litavimas

Maitinimo paskirstymo plokštės (PBP) litavimas
Maitinimo paskirstymo plokštės (PBP) litavimas
Maitinimo paskirstymo plokštės (PBP) litavimas
Maitinimo paskirstymo plokštės (PBP) litavimas
Maitinimo paskirstymo plokštės (PBP) litavimas
Maitinimo paskirstymo plokštės (PBP) litavimas
Maitinimo paskirstymo plokštės (PBP) litavimas
Maitinimo paskirstymo plokštės (PBP) litavimas

PBP bus įvestos iš dviejų ličio polimerų (LiPo) baterijų, kurių bendra įtampa ir srovė yra atitinkamai 11,1 V ir 250 A, ir paskirstys ją keturiems ESC.

Patarimas: Pirmiausia lengviau lituoti XT90 jungties laidus prie PBP trinkelių, tada 16 AWG laidų prie ESC, o po to XT60 jungtis prie šių laidų.

Prieš lituodami laidus, sumažinkite šilumos susitraukimą, kad jis atitiktų kiekvieną laidą, kad vėliau jį būtų galima nuslysti ant atviro lituoto galo, kad būtų išvengta trumpojo jungimo.

Norėdami prilituoti laidus prie PBP trinkelių, man atrodė, kad lengviausia naudoti pagalbos rankas, kad laikytumėte laidus vertikaliai (ypač didelį XT90 kabelį) ir padėtumėte jį ant stalviršio, esančio ant stalo. Tada lituokite laidą aplink PBP trinkelę. Tada pastumkite šilumos susitraukiklį žemyn ir pašildykite, kad izoliuotumėte grandinę.

Pakartokite tai likusiems ESC laidams.

Norėdami lituoti XT60, atlikite ankstesnį žingsnį, kaip ESC akumuliatoriaus gnybtas buvo pakeistas XT60.

10 veiksmas: laidų prijungimas

Laidų prijungimas
Laidų prijungimas

Prijunkite variklio laidus prie ESC kulkos jungties gnybtų. Tada prijunkite baltą signalinį kaištį iš ESC prie 9 kaiščio ir juodą įžeminimo kaištį prie „Arduino“GND kaiščio. Dvigubos užrakto juostos buvo naudojamos visiems ESC ir laidams pritvirtinti prie plokštės.

Norėdami patikrinti, ar varikliai sukasi teisingai (sukasi į priekį), paleiskite pavyzdinį kodą „Arduino“apačioje.

#įtraukti

Servo variklis;

baitas pagal laikrodžio rodyklęSpeed = 110; nepasirašytas ilgas intervalas = 1500; int motorPin = 9;

negaliojanti sąranka ()

{Serial.begin (9600); motor.attach (motorPin); Serial.println („Pradžios testas“); }

tuštumos kilpa ()

{motor.write (pagal laikrodžio rodyklę); Serial.println („Sustabdyti variklio sukimąsi“); vėlavimas (intervalas); }

Laidų, prijungtų nuo ESC prie variklio, tvarka lemia variklio sukimąsi. Jei variklis sukasi prieš laikrodžio rodyklę, atkreipkite dėmesį į variklį ir pakeiskite valdiklio kodo loginę reikšmę žingsnyje „Omniboard Controller programavimas“. Jei jis sukasi pagal laikrodžio rodyklę į priekį, tada sukimasis teisingas. Padarykite tai kiekvienam iš keturių variklių. Jei variklis nesisuka, dar kartą patikrinkite visas jungtis, ar nėra šalto lydmetalio, dėl kurio jungtis yra laisva.

11 veiksmas: pakeiskite ESC režimą

ESC režimo keitimas
ESC režimo keitimas

Pagal numatytuosius nustatymus šukuotiniai ESC veikia praktiniu režimu. Tai rodo mirksinti LED lemputė. Norint programiškai valdyti variklį priešinga kryptimi, reikalingas laipiojimo režimas.

Norėdami pasiekti šį režimą, prijunkite ESC prie „Arduino“, prijunkite baltą signalinį kaištį iš ESC prie 9 kaiščio ir juodą įžeminimo kaištį prie „Arduino“GND kaiščio. Tada įkelkite ir paleiskite šią programą į „Arduino“lentą:

#įtraukti

Servo variklis;

baitų stopSpeed = 90; nepasirašytas ilgas intervalas = 1500; int motorPin = 9;

negaliojanti sąranka ()

{Serial.begin (9600); motor.attach (motorPin); Serial.println („Pradžios testas“); }

tuštumos kilpa ()

{motor.write (stopSpeed); Serial.println („Sustabdyti variklio sukimąsi“); vėlavimas (intervalas); }

Įjunkite ESC, tada paspauskite ir dvi sekundes palaikykite programavimo mygtuką. LED indikatorius dabar bus pastovus, o ne mirksės, o tai reiškia, kad režimas sėkmingai pakeistas į laipiojimo režimą.

12 veiksmas: sąsaja su „Bluetooth“moduliu ir telefonu

Sąsaja su „Bluetooth“moduliu ir telefonu
Sąsaja su „Bluetooth“moduliu ir telefonu
Sąsaja su „Bluetooth“moduliu ir telefonu
Sąsaja su „Bluetooth“moduliu ir telefonu
Sąsaja su „Bluetooth“moduliu ir telefonu
Sąsaja su „Bluetooth“moduliu ir telefonu

„HC-05“„Bluetooth“modulis leidžia „Arduino“prisijungti prie telefono, kad būtų galima belaidžiu būdu valdyti riedlentę per programą. Kadangi radau problemų, susijusių su tam tikromis „Bluetooth“modulio sąsajų klaidomis, prieš lituodami galutinę grandinę, geriau ją išbandyti, Mes naudosime 4 iš 6 „Bluetooth“modulio kaiščių. Tai yra: Tx (perdavimas), Rx (priėmimas), 5V ir GND (žemė). Prijunkite „Tx“ir „Rx“kaiščius iš „HC-05“„Bluetooth“modulio prie atitinkamai „Arduino“10 ir 11 kaiščių. Tada prijunkite 5V kaištį ir GND kaiščius prie kaiščių, kurių etiketė yra tokia pati „Arduino“.

„Blynk“programoje pridėkite „Bluetooth“ir mygtukų valdiklius, kaip parodyta aukščiau esančiuose paveikslėliuose. Tada mygtukui priskirkite skaitmeninį kaištį D13, kuris yra prijungtas prie „Arduino Uno“įmontuoto šviesos diodo.

Įkelkite ir paleiskite šį kodą į „Arduino“, kai prijungtas „Bluetooth“modulis, ir atidarykite nuoseklųjį monitorių, kad pamatytumėte, ar „Bluetooth“modulis prijungtas. Tada perjunkite įjungimo/išjungimo mygtuką ir stebėkite įmontuotą „Arduino“šviesos diodą.

#define BLYNK_PRINT Serialas

#įtraukti

#įtraukti

// „Blynk“programoje turėtumėte gauti „Auth Token“.

// Eikite į projekto nustatymus (veržlės piktograma). char auth = "Jūsų autentifikavimo ženklas";

„SoftwareSerial SerialBLE“(10, 11); // RX, TX

BLYNK_WRITE (V1)

{int pinValue = param.asInt (); // gaunamos vertės priskyrimas iš kištuko V1 kaiščio}

negaliojanti sąranka ()

{Serial.begin (9600); // derinimo pultas SerialBLE.begin (9600); Blynk.begin (SerialBLE, aut.); Serial.println ("Laukiama jungčių …"); }

tuštumos kilpa ()

{Blynk.run (); }

13 žingsnis: „Arduino“skydo litavimas

Arduino skydo litavimas
Arduino skydo litavimas
Arduino skydo litavimas
Arduino skydo litavimas
Arduino skydo litavimas
Arduino skydo litavimas
Arduino skydo litavimas
Arduino skydo litavimas

Norėdami išvalyti grandinę ir atlaisvinti jungiamuosius laidus nuo prototipo, lituosime „Arduino“skydą, jungiantį prie kiekvieno ESC ir „Bluetooth“modulio, taip pat maitinimo šaltinį „Arduino“.

Lituokite šią schemą aukščiau ant dvipusės perforavimo plokštės.

Aš pirmiausia išmatavau ir prijungiau dvipusių vyriškų kaiščių antraštes prie „Arduino“moterų antgalių, o po to lituodavau į viršutinę abiejų pusių perf plokštės pusę. Kai jie buvo lituojami, aš jį pašalinau iš „Arduino“plokštės, kad lituosiu apatinę plokštės dalį. Tada aš lituodavau ESC vienpusių vyriškų kaiščių antraštes 4 rinkiniuose po 3 ant apatinės plokštės pusės. Po to aš pastatiau „HC-05“„Bluetooth“modulį vertikaliai ir lituodavau jungtis ant apatinės plokštės pusės.

Kadangi „Bluetooth“moduliui reikia 5 V įtampos įvesties, o PDB yra reguliuojamas tik iki 12 V, aš naudoju LM7805, kad sumažintų srovę, kad apribotumėte srovę iš „Arduino“. Tas pats 5 V maitinimas taip pat yra prijungtas prie „Arduino“5 V kaiščio, kad „Arduino“būtų galima maitinti per skydą, o ne papildomą statinio lizdo adapterį.

LM7805 kaiščiai buvo lituojami prie apatinės perf plokštės pusės, o įtampos reguliatoriaus komponentas sėdi ant perf plokštės, kaip parodyta aukščiau esančiame paveikslėlyje. Aš prijungiau visas maitinimo jungtis prie kiekvieno komponento ir ESC kaiščių antraščių bei „HC-05“„Bluetooth“modulio, kaip aprašyta schemoje. Tada PBP 12 V išėjimas buvo lituojamas prie įtampos reguliatoriaus LM7805 VCC įvesties (labiausiai kairėje) kaiščio ir įžeminimo kaiščio (viduryje). Galiausiai, kiekviena iš ESC signalo kaiščių antraščių ir „HC-05“„Bluetooth“modulio „Tx“ir „Rx“kaiščių prie „Arduino“skaitmeninių kaiščių per dvipuses vyriškų kaiščių antraštes, kaip parodyta schemoje.

14 veiksmas: sukurkite programą per „Blynk“

Programos kūrimas per „Blynk“
Programos kūrimas per „Blynk“

„Omniboard“bus valdomas per „Bluetooth“naudojant bet kurį išmanųjį telefoną per „Blynk“programą. „Blynk“yra „Android“ir „iOS“programa, leidžianti naudoti modulius ir valdiklius, kurie gali sąveikauti su keliais mikrovaldikliais, turinčiais „Bluetooth“ar belaidžio ryšio galimybes, arba „Bluetooth“/ belaidžiais moduliais, pvz., HC-05.

1. Įdiekite „Blynk“į savo telefoną.

2. Sukurkite paskyrą ir prisijunkite

3. Sukurkite naują projektą ir pavadinkite jį. Aš pavadinau savo „Omniboard“valdiklį, mikrovaldikliu pasirinkau „Arduino Uno“, o sąsajos tipu - „Bluetooth“.

4. Vilkite ir numeskite šiuos valdiklius ekrane: „Bluetooth“, Žemėlapis, 2 mygtukai ir vairasvirtė

15 veiksmas: valdiklių sąsaja su „Arduino“

Sąsajos valdikliai su „Arduino“
Sąsajos valdikliai su „Arduino“
Sąsajos valdikliai su „Arduino“
Sąsajos valdikliai su „Arduino“
Sąsajos valdikliai su „Arduino“
Sąsajos valdikliai su „Arduino“

Mygtukas bus naudojamas perjungiant „Hoverboard“režimą ir „Skateboard“režimą. „Hoverboard“režimas leidžia tiksliai valdyti sukimąsi ir judėjimą, išlaikant kreiserinį greitį. Riedlenčių režimas leidžia tiksliai valdyti judėjimo greitį ir sukimąsi. Vairasvirtė valdys riedlentę dviem laisvės laipsniais, kuriuos pakeis perjungimo mygtukas. Žemėlapyje bus rodoma jūsų dabartinė vieta ir kelio taškai, į kuriuos reikia nuvykti. „Bluetooth“leidžia sąsajai prisijungti prie „Bluetooth“modulio.

Vairasvirtės nustatymai:

Išvesties tipui pasirinkite „Sujungti“ir priskirkite jį virtualiam kaiščiui V1

Mygtuko nustatymas:

  • Pirmąjį mygtuką pavadinkite „Hover Mode“, o antrąjį - „Cruise Control“.
  • Pirmojo mygtuko išvestį priskirkite virtualiam kaiščiui V2 ir pakeiskite režimą į „Perjungti“.
  • Antrojo mygtuko išvestį priskirkite virtualiam kaiščiui V3 ir pakeiskite režimą į „Perjungti“.
  • Pervardykite pirmųjų mygtukų perjungimo pavadinimus į „Hover“ir „Skate“ir palikite „ON“ir „OFF“.

Žemėlapio nustatymai:

Priskirkite įvestį V4

„Bluetooth“nustatymai:

Programoje „Blynk“pasirinkite „Bluetooth“valdiklį ir prisijunkite prie savo modulio. Numatytasis „Bluetooth“modulio slaptažodis yra „1234“

16 veiksmas: „Omniboard“valdiklio programavimas

„Omniboard“valdiklio programavimas
„Omniboard“valdiklio programavimas
„Omniboard“valdiklio programavimas
„Omniboard“valdiklio programavimas
„Omniboard“valdiklio programavimas
„Omniboard“valdiklio programavimas

„Omniboard“dinamika buvo užprogramuota remiantis dinamikos algoritmu, gautu iš skyriaus „Kaip tai veikia“. Kiekvienas iš 3 laisvės laipsnių, į priekį, pasukimas ir sukimasis yra apskaičiuojamas nepriklausomai ir yra vienas ant kito uždedamas, kad būtų užtikrintas visas „Omniboard“judesių valdymas. Kiekvieno variklio valdymas yra tiesiškai proporcingas vairasvirtės judėjimui. Įkelkite ir paleiskite šį kodą į „Arduino“.

#define BLYNK_PRINT Serialas

#įtraukti

#įtraukti

#įtraukti

Servo variklis FR; Servo variklisFL; Servo variklisBR; Servo variklisBL;

bool motorFRrev = tiesa;

bool motorFLrev = tiesa; bool motorBRrev = tiesa; bool motorBLrev = tiesa;

plūdinis variklisFRang = 330,0*PI/180,0;

plūdinis variklisFLang = 30,0*PI/180,0; plūdinis variklisBRang = 210,0*PI/180,0; plūdinis variklis BLang = 150,0*PI/180,0;

plūdinis variklisFRspeedT;

plūdinis variklisFLspeedT; plūdinis variklisBRspeedT; plūdinis variklis BLspeedT;

plūdinis variklisFRspeedR;

plūdinis variklisFLspeedR; plūdinis variklisBRspeedR; plūdinis variklis BLspeedR;

plūdė maxAccel = 10;

baitas „forwardSpeed“= 110;

baitų atgalSpeed = 70; baitų stopSpeed = 90; // pakeisti į eksperimentiškai atmestą skaičių

int cruiseControl;

int yawMode;

// „Blynk“programoje turėtumėte gauti „Auth Token“.

// Eikite į projekto nustatymus (veržlės piktograma). char auth = "8523d5e902804a8690e61caba69446a2";

„SoftwareSerial SerialBLE“(10, 11); // RX, TX

BLYNK_WRITE (V2) {cruiseControl = param.asInt ();}

BLYNK_WRITE (V3) {yawMode = param.asInt ();} WidgetMap myMap (V4);

BLYNK_WRITE (V1)

{int x = param [0].asInt (); int y = param [1].asInt ();

if (! cruiseControl) calcTranslation (x, y);

if (yawMode) calcRotation (x, y); else {motorFRspeedR = 0; motorFLspeedR = 0; motorBRspeedR = 0; variklio BLspeedR = 0; } writeToMotors (); }

negaliojanti sąranka ()

{motorFR.attach (9); motorFL.attach (6); motorBR.pritvirtinimas (5); motorBL.attach (3); vėlavimas (1500); // laukti, kol varikliai inicijuos // Derinimo pultas Serial.begin (9600);

SerialBLE.begin (9600);

Blynk.begin (SerialBLE, aut.);

Serial.println ("Laukiama jungčių …");

// Jei norite pašalinti visus taškus:

//myMap.clear ();

int indeksas = 1;

plūdės plotis = 43.653172; plūdė lon = -79,384042; myMap.location (indeksas, latas, lon, „vertė“); }

tuštumos kilpa ()

{Blynk.run (); }

void calc Vertimas (int joyX, int joyY)

{plūdės normaX = (džiaugsmasX - 127,0) /128,0; plūdės normaY = (džiaugsmasY - 127,0) /128,0; motorFRspeedT = (normY*cos (motorFRang) + normX*sin (motorFRang))*(1 - 2*motorFRrev); motorFLspeedT = (normY*cos (motorFLang) + normX*sin (motorFLang))*(1 - 2*motorFLrev); motorBRspeedT = (normY*cos (motorBRang) + normX*sin (motorBRang))*(1 - 2*motorBRrev); motorBLspeedT = (normY*cos (motorBLang) + normX*sin (motorBLang))*(1 - 2*motorBLrev); }

tuščias skaičiavimas Sukimas (int joyX, int joyY)

{plūdės normaX = (džiaugsmasX - 127,0) /128,0; plūdės normaY = (džiaugsmasY - 127,0) /128,0; motorFRspeedR = joyX*(1 - 2*motorFRrev); motorFLspeedR = -joyX*(1 - 2*motorFLrev); motorBRspeedR = -joyX*(1 - 2*motorBRrev); motorBLspeedR = joyX*(1 - 2*motorBLrev); }

void writeToMotors ()

{plūdinis variklisFRspeed = motorFRspeedT + motorFRspeedR; plūdinis variklisFLspeed = motorFLspeedT + motorFLspeedR; plūdinis variklisBRspeed = motorBRspeedT + motorBRspeedR; plūdinis variklisBLspeed = motorBLspeedT + motorBLspeedR;

ilgas variklisFRmapped = žemėlapis ((ilgas) (100*motorFRspeed), -100, 100, backSpeed, forwardSpeed);

ilgas variklisFLmapped = žemėlapis ((ilgas) (100*motorFLspeed), -100, 100, backSpeed, forwardSpeed); ilgas variklisBRmapped = žemėlapis ((ilgas) (100*motorBRspeed), -100, 100, backSpeed, forwardSpeed); ilgas variklisBLmapped = žemėlapis ((ilgas) (100*motorBLspeed), -100, 100, backSpeed, forwardSpeed); motorFR.write (motorFRmapped); motorFL.write (motorFLmapped); motorBR.write (motorBRmapped); motorBL.write (motorBLmapped); }

17 žingsnis: Elektronikos korpuso montavimas

Elektronikos korpuso montavimas
Elektronikos korpuso montavimas
Elektronikos korpuso montavimas
Elektronikos korpuso montavimas
Elektronikos korpuso montavimas
Elektronikos korpuso montavimas
Elektronikos korpuso montavimas
Elektronikos korpuso montavimas

Kad visi laidai ir dalys nekabėtų iš apačios, 3D spausdinkite pritvirtintą korpusą, tada prisukite jį prie riedlentės naudodami M5 varžtus.

18 žingsnis: tapyba

Tapyba
Tapyba
Tapyba
Tapyba
Tapyba
Tapyba

Viršutinio denio dizaino įkvėpimas yra PCB grandinės ir modeliai. Norėdami tai padaryti, pirmiausia riedlentės apačia yra uždengta mano vyniojamojo dailininko juosta. Tada visas viršutinis denis yra padengtas baltais dažais. Kai jis išdžiūsta, jis užmaskuotas grandinės modelio neigiamu, tada perdažomas juodu sluoksniu. Tada atsargiai nulupkite kaukes nuo viršutinio sluoksnio ir voila, šauniai atrodanti riedlentė.

Aš raginu jus pritaikyti dizainą savo „Omniboard“ir naudotis savo kūrybine laisve.

19 veiksmas: bandymas ir demonstracija

Image
Image

Antrasis prizas ratų konkurse 2017 m

Nuotolinio valdymo konkursas 2017 m
Nuotolinio valdymo konkursas 2017 m

Pirmasis prizas nuotolinio valdymo konkurse 2017 m

Rekomenduojamas: