Innholdsfortegnelse:

Elektrisk sykkel (EBike) instrumentbord og batteriovervåking: 12 trinn (med bilder)
Elektrisk sykkel (EBike) instrumentbord og batteriovervåking: 12 trinn (med bilder)

Video: Elektrisk sykkel (EBike) instrumentbord og batteriovervåking: 12 trinn (med bilder)

Video: Elektrisk sykkel (EBike) instrumentbord og batteriovervåking: 12 trinn (med bilder)
Video: HIMO C26 C30 Dashboard Replacement 2024, Juli
Anonim
Elektrisk sykkel (EBike) instrumentbord og batterimonitor
Elektrisk sykkel (EBike) instrumentbord og batterimonitor

Dette prosjektet er en Arduino -krets som overvåker batterispenning og strøm med en ACS 712 -modul. Målingene kommuniseres via Bluetooth med en HC-05-modul til en Android-enhet. I utgangspunktet koble du om den negative forbindelsen mellom kontrolleren og batteriet for å gå gjennom ACS712 -modulen.

Android -appen viser batteristatus, samt gjeldende hastighet og tilbakelagt distanse fra Android GPS

Android kan monteres på sykkelen i en værbestandig veske. Arduino -kretsen er permanent montert i en værbestandig boks på sykkelen nær batteriet.

Android- og Arduino -koden er tilgjengelig på github. (https://github.com/edj2001/BikeDashArduino og

github.com/edj2001/BikeDashAndroid. Du trenger også bibliotekene https://github.com/edj2001/AndroidBluetoothLibrar… og

Det er kommersielle versjoner av lignende produkter tilgjengelig hvis dette er mer enn du kanskje kan håndtere. Du finner dem enkelt ved å google "bluetooth 36v watt meter". Hvis du ser på noen av bildene, ser du en Arduino Pro Mini, en DC-DC strømforsyning og en HC-05 (eller -06) modul på baksiden.

Hvis du noen gang lurer på hvor mye batteri du har igjen, eller hvor mye lenger du kan gå på batteri, eller hvis du trenger å tråkke eller redusere gass for å komme dit du skal, er dette det du trenger.

En annen potensiell fordel er at du kan bestemme deg for å fjerne sykkelcomputeren fra styret, og frigjøre litt plass, men nå vil telefonen bli montert på sykkelen i stedet.

Som alltid gis denne informasjonen slik den er uten noen form for garanti, eksplisitt eller underforstått. Du er ansvarlig for alt du gjør med denne informasjonen. Jeg vil ikke være ansvarlig eller ansvarlig for noen som helst skade. Se ansvarsfraskrivelsesdelen i vilkårene for bruk.

Trinn 1: Instruktable oppdateringer

PeterB476 viste meg at jeg hadde forsømt å inkludere et trinn for å initialisere Arduino EPROM, så jeg har lagt det til i instruksjonsboken.

Jeg har også lagt til 2 nye versjoner av appen til et senere trinn. De har ikke blitt grundig testet, men du kan prøve dem.

Trinn 2: Installer Android -appen

Det er ingen vits å fortsette med resten av dette prosjektet hvis Android -appen ikke fungerer på enheten din. Utgavene fra github har android apk vedlagt. Apk -filen er også vedlagt her. Sørg for at i det minste GPS -delen av appen fungerer, og du kan prøve å koble til en Bluetooth -enhet.

Hvis du vil bygge appen selv, foreslår jeg at du starter med et "release" -punkt fordi det sannsynligvis fungerte på et tidspunkt, mens den siste "master" -grenen kan ha oppdateringer som ikke er testet.

Kopier apk -filen til enheten din. Du må tillate "Ukjente kilder" i sikkerhetsinnstillingene på enheten din siden APK -en ikke kom fra Google Play. Deretter klikker du bare på apk -filen på enheten for å installere den.

Tydeligvis krever appen bluetooth -tillatelser for å kommunisere med Arduino, og GPS -tillatelser for å bestemme hastigheten og tilbakelagte distanse.

Trykk på "fjernkontrollen" -knappen for å prøve å koble til en Bluetooth -enhet. Trykk på "reset" for å tilbakestille tilbakelagt distanse til 0. Hold batteriet Ah brukt felt for å tilbakestille det etter at du har ladet batteriet. Den brukte Ah -verdien blir lagret hvis du slår batteriet av og på uten å lade det.

Trinn 3: Samle deler

Samle deler
Samle deler
Samle deler
Samle deler
Samle deler
Samle deler

Vær oppmerksom på at disse delene er for et 36V batteri. Hvis du har et 48V batteri må du bytte 10K motstand til 11K eller 12 K, og du trenger en annen DC-DC omformer.

1 Værbestandig innkapsling. Jeg brukte en 4x4x2 tommers PVC -elektrisk boks.

1 stykke din favoritt Stripboard eller Protoboard

1 Arduino Pro Mini, 5V 16 MHZ. Du kan også enkelt bygge en bareboard -arduino siden du ikke trenger en spenningsregulator eller usb -grensesnitt. Alt du trenger er ATMEGA328P, et 16MHZ krystall og noen få kondensatorer. Du kan også bruke en Arduino Nano hvis du har plass i skapet ditt. Nano er større enn de to første valgene, men har det innebygde USB -grensesnittet hvis du ikke har en seriell omformer.

1 ACS712 -modul for å matche batteriets nåværende rekkevidde. Jeg brukte en 20A modul for mitt 8A batteri.

1 HC-05 Bluetooth-modul. Jeg liker ZS-040-varianten, 6-pinners slag med trykknapp. Det vil være merket ZS-040 på baksiden.

1 50V til 5V DC-DC strømforsyning hvis sykkelen din har et 36V batteri, som vil være omtrent 42V fulladet. Hvis du har et 48V batteri, vil det være 56 eller 57V fulladet, så du kan trenge en annen strømforsyning. Gi oss beskjed om hva du bruker hvis du finner noe for 60V. Noen sier at de fleste usb veggvorter fungerer på 48VDC (og høyere), men jeg har ikke prøvd det.

1/4W motstander: 1 x 2K, 1 x 10K, 2 x 1K (øk 10K hvis batteriet er mer enn 36V).

In-line sikringsholder og 2A sikring.

rett og rett vinkel Header Strips

5,08 mm rekkeklemmer, 2 x 2

16AWG strandet ledning for sammenkobling av modulene.

22AWG solid ledning for arduino -kretsen

Terminal Block Strip for batteri og sykkelforbindelser

Loddejern

loddetinn

En måte å montere Android -enheten din på sykkelen din.

For å programmere Arduino og HC-05 modulen trenger du også en 3.3V usb til ttl seriell omformer (eller minst en isp programmerer) og Arduino ide fra https://www.arduino.cc/en/Main/Software. Dette prosjektet ble utført med versjon 1.6.13, forskjellige versjoner fungerer kanskje eller ikke uten modifikasjon.

Trinn 4: Initialiser Arduino EPROM

Jeg nektet å inkludere dette trinnet i den opprinnelige instruerbare. Området på EPROM som brukes av skissen må initialiseres for at skissen skal fungere skikkelig. Skissen kan skrives for å gjøre det automatisk, men på dette tidspunktet gjør det det ikke.

Hvis du ikke jobber med arduino -kildekoden, kan du laste ned hex -filen som er vedlagt dette trinnet til arduinoen for å initialisere EPROM.

Hvis du jobber med arduino -kildekoden, er det to linjer i oppsett () -delen som ser slik ut:

// initialiser EEPROM første gang programmet kjøres.

// updateEPROM ();

Hvis du fjerner kommentaren til den andre linjen slik at den ser slik ut:

// initialiser EEPROM første gang programmet kjøres.

updateEPROM ();

Last ned skissen til arduinoen og la den gå. EPROM vil bli initialisert. Anbefal deretter linjen for neste trinn.

EPROM brukes til å huske hvor mye av batteriet som har blitt brukt, slik at du kan sykle, stoppe og slå av batteriet, og når du slår det på igjen starter det fra der du sluttet.

Trinn 5: Konfigurer Arduino

Last ned Arduino -koden (hex -fil vedlagt) til Pro Mini ved å bruke enten Arduino IDE eller avrdude alene. Normalt vil du bruke usb til seriell omformer for dette, men du kan også bruke en isp programmerer.

Igjen, hvis du vil kompilere det selv, start med en "utgivelse". Den siste "master" -grenen kan ha uprøvde endringer.

Hvis du endret 10K -motstanden til noe høyere, må du også endre batterispenningskonstanten i skissen. Endre 11.0 i linjen "dobbel VBmultiplier = 11.0;" for å matche det du installerte.

Trinn 6: Konfigurer HC-05-modulen

Konfigurer HC-05-modulen
Konfigurer HC-05-modulen
Konfigurer HC-05-modulen
Konfigurer HC-05-modulen

Du må konfigurere overføringshastigheten på HC-05-modulen. Det er også hyggelig å gi det et navn som du lett kan gjenkjenne senere (som "BIKE").

Du bruker også usb til ttl seriell omformermodul for dette. Hvis du ikke har en serieomformer, kan du skrive en skisse for en arduino for å konfigurere den, eller jeg antar at hvis du har to HC-05-moduler kan du koble dem sammen og bruke den ene til å programmere den andre (kanskje).

Det er en utmerket oppskrift på denne modulen på

Du må konfigurere overføringshastigheten til 4800 for å matche Arduino -skissen, og endre navnet til "BIKE" eller noe du vil kjenne igjen.

Når modulen er konfigurert, kan du koble den til Android -enheten din i Bluetooth -innstillingene.

Trinn 7: Sett sammen kretsen

Jeg har vedlagt en skanning av mitt håndtegnede koblingsskjema for referanse. Hvis noen er ambisiøse nok til å tegne det pent, vennligst gi meg beskjed:)

Gjør følgende tilkoblinger:

(+) Sykkelbatteri til den ene siden av sikringen og sykkelkontrolleren.

Andre siden av sikringen til DC -omformeren (+) IN -terminalen og 10K motstand for batterispenning på Arduino.

(-) Sykkelbatteri til (-) IN på omformer og én ACS712-strømterminal.

På dette tidspunktet må du kontrollere at du har 5V fra DC -omformeren når du slår på batteriet hvis du ikke allerede har gjort det.

Slå av batteriet og fullfør tilkoblingene:

(+) OUT fra omformer Arduino 5V, HC05 VCC, ACS712 VCC.

(-) OUT fra omformer til Arduino GND, HC05 GND, ACS712 GND, Arduino pin A2.

HC05 TXD til Arduino pin 7

HC05 RXD fra bluetooth motstandsdeler.

Arduino pin 8 til bluetooth motstand divider.

ACS712 OUT til Arduino pin A3

Batterispenningsdeler til Arduino pin A1

(-) fra Bike Controller til andre strømterminal på ACS712.

Den ekstra tilbakestillingsknappen er egentlig ikke nødvendig, det kan bare være praktisk når du vil laste ned til arduinoen etter at den er installert på sykkelen din. Du kan kanskje nå tilbakestillingsknappen på arduinoen, eller du kan tilbakestille den fra det serielle grensesnittet hvis din pro mini støtter den.

Dobbeltsjekk forbindelsene dine.

Trinn 8: Foreløpig bekreftelse

På dette tidspunktet kan du slå på kretsen og kontrollere at du får avlesninger i Android -appen.

Du bør kunne koble bluetooth til sykkelen og se batterispenning og forhåpentligvis nær null batteristrøm. Hvis du kan snurre opp sykkelen og se den nåværende lesingen endres, fungerer alt.

Appen antar at positiv strøm tapper batteriet, så hvis avlesningen viser en negativ strøm når du snurrer opp sykkelen, bytt bare de to strømledningene på ACS712 -modulen.

Hvis du ikke ser noen avlesninger i appen, kan du se på lysene på Bluetooth -modulen for å sikre at den er tilkoblet og overfører data. Du kan installere en Bluetooth -terminalapp på enheten din for å se dataene som sendes fra kretsen. Du bør se omtrent 10 linjer i sekundet av gjeldende avlesninger, og en linje et sekund med batterispenning og mengde batteri som brukes. Hvis du ikke ser noe, må du sjekke konfigurasjonen til HC05 -modulen og tilkoblingene mellom arduinoen, motstandsdeleren og HC05 TXD -terminalen.

Til slutt, kjør sykkelen lenge nok til at en verdi som ikke er null vises i displayet på batteriet. Trykk deretter lenge på det nummeret til toasten viser at bruken er tilbakestilt. Tallet skal gå tilbake til null. Hvis det ikke gjør det etter å ha prøvd et par ganger, må du kontrollere tilkoblingene fra HC05 RXD -terminalen til Arduino på nytt.

Trinn 9: Sluttmontering

Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering
Sluttmontering

Installer all monteringsutstyr og monter arduino -kretsen på sykkelen din. Monter Android -enheten din i en pose eller en annen holder, så er du klar!

Bildene viser batteristikk på sykkelen min, og posen til min Android -enhet.

Du kan se det lille kortet for batterispenningsdelerforbindelsene og ACS712 montert slik at jeg kunne nå rekkeklemmen skruene etter å ha montert alt. HC-05 Bluetooth-modulen er tilbake i høyre hjørne.

Den hvite terminallisten har alle tilkoblinger til batteri og sykkelkontroller til kretsen.

Hvis jeg måtte gjøre det igjen, ville jeg definitivt kombinere batterispenningsdeleren og ACS712 på samme datterbord. Jeg kan også prøve å montere bluetooth -modulen på et datterbord under arduinoen.

Trinn 10: Fremtidige trinn

Android -appen kan bruke mye arbeid. Jeg vil legge til noen fargeendringer basert på områder for målingene. Jeg vil også legge til en indikasjon på at en måling ikke oppdateres i appen. Du kan også legge til noen grafiske målere. Selv et fint ikon ville være en stor forbedring.

Den beste funksjonen vil være et "estimat for å tømme" som vil fortelle deg avstanden du kan kjøre på det gjenværende batteriet, og om det er mer enn avstanden til destinasjonen din. Siden jeg normalt sykler enten til jobb eller hjem, er tanken min å ha GPS "veipunkter" lagret i appen som har den gjenværende avstanden til hjemmet, og hvor mye batteri som brukes i gjennomsnitt på det veipunktet. Du kan sikkert også gjøre noe med en datatilkobling, men jeg har normalt ikke en.

Jeg vil flytte fra bluetooth -biblioteket i denne appen til et mer utviklet bibliotek som for eksempel har automatisk tilkobling.

Hvis du bygger dette, kan du vurdere å legge til et maskinvare lavpassfilter på den målte strømmen og måle det separat for å bruke for beregningen av total ladning. Ved lave belastninger, mindre enn 4A eller så, varierer målingen mye, +/- 1A. Jeg er ikke sikker på om det bare er et måleproblem eller strømmen endres så mye når hjulet roterer. Uansett kan en separat måling av gjennomsnittlig strøm over et sekund eller to hjelpe med nøyaktighet. Du kan bare prøve strømmen raskere og gjøre det i programvare, men jeg vet ikke hvor fort du må prøve. Jeg antar at å sette et oscilloskop på signalet kan hjelpe deg med å finne ut hvor fort du skal prøve det.

Du kan legge til ting som et pitotrør for å måle vindhastighet (det er allerede en instruksjon for det).

Du kan legge til gassregulering med lukket sløyfe fra arduinoen.

Hvis du alltid har ønsket en USB -strømkilde på sykkelen din, kan du enkelt kjøre en kabel fra 5V DC -omformeren for arduinoen til hvor du trenger USB -strømtilkoblingen.

Trinn 11: Spørsmål og kommentarer

Hvis du har generelle spørsmål om noen av elementene her, er det best å bare google det i stedet for å stille spørsmål her. Ingen av elementene er kritiske, du kan nesten helt sikkert erstatte noe annet og få jobben gjort.

Ikke be meg om å sende deg koden, den er alt på github. Få det derfra. Du trenger ikke engang en github -konto.

Ikke spør meg hvordan du gjør noe i Android Studio eller på Arduino. Jeg vet nok ikke. Igjen, bare google det.

Spør meg virkelig ikke om noen Apple -produkter, jeg har ikke peiling.

Hvis appen ikke fungerer på enheten din, beklager jeg. Men jeg vet nok ikke hvordan jeg skal fikse det slik at det gjør det. Det fungerer på telefonen min, det er alt jeg trenger.

Selv om forslag til forbedringer er velkomne, vil jeg sannsynligvis aldri implementere dem, jeg har andre ting å gå videre til. Jeg kommer nok aldri til å implementere mine egne forslag. Det beste alternativet er å gaffel koden på github og legge til ting selv. Hvis du gjør det, vennligst gi beskjed til folk her, slik at de kan bruke koden din i stedet for min.

Hvis du allerede har bygd en bedre versjon selv, kan du legge ut en referanse til den her, slik at andre får vite om den. Jeg vil ikke bli fornærmet. Jeg tar gjerne versjonen din og begynner å bruke den.

Trinn 12: Appoppdatering for testing

Dette er oppdaterte versjoner av appen.

Tallene er mye større. Det er et nytt ikon. Det er ingen "koble" -knapp lenger. Bruk alternativet "koble til - sikkert" fra menyen øverst til høyre.

Denne versjonen bør også fungere tilbake til Android versjon 2.3 pepperkaker. Det fungerer på min lg P500 Optimus One.

Versjonen "app-settings-debug.apk" har en innstillingsmeny som gjør det mulig å angi batteriets kapasitet slik at den gjenværende prosentvise beregningen er korrekt. Det er ikke helt testet.

Anbefalt: