Sisukord:

OmniBoard: rula ja hõljuklaua hübriid Bluetooth -juhtimisega: 19 sammu (piltidega)
OmniBoard: rula ja hõljuklaua hübriid Bluetooth -juhtimisega: 19 sammu (piltidega)

Video: OmniBoard: rula ja hõljuklaua hübriid Bluetooth -juhtimisega: 19 sammu (piltidega)

Video: OmniBoard: rula ja hõljuklaua hübriid Bluetooth -juhtimisega: 19 sammu (piltidega)
Video: Directive 1 All Day, Every Day! - Roulette's Play: Part 2 - Let's Play Robocop: Rogue City 2024, Juuli
Anonim
OmniBoard: rula ja hõljuklaua hübriid Bluetooth -juhtimisega
OmniBoard: rula ja hõljuklaua hübriid Bluetooth -juhtimisega

OmniBoard on uudne elektriline rula-hõljuklaua hübriid, mida saab juhtida Bluetooth-nutitelefonirakenduse kaudu. See on võimeline liikuma kõigi kolme vabadusastmega, mis on saavutatavad mõlema lauaga kombineeritult, edasi, pöörleb ümber oma telje ja liigub külgsuunas.

See võimaldab teil liikuda soovitud suunas ja teha toredaid nippe, mida te muidu tavalise transpordiliigiga (nt elektrilised) rulad, hõljuklauad, autod, jalgrattad jne ei suudaks.

Otsustasime sõbrannaga ehitada OmniBoardi lõbusaks harjutuseks ja väljakutseks ning osaleda ka mõningatel Instructabeli võistlustel, nimelt rataste väljakutsel. Tahtsime teha midagi sellist, mida pole kunagi varem tehtud, on lahe ja oleks kasulik. Kuna ühistranspordisüsteem on sageli ebausaldusväärne ja linnaliiklus on hommikul ja pärastlõunal tööle ja tagasi sõites kohutav, on kasulik alternatiivne transpordiliik, näiteks jalgrattasõit või rula. Elektrilised rulad ja jalgrattad on kasulikud kaugele sõitmiseks, kuid sellel teemal on juba palju tarbija- ja isetegemislahendusi. Nii otsustasime ratta leiutada sõna otseses mõttes ja teha uus ja lõbus OmniBoard.

Samm: tööriistad ja materjalid

Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid
Tööriistad ja materjalid

Ajami süsteem

  • (4) Omni rattad
  • (4) 60 hambaratast
  • (4) 20 hambaratast
  • (4) GT2 hammasrihm (kasutasime 140 hammast)
  • (8) 7mm ID, 19mm OD laager*
  • (20) M5 (või sarnase suurusega) masinakruvid, umbes 25 mm pikad*
  • (28) Pähklid, sama suured kui masinakruvid*
  • (32) nr 2 puidukruvi, 3/8 "pikk*
  • (16) Nurgaklambrid, eelistatavalt neli auku, peavad olema nurgast kruviauguni vähemalt 1/2 tolli*
  • 1'x2 'vineerileht*
  • Rula pind

Elektroonika:

Ajami süsteem

  • (4) Alalisvoolumootorid
  • (4) Elektroonilised kiirusregulaatorid (ESC)
  • Toitejaotusplaat (PDB)
  • 16AWG silikoontraat - punane ja must
  • XT90 pistiku paralleeljagur
  • XT90 pistik isase sabaga
  • (8 paari) 4 mm kuuliühendus
  • (4 paari) XT60 pistikud
  • (2) LiPo akud

Pult

  • Kahepoolne perflaud*
  • LM7805 pingeregulaator*
  • 24AWG ühetuumalised juhtmed - erinevat värvi*
  • HC-05 Bluetooth-moodul*
  • Arduino Uno v3*
  • (32 tihvtiga) kahepoolsed isast nööpnõelad
  • (12 kontaktiga) Ühepoolsed ale pin-päised*

Tööriistad:

  • Jootmisjaam ja jootma
  • Traadilõikurid
  • Traadi eemaldajad
  • Tangid
  • Käärid
  • Puurid: 1-3/8 ", 3/4", 1/4"

Varustus

  • 3D printer
  • Laserlõikur
  • Bändisaag
  • Puurpress

*Saadud kohalikust elektroonikapoest või riistvara poest.

2. toiming: kuidas see toimib

Kuidas see töötab
Kuidas see töötab

Omniboard on elektriline rula ja hõljuklaud ühes! See on võimeline liikuma edasi ja tagasi, küljelt küljele ja pöörlema, seda kõike juhitakse teie telefoni juhtkangi abil.

Omniboardi toiteallikaks on neli mootorit, millest igaüks on kinnitatud suunaratta külge. Kuna omni ratastel on lubatud külgsuunas libiseda, võimaldab iga mootori kiiruse ja suuna muutmine plaati liikuda kasutaja valitud suunas, nagu on näidatud ülaltoodud pildil.

3. samm: Omni rataste telgede kokkupanek

Omni rattatelgede kokkupanek
Omni rattatelgede kokkupanek
Omni rataste telgede kokkupanek
Omni rataste telgede kokkupanek
Omni rataste telgede kokkupanek
Omni rataste telgede kokkupanek
Omni rataste telgede kokkupanek
Omni rataste telgede kokkupanek

Telgede kokkupanemiseks vajalikud osad on järgmised:

  • (8) 3D -trükitud laagri vahetükk
  • (4) 3D trükitud suur rihmaratta vahetükk
  • (8) Laager
  • (4) Omni ratas
  • (4) Suur rihmaratas
  • (4) 3x3x80mm võtmehoidja

Esiteks soovite võlli otsa panna laagri vahekauguse, nagu näidatud. Vahepapp on valmistatud väga tihedalt, seega soovitan selle kinnitamiseks kasutada kruvikeerajat või vasarat. Kui see sobib liiga lõdvalt, nihutage seda võtmehoidjast veidi ülespoole ja kinnitage krae. Teise otsa krae pärast ei pea muretsema.

Järgmisena libistage omni ratas edasi, millele järgneb vastassuunas laagrite vahe. Saate nüüd laagrid külge libistada (pole oluline, et need pole tihedalt kinni) ja see peaks välja nägema nagu pildil. Lõpuks võite libistada pikad kõhnad rihmaratta vahetükid rihmaratastesse. Ärge pingutage rihmaratta kinnituskruvisid ega pange neid võtmehoidjale. Need tulevad hiljem.

4. samm: Omni ratasveokite lõikamine ja puurimine

Image
Image
Omni ratasveokite lõikamine ja puurimine
Omni ratasveokite lõikamine ja puurimine
Omni ratasveokite lõikamine ja puurimine
Omni ratasveokite lõikamine ja puurimine
Omni ratasveokite lõikamine ja puurimine
Omni ratasveokite lõikamine ja puurimine

Siin on teie laserlõikur ja 3/8 tolli paksune vineer abiks! Raami laserlõikamiseks mõeldud CAD on kinnitatud.dxf -vormingus.

Järgmisena puurige kaks auku väikeste ristide kohale, mille laserlõikur vineerile jätab. Pisut väiksem rist puuritakse 3/4 "kruviga ainult 1/4" ulatuses, suurem rist aga puuritakse 1-3/8 "bittiga lõpuni. See on väga oluline et mäletate poolteks tükkideks, et lõigata 3/4 "augud ühelt poolt ja teine pool teiselt poolt. Järgmisena puurige väiksem 3/8 "auk läbi 3/4" aukude keskosa, läbi selle kihi, mida te varem ei lõiganud.

Lõpuks keerake nurksulgud ristkülikukujuliste tükkide lühemate külgede külge. Teil on peaaegu kõik, mida vajate omni ratasveokite kokkupanemiseks.

Samm: Omni ratasveokite kokkupanek

Omni ratasveokite kokkupanek
Omni ratasveokite kokkupanek
Omni ratasveokite kokkupanek
Omni ratasveokite kokkupanek
Omni ratasveokite kokkupanek
Omni ratasveokite kokkupanek

Nüüd saame veoauto kokkupaneku lõpetada! Teil on vaja kahe viimase etapi osi pluss:

  • (4) Hammasrihm
  • (4) 3D -trükitud väike rihmaratta vahetükk
  • (4) Väike rihmaratas
  • (4) Mootor

Libistage iga vineeripool laagritele. Kui 3/4 tolli augud ei mahu laagritele kergesti, lihvige neid Dremeli abil veidi laiemaks. Kui need on kinnitatud, asetage rihmaratas väljaulatuva võtmehoidja kohale ja keerake kinnituskruvid kinni. Keerake ristkülikukujuline tükk sälk omni ratta kohal.

Siinkohal kontrollige, kas teie omni ratas pöörleb vabalt. Kui ei, siis võib teie rihmaratas vineerile klammerduda. Tõstke see võtmehoidjast veidi kaugemale.

Järgmisena paigaldame mootorid sisse. 1-3/8-tollised augud on natuke liiga väikesed, nii et lihvige siseringi aeglaselt Dremeliga, kuni mootor sobib tihedalt sisse. Olge ettevaatlik, et mitte mootorit sisse suruda ega deformeerida Kui mootor on paigas, libistage rihm üle väikeste rihmarataste, seejärel väikesed rihmarattad üle nende vahetükkide ja 3,175 mm mootorivõllile. Keerake kinnituskruvid kinni.

Kompaktsuse ja sümmeetria huvides soovite kahe jaoks panna rihmarattad ja rihmad veoki ühele küljele ja teisele poole.

6. samm: paigaldamine rulaplatvormile

Paigaldamine rulaplatvormile
Paigaldamine rulaplatvormile
Paigaldamine rulaplatvormile
Paigaldamine rulaplatvormile
Paigaldamine rulaplatvormile
Paigaldamine rulaplatvormile

Nüüd kinnitame veoautod rulaplatvormi külge. Saate teha oma vineerist ja haardelindist; meie oma võeti vanalt rulalt.

Esiteks soovite puurida vineeri mõlemasse külge 1/4 tolli auke, nagu on näidatud pildil. Igasse auku kinnitage M5 kruviga nurgaklamber ja siseküljele topeltmutter, et vältida selle tulekut vibratsiooni tõttu lahti. Mõõtke ja puurige augud, mis võimaldavad tõstukit paigaldada nii otste lähedale kui ka võimalikult järsu koonuse nurga alla, jäädes samas platvormi jalajälje piiresse. Nüüd pöörake see ümber ja tehke koormustesti !

Samm: mootorite jootmine

Image
Image
Mootorite jootmine
Mootorite jootmine

Jootke 4 mm isaskuulipistikud juhtmete külge, mis ühendatakse mootoritega, seejärel jootke see traat mootori klemmidele. Kaabli korraldamiseks lõigatakse kõik juhtmed 6 cm pikkuseks ja eemaldatakse mõlemast otsast

Näpunäide. Juhtmeid on lihtsam joota esmalt kuuliklemmide külge ja seejärel mootori külge jootma kui vastupidi.

Kuuli pistiku juhtme külge jootmiseks asetage see abikäe isoleeritud alligaatoriklambri külge (kuna soojus hajub kiiresti kuulipistiku korpusest metallilisele, soojusjuhtivale abikäe korpusele). Seejärel ühendage jootekuulid kuuli pistiku külge, umbes poolel teel ja hoides triikrauda pistikus, kastke traat jootmisbasseini, nagu on näidatud videos. Seejärel kahandage traati ja kuuli pistikut kuumalt.

Seejärel asetage traat mootori klemmi kõrvale ja hoidke seda abikäega püsti. Mootori tagurpidi hoidmiseks kasutasin jootmisrulli. Seejärel jootke traat mootori klemmile. Juhtmete järjekord ja värv on mitmetähenduslikud ja sellel pole tähtsust, kuna järjestust saab ümber pöörata pöörlemise tagasipööramiseks, mida vajadusel tehakse järgmistes sammudes.

Samm: ESC aku pistikute jootmine

ESC akuühenduste jootmine
ESC akuühenduste jootmine
ESC akuühenduste jootmine
ESC akuühenduste jootmine

Enne jootmist lõigake igale juhtmele, mida kasutatakse katmata joodetud otste soojustamiseks, mõnevõrra kokku.

Lõigake üks juhtmestest aku pistiku külge, eemaldage see, libistage termokahane ja jootke see XT60 pistiku külge, punane ühendades XT60 positiivse klemmiga ja mustaga XT60 negatiivse klemmiga.

Hoiatus: katkestage ESC juhtmed ainult ükshaaval, kuna positiivse ja negatiivse klemmi vahele võib laadida kondensaatorit, mis lühistub, kui käärid või traadilõikurid lõikavad mõlemad korraga läbi.

Traadi jootmiseks XT60 pistikule kasutage abikäsi XT60 pistiku korpuse hoidmiseks. Seejärel ühendage jootejoon XT60 klemmiga umbes poolele teele ja hoides jootekolvi XT60 pistikul, kastke traat vedelasse jootekolvi, nagu on näidatud eelmise sammu videos. Kui see on jahtunud, libistage termokahane allapoole, et isoleerida avatud ots ja soojendage seda jootekolvi külgedega.

Korrake seda ESC -de akuühenduste ülejäänud juhtmete puhul.

9. samm: toitejaotusplaadi (PDB) jootmine

Toitejaotusplaadi (PDB) jootmine
Toitejaotusplaadi (PDB) jootmine
Toitejaotusplaadi (PDB) jootmine
Toitejaotusplaadi (PDB) jootmine
Toitejaotusplaadi (PDB) jootmine
Toitejaotusplaadi (PDB) jootmine
Toitejaotusplaadi (PDB) jootmine
Toitejaotusplaadi (PDB) jootmine

Esialgne eelarveprojekt võtab sisendi kahest liitiumpolümeerpatareist (LiPo), mille kombineeritud pinge ja vool on vastavalt 11,1 V ja 250 A, ning jagab selle neljale ESC -le.

Näpunäide. Meestele mõeldud XT90 -pistikujuhtmete jootmine on lihtsam esmalt PDB -plaatide külge, seejärel 16 AWG -juhet ESC -de juurde, seejärel XT60 -pistikud nende juhtmete külge.

Enne juhtmete jootmist lõigake kuumuse kokkutõmbumine nii, et see sobiks igale juhtmele, nii et seda saab hiljem libistada avatud joodetud otsa, et vältida lühist.

Juhtmete jootmiseks esialgse eelarveprojekti padjadele leidsin, et kõige lihtsam on abikäsi kasutades juhtmeid püsti hoida (eriti suurt XT90 kaablit) ja asetada see lauale toetuvale eelnõule. Seejärel jootke traat ümber esialgse eelarveprojekti padja. Seejärel libistage termokahane alla ja soojendage seda vooluahela isoleerimiseks.

Korrake seda ülejäänud ESC juhtmete puhul.

XT60 jootmiseks järgige eelmist sammu, kuidas ESC aku klemm asendati XT60 -ga.

Samm: juhtmete ühendamine

Juhtmete ühendamine
Juhtmete ühendamine

Ühendage mootori juhtmed ESC kuulipistiku klemmidega. Seejärel ühendage ESC valge signaali tihvt pistikuga 9 ja must maandusnõel Arduino GND tihvtiga. Kahe lukustusriba abil kinnitati kõik ESC -d ja juhtmed plaadile.

Et kontrollida, kas mootorite pöörlemine on õige (pöörleb ees), käivitage proovikood Arduino all.

#kaasake

Servomootor;

bait päripäevaKiirus = 110; allkirjata pikk intervall = 1500; int motorPin = 9;

tühine seadistus ()

{Serial.begin (9600); motor.attach (motorPin); Serial.println ("Alguskatse"); }

tühine tsükkel ()

{mootor.kirjutamine (päripäevaKiirus); Serial.println ("Peata mootor pöörlemast"); viivitus (intervall); }

ESC -st mootoriga ühendatud juhtmete järjekord määrab mootori pöörlemise. Kui mootori pöörlemine toimub vastupäeva, siis pidage mootorit teadmiseks ja muutke kontrollerikoodis loogikaväärtust etapis "Omniboard -kontrolleri programmeerimine". Kui see pöörleb päripäeva esiosa suunas, on pöörlemine õige. Tehke seda iga nelja mootori puhul. Kui mootor ei pöörle, kontrollige veel kord kõiki oma pistikuid, kas seal on külma jootet, mille tulemuseks on lahtiühendus.

Samm 11: ESC -režiimi muutmine

ESC režiimi muutmine
ESC režiimi muutmine

Vaikimisi on harjatud ESC -d tavarežiimis. Seda näitab vilkuv LED -tuli. Mootori programmiliseks juhtimiseks vastupidises suunas on vaja ronimisrežiimi.

Sellele režiimile juurdepääsemiseks ühendage ESC Arduinoga, ühendades ESC valge signaali tihvti pistikuga 9 ja musta maandusnõela Arduino GND tihvtiga. Seejärel laadige Arduino plaadile üles ja käivitage järgmine programm:

#kaasake

Servomootor;

bait stopSpeed = 90; allkirjata pikk intervall = 1500; int motorPin = 9;

tühine seadistus ()

{Serial.begin (9600); motor.attach (motorPin); Serial.println ("Alguskatse"); }

tühine tsükkel ()

{motor.write (stopSpeed); Serial.println ("Peata mootor pöörlemast"); viivitus (intervall); }

Lülitage ESC sisse, seejärel vajutage ja hoidke programmeerimisnuppu kaks sekundit all. LED -indikaator on nüüd vilkumise asemel stabiilne, mis tähendab, et režiim on edukalt ronimisrežiimi vahetatud.

12. samm: liides Bluetooth -mooduli ja telefoniga

Liides Bluetooth -mooduli ja telefoniga
Liides Bluetooth -mooduli ja telefoniga
Liides Bluetooth -mooduli ja telefoniga
Liides Bluetooth -mooduli ja telefoniga
Liides Bluetooth -mooduli ja telefoniga
Liides Bluetooth -mooduli ja telefoniga

HC-05 Bluetooth-moodul võimaldab Arduino'l telefoniga ühenduse luua, et võimaldada rula juhtmevaba juhtimist rakenduse kaudu. Kuna olen leidnud probleeme, mis on teatud Bluetooth -mooduli liideste puhul vigane, oleks parem enne lõpliku vooluahela jootmist seda kõigepealt testida, Me kasutame 4 Bluetooth -mooduli kuuest tihvtist. Need on: Tx (edastamine), Rx (vastuvõtt), 5 V ja GND (maa). Ühendage HC-05 Bluetooth-mooduli Tx- ja Rx-tihvtid vastavalt Arduino tihvtidega 10 ja 11. Seejärel ühendage 5V tihvt ja GND tihvtid Arduino märgistusega tihvtidega.

Lisage rakenduses Blynk bluetooth ja nupuvahendid, nagu ülaltoodud piltidel näidatud. Seejärel määrake nupule digitaalne tihvt D13, mis on ühendatud Arduino Uno sisseehitatud LED-iga.

Laadige üles ja käivitage Arduinole järgmine kood, kui Bluetooth -moodul on ühendatud ja avage jadamonitor, et näha, kas Bluetooth -moodul on ühendatud. Seejärel lülitage sisse/välja nupp ja jälgige Arduino muutmise sisseehitatud LED-i.

#define BLYNK_PRINT seeria

#kaasake

#kaasake

// Te peaksite saama Blynk -rakenduses autentimisloa.

// Avage projekti sätted (mutriikoon). char auth = "Teie autentimismärk";

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

BLYNK_WRITE (V1)

{int pinValue = param.asInt (); // sissetuleva väärtuse määramine tihvtilt V1 muutujale}

tühine seadistus ()

{Serial.begin (9600); // silumiskonsool SerialBLE.begin (9600); Blynk.begin (SerialBLE, autentimine); Serial.println ("Ühenduste ootamine …"); }

tühine tsükkel ()

{Blynk.run (); }

Samm: Arduino kilbi jootmine

Arduino kilbi jootmine
Arduino kilbi jootmine
Arduino kilbi jootmine
Arduino kilbi jootmine
Arduino kilbi jootmine
Arduino kilbi jootmine
Arduino kilbi jootmine
Arduino kilbi jootmine

Et vooluringi puhastada ja prototüübist lahti ühendada, jootame Arduino kilbi, mis ühendatakse iga ESC -ga ja Bluetooth -mooduliga, samuti Arduino toiteallikaga.

Jootke ülaltoodud skeem kahepoolsele perf-plaadile.

Esmalt mõõtsin ja ühendasin kahepoolsed isaste tihvtide päised Arduino naissoost päiste külge ja siis jootsin selle mõlemale küljele parfüümi ülemisele küljele. Kui need olid joodetud, eemaldasin selle Arduino plaadilt, et joota plaadi alumine osa. Seejärel jootsin ESC ühepoolsed isaste tihvtide päised neljas komplektis 3-ni perfoplaadi alumisele küljele. Seejärel asetasin HC-05 Bluetooth-mooduli püsti ja jootsin pistikud ka perf-plaadi alumisele küljele.

Kuna Bluetooth -moodul vajab 5 V pingesisendit ja PDB on reguleeritud ainult 12 V -ni, kasutasin voolu vähendamiseks LM7805, et piirata Arduino voolu. Sama 5 V toide on ühendatud ka Arduino 5 V kontaktiga, nii et Arduino saab toita läbi kilbi, mitte täiendava tünnipistiku adapteri.

LM7805 tihvtid joodeti perf -plaadi alumisele küljele, pingeregulaatori komponent istus perf -plaadi kohal, nagu on näidatud ülaltoodud pildil. Jootsin kõik toiteühendused kõikide komponentide ja ESC tihvtide päiste ning HC-05 Bluetooth-mooduli külge, nagu skeemil kirjeldatud. Seejärel joodeti esialgse eelarveprojekti 12 V väljund LM7805 pingeregulaatori VCC sisendisse (enamus vasakul) ja maandusnõela (keskel). Lõpuks, kõik ESC signaali tihvtide päised ja HC-05 Bluetooth-mooduli Tx ja Rx tihvtid Arduino digitaalsete tihvtidega kahepoolsete isaste tihvtide kaudu, nagu on näidatud skemaatiliselt.

14. samm: rakenduse loomine Blynk'i kaudu

Rakenduse loomine Blynk'i kaudu
Rakenduse loomine Blynk'i kaudu

Omniboardi juhitakse Bluetoothi kaudu, kasutades nutitelefoni Blynk Appi kaudu. Blynk on Androidi ja iOS-i rakendus, mis võimaldab kasutada mooduleid ja vidinaid, mis võivad liituda mitme Bluetooth- või traadita ühenduse mikrokontrolleriga või Bluetooth / traadita moodulitega, nagu HC-05.

1. Installige oma telefoni Blynk.

2. Looge konto ja logige sisse

3. Looge uus projekt ja pange sellele nimi. Panin omale nime „Omniboard controller”, valisin mikrokontrolleriks Arduino Uno ja liidese tüübiks Bluetooth.

4. Lohistage ekraanile järgmised vidinad: Bluetooth, Kaart, 2 nuppu ja juhtnupp

Samm: vidinate liidestamine Arduinoga

Vidinate liidestamine Arduinoga
Vidinate liidestamine Arduinoga
Vidinate liidestamine Arduinoga
Vidinate liidestamine Arduinoga
Vidinate liidestamine Arduinoga
Vidinate liidestamine Arduinoga

Nuppu kasutatakse hõljuklaua ja rularežiimi vahetamiseks. Hoverboard -režiim võimaldab täpselt reguleerida pöörlemist ja liikumist, hoides samal ajal püsikiirust. Kuigi rularežiim annab täpse kontrolli edasiliikumise kiiruse ja pöörlemise kohta. Juhtkang juhib rula kahe vabadusastmega, mida vahetavad lülitusnupp. Kaardil kuvatakse teie praegune asukoht ja teekonnapunktid teistesse kohtadesse, kuhu minna. Bluetooth võimaldab liidesel Bluetooth -mooduliga ühenduse luua.

Juhtkangi seaded:

Valige väljundi tüübiks "Ühenda" ja määrake see virtuaalsele pin V1 -le

Nuppude seadistamine:

  • Pange esimesele nupule nimi "Hover Mode" ja teisele nupule "Cruise Control".
  • Määrake esimese nupu väljund virtuaalsele pin V2 -le ja muutke režiimiks "Switch".
  • Määrake teise nupu väljund Virtual pin V3 -le ja muutke režiim "Switch".
  • Nimeta ümber esimeste nuppude lülitusnimed "Hover" ja "Skate" ning hoidke "ON" ja "OFF".

Kaardi seaded:

Määrake sisendiks V4

Bluetoothi seaded:

Valige rakenduses Blynk Bluetooth -vidin ja ühendage oma mooduliga. Bluetooth -mooduli vaikeparool on „1234”

16. samm: Omniboardi kontrolleri programmeerimine

Omniboardi kontrolleri programmeerimine
Omniboardi kontrolleri programmeerimine
Omniboardi kontrolleri programmeerimine
Omniboardi kontrolleri programmeerimine
Omniboardi kontrolleri programmeerimine
Omniboardi kontrolleri programmeerimine

Omniboardi dünaamika programmeeriti jaotisest "Kuidas see toimib" tuletatud dünaamika algoritmi alusel. Kõik kolm vabadusastet, edasiliikumine, liikumine ja pöörlemine arvutatakse üksteisest sõltumatult ja asetatakse üksteise peale, et saavutada omniboardi täielik liikumisjuhtimine. Iga mootori juhtimine on lineaarselt proportsionaalne juhtkangi liikumisega. Laadige Arduino alla ja käivitage järgmine kood.

#define BLYNK_PRINT seeria

#kaasake

#kaasake

#kaasake

ServomootorFR; ServomootorFL; ServomootorBR; Servomootor BL;

bool mootorFRrev = tõene;

bool mootorFLrev = tõene; bool mootorBRrev = tõene; bool mootorBLrev = tõsi;

ujukmootorFRang = 330,0*PI/180,0;

ujukmootorFLang = 30,0*PI/180,0; ujukmootorBRang = 210,0*PI/180,0; ujukmootor BLang = 150,0*PI/180,0;

ujukmootorFRspeedT;

ujukmootorFLspeedT; ujukmootorBRkiirusT; ujukmootor BLspeedT;

ujukmootorFRspeedR;

ujukmootorFLkiirusR; ujukmootorBRkiirusR; ujukmootor BLspeedR;

ujuk maxAccel = 10;

bait forwardSpeed = 110;

bait tagasiKiirus = 70; bait stopSpeed = 90; // muutmine eksperimentaalselt eraldatud arvuks

int cruiseControl;

int yawMode;

// Te peaksite saama Blynk -rakenduses autentimisloa.

// Avage projekti sätted (mutriikoon). 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; mootorFLkiirusR = 0; mootorBRkiirusR = 0; mootori kiirusR = 0; } writeToMotors (); }

tühine seadistus ()

{motorFR.kinnitus (9); motorFL.kinnitus (6); motorBR.kinnitus (5); mootorBL.kinnitus (3); viivitus (1500); // oodake mootorite initsialiseerimist // Silumiskonsool Serial.begin (9600);

SerialBLE.bin (9600);

Blynk.begin (SerialBLE, autentimine);

Serial.println ("Ühenduste ootamine …");

// Kui soovite eemaldada kõik punktid:

//myMap.clear ();

int indeks = 1;

float lat = 43.653172; ujuk lon = -79,384042; myMap.location (indeks, lat, lon, "väärtus"); }

tühine tsükkel ()

{Blynk.run (); }

void calcTõlge (int joyX, int joyY)

{float normX = (joyX - 127,0) /128,0; ujuk normY = (rõõmY - 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); }

tühine arvutus Pöörlemine (int joyX, int joyY)

{float normX = (joyX - 127,0) /128,0; ujuk normY = (rõõmY - 127,0) /128,0; motorFRspeedR = joyX*(1 - 2*motorFRrev); motorFLspeedR = -joyX*(1 - 2*motorFLrev); mootorBRkiirusR = -jooksX*(1 - 2*mootorBRrev); motorBLspeedR = joyX*(1 - 2*motorBLrev); }

void writeToMotors ()

{float motorFRspeed = motorFRspeedT + motorFRspeedR; ujukmootorFLkiirus = mootorFLkiirusT + mootorFLkiirusR; ujukmootorBRkiirus = mootorBRkiirusT + mootorBRkiirusR; ujukmootorBLspeed = mootorBLspeedT + mootorBLspeedR;

pikk mootorFRmapped = kaart ((pikk) (100*motorFRspeed), -100, 100, backSpeed, forwardSpeed);

pikk mootorFLmapped = kaart ((pikk) (100*motorFLspeed), -100, 100, backSpeed, forwardSpeed); pikk mootorBRmapped = kaart ((pikk) (100*motorBRspeed), -100, 100, backSpeed, forwardSpeed); pikk mootorBLmapped = kaart ((pikk) (100*motorBLspeed), -100, 100, backSpeed, forwardSpeed); motorFR.write (motorFRmapped); motorFL.write (motorFLmapped); motorBR.write (motorBRmapped); motorBL.write (motorBLmapped); }

17. samm: elektroonika korpuse paigaldamine

Elektroonika korpuse paigaldamine
Elektroonika korpuse paigaldamine
Elektroonika korpuse paigaldamine
Elektroonika korpuse paigaldamine
Elektroonika korpuse paigaldamine
Elektroonika korpuse paigaldamine
Elektroonika korpuse paigaldamine
Elektroonika korpuse paigaldamine

Selleks, et kõik juhtmed ja osad alt ära ei rippuks, printige korpus 3D külge ja kinnitage see M5 kruvidega rulale.

18. etapp: maalimine

Maalimine
Maalimine
Maalimine
Maalimine
Maalimine
Maalimine

Ülemise teki kujunduse inspiratsiooniks on trükkplaatide vooluringid ja mustrid. Selleks kaetakse esmalt rula põhi ümber minu mähkimismaali lint. Seejärel kaetakse kogu ülemine tekk valge värviga. Kui see on kuiv, maskeeritakse see vooluringi mustri negatiiviga, seejärel värvitakse see musta värviga üle. Seejärel koorige pealmise kihi maskid ettevaatlikult ja voila, lahe rula.

Julgustan teid isikupärastama oma Omniboardi disaini ja kasutama oma loomingulist vabadust.

19. samm: testimine ja demo

Image
Image

Rataste konkursi teine auhind 2017

Kaugjuhtimisvõistlus 2017
Kaugjuhtimisvõistlus 2017

2017. aasta kaugjuhtimisvõistluse esimene auhind

Soovitan: