Innehållsförteckning:

Elektrisk cykel (EBike) instrumentbräda och batteriövervakare: 12 steg (med bilder)
Elektrisk cykel (EBike) instrumentbräda och batteriövervakare: 12 steg (med bilder)

Video: Elektrisk cykel (EBike) instrumentbräda och batteriövervakare: 12 steg (med bilder)

Video: Elektrisk cykel (EBike) instrumentbräda och batteriövervakare: 12 steg (med bilder)
Video: Electric Bike Drivetrains: Internal vs External Gears (Derailleur, Enviolo, Rohloff, etc) 2024, Juli
Anonim
Elektrisk cykel (EBike) instrumentbräda och batteriövervakare
Elektrisk cykel (EBike) instrumentbräda och batteriövervakare

Detta projekt är en Arduino -krets som övervakar batterispänning och ström med en ACS 712 -modul. Mätningarna kommuniceras via Bluetooth med en HC-05-modul till en Android-enhet. I princip kopplar du om den negativa anslutningen mellan din handkontroll och batteriet för att gå igenom ACS712 -modulen.

Android -appen visar batteristatus samt aktuell hastighet och avstånd från Android GPS

Android kan monteras på cykeln i en väderbeständig väska. Arduino -kretsen är permanent monterad i en väderbeständig låda på cykeln nära batteriet.

Android- och Arduino -koden är tillgänglig på github. (https://github.com/edj2001/BikeDashArduino och

github.com/edj2001/BikeDashAndroid. Du behöver också biblioteken https://github.com/edj2001/AndroidBluetoothLibrar… och

Det finns kommersiella versioner av liknande produkter tillgängliga om detta är mer än du kanske kan hantera. Du hittar dem enkelt genom att googla "bluetooth 36v wattmätare". Om du tittar på några av bilderna ser du en Arduino Pro Mini, en DC-DC-strömförsörjning och en HC-05 (eller -06) -modul på baksidan.

Om du någonsin undrar hur mycket batteri du har kvar, eller hur mycket längre du kan gå på batteriet, eller om du behöver trampa eller minska gasen för att komma dit du ska, är det här du behöver.

En annan potentiell fördel är att du kan bestämma dig för att ta bort cykeldatorn från styret, vilket frigör lite utrymme, men nu kommer din telefon att monteras på din cykel istället.

Som alltid tillhandahålls denna information som den är utan någon form av garanti, uttrycklig eller underförstådd. Du är ansvarig för allt du gör med denna information. Jag kommer inte att vara ansvarig eller ansvarig på något sätt för några som helst skador. Se ansvarsfriskrivningsavsnittet i användarvillkoren.

Steg 1: Instruktiva uppdateringar

PeterB476 visade mig att jag hade försummat att inkludera ett steg för att initiera Arduino EPROM, så jag har lagt till det i den instruerbara.

Jag har också lagt till 2 nya versioner av appen till ett senare steg. De har inte testats noggrant men du kan prova dem.

Steg 2: Installera Android -appen

Det är ingen idé att fortsätta med resten av det här projektet om Android -appen inte fungerar på din enhet. Utgåvorna från github har Android -apk bifogad. Apk -filen bifogas också här. Se till att åtminstone GPS -delen av appen fungerar, och du kan försöka ansluta till en Bluetooth -enhet.

Om du vill bygga appen själv föreslår jag att du börjar med en "release" -punkt eftersom den förmodligen fungerade någon gång, medan den senaste "master" -grenen kan ha uppdateringar som inte har testats.

Kopiera apk -filen till din enhet. Du måste tillåta "Okända källor" i säkerhetsinställningarna på din enhet eftersom APK -enheten inte kom från Google Play. Tryck sedan helt enkelt på apk -filen på din enhet för att installera den.

Uppenbarligen kräver appen bluetooth -behörigheter för att kommunicera med Arduino, och GPS -behörigheter för att bestämma din hastighet och rest sträcka.

Tryck på "fjärrkontrollen" -knappen för att försöka ansluta till en Bluetooth -enhet. Tryck på "reset" för att återställa avståndet till 0. Håll batteriet Ah använt fältet för att återställa det efter att du laddat batteriet. Ah -värdet sparas om du stänger av och på batteriet utan att ladda det.

Steg 3: Samla delar

Samla delar
Samla delar
Samla delar
Samla delar
Samla delar
Samla delar

Observera att dessa delar är för ett 36V batteri. Om du har ett 48V-batteri måste du ändra 10K-motståndet till 11K eller 12 K, och du behöver en annan DC-DC-omvandlare.

1 väderbeständigt hölje. Jag använde en 4 x 4 x 2 tum PVC -låda.

1 bit av din favorit Stripboard eller Protoboard

1 Arduino Pro Mini, 5V 16 MHZ. Du kan också enkelt bygga en bareboard -arduino eftersom du inte behöver en spänningsregulator eller usb -gränssnitt. Allt du behöver är ATMEGA328P, en 16MHz kristall och några kondensatorer. Du kan också använda en Arduino Nano om du har plats i ditt hölje. Nano är större än de två första alternativen, men har det inbyggda USB -gränssnittet om du inte har en serieomvandlare.

1 ACS712 -modul för att matcha batteriets nuvarande räckvidd. Jag använde en 20A -modul för mitt 8A -batteri.

1 HC-05 Bluetooth-modul. Jag gillar sorten ZS-040, den 6-poliga typen med tryckknappen. Det kommer att märkas ZS-040 på baksidan.

1 50V till 5V DC-DC strömförsörjning om din cykel har ett 36V batteri, vilket blir cirka 42V fulladdat. Om du har ett 48V batteri blir det 56 eller 57V fulladdat, så du kan behöva en annan strömförsörjning. Låt oss veta vad du använder om du hittar något för 60V. Vissa människor säger att de flesta usb -väggvorter fungerar på 48VDC (och högre), men jag har inte provat det.

1/4W motstånd: 1 x 2K, 1 x 10K, 2 x 1K (öka 10K om ditt batteri är mer än 36V).

In-line säkringshållare och 2A säkring.

rak och rät vinkel Header Strips

5,08 mm kopplingsblock, 2 x 2

16AWG -trådad tråd för sammankoppling av modulerna.

22AWG solid tråd för arduino -kretsen

Kopplingsplint för batteri och cykelanslutningar

Lödkolv

löda

Ett sätt att montera din Android -enhet på din cykel.

För att programmera Arduino- och HC-05-modulen behöver du också en 3.3V usb till ttl seriell omvandlare (eller åtminstone en isp-programmerare) och Arduino ide från https://www.arduino.cc/en/Main/Software. Detta projekt gjordes med version 1.6.13, olika versioner kanske fungerar eller inte fungerar utan modifiering.

Steg 4: Initiera Arduino EPROM

Jag försummade att inkludera detta steg i den ursprungliga instruerbara. Det område av EPROM som används av skissen måste initialiseras för att skissen ska fungera korrekt. Skissen kan skrivas för att göra det automatiskt, men vid det här laget gör det inte det.

Om du inte arbetar med arduino -källkoden kan du ladda ner hex -filen som bifogas detta steg till din arduino för att initiera EPROM.

Om du arbetar med arduino -källkoden finns det två rader i setup () -avsnittet som ser ut så här:

// initiera EEPROM första gången programmet körs.

// updateEPROM ();

Om du avmarkerar den andra raden så att den ser ut så här:

// initiera EEPROM första gången programmet körs.

updateEPROM ();

Ladda ner den skissen till arduinoen och låt den gå. EPROM kommer att initieras. Rekommendera sedan raden för nästa steg.

EPROM används för att komma ihåg hur mycket av batteriet som har använts så att du kan cykla, stanna och stänga av batteriet, och när du slår på det startar det från där du slutade.

Steg 5: Konfigurera Arduino

Ladda ner Arduino -koden (hex -fil bifogad) till Pro Mini med antingen Arduino IDE eller avrdude själv. Normalt skulle du använda usb till seriell omvandlare för detta, men du kan också använda en isp -programmerare.

Återigen, om du vill kompilera det själv, börja med en "release". Den senaste "master" -grenen kan ha otestade ändringar.

Om du ändrade 10K -motståndet till något högre måste du också ändra batterispänningsdelarens konstant i skissen. Ändra 11.0 i raden "dubbel VBmultiplier = 11.0;" för att matcha det du installerade.

Steg 6: Konfigurera HC-05-modulen

Konfigurera HC-05-modulen
Konfigurera HC-05-modulen
Konfigurera HC-05-modulen
Konfigurera HC-05-modulen

Du måste konfigurera överföringshastigheten på HC-05-modulen. Det är också trevligt att ge det ett namn som du lätt kan känna igen senare (som "BIKE").

Du använder också usb to ttl seriell omvandlarmodul för detta. Om du inte har en serieomvandlare kan du skriva en skiss för en arduino för att konfigurera den, eller jag antar att om du har 2 HC-05-moduler kan du koppla ihop dem och använda den ena för att programmera den andra (kanske).

Det finns en utmärkt skrivning om denna modul på

Du måste konfigurera överföringshastigheten till 4800 för att matcha Arduino -skissen och ändra namnet till "BIKE" eller något som du känner igen.

När modulen är konfigurerad kan du para ihop den med din Android -enhet i dina Bluetooth -inställningar.

Steg 7: Montera krets

Jag har bifogat en skanning av mitt handritade kopplingsschema för referens, om någon är ambitiös nog att rita om det snyggt, låt mig veta:)

Gör följande anslutningar:

(+) Cykelbatteri på ena sidan av säkring och cykelkontroll.

Andra sidan av säkring till DC -omvandlare (+) IN -kontakt och 10K motstånd för batterispänning på Arduino.

(-) Cykelbatteri till (-) IN på omvandlare och en ACS712-strömterminal.

Se till att du har 5V från din DC -omvandlare när du slår på batteriet om du inte redan har gjort det.

Stäng av batteriet och slutför anslutningarna:

(+) OUT från omvandlare Arduino 5V, HC05 VCC, ACS712 VCC.

(-) OUT från omvandlare till Arduino GND, HC05 GND, ACS712 GND, Arduino pin A2.

HC05 TXD till Arduino stift 7

HC05 RXD från bluetooth motståndsdelare.

Arduino pin 8 till bluetooth motståndsdelare.

ACS712 OUT till Arduino pin A3

Batterispänningsdelare till Arduino -stift A1

(-) från Bike Controller till andra strömterminalen på ACS712.

Den extra återställningsknappen krävs egentligen inte, det kan bara vara bekvämt när du vill ladda ner till arduino efter att den har installerats på din cykel. Du kanske kan nå återställningsknappen på arduino, eller så kan du återställa den från det seriella gränssnittet om din pro mini stöder det.

Dubbelkolla dina anslutningar.

Steg 8: Preliminär verifiering

Vid denna tidpunkt kan du slå på kretsen och verifiera att du får avläsningar i Android -appen.

Du bör kunna ansluta bluetooth till cykeln och se batterispänning och förhoppningsvis nära noll batteriström. Om du kan snurra upp cykeln och se den aktuella avläsningen förändras, så fungerar allt.

Appen förutsätter att positiv ström dränerar batteriet, så om avläsningen visar en negativ ström när du snurrar upp cykeln, byt bara de två strömkablarna på ACS712 -modulen.

Om du inte ser några avläsningar i appen kan du titta på lamporna på Bluetooth -modulen för att se till att den är ansluten och överför data. Du kan installera en Bluetooth -terminalapp på din enhet för att se data som skickas från kretsen. Du bör se cirka 10 rader per sekund av strömavläsningarna och en rad en sekund av batterispänning och batterimängd. Om du inte ser något, kontrollera konfigurationen av HC05 -modulen och anslutningarna mellan arduino, motståndsdelare och HC05 TXD -terminalen.

Slutligen kör cykeln tillräckligt länge för att ha ett värde som inte är noll i displayen på batteriet. Tryck sedan länge på det numret tills skålen visar att användningen har återställts. Siffran ska återgå till noll. Om det inte gör det efter att ha försökt några gånger, kontrollera anslutningarna från HC05 RXD -terminalen till Arduino igen.

Steg 9: Slutmontering

Slutmontering
Slutmontering
Slutmontering
Slutmontering
Slutmontering
Slutmontering
Slutmontering
Slutmontering

Installera all monteringsutrustning och montera arduino -kretsen på din cykel. Montera din Android -enhet i en väska eller annan hållare och du är redo att gå!

Bilderna visar batteristickarna på min cykel och väskan till min Android -enhet.

Du kan se det lilla kortet för batterispänningsdelarens anslutningar och ACS712 monterad så att jag kunde nå plintskruvarna efter att ha monterat allt. HC-05 bluetooth-modulen är tillbaka i det högra hörnet.

Den vita kopplingsremsan har alla batteri- och cykelkontrollanslutningar till kretsen.

Om jag var tvungen att göra det igen skulle jag definitivt kombinera batterispänningsdelaren och ACS712 på samma dotterbräda. Jag kan också försöka montera bluetooth -modulen på ett dotterbord under arduino.

Steg 10: Framtida steg

Android -appen kan använda mycket arbete. Jag skulle vilja lägga till några färgändringar baserat på intervall för mätningarna. Jag vill också lägga till en indikation på att en mätning inte uppdateras i appen. Du kan också lägga till några grafiska mätare. Även en fin ikon skulle vara en stor förbättring.

Den bästa funktionen skulle vara en "uppskattning att tömma" som skulle berätta hur långt du kan åka på ditt återstående batteri, och om det är mer än avståndet till din destination. Eftersom jag normalt rider antingen till jobbet eller hem, är min tanke att ha GPS "waypoints" lagrade i appen som har återstående avstånd till hemmet, och hur mycket batteri som används i genomsnitt vid den waypointen. Du kan förmodligen också göra något med en dataanslutning, men jag har normalt inte en.

Jag skulle vilja flytta bort från bluetooth -biblioteket i den här appen till ett mer utvecklat som har automatisk återanslutning till exempel.

Om du bygger detta kan du överväga att lägga till ett hårdvarulågpassfilter på den uppmätta strömmen och mäta det separat för att använda för den totala avgiften som används. Vid låg belastning, mindre än 4A eller så, varierar mätningen mycket, +/- 1A. Jag är inte säker på om det bara är ett mätproblem eller om strömmen ändras så mycket när hjulet roterar. I vilket fall som helst kan en separat mätning av medelström över en sekund eller två hjälpa till med noggrannhet. Du kan bara prova strömmen snabbare och göra det i programvara, men jag vet inte hur snabbt du måste prova. Jag antar att att sätta ett oscilloskop på signalen kan hjälpa till att räkna ut hur snabbt det ska tas.

Du kan lägga till saker som ett pitotrör för att mäta vindhastighet (det finns redan en instruerbar för det).

Du kan lägga till stängd slangreglage från arduino.

Om du alltid har velat ha en USB -strömkälla på din cykel kan du enkelt dra en kabel från 5V DC -omvandlaren för arduino upp till var du än behöver USB -strömanslutningen.

Steg 11: Frågor och kommentarer

Om du har allmänna frågor om någon av artiklarna här är det bäst att bara googla det istället för att ställa frågor här. Inga av objekten är kritiska, du kan nästan säkert ersätta något annat och få jobbet gjort.

Be mig inte att skicka koden till dig, allt finns på github. Få det därifrån. Du behöver inte ens ett github -konto.

Fråga mig inte hur jag gör något i Android Studio eller på Arduino. Jag vet nog inte. Återigen, bara googla det.

Fråga mig verkligen inte om några Apple -produkter, jag har ingen aning.

Om appen inte fungerar på din enhet, beklagar jag. Men jag vet nog inte hur jag ska fixa det så att det gör det. Det fungerar på min telefon, det är allt jag behöver.

Även om förslag på förbättringar är välkomna, kommer jag förmodligen aldrig att genomföra dem, jag har andra saker att gå vidare till. Jag kommer förmodligen aldrig att genomföra mina egna förslag. Din bästa insats är att gaffla koden på github och lägga till saker själv. Om du gör det, vänligen meddela folk här så att de kan använda din kod istället för min.

Om du redan har byggt en bättre version själv, vänligen lägg upp en referens till den här så att andra vet om den. Jag blir inte kränkt. Jag tar gärna din version och börjar använda den.

Steg 12: Appuppdatering för testning

Det här är uppdaterade versioner av appen.

Siffrorna är mycket större. Det finns en ny ikon. Det finns ingen "anslut" -knapp längre. Använd alternativet "anslut - säkra" från menyn längst upp till höger.

Denna version bör också fungera tillbaka till Android version 2.3 pepparkakor. Det fungerar på min lg P500 Optimus One.

Versionen "app-settings-debug.apk" har en inställningsmeny för att ställa in batteriets kapacitet så att den procentuella återstående beräkningen är korrekt. Det har inte testats helt.

Rekommenderad: