Sommario:

Cruscotto per bicicletta elettrica (EBike) e monitor della batteria: 12 passaggi (con immagini)
Cruscotto per bicicletta elettrica (EBike) e monitor della batteria: 12 passaggi (con immagini)

Video: Cruscotto per bicicletta elettrica (EBike) e monitor della batteria: 12 passaggi (con immagini)

Video: Cruscotto per bicicletta elettrica (EBike) e monitor della batteria: 12 passaggi (con immagini)
Video: Bici elettrica i-bike MUD – GESTIONE COMPUTER - DISPLAY LCD 2024, Dicembre
Anonim
Cruscotto e monitor della batteria della bicicletta elettrica (EBike)
Cruscotto e monitor della batteria della bicicletta elettrica (EBike)

Questo progetto è un circuito Arduino che monitora la tensione e la corrente della batteria con un modulo ACS 712. Le misurazioni vengono comunicate tramite Bluetooth con un modulo HC-05 a un dispositivo Android. Fondamentalmente si ricabla la connessione negativa tra il controller e la batteria per passare attraverso il modulo ACS712.

L'app Android mostra lo stato della batteria, nonché la velocità attuale e la distanza percorsa dal GPS Android

L'Android può essere montato sulla bici in una borsa resistente alle intemperie. Il circuito Arduino è montato in modo permanente in una scatola resistente alle intemperie sulla bici vicino alla batteria.

Il codice Android e Arduino è disponibile su github. (https://github.com/edj2001/BikeDashArduino e

github.com/edj2001/BikeDashAndroid. Avrai anche bisogno delle librerie https://github.com/edj2001/AndroidBluetoothLibrar… e

Sono disponibili versioni commerciali di prodotti simili se questo è più di quanto potresti essere in grado di gestire. Puoi trovarli facilmente cercando su Google "misuratore di watt bluetooth 36v". Se guardi alcune delle immagini, vedrai un Arduino Pro Mini, un alimentatore DC-DC e un modulo HC-05 (o -06) sul retro.

Se ti chiedi mai quanta batteria ti rimane, o quanto più puoi andare avanti con la batteria, o se hai bisogno di pedalare o ridurre l'acceleratore per arrivare dove stai andando, questo è ciò di cui hai bisogno.

Un altro potenziale vantaggio è che potresti decidere di rimuovere il computer da bicicletta dal tuo manubrio, liberando spazio, anche se ora il tuo telefono sarà invece montato sulla tua bici.

Come sempre, queste informazioni vengono fornite così come sono senza alcuna garanzia, esplicita o implicita. Sei responsabile di tutto ciò che fai con queste informazioni. Non sarò responsabile in alcun modo per eventuali danni di sorta. Vedi la sezione disclaimer nei Termini di servizio.

Passaggio 1: aggiornamenti istruibili

PeterB476 mi ha mostrato che avevo trascurato di includere un passaggio per inizializzare l'EPROM di Arduino, quindi l'ho aggiunto all'istruibile.

Ho anche aggiunto 2 nuove versioni dell'app in un passaggio successivo. Non sono stati testati a fondo, ma puoi provarli.

Passaggio 2: installa l'app Android

Non ha senso procedere con il resto di questo progetto se l'app Android non funziona sul tuo dispositivo. Le versioni di github hanno l'apk Android allegato. Il file apk è anche allegato qui. Assicurati che almeno la parte GPS dell'app funzioni e puoi provare a connetterti a un dispositivo bluetooth.

Se vuoi creare l'app da solo, ti suggerisco di iniziare con un punto di "rilascio" perché probabilmente a un certo punto funzionava, mentre l'ultimo ramo "master" potrebbe avere aggiornamenti che non sono stati testati.

Copia il file apk sul tuo dispositivo. Dovrai consentire "Origini sconosciute" nelle impostazioni di sicurezza sul tuo dispositivo poiché l'apk non proviene da Google Play. Quindi tocca semplicemente il file apk sul tuo dispositivo per installarlo.

Ovviamente l'app richiede i permessi bluetooth per comunicare con Arduino e i permessi GPS per determinare la velocità e la distanza percorsa.

Premi il pulsante "remoto" per provare a connetterti a un dispositivo bluetooth. Premere "reset" per ripristinare la distanza percorsa a 0. Tenere premuto il campo Ah della batteria utilizzato per ripristinarlo dopo aver caricato la batteria. Il valore di Ah utilizzato verrà salvato se si spegne e si riaccende la batteria senza caricarla.

Passaggio 3: raccogliere le parti

Raccogli parti
Raccogli parti
Raccogli parti
Raccogli parti
Raccogli parti
Raccogli parti

Nota che queste parti sono per una batteria da 36V. Se hai una batteria da 48 V dovrai cambiare la resistenza da 10 K in 11 K o 12 K e avrai bisogno di un convertitore DC-DC diverso.

1 Custodia resistente alle intemperie. Ho usato una scatola elettrica in PVC 4x4x2 pollici.

1 pezzo del tuo Stripboard o Protoboard preferito

1 Arduino Pro Mini, 5V 16 MHz. Potresti anche costruire facilmente un arduino bareboard poiché non hai bisogno di un regolatore di tensione o di un'interfaccia USB. Tutto ciò di cui hai bisogno è l'ATMEGA328P, un cristallo da 16 MHZ e alcuni condensatori. Puoi anche usare un Arduino Nano se hai spazio nel tuo recinto. Il Nano è più grande delle prime due scelte, ma ha l'interfaccia USB integrata se non si dispone di un convertitore seriale.

1 modulo ACS712 per adattarsi all'autonomia attuale della batteria. Ho usato un modulo da 20A per la mia batteria da 8A.

1 modulo bluetooth HC-05. Mi piace la varietà ZS-040, il tipo a 6 pin con il pulsante. Sarà etichettato ZS-040 sul retro.

1 alimentatore da 50 V a 5 V CC-CC se la tua bici ha una batteria da 36 V, che sarà di circa 42 V completamente carica. Se si dispone di una batteria da 48 V, sarà completamente carica da 56 o 57 V, quindi potrebbe essere necessario un alimentatore diverso. Per favore facci sapere cosa usi se trovi qualcosa per 60V. Alcune persone dicono che la maggior parte delle verruche da parete USB funziona a 48VDC (e superiori), ma non l'ho provato.

Resistori da 1/4W: 1 x 2K, 1 x 10K, 2 x 1K (aumentare i 10K se la batteria è superiore a 36V).

Portafusibile in linea e fusibile 2A.

Strisce di intestazione diritte e ad angolo retto

Morsettiere da 5,08 mm, 2 x 2

Cavo intrecciato 16AWG per l'interconnessione dei moduli.

Cavo solido 22AWG per il circuito arduino

Morsettiera per i collegamenti della batteria e della bici

Saldatore

saldare

Un modo per montare il tuo dispositivo Android sulla tua bici.

Per programmare il modulo Arduino e HC-05 avrai anche bisogno di un convertitore seriale da USB a ttl da 3,3 V (o almeno un programmatore ISP) e l'ide Arduino da https://www.arduino.cc/en/Main/Software. Questo progetto è stato realizzato con la versione 1.6.13, versioni diverse possono o meno funzionare senza modifiche.

Passaggio 4: inizializzare l'EPROM di Arduino

Ho trascurato di includere questo passaggio nell'istruzione originale. L'area della EPROM utilizzata dallo sketch deve essere inizializzata affinché lo sketch funzioni correttamente. Lo schizzo potrebbe essere scritto per farlo automaticamente, ma a questo punto non lo fa.

Se non stai lavorando con il codice sorgente di arduino, puoi scaricare il file esadecimale allegato a questo passaggio sul tuo arduino per inizializzare l'EPROM.

Se stai lavorando con il codice sorgente di arduino, ci sono due righe nella sezione setup() che assomigliano a questa:

//inizializza la EEPROM la prima volta che il programma viene eseguito.

//aggiorna EPROM();

Se rimuovi il commento dalla seconda riga in modo che assomigli a questo:

//inizializza la EEPROM la prima volta che il programma viene eseguito.

updateEPROM();

Scarica quello schizzo su arduino e fallo funzionare. La EPROM verrà inizializzata. Quindi consiglia la riga per il passaggio successivo.

L'EPROM viene utilizzata per ricordare quanta batteria è stata utilizzata in modo che tu possa andare in bicicletta, fermarti e spegnere la batteria e quando la riaccendi riprenderà da dove avevi interrotto.

Passaggio 5: configura Arduino

Scarica il codice Arduino (file esadecimale allegato) su Pro Mini utilizzando l'IDE Arduino o avrdude da solo. Normalmente useresti il convertitore da USB a seriale per questo, ma potresti usare anche un programmatore ISP.

Di nuovo, se vuoi compilarlo da solo, inizia con un "release". L'ultimo ramo "master" potrebbe avere modifiche non testate.

Se hai cambiato il resistore da 10K con qualcosa di più alto, dovrai anche cambiare la costante del partitore di tensione della batteria nello schizzo. Cambia 11.0 nella riga "double VBmultiplier = 11.0;" per abbinare qualsiasi cosa tu abbia installato.

Passaggio 6: configurare il modulo HC-05

Configura il modulo HC-05
Configura il modulo HC-05
Configura il modulo HC-05
Configura il modulo HC-05

È necessario configurare la velocità di trasmissione sul modulo HC-05. È anche bello dargli un nome che puoi facilmente riconoscere in seguito (come "BICI").

Anche per questo usi il modulo convertitore seriale da USB a ttl. Se non hai un convertitore seriale potresti scrivere uno schizzo per un arduino per configurarlo, o immagino che se hai 2 moduli HC-05 potresti collegarli insieme e usarne uno per programmare l'altro (forse).

C'è un eccellente articolo su questo modulo su

È necessario configurare la velocità di trasmissione su 4800 in modo che corrisponda allo schizzo Arduino e modificare il nome in "BICI" o qualcosa che riconoscerai.

Una volta che il modulo è configurato, puoi accoppiarlo con il tuo dispositivo Android nelle impostazioni bluetooth.

Passaggio 7: assemblare il circuito

Ho allegato una scansione del mio schema elettrico disegnato a mano per riferimento, se qualcuno è abbastanza ambizioso da ridisegnarlo bene, per favore fatemelo sapere:)

Effettuare i seguenti collegamenti:

(+) Batteria della bici su un lato del fusibile e del controller della bici.

L'altro lato del fusibile al terminale (+) IN del convertitore CC e del resistore da 10K per l'ingresso della tensione della batteria su Arduino.

(-) Batteria bici a (-)IN sul convertitore e un terminale di alimentazione ACS712.

A questo punto assicurati di avere 5 V dal convertitore CC quando accendi la batteria, se non l'hai già fatto.

Spegnere la batteria e completare i collegamenti:

(+)OUT dal convertitore Arduino 5V, HC05 VCC, ACS712 VCC.

(-)OUT dal convertitore ad Arduino GND, HC05 GND, ACS712 GND, Arduino pin A2.

HC05 TXD al pin 7 di Arduino

HC05 RXD da divisore resistivo bluetooth.

Arduino pin 8 al divisore del resistore bluetooth.

ACS712 OUT al pin Arduino A3

Divisore di tensione della batteria al pin Arduino A1

(-) dal Bike Controller al secondo terminale di alimentazione su ACS712.

Il pulsante di ripristino aggiuntivo non è realmente necessario, potrebbe essere utile solo quando si desidera eseguire il download su arduino dopo averlo installato sulla bici. Potresti essere in grado di raggiungere il pulsante di ripristino sull'arduino, oppure puoi ripristinarlo dall'interfaccia seriale se il tuo pro mini lo supporta.

Ricontrolla le tue connessioni.

Passaggio 8: verifica preliminare

A questo punto puoi accendere il circuito e verificare che stai ricevendo le letture nell'app Android.

Dovresti essere in grado di collegare il bluetooth alla bici e vedere la tensione della batteria e, si spera, vicino allo zero della corrente della batteria. Se riesci a far girare la bici e vedere la lettura corrente cambiare, allora tutto funziona.

L'app presuppone che la corrente positiva stia scaricando la batteria, quindi se la lettura mostra una corrente negativa quando si avvia la bici basta scambiare i due fili di corrente sul modulo ACS712.

Se non vedi alcuna lettura nell'app, puoi guardare le luci sul modulo bluetooth per assicurarti che sia connesso e stia trasmettendo dati. Puoi installare un'app terminale bluetooth sul tuo dispositivo per vedere i dati che vengono inviati dal circuito. Dovresti vedere circa 10 righe al secondo di letture correnti e una riga al secondo di tensione della batteria e quantità di batteria utilizzata. Se non vedi nulla, ricontrolla la configurazione del modulo HC05 e le connessioni tra l'arduino, il partitore di resistenza e il terminale HC05 TXD.

Infine, fai funzionare la bici abbastanza a lungo da visualizzare un valore diverso da zero nel display della batteria utilizzata. Quindi premere a lungo su quel numero fino a quando non viene visualizzato il messaggio di avviso che l'utilizzo è stato ripristinato. Il numero dovrebbe tornare a zero. In caso contrario, dopo aver provato alcune volte, ricontrollare le connessioni dal terminale HC05 RXD ad Arduino.

Passaggio 9: assemblaggio finale

Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale
Assemblea finale

Installa tutto l'hardware di montaggio e monta il circuito arduino sulla tua bici. Monta il tuo dispositivo Android in una borsa o in un altro supporto e sei pronto per partire!

Le immagini mostrano le pugnalate della batteria sulla mia bici e la borsa per il mio dispositivo Android.

Potete vedere la piccola scheda per i collegamenti del partitore di tensione della batteria e l'ACS712 montato in modo da poter raggiungere le viti della morsettiera dopo aver montato il tutto. Il modulo bluetooth HC-05 è tornato nell'angolo destro.

La morsettiera bianca ha tutte le connessioni del controller della batteria e della bicicletta al circuito.

Se dovessi farlo di nuovo, combinerei sicuramente il partitore di tensione della batteria e l'ACS712 sullo stesso pezzo di scheda figlia. Potrei anche provare a montare il modulo bluetooth su una scheda figlia sotto l'arduino.

Passaggio 10: passaggi futuri

L'app per Android potrebbe richiedere molto lavoro. Vorrei aggiungere alcuni cambiamenti di colore in base agli intervalli per le misurazioni. Vorrei anche aggiungere un'indicazione che una misurazione non si aggiorna nell'app. Potresti anche aggiungere alcuni indicatori grafici. Anche una bella icona sarebbe un grande miglioramento.

La caratteristica migliore sarebbe una "stima del vuoto" che ti direbbe la distanza che potresti percorrere con la batteria rimanente e se questa è più della distanza dalla tua destinazione. Dato che normalmente vado al lavoro o a casa, il mio pensiero è di avere "waypoint" GPS memorizzati nell'app che hanno la distanza rimanente da casa e quanta batteria viene utilizzata in media in quel waypoint. Probabilmente potresti anche fare qualcosa con una connessione dati, ma normalmente non ne ho una.

Mi piacerebbe passare dalla libreria bluetooth in questa app a una più sviluppata che abbia la riconnessione automatica, ad esempio.

Se lo costruisci, potresti prendere in considerazione l'aggiunta di un filtro passa basso hardware sulla corrente misurata e misurarla separatamente da utilizzare per il calcolo della carica totale utilizzata. A bassi carichi, inferiori a 4A circa, la misura varia ampiamente, +/-1A. Non sono sicuro se è solo un problema di misurazione o se la corrente cambia così tanto mentre la ruota gira. In ogni caso, una misurazione separata della corrente media su un secondo o due potrebbe aiutare con precisione. Potresti semplicemente campionare la corrente più velocemente e farlo nel software, ma non so quanto velocemente dovresti campionare. Immagino che mettere un oscilloscopio sul segnale possa aiutare a capire quanto velocemente campionarlo.

Potresti aggiungere cose come un tubo di Pitot per misurare la velocità del vento (c'è già un istruibile per questo).

Potresti aggiungere il controllo dell'acceleratore a circuito chiuso dall'arduino.

Se hai sempre desiderato una fonte di alimentazione USB sulla tua bici, puoi facilmente far passare un cavo dal convertitore da 5 V CC per arduino fino a dove ti serve la connessione di alimentazione USB.

Passaggio 11: domande e commenti

Se hai domande generali su uno qualsiasi degli elementi qui, è meglio cercare su Google invece di porre domande qui. Nessuno degli elementi è critico, puoi quasi certamente sostituire qualcos'altro e portare a termine il lavoro.

Non chiedermi di inviarti il codice, è tutto su github. Prendilo da lì. Non hai nemmeno bisogno di un account github.

Per favore, non chiedermi come fare qualcosa in Android Studio o su Arduino. Probabilmente non lo so. Ancora una volta, cercalo su Google.

Davvero non chiedermi informazioni sui prodotti Apple, non ne ho la più pallida idea.

Se l'app non funziona sul tuo dispositivo, mi dispiace. Ma probabilmente non so come risolverlo in modo che lo faccia. Funziona sul mio telefono, è tutto ciò di cui ho bisogno.

Sebbene i suggerimenti per miglioramenti siano i benvenuti, probabilmente non li implementerò mai, ho altre cose su cui passare. Probabilmente non metterò mai in atto i miei suggerimenti. La soluzione migliore è eseguire il fork del codice su github e aggiungere le cose da soli. Se lo fai, per favore fallo sapere alle persone qui in modo che possano usare il tuo codice invece del mio.

Se hai già creato tu stesso una versione migliore, pubblica qui un riferimento in modo che altri lo sappiano. non mi offenderò. Sarò felice di prendere la tua versione e iniziare a usarla.

Passaggio 12: aggiornamento dell'app per il test

Queste sono versioni aggiornate dell'app.

I numeri sono molto più grandi. C'è una nuova icona. Non c'è più il pulsante "connetti". Usa l'opzione "connetti - sicuro" dal menu in alto a destra.

Questa versione dovrebbe funzionare anche con la versione 2.3 di pan di zenzero di Android. Funziona sul mio LG P500 Optimus One.

La versione "app-settings-debug.apk" ha un menu di impostazioni per consentire di impostare la capacità della batteria in modo che il calcolo della percentuale rimanente sia corretto. Non è stato completamente testato.

Consigliato: