Sommario:

OmniBoard: skateboard e hoverboard ibrido con controllo Bluetooth: 19 passaggi (con immagini)
OmniBoard: skateboard e hoverboard ibrido con controllo Bluetooth: 19 passaggi (con immagini)

Video: OmniBoard: skateboard e hoverboard ibrido con controllo Bluetooth: 19 passaggi (con immagini)

Video: OmniBoard: skateboard e hoverboard ibrido con controllo Bluetooth: 19 passaggi (con immagini)
Video: PROBLEMI con le BATTERIE al LITIO? 2024, Dicembre
Anonim
OmniBoard: skateboard e hoverboard ibrido con controllo Bluetooth
OmniBoard: skateboard e hoverboard ibrido con controllo Bluetooth

L'OmniBoard è un nuovo ibrido elettrico Skateboard-Hoverboard controllabile tramite un'applicazione Bluetooth per smartphone. È in grado di muoversi con tutti e tre i gradi di libertà ottenibili da entrambe le tavole combinate, andare avanti, ruotare attorno al proprio asse e spostarsi lateralmente.

Ciò ti consente di muoverti nella direzione che desideri e di eseguire trucchi ingegnosi che altrimenti non saresti in grado di fare con il tuo tipico mezzo di trasporto come skateboard (elettrici), hoverboard, auto, biciclette, ecc.

Io e il mio amico abbiamo deciso di costruire l'OmniBoard come esercizio e sfida divertente, oltre a partecipare ad alcuni concorsi Instructables, ovvero la sfida delle ruote. Volevamo fare qualcosa che non fosse mai stato fatto prima, che fosse bello e che sarebbe stato utile. Poiché il sistema di trasporto pubblico è spesso inaffidabile e il traffico cittadino è terribile durante il viaggio mattutino e pomeridiano da e per il lavoro, è utile un mezzo di trasporto alternativo come la bicicletta o lo skateboard. Gli skateboard e le biciclette elettriche sono utili per gli spostamenti a lungo raggio, ma ci sono già molte soluzioni consumer e fai-da-te per questo argomento. Così abbiamo deciso di reinventare la ruota, letteralmente, e creare un nuovo e divertente OmniBoard.

Passaggio 1: strumenti e materiali

Strumenti e materiali
Strumenti e materiali
Strumenti e materiali
Strumenti e materiali
Strumenti e materiali
Strumenti e materiali

Sistema di guida

  • (4) Omni Wheels
  • (4) puleggia da 60 denti
  • (4) 20 denti puleggia
  • (4) Cinghia dentata GT2 (abbiamo usato 140 denti)
  • (8) cuscinetto 7mm ID, 19mm OD*
  • (20) Viti a macchina M5 (o dimensioni simili), lunghe circa 25 mm*
  • (28) Dadi, stesse dimensioni delle viti a macchina*
  • (32) N. 2 viti per legno, lunghezza 3/8"*
  • (16) Le staffe angolari, preferibilmente quattro fori, devono essere almeno 1/2" dall'angolo al foro della vite*
  • Foglio di compensato 1'x2'*
  • Superficie dello skateboard

Elettronica:

Sistema di guida

  • (4) Motori CC
  • (4) Regolatori elettronici di velocità (ESC)
  • Scheda di distribuzione dell'alimentazione (PDB)
  • Cavo in silicone 16AWG - Rosso e nero
  • Splitter parallelo per connettore XT90
  • Connettore XT90 maschio con coda
  • (8 paia) Connettore a proiettile da 4 mm
  • (4 paia) connettori XT60
  • (2) batterie LiPo

Telecomando

  • Tavola Perf a doppia faccia*
  • Regolatore di tensione LM7805*
  • Fili con anima solida 24AWG - Colori assortiti*
  • Modulo Bluetooth HC-05*
  • Arduino Uno v3*
  • (32 pin) Connettori maschio a due lati*
  • (12 pin) Pin Headers per birra su un solo lato*

Utensili:

  • Stazione di saldatura e saldatura
  • Pinza tagliafili
  • Spelafili
  • Pinze
  • Forbici
  • Punte da trapano: 1-3/8", 3/4", 1/4"

Attrezzatura

  • stampante 3d
  • Taglierina laser
  • Sega a nastro
  • Trapano

*Ottenuto dal negozio di elettronica locale o dal negozio di ferramenta.

Passaggio 2: come funziona

Come funziona
Come funziona

L'Omniboard è uno skateboard elettrico e un hoverboard in uno! È in grado di muoversi avanti e indietro, da un lato all'altro e ruotare, il tutto controllato da un joystick sul telefono.

L'Omniboard è alimentato da quattro motori ciascuno collegato a una ruota omnidirezionale. Poiché le ruote omnidirezionali possono scorrere lateralmente, la variazione della velocità e della direzione di ciascun motore consente alla scheda di muoversi in qualsiasi direzione l'utente scelga, come illustrato nell'immagine sopra.

Passaggio 3: assemblaggio degli assi delle ruote Omni

Assemblaggio degli assi delle ruote Omni
Assemblaggio degli assi delle ruote Omni
Assemblaggio degli assi delle ruote Omni
Assemblaggio degli assi delle ruote Omni
Assemblaggio degli assi delle ruote Omni
Assemblaggio degli assi delle ruote Omni
Assemblaggio degli assi delle ruote Omni
Assemblaggio degli assi delle ruote Omni

Le parti necessarie per assemblare gli assi sono:

  • (8) Distanziale per cuscinetti stampato in 3D
  • (4) Distanziatore grande puleggia stampato in 3D
  • (8) Cuscinetto
  • (4) Ruota omnidirezionale
  • (4) Grande puleggia
  • (4) chiavetta 3x3x80mm

Innanzitutto, si desidera inserire un distanziale del cuscinetto all'estremità dell'albero come mostrato. Il distanziatore è fatto per essere molto aderente, quindi consiglio di usare una morsa o un martello per montarlo. Se è troppo largo, spostalo un po' più in alto sulla chiave e attacca un colletto. Non devi preoccuparti di un collare per l'altra estremità.

Quindi fai scorrere la ruota omni seguita da un distanziale del cuscinetto rivolto nella direzione opposta. Ora puoi infilare i cuscinetti (non importa perché non sono aderenti) e dovrebbe apparire come l'immagine. Infine, puoi inserire i distanziali lunghi e sottili nelle pulegge. A questo punto, non stringere le viti di fermo della puleggia né metterle sulla chiave. Quelli vengono dopo.

Passaggio 4: taglio e foratura dei camion Omni Wheel

Image
Image
Taglio e foratura dei camion Omni Wheel
Taglio e foratura dei camion Omni Wheel
Taglio e foratura dei camion Omni Wheel
Taglio e foratura dei camion Omni Wheel
Taglio e foratura dei camion Omni Wheel
Taglio e foratura dei camion Omni Wheel

È qui che torna utile il tuo laser cutter e il compensato spesso 3/8 ! Il CAD per il taglio laser del telaio è attaccato in un formato.dxf.

Successivamente praticherai due fori sopra le piccole croci che il laser cutter lascerà sul compensato. La croce leggermente più piccola verrà forata con la punta da 3/4" solo per 1/4" del percorso, mentre la croce più grande verrà forata con la punta da 1-3/8" fino in fondo. È molto importante che ti ricordi per metà dei pezzi di tagliare i fori da 3/4" da un lato e l'altra metà dall'altro lato. Quindi pratica un foro più piccolo da 3/8 "attraverso il centro dei fori da 3/4", fino in fondo allo strato che non hai tagliato prima.

Infine, avvitare le staffe angolari ai lati più corti dei pezzi rettangolari. Hai quasi tutto ciò di cui hai bisogno ora per assemblare i camion con ruote omnidirezionali.

Passaggio 5: assemblaggio dei carrelli Omni Wheel

Assemblaggio dei carrelli Omni Wheel
Assemblaggio dei carrelli Omni Wheel
Assemblaggio dei carrelli Omni Wheel
Assemblaggio dei carrelli Omni Wheel
Assemblaggio dei carrelli Omni Wheel
Assemblaggio dei carrelli Omni Wheel

Ora possiamo finire l'assemblaggio del camion! Avrai bisogno delle parti degli ultimi due passaggi più:

  • (4) Cinghia di distribuzione
  • (4) Distanziatore per puleggia piccolo stampato in 3D
  • (4) Puleggia piccola
  • (4) Motore

Infilare ciascun lato del compensato sui cuscinetti. Se i fori da 3/4 non si adattano facilmente ai cuscinetti, utilizzare un Dremel per levigarli un po' più larghi. Una volta inseriti, posizionare la puleggia sulla chiave sporgente e serrare le viti di fermo. Avvitare il pezzo rettangolare nel tacca sopra la ruota omni.

A questo punto, controlla che la ruota omnidirezionale giri liberamente. In caso contrario, la tua puleggia potrebbe bloccarsi sul compensato. Alzalo un po' più in alto sulla chiave.

Successivamente inseriremo i motori. I fori da 1-3/8 sono un po' troppo piccoli, quindi carteggiare lentamente il cerchio interno con un Dremel finché il motore non si adatta perfettamente all'interno. Fare attenzione a non forzare il motore e deformare il Una volta che il motore è in posizione, far scorrere la cinghia sulle pulegge piccole, quindi le pulegge piccole sui loro distanziali e sull'albero motore da 3,175 mm. Serrare le viti di fissaggio.

Per motivi di compattezza e simmetria, ti consigliamo di mettere le pulegge e le cinghie su un lato del carrello per due di esse e sull'altro lato per le altre due.

Passaggio 6: montaggio sulla piattaforma dello skateboard

Montaggio sulla piattaforma dello skateboard
Montaggio sulla piattaforma dello skateboard
Montaggio sulla piattaforma dello skateboard
Montaggio sulla piattaforma dello skateboard
Montaggio sulla piattaforma dello skateboard
Montaggio sulla piattaforma dello skateboard

Ora attaccheremo i truck alla piattaforma dello skateboard. Potresti creare il tuo con compensato e nastro adesivo; il nostro è stato preso da un vecchio skateboard.

Innanzitutto, ti consigliamo di praticare fori da 1/4 su entrambi i lati del compensato come mostrato nell'immagine. In ogni foro, attaccare una staffa angolare con una vite M5 e un doppio dado sul lato interno per evitare che venga allentato a causa delle vibrazioni. Misurare e praticare i fori che consentono di montare i carrelli il più vicino alle estremità e con un angolo di conicità il più ripido possibile rimanendo all'interno dell'impronta della piattaforma. Ora capovolgerlo e fargli una prova di carico !

Passaggio 7: saldatura dei motori

Image
Image
Saldare i motori
Saldare i motori

Saldare i connettori maschio a proiettile da 4 mm a un filo che si collegherà ai motori, quindi saldare questo filo sui terminali del motore. Per l'organizzazione dei cavi, ogni filo viene tagliato a 6 cm e spellato da entrambe le estremità

Mancia: È più facile saldare prima i fili sui connettori a proiettile, quindi saldarli al motore piuttosto che il contrario.

Per saldare il connettore a proiettile sul filo, posizionarlo su una clip a coccodrillo isolata della mano che aiuta (poiché il calore si dissipa rapidamente dal corpo del connettore a proiettile al corpo metallico della mano che conduce il calore). Quindi unisci un po 'di saldatura sul connettore a proiettile, circa a metà e mantenendo il ferro nel connettore, immergi il filo nel pool di saldatura, come mostrato nel video. Quindi termorestringere il filo e il connettore a proiettile.

Quindi, posizionare il cavo accanto al terminale del motore e tenerlo in posizione verticale aiutandosi con la mano. Ho usato il rotolo di saldatura per tenere il motore capovolto. Quindi saldare il filo sul terminale del motore. L'ordine e il colore dei fili sono ambigui e non importa, poiché l'ordine può essere cambiato per invertire la rotazione, cosa che verrà eseguita nei passaggi successivi se necessario.

Passaggio 8: saldatura dei connettori della batteria ESC

Connettori della batteria ESC a saldare
Connettori della batteria ESC a saldare
Connettori della batteria ESC a saldare
Connettori della batteria ESC a saldare

Prima della saldatura, tagliare del termoretraibile per ciascuno dei fili che verrà utilizzato per isolare le estremità saldate esposte.

Tagliare uno dei cavi al connettore della batteria, spellarlo, infilare il termoretraibile e saldarlo al connettore XT60 con il rosso che si collega al terminale positivo dell'XT60 e il nero al terminale negativo dell'XT60.

Avvertimento: Tagliare solo i fili ESC uno alla volta, poiché c'è un condensatore che può essere caricato tra i terminali positivo e negativo che andrà in corto se le forbici o il tronchese tagliano entrambi contemporaneamente.

Per saldare il cavo sul connettore XT60, utilizzare le mani per tenere il corpo del connettore XT60. Quindi, unisci un po' di saldatura al terminale XT60 circa a metà e, mantenendo il saldatore sul connettore XT60, immergi il filo nel pool di saldatura liquida, come mostrato nel video del passaggio precedente. Una volta raffreddato, fai scorrere il termoretraibile verso il basso per isolare l'estremità esposta e riscaldalo con i lati del saldatore.

Ripetere questa operazione per il resto dei fili dei connettori della batteria degli ESC.

Passaggio 9: saldatura della scheda di distribuzione dell'alimentazione (PDB)

Saldatura della scheda di distribuzione dell'alimentazione (PDB)
Saldatura della scheda di distribuzione dell'alimentazione (PDB)
Saldatura della scheda di distribuzione dell'alimentazione (PDB)
Saldatura della scheda di distribuzione dell'alimentazione (PDB)
Saldatura della scheda di distribuzione dell'alimentazione (PDB)
Saldatura della scheda di distribuzione dell'alimentazione (PDB)
Saldatura della scheda di distribuzione dell'alimentazione (PDB)
Saldatura della scheda di distribuzione dell'alimentazione (PDB)

Il PDB riceverà l'input dalle due batterie ai polimeri di litio (LiPo) con una tensione e una corrente combinate rispettivamente di 11,1 V e 250 A e lo distribuirà ai quattro ESC.

Mancia: È più facile saldare prima i cavi del connettore maschio XT90 ai pad PDB, quindi i cavi 16 AWG agli ESC, quindi i connettori XT60 su questi cavi.

Prima di saldare i fili, tagliare il termoretraibile per adattarlo a ciascuno dei fili, in modo che possa essere fatto scivolare sull'estremità saldata esposta in un secondo momento per evitare cortocircuiti.

Per saldare i fili sui pad PDB, ho trovato più facile usare le mani per tenere i fili in posizione verticale (specialmente il grande cavo XT90) e posizionarlo sopra il PDB appoggiato sul tavolo. Quindi saldare il filo attorno al pad PDB. Quindi, fai scorrere il termoretraibile verso il basso e riscaldalo per isolare i circuiti.

Ripetere questa operazione per il resto dei fili ESC.

Per saldare l'XT60, seguire il passaggio precedente su come è stato sostituito il terminale della batteria ESC con gli XT60.

Passaggio 10: Collegamento dei cavi

Collegare i fili
Collegare i fili

Collegare i cavi del motore ai terminali del connettore a proiettile dell'ESC. Quindi, collegare il pin del segnale bianco dall'ESC al pin 9 e il pin di terra nero al pin GND sull'Arduino. Sono state utilizzate doppie strisce di bloccaggio per fissare tutti gli ESC e i cavi alla scheda.

Per verificare se la rotazione dei motori è corretta (rotazione in avanti), eseguire il codice di esempio sull'Arduino sottostante.

#includere

Servomotore;

byte in senso orario Velocità = 110; intervallo lungo senza segno = 1500; int pinmotore = 9;

configurazione nulla()

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

ciclo vuoto()

{ motor.write (in senso orarioVelocità); Serial.println("Stop al motore in rotazione"); ritardo(intervallo); }

L'ordine dei fili collegati dall'ESC al motore determina la rotazione del motore. Se la rotazione del motore è in senso antiorario, prendi nota del motore e modifica il valore booleano nel codice del controller al passaggio "Programmazione della centralina Omniboard". Se ruota in senso orario verso la parte anteriore, la rotazione è corretta. Eseguire questa operazione per ciascuno dei quattro motori. Se il motore non gira, ricontrolla tutti i connettori se ci sono saldature fredde che causano una connessione allentata.

Passaggio 11: modifica della modalità ESC

Modifica della modalità ESC
Modifica della modalità ESC

Per impostazione predefinita, gli ESC spazzolati sono in modalità pratica. Ciò è indicato dalla luce LED lampeggiante. Per controllare programmaticamente un motore nella direzione inversa, è necessaria la modalità di arrampicata.

Per accedere a questa modalità, collegare l'ESC all'Arduino collegando il pin del segnale bianco dall'ESC al pin 9 e il pin di terra nero al pin GND dell'Arduino. Quindi carica ed esegui il seguente programma sulla scheda Arduino:

#includere

Servomotore;

byte stopSpeed = 90; intervallo lungo senza segno = 1500; int pinmotore = 9;

configurazione nulla()

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

ciclo vuoto()

{ motor.write(stopSpeed); Serial.println("Stop al motore in rotazione"); ritardo(intervallo); }

Accendere l'ESC, quindi premere e tenere premuto il pulsante di programmazione per due secondi. L'indicatore LED ora sarà fisso anziché lampeggiare, il che significa che la modalità è stata modificata con successo in modalità arrampicata.

Passaggio 12: interfacciamento con modulo Bluetooth e telefono

Interfacciamento con modulo Bluetooth e telefono
Interfacciamento con modulo Bluetooth e telefono
Interfacciamento con modulo Bluetooth e telefono
Interfacciamento con modulo Bluetooth e telefono
Interfacciamento con modulo Bluetooth e telefono
Interfacciamento con modulo Bluetooth e telefono

Il modulo Bluetooth HC-05 consente all'Arduino di connettersi con un telefono per consentire il controllo wireless dello skateboard tramite un'app. Poiché ho riscontrato problemi con alcune interfacce difettose del modulo Bluetooth, sarebbe meglio testarlo prima di saldare i circuiti finali, Useremo 4 dei 6 pin sul modulo Bluetooth. Questi sono: Tx (trasmissione), Rx (ricezione), 5V e GND (terra). Collega i pin Tx e Rx del modulo Bluetooth HC-05 rispettivamente ai pin 10 e 11 di Arduino. Quindi, collega il pin 5V e i pin GND ai pin con l'etichetta uguale su Arduino.

Sull'app Blynk, aggiungi il bluetooth e i widget dei pulsanti, come mostrato nelle immagini sopra. Quindi, assegna il pin digitale D13, che è collegato al LED integrato su Arduino Uno, al pulsante.

Carica ed esegui il seguente codice su Arduino con il modulo bluetooth collegato e apri il monitor seriale per vedere se il modulo bluetooth è connesso. Quindi attiva il pulsante On/Off e osserva il LED integrato sull'Arduino cambiare.

#define BLYNK_PRINT seriale

#includere

#includere

// Dovresti ottenere il token di autenticazione nell'app Blynk.

// Vai alle impostazioni del progetto (icona a forma di dado). char auth = "Il tuo token di autenticazione";

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

BLYNK_WRITE(V1)

{ int pinValue = param.asInt(); // assegnazione del valore in ingresso dal pin V1 a una variabile }

configurazione nulla()

{ Serial.begin(9600); // esegue il debug della console SerialBLE.begin(9600); Blynk.begin(SerialBLE, auth); Serial.println("In attesa di connessioni…"); }

ciclo vuoto()

{ Blynk.run(); }

Passaggio 13: saldatura dello scudo Arduino

Saldare lo scudo Arduino
Saldare lo scudo Arduino
Saldare lo scudo Arduino
Saldare lo scudo Arduino
Saldare lo scudo Arduino
Saldare lo scudo Arduino
Saldare lo scudo Arduino
Saldare lo scudo Arduino

Al fine di ripulire i circuiti e i cavi dei ponticelli allentati dal prototipo, salderemo uno shield Arduino che si collega a ciascuno degli ESC e al modulo Bluetooth, nonché un alimentatore all'Arduino.

Saldare il seguente schema sopra su una scheda perforata a doppia faccia.

Per prima cosa ho dimensionato e collegato le intestazioni pin maschio a doppia faccia sulle intestazioni femmina Arduino, quindi le ho saldate al lato superiore della scheda perf per entrambi i lati. Una volta saldati, l'ho rimosso dalla scheda Arduino per saldare la parte inferiore della scheda. Quindi, ho saldato le intestazioni dei pin maschi a lato singolo ESC in 4 set di 3 sul lato inferiore della scheda perf. Dopodiché, ho posizionato il modulo Bluetooth HC-05 in posizione verticale e ho saldato i connettori anche sul lato inferiore della scheda perf.

Poiché il modulo Bluetooth richiede un ingresso di tensione di 5 V e il PDB è regolato solo a 12 V, ho usato un LM7805 per ridurre la corrente per limitare l'assorbimento di corrente dall'Arduino. Questa stessa alimentazione a 5 V è anche collegata al pin 5 V dell'Arduino in modo che l'Arduino possa essere alimentato attraverso lo scudo anziché un adattatore jack a botte aggiuntivo.

I pin dell'LM7805 sono stati saldati sul lato inferiore della scheda perf con il componente del regolatore di tensione posizionato sopra la scheda perf come mostrato nell'immagine sopra. Ho saldato tutte le connessioni di alimentazione a ciascuno dei componenti e alle intestazioni dei pin ESC e al modulo Bluetooth HC-05 come descritto nello schema. L'uscita a 12 V del PDB è stata quindi saldata al pin di ingresso VCC (più a sinistra) e al pin di massa (al centro) del regolatore di tensione LM7805. Infine, ciascuna delle intestazioni dei pin del segnale ESC e dei pin Tx e Rx del modulo Bluetooth HC-05 ai pin digitali Arduino attraverso le intestazioni dei pin maschi a doppia faccia come mostrato nello schema.

Passaggio 14: creazione dell'app tramite Blynk

Creazione dell'app tramite Blynk
Creazione dell'app tramite Blynk

L'Omniboard sarà controllato tramite Bluetooth utilizzando qualsiasi smartphone tramite l'app Blynk. Blynk è un'app per Android e iOS che consente di utilizzare moduli e widget che possono interfacciarsi con diversi microcontrollori con funzionalità Bluetooth o wireless o moduli Bluetooth / wireless, come l'HC-05.

1. Installa Blynk sul tuo telefono.

2. Crea un account e accedi

3. Creare un nuovo progetto e denominarlo. Ho chiamato il mio "Controller Omniboard", ho selezionato Arduino Uno come microcontrollore e ho selezionato Bluetooth come tipo di interfaccia.

4. Trascina e rilascia i seguenti widget sullo schermo: Bluetooth, Mappa, 2 pulsanti e Joystick

Passaggio 15: interfacciare i widget con Arduino

Widget di interfacciamento con Arduino
Widget di interfacciamento con Arduino
Widget di interfacciamento con Arduino
Widget di interfacciamento con Arduino
Widget di interfacciamento con Arduino
Widget di interfacciamento con Arduino

Il pulsante verrà utilizzato per alternare la modalità Hoverboard rispetto alla modalità Skateboard. La modalità hoverboard consente un controllo preciso di spin e strafe mantenendo una velocità di crociera. Mentre, la modalità skateboard offre un controllo preciso della velocità in avanti e dello spin. Il joystick controllerà lo skateboard con due gradi di libertà che vengono scambiati dal pulsante di attivazione/disattivazione. La mappa mostrerà la tua posizione attuale e le tappe per altri luoghi in cui andare. Il bluetooth consente all'interfaccia di connettersi con un modulo Bluetooth.

Impostazioni del joystick:

Seleziona "Unisci" per il tipo di output e assegnalo al pin virtuale V1

Pulsanti Impostazione:

  • Assegna un nome al primo pulsante "Modalità al passaggio del mouse" e al secondo pulsante "Cruise Control".
  • Assegna l'output del primo pulsante al pin virtuale V2 e cambia la modalità in "Switch".
  • Assegna l'output del secondo pulsante al pin virtuale V3 e cambia la modalità in "Switch".
  • Rinominare i nomi di commutazione dei primi pulsanti come "Hover" e "Skate" e mantenere "ON" e "OFF".

Impostazioni mappa:

Assegnare l'input come V4

Impostazioni Bluetooth:

Seleziona il widget Bluetooth sull'app Blynk e connettiti con il tuo modulo. La password predefinita per il modulo Bluetooth è "1234"

Passaggio 16: programmazione della centrale Omniboard

Programmazione della centrale Omniboard
Programmazione della centrale Omniboard
Programmazione della centrale Omniboard
Programmazione della centrale Omniboard
Programmazione della centrale Omniboard
Programmazione della centrale Omniboard

La dinamica dell'Omniboard è stata programmata sulla base dell'algoritmo di dinamica derivato dalla sezione "Come funziona". Ciascuno dei 3 gradi di libertà, avanti, strafe e rotazione sono calcolati indipendentemente e sono sovrapposti l'uno all'altro per ottenere una gamma completa di controllo del movimento dell'Omniboard. Il controllo di ogni motore è linearmente proporzionale al movimento del joystick. Carica ed esegui il seguente codice su Arduino.

#define BLYNK_PRINT seriale

#includere

#includere

#includere

ServomotoreFR; ServomotoreFL; ServomotoreBR; ServomotoreBL;

bool motorFRrev = vero;

bool motorFLrev = vero; bool motorBRrev = vero; bool motorBLrev = vero;

galleggiante motoreFRang = 330.0*PI/180.0;

galleggiante motorFLang = 30.0*PI/180.0; motore galleggiante BRang = 210.0*PI/180.0; motore galleggianteBLang = 150.0*PI/180.0;

motore a galleggianteFRspeedT;

motore galleggiante FLspeedT; motore galleggianteBRspeedT; motore galleggianteBLspeedT;

motore a galleggianteFRspeedR;

motore galleggianteFLspeedR; motore galleggianteBRspeedR; motore galleggianteBLspeedR;

float maxAccel = 10;

byte forwardSpeed = 110;

byte backSpeed = 70; byte stopSpeed = 90; // cambia in numero determinato sperimentalmente

int cruiseControl;

int modalità imbardata;

// Dovresti ottenere il token di autenticazione nell'app Blynk.

// Vai alle impostazioni del progetto (icona a forma di dado). 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; motoreBRspeedR = 0; motorBLspeedR = 0; } writeToMotori(); }

configurazione nulla()

{ motorFR.attach(9); motorFL.attach(6); motoreBR.attach(5); motorBL.attach(3); ritardo (1500); // attende l'inizializzazione dei motori // Console di debug Serial.begin(9600);

SerialBLE.begin(9600);

Blynk.begin(SerialBLE, auth);

Serial.println("In attesa di connessioni…");

// Se vuoi rimuovere tutti i punti:

//myMap.clear();

indice int = 1;

lat float = 43.653172; float lon = -79,384042; myMap.location(index, lat, lon, "value"); }

ciclo vuoto()

{ Blynk.run(); }

void calcTranslation(int joyX, int joyY)

{ float normX = (joyX - 127.0)/128.0; float normY = (joyY - 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); }

void calcRotation(int joyX, int joyY)

{ float normX = (joyX - 127.0)/128.0; float normY = (joyY - 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()

{ float motorFRspeed = motorFRspeedT + motorFRspeedR; float motorFLspeed = motorFLspeedT + motorFLspeedR; galleggiante motoreBRvelocità = motoreBRvelocitàT + motoreBRvelocitàR; float motorBLspeed = motorBLspeedT + motorBLspeedR;

long motorFRmapped = map((long) (100*motorFRspeed), -100, 100, backSpeed, forwardSpeed);

long motorFLmapped = map((long) (100*motorFLspeed), -100, 100, backSpeed, forwardSpeed); long motorBRmapped = map((long) (100*motorBRspeed), -100, 100, backSpeed, forwardSpeed); long motorBLmapped = map((long) (100*motorBLspeed), -100, 100, backSpeed, forwardSpeed); motorFR.write(motorFRmapped); motorFL.write(motorFLmapped); motorBR.write(motorBRmapped); motorBL.write(motorBLmapped); }

Passaggio 17: installazione dell'alloggiamento dell'elettronica

Installazione dell'alloggiamento dell'elettronica
Installazione dell'alloggiamento dell'elettronica
Installazione dell'alloggiamento dell'elettronica
Installazione dell'alloggiamento dell'elettronica
Installazione dell'alloggiamento dell'elettronica
Installazione dell'alloggiamento dell'elettronica
Installazione dell'alloggiamento dell'elettronica
Installazione dell'alloggiamento dell'elettronica

Per evitare che tutti i cavi e le parti penzolino dal fondo, stampa in 3D l'alloggiamento attaccato, quindi avvitalo sullo skateboard usando le viti M5.

Passaggio 18: pittura

La pittura
La pittura
La pittura
La pittura
La pittura
La pittura

L'ispirazione per il design del ponte superiore sono i circuiti e i modelli PCB. Per fare questo, per prima cosa copri il fondo dello skateboard con il nastro del mio pittore per avvolgerlo. Quindi l'intero ponte superiore è rivestito con vernice bianca. Una volta asciutto, viene mascherato con il negativo dello schema del circuito, quindi ridipinto con una mano nera. Quindi, stacca con cura le maschere dallo strato superiore e voilà, uno skateboard dall'aspetto fresco.

Ti incoraggio a personalizzare il design della tua Omniboard ed esercitare la tua libertà creativa.

Passaggio 19: test e demo

Image
Image

Secondo Premio al Wheels Contest 2017

Concorso Telecomando 2017
Concorso Telecomando 2017

Primo Premio al Concorso Telecomandi 2017

Consigliato: