Sommario:

Longboard elettrico tracciabile: 16 passaggi (con immagini)
Longboard elettrico tracciabile: 16 passaggi (con immagini)

Video: Longboard elettrico tracciabile: 16 passaggi (con immagini)

Video: Longboard elettrico tracciabile: 16 passaggi (con immagini)
Video: Coding, Skate and art 2024, Novembre
Anonim
Longboard elettrico tracciabile
Longboard elettrico tracciabile
Longboard elettrico tracciabile
Longboard elettrico tracciabile
Longboard elettrico tracciabile
Longboard elettrico tracciabile
Longboard elettrico tracciabile
Longboard elettrico tracciabile

Questo progetto consiste in un longboard elettrico che mantiene il percorso con l'aiuto di un lampone pi. Queste sessioni sono conservate in un database mySQL e vengono visualizzate sul mio sito Web realizzato con il microframework 'Flask'.

(Questo è un progetto scolastico realizzato in 3 settimane)

Passaggio 1: materiali e strumenti

Questo progetto richiede abilità di saldatura e costerà circa € 500.

Materiali:

Tutti i materiali e i link ai fornitori sono nella scheda Distinta Base.

Utensili:

  • Saldatore + stagno
  • Pinze
  • Pistola per colla a caldo
  • Set di cacciaviti e chiavi a brugola
  • Una pincetta può tornare utile a volte
  • Tagliafili/spelafili

In questo progetto vengono utilizzati un tornio, un taglio laser e una stampante 3D!

Passaggio 2: sostituzione delle ruote e preparazione del camion

Sostituzione delle ruote e preparazione del camion
Sostituzione delle ruote e preparazione del camion
Sostituzione delle ruote e preparazione del camion
Sostituzione delle ruote e preparazione del camion
Sostituzione delle ruote e preparazione del camion
Sostituzione delle ruote e preparazione del camion
Sostituzione delle ruote e preparazione del camion
Sostituzione delle ruote e preparazione del camion

Prima di tutto, ho tolto quelle piccole ruote bianche dal mio longboard. Quindi ho rimosso i cuscinetti a sfera e li ho inseriti nelle ruote arancioni da 90 mm.

Il carrello su cui verrà montato il motore necessita di una piccola regolazione. La ruota con la ruota dentata non si adatta al carrello del longboard che avevo acquistato, quindi ho dovuto tagliare circa 1 cm con un tornio.

e li ho montati sui camion, tranne la ruota con l'ingranaggio (ho scelto a caso il destro, sul retro).

Passaggio 3: supporto motore per taglio e saldatura

Supporto motore per taglio e saldatura
Supporto motore per taglio e saldatura
Supporto motore per taglio e saldatura
Supporto motore per taglio e saldatura
Supporto motore per taglio e saldatura
Supporto motore per taglio e saldatura

Ho realizzato il supporto del motore in alluminio con un lasercutter alle dimensioni della foto sopra.

Il posizionamento della montatura è importante. Deve essere inclinato il più possibile senza toccare la tavola e poiché ho un motore grande, l'angolo non è così grande. Mi è capitato di conoscere un saldatore, quindi all'inizio lo ha saldato un po' e poi per testare il posizionamento, ho spinto i carrelli da un lato all'altro per vedere se toccava la tavola.

Dopo che tutta la mia scheda è stata completata, ho fatto un giro di prova e il supporto del motore si è allentato, questo spiega perché il mio motore apparirà danneggiato nelle prossime foto;) Dopodiché ho chiesto a un mio conoscente di saldarlo completamente.

Passaggio 4: montaggio del motore e della cinghia

Montaggio del motore e della cinghia
Montaggio del motore e della cinghia
Montaggio del motore e della cinghia
Montaggio del motore e della cinghia
Montaggio del motore e della cinghia
Montaggio del motore e della cinghia

Utilizzare 4 dei grassetti M4*14 per montare il motore sul supporto.

Successivamente è necessario fissare la puleggia motore a 12 denti sull'albero motore. Assicurati che il piccolo grassetto si trovi sulla parte piatta dell'asta!

Ora puoi prendere una delle cinghie e metterla attorno alla puleggia, prendere la ruota con l'ingranaggio e girarla finché l'intera cinghia non è attorno all'ingranaggio.

Stringi il dado al camion in modo che la ruota non cada e il gioco è fatto.

Passaggio 5: schemi elettrici

Schema elettrico
Schema elettrico
Schema elettrico
Schema elettrico
Schema elettrico
Schema elettrico

I componenti elettronici sono stati collegati secondo gli schemi sopra.

Il primo è uno schema completo dell'elettronica.

Il secondo schema mostra tutti i collegamenti della parte elettrica del longboard, il 6s UBEC a 12V va allo schema successivo. Quel diagramma mostra il circuito delle luci e dei sensori controllati dal Raspberry Pi.

Come probabilmente hai già visto, lo schermo tft ha un'intestazione femminile che occupa molti pin. Pin di cui abbiamo bisogno per la comunicazione seriale con il modulo GPS. Quindi ho saldato i fili ai pin di cui abbiamo bisogno (Figura 4-6) a un'intestazione femmina che si collega al Pi.

Passaggio 6: collegamento del BMS

Collegamento del BMS
Collegamento del BMS
Collegamento del BMS
Collegamento del BMS
Collegamento del BMS
Collegamento del BMS

Ho usato comsa42 his intructables per lo schema di collegamento.

Ho usato una scheda Balance BMS (sistema di gestione della batteria) per caricare i miei lipo in modo da poterli lasciare nel mio alloggiamento e caricarli con un "caricatore intelligente" tramite un jack CC impermeabile

Ho saldato due cavi per una porta di ricarica sul BMS, uno sul P- (nero) e l'altro sul P+ (rosso). (Questi cavi non devono essere così spessi poiché passeranno solo 2 Ampere la porta di ricarica)

NOTA: All'inizio ho usato un jack DC con viti, ma in seguito l'ho sostituito con il jack DC impermeabile della BOM. Non saldare ancora la spina o avrai un problema una volta che vorrai inserirla nel tuo alloggiamento.

Ho collegato le due batterie in serie con una delle "spine XT60 2 pack in series" che ho acquistato. Ho collegato quell'intestazione maschio a una femmina e ci ho saldato uno spesso filo rosso e nero. Il filo rosso va a B+ e BMS e quello nero va a B-.

Poi i cavi di bilanciamento per le batterie. Ho usato due dei cavi di bilanciamento acquistati e ho scollegato il filo di bilanciamento rosso per la batteria uno e l'ultimo filo nero per la batteria due su entrambi i lati. Non ne abbiamo bisogno perché sono gli stessi dei cavi spessi della batteria, che abbiamo già collegato. Quindi saldalo nell'ordine giusto come nel diagramma.

NOTA: Nel mezzo ho collegato la massa con il positivo della batteria successiva, ma non è proprio necessario, perché il connettore di serie già lo fa.

Passaggio 7: interruttore di accensione/spegnimento (tasto loop)

Interruttore di accensione/spegnimento (tasto loop)
Interruttore di accensione/spegnimento (tasto loop)
Interruttore di accensione/spegnimento (tasto loop)
Interruttore di accensione/spegnimento (tasto loop)
Interruttore di accensione/spegnimento (tasto loop)
Interruttore di accensione/spegnimento (tasto loop)

Invece di acquistare un interruttore antiscintilla da 60 dollari, ho realizzato una chiave ad anello. Il principio è semplice. Si effettua un'interruzione nel circuito e per accendere la scheda si inserisce il connettore antiscintilla XT90 e il circuito si chiude, senza scintille.

Per prima cosa ho saldato un filo alla spina maschio (foto 2-4) e poi alcuni connettori bullet da 3,5 mm alla spina femmina XT90.

Per collegarlo alle batterie ho utilizzato un connettore XT60 maschio a un connettore XT60 femmina ma con un'interruzione nel filo rosso. Quindi ho saldato i connettori a proiettile alle estremità dove ho tagliato il filo a metà, così posso collegare l'intestazione XT90 femmina invece di saldarla direttamente al cavo. Quindi collegalo e voilà, l'interruttore on/off è fatto.

Passaggio 8: VESC, indicatore della batteria e UBEC Connecor

VESC, indicatore della batteria e UBEC Connecor
VESC, indicatore della batteria e UBEC Connecor
VESC, indicatore della batteria e UBEC Connecor
VESC, indicatore della batteria e UBEC Connecor
VESC, indicatore della batteria e UBEC Connecor
VESC, indicatore della batteria e UBEC Connecor

Ho creato il mio "connettore 3 in parallelo a 1" incollando insieme 3 intestazioni XT60 (foto 1) e saldando un filo ai positivi dell'albero e un filo ai negativi dell'albero (foto 2-6). Successivamente ho saldato un connettore maschio e protetto i cavi scoperti con del nastro adesivo nero. (foto 7-9)

VESC e indicatore

Saldare una spina XT60 maschio ai cavi di alimentazione VESC e ai cavi dell'indicatore di percentuale/tensione della batteria.

uBEC

Scollegare2 cavi di bilanciamento e saldare l'estremità maschio a una spina XT60 maschio. Le estremità femmina si collegano al lato di ingresso dell'uBEC (convertitore di tensione).

NOTA: avevo tagliato i fili del bilanciamento un po' più corti, ma è stato un errore quindi lasciateli intatti;)

Passaggio 9: dal sensore del motore a Vesc

Sensore motore a Vesci
Sensore motore a Vesci
Sensore motore a Vesci
Sensore motore a Vesci
Sensore motore a Vesci
Sensore motore a Vesci

Utilizzare due dei cavi passo-passo per collegare il sensore del motore al VESC. Il motore ha 5 pin, 2 per power en tree per i sensori di hall (1 pin per sensore di hall).

Estrarre i quattro cavi dal lato a 4 pin e prendere un filo in più da un secondo cavo stepper, tagliarli un po' più corti e saldare alcuni pin maschio all'estremità. Mettili nell'ordine corretto come nelle immagini

Usa tubi termoretraibili e nastro adesivo per rendere tutto sicuro! Fatto ciò, l'unica cosa che resta da fare è metterli nell'ordine giusto dal VESC al motore.

Passaggio 10: alimentazione Raspberry Pi

Alimentatore Raspberry Pi
Alimentatore Raspberry Pi
Alimentatore Raspberry Pi
Alimentatore Raspberry Pi
Alimentatore Raspberry Pi
Alimentatore Raspberry Pi

Abbiamo bisogno di un convertitore da 12V a 5V che alimenterà il raspberry pi tramite USB, quindi ho subito pensato a un caricabatterie per auto. È una soluzione economica e pratica.

NOTA: prima di aprirlo, dovresti assicurarti di ricordare qual è la porta che può fornire 2,1 Ampere, perché il Pi ne ha bisogno.

Quindi rimuovere l'adesivo e svitare la parte superiore della carica dell'auto, quindi allentare il perno nella parte inferiore. Successivamente si aprirà facilmente, saldare la molla (+12V) e l'oggetto curvo metallico (GND) allentati e sostituirli con 2 di quei fili di bilanciamento (saldare il lato maschio al PCB).

Fatto ciò, ho verificato se tutto fosse corretto collegando un jack CC ai fili e l'ho collegato a un alimentatore del mio LED e ho misurato la tensione di uscita USB (i due esterni sono +5V e GND).

Se tutto è corretto, puoi nascondere le parti metalliche nude con dei tubi termoretraibili e del nastro adesivo.

NOTA: Dubbelcheck la polarità sul caricatore, perché può essere diversa.

Passaggio 11: cablaggio di Pi, luci e GPS

Cablaggio del Pi, delle luci e del GPS
Cablaggio del Pi, delle luci e del GPS
Cablaggio del Pi, delle luci e del GPS
Cablaggio del Pi, delle luci e del GPS
Cablaggio del Pi, delle luci e del GPS
Cablaggio del Pi, delle luci e del GPS
Cablaggio del Pi, delle luci e del GPS
Cablaggio del Pi, delle luci e del GPS

Ora il potere per le luci.

Riceviamo 12V dal nostro uBEC e ne abbiamo bisogno per le nostre luci anteriori, posteriori e caricabatteria per auto. Il Raspberry Pi non può fornire abbastanza corrente né tensione per alimentare i LED quindi dovremo usare un transistor. I 12V verranno utilizzati come alimentazione e il Raspberry Pi li accenderà e spegnerà controllando la Base del transistor NPN (2N222: foto 2) quindi saldiamolo a una scheda di prototipazione.

Prima di tutto la luce posteriore è come la parte posteriore del longboard e il lampone pi arriverà nella parte anteriore, quindi il cavo dovrà essere esteso (foto 3-5). Il fanale posteriore ha 3 fili. Nero (negativo), giallo (luce di marcia/posteriore), rosso (luce di stop/stop). Ma poiché c'è solo una piccola differenza tra il freno e la luce di marcia, ho scelto di usare il filo rosso e lasciare stare quello giallo. Metti un lungo cavo maschio nel metallo fornito della luce posteriore e piegalo insieme finché il cavo non può più allentarsi. Fai questo per il filo nero e rosso.

Per le luci posteriori, saldarle in parallelo. Poi la scheda di prototipazione. Saldare le estremità femmina dei due fili di bilanciamento alla scheda e utilizzare un filo di rame per distribuire i 12V su tutta la scheda. Quindi aggiungi i transistor, uno per le luci anteriori e uno per le luci posteriori. Collettore -> 12 V, emettitore -> GND e la base a un resistore e quindi a un filo con un'estremità femmina, che si adatterà ai pin GPIO Raspberry pi (pin 20 e 21). Il caricatore per auto può essere alimentato a 12V, quindi inserire un cavo USB nell'ingresso USB corretto e inserire l'estremità micro USB nel Raspberry Pi.

Connessioni GPS:

PI GPS

3.3V -> Vin

GND -> GND

RX -> TX

TX -> RX

NOTA: solo i 2 pin di base del transistor necessitano di un resistore esterno per limitare la corrente. Le luci non ne hanno bisogno perché sono integrate nei led.

Passaggio 12: alloggio

alloggiamento
alloggiamento
alloggiamento
alloggiamento
alloggiamento
alloggiamento

Ho avvolto le parti che si uniscono in fogli di plastica per assicurarmi che tutto il filo fosse sicuro ed è più facile metterlo nell'alloggiamento in seguito. Ho progettato tutte le parti in Inventor e le ho stampate con la mia stampante 3D. Sono forniti tutti i file inventor (.ipt) e i file printer/slicer (.stl). I disegni sono molto semplici.

Lato posteriore (parti elettriche del longboard)

È possibile inserire l'indicatore della batteria e la spina XT90 femmina e quindi posizionare la scatola di plastica. Una volta che l'alloggiamento è stato bloccato, ho fissato la spina XT90 con la colla a caldo in modo che rimanga bloccata quando l'interruttore viene tirato dentro e fuori. Ho anche aggiunto una vite all'interno dell'alloggiamento proprio accanto alla parete dove è fissata la spina XT90 in modo che la parete non possa essere premuta quando si collega la chiave ad anello.

L'antenna del modulo gps è lunga, lunghissima. Quindi ho tenuto le due estremità fuori dalla scatola e ho piegato il filo in questa parte della custodia.

NOTA: usa piccole viti che non siano più lunghe dello spessore del longboard!

Una volta che è andato tutto bene, ho sostituito il mio jack DC di prova con uno impermeabile. Ho saldato alcuni fili con connettori a proiettile femmina ai fili e connettori a proiettile maschio sui fili che sono collegati alla scheda BMS. Ancora una volta, i fili non devono essere così spessi perché il caricabatterie eroga solo circa 2 ampere. Sarà anche più facile collegare il jack nella custodia con alcuni fili più piccoli…

Lato anteriore (raspberry pi con GPS e luci)

Fai scorrere lo schermo nel retro della custodia. Posizionare tutti i cavi all'interno dell'alloggiamento e avvitarlo. Potresti anche voler mettere un po' di pellicola o qualcosa tra l'antenna e il Raspberry Pi, perché era molto magnetico e ai computer non sempre piace.

NOTA: Fare attenzione quando si fa scorrere lo schermo tft nell'alloggiamento, in modo da non danneggiare i cavi che controllano il tocco. È successo a me…

Passaggio 13: configurazione di base Più

Prima di tutto, abbiamo bisogno di una scheda SD con Raspbian. Puoi scaricare raspbian da qui. Una volta scaricato, possiamo installare raspbian sulla scheda SD. È possibile installare il software utilizzando Win32Discmanager o etch sul computer.

Una volta installato dovrai aggiungere un file chiamato 'ssh' senza estensione per abilitare l'SSH sul pi. Una volta fatto, puoi avviare il tuo raspberry e aggiungerlo alla tua rete.

Il pi non avrà connessione alla tua rete quindi dovrai impostare un indirizzo APIPA, questo è l'indirizzo IP che avrà il pi quando non ha connessione a una rete. Apri il file 'cmdline.txt' sulla scheda SD e aggiungi un indirizzo APIPI. Ad esempio: 'ip=169.254.10.5'.

NOTA: assicurati che tutto stia su una riga o non funzionerà!

Inserisci la SD nel PI, aggiungi un cavo di rete dal tuo pi al computer e quindi collega l'alimentazione.

Successivamente puoi usare Putty o se usi un mac, usa semplicemente il terminale per creare una connessione SSH.

ssh [email protected]

Aggiunta di una connessione wireless:

Per aggiungere una nuova rete al tuo pi puoi digitare questo comando:

echo ENTER_ YOUR_PASSWORD | wpa_passphrase ENTER_YOUR_SSID >>

/etc/wpa_supplicant/wpa_supplicant.conf

Dopo un riavvio dovresti essere in grado di trovare il tuo indirizzo IP sul tuo router e connetterti al tuo pi tramite ssh con quell'indirizzo IP.

ssh pi@IP_FROM_PI

Trovare sempre il tuo IP è un po' fastidioso, quindi impostiamo un nome host in modo da poterlo utilizzare (per questo è necessaria l'installazione di Bonjour su PC Windows).

sudo raspi-config nonint do_hostname SCEGLI_A_HOSTNAME

NOTA: per utilizzare il nome host in futuro, è necessario digitare la regola SSH in questo modo:

ssh UTENTE@TUO_NOMEHOST.local

Dovremmo essere sicuri che il sistema e i pacchetti di pi siano aggiornati:

Immettere il seguente comando per rendersi conto che:

sudo apt-get update && sudo apt-get upgrade

Passaggio 14: metti il progetto sul tuo Pi

Nuovo utente

Ho creato un nuovo utente "longboard" per questo progetto:

Dovremo andare alla radice per questo

sudo -i

Aggiungi utente longboard Nuova password: > l0ngb0@rd Nome completo: > longboard elettrico

Puoi lasciare il resto vuoto. In seguito dovremo dare all'utente 'longboard' i diritti di sudo

adduser longboard sudo

Successivamente torneremo dal nostro utente longboard

su longboard

Pacchetti

Installazione di alcuni pacchetti per il progetto. Pacchetti per ospitare il sito Web un database

python3 -m pip install --user --upgrade pip==9.0.3

sudo apt install -y python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 rabbitmq-server

Database di connettori, siti Web di pacchetti e librerie per rilevamento GPS/tijdzone

python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib argon2 libgeos-dev pytz tzwhere

Configurazione del database

Controlla lo stato di mysql

sudo systemctl status mysql

Inserendo questo comando, puoi vedere che MySQL ascolta solo su 127.0.0.1 -> non accessibile dalla rete, solo locale (su pi auto).

ss -lt | grep mysql

Avvia cliente come roo

sudo mysql

Crea utenti:

CREA UTENTE 'project-admin'@'localhost' IDENTIFICATO DA '@min_l0ngb0@rd';

CREA UTENTE 'project-longboard'@'localhost' IDENTIFICATO DA 'l0ngb0@rd';

Creazione del database e impostazione dei privilegi:

CREA DATABASE longboard_db;

CONCEDERE TUTTI I PRIVILEGI SU longboard_db.* a 'project-admin'@'localhost' CON L'OPZIONE DI CONCESSIONE; > CONCEDERE SELEZIONA, INSERISCI, AGGIORNA, ELIMINA ON longboard_db.* TO 'project-longboard'@'localhost'; > PRIVILEGI DI SCARICO;

Esegui lo script sql per creare le tabelle, creerà anche un utente predefinito per il sito Web:

(nome utente: longboard, password: test):

sorgente \home\logboard\longboard\longboard_db.sql;

esci

Verifica se l'esecuzione del file ha funzionato:

echo 'mostra tabelle;' | mysql longboard_db -t -u project-admin -p

Crea una directory 'longboard' e clona il mio progetto da github

longboard mkdir && longboard cd

git clone

Se hai usato lo stesso nome di directory e utente come me, non dovresti modificare i file nella directory conf.

In caso contrario, dovresti regolare i file (> sudo nano conf/filename.extension)

Una volta che i percorsi sono corretti, è necessario copiare i file nella directory di sistema. Ci sono servizi ad albero.

  • Uno per il sito kiosk su localhost.
  • Uno per il modulo gps con connessione al database
  • Uno per il sito disponibile sulla tua rete

sudo cp conf/project1-*.service /etc/systemd/system/

sudo systemctl daemon-reload > sudo systemctl start project1-* > sudo systemctl status project1-*

Quando tutto è a posto, dovresti abilitarli in modo che si avviino automaticamente all'avvio del pi:

(Se il passaggio precedente fallisce, dovresti controllare i percorsi nei file di configurazione)

sudo systemctl abilita progetto1-*

Configurazione del servizio nginx:

  • copia conf/nginx in "sites-available" (e dagli un nome migliore)
  • rimuovere il collegamento a default-config
  • collegamento alla nuova configurazione/nginx
  • riavvia per attivare le modifiche

sudo cp conf/nginx /etc/nginx/sites-available/project1

sudo rm /etc/nginx/sites-enabled/default > sudo ln -s /etc/nginx/sites-available/project1 /etc/nginx/sites-enabled/project1 > sudo systemctl riavvia nginx.service

Controlla se nginx è sopravvissuto:

sudo systemctl status nginx.service

Una volta fatto, dovresti avere un server web sull'ip del tuo pi disponibile sulla tua rete e un sito sul localhost per avviare e interrompere la sessione offline.

Passaggio 15: configurazione della modalità chiosco Raspberry Pi

Configurazione della modalità Kiosk Raspberry Pi
Configurazione della modalità Kiosk Raspberry Pi

Installazione dei pacchetti

sudo apt-get install chromium-browser x11-xserver-utils unclutter

Inserisci il file di avvio automatico dell'utente pi:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

Dovrai commentare (mettere un # davanti alla riga) la regola esistente:

#@xscreensaver -no-splash

Quindi aggiungi queste righe sotto la riga del salvaschermo

@xset è spento

@xset -dpms @xset s noblank @chromium-browser --noerrdialogs --kiosk https://127.0.0.1:8080/ --overscroll-history-navigation=0 --incognito --disable-pinch

Premi ctrl-O e poi ctrl-X per scrivere ed uscire dal file e ora digita:

sudo raspi-config

Da lì, vai a boot_behaviour e modifica questa impostazione per l'avvio in modalità desktop e accedi come utente pi per impostazione predefinita.

NOTA: per uscire dalla modalità kiosk, puoi digitare

sudo killall browser di cromo.

Questo chiuderà tutte le istanze del browser chromium.

Passaggio 16: come funziona

Come funziona
Come funziona
Come funziona
Come funziona
Come funziona
Come funziona

Quando il pi si avvia, vedrai l'indirizzo IP sulla schermata tft insieme a un elenco di tutti gli utenti della scheda.

Puoi avviare una sessione offline tramite questa schermata. Puoi anche controllare le luci. Se digiti l'indirizzo IP nel tuo browser, arriverai alla schermata di accesso. Puoi accedere con l'utente predefinito 'board' (password: test). oppure puoi creare un nuovo account. Fatto ciò, vedrai la tua dashboard. Qui puoi vedere il tuo percorso di viaggio e la distanza totale, il tempo di viaggio. Se vai alla scheda longboard, puoi vedere la posizione corrente della scheda, puoi attivare le luci e iniziare a registrare una sessione. Dopo aver fatto clic su "Avvia sessione", il PI determinerà costantemente la posizione e la salverà nel database fino a quando non si premerà "Interrompi sessione". Se il GPS non ha un fix, la sessione non può essere avviata, riceverai un avviso nella parte superiore dello schermo. Le tue sessioni verranno visualizzate su una mappa di Google.

Concorso "Fai muovere"
Concorso "Fai muovere"
Concorso "Fai muovere"
Concorso "Fai muovere"

Secondo classificato al concorso Make it Move

Consigliato: