Monitor palubní desky a baterie elektrického jízdního kola (EBike): 12 kroků (s obrázky)
Monitor palubní desky a baterie elektrického jízdního kola (EBike): 12 kroků (s obrázky)

Video: Monitor palubní desky a baterie elektrického jízdního kola (EBike): 12 kroků (s obrázky)

Video: Monitor palubní desky a baterie elektrického jízdního kola (EBike): 12 kroků (s obrázky)
Video: Webinář Trek Fuel EXe 2025, Leden
Anonim
Palubní deska a monitor baterie elektrického jízdního kola (EBike)
Palubní deska a monitor baterie elektrického jízdního kola (EBike)

Tento projekt je obvod Arduino, který monitoruje napětí a proud baterie pomocí modulu ACS 712. Měření jsou sdělována přes Bluetooth s modulem HC-05 do zařízení Android. V zásadě přepojíte záporné spojení mezi ovladačem a baterií, aby prošlo modulem ACS712.

Aplikace pro Android zobrazuje stav baterie, aktuální rychlost a ujetou vzdálenost od systému Android GPS

Android lze připevnit na kolo v tašce odolné proti povětrnostním vlivům. Okruh Arduino je trvale namontován v boxu odolném proti povětrnostním vlivům na kole poblíž baterie.

Kód Android a Arduino je k dispozici na github. (https://github.com/edj2001/BikeDashArduino a

github.com/edj2001/BikeDashAndroid. Budete také potřebovat knihovny https://github.com/edj2001/AndroidBluetoothLibrar… a

Pokud je to více, než byste mohli zvládnout, jsou k dispozici komerční verze podobných produktů. Snadno je najdete googlením „bluetooth 36v wattmetru“. Když se podíváte na některé obrázky, uvidíte na zadní straně Arduino Pro Mini, napájecí zdroj DC-DC a modul HC-05 (nebo -06).

Pokud vás někdy zajímá, kolik baterie vám zbývá, nebo o kolik dál můžete na baterii přejít, nebo potřebujete šlapat nebo snižovat plyn, abyste se dostali tam, kam jedete, je to to, co potřebujete.

Další potenciální výhodou je, že se můžete rozhodnout vyjmout počítač z jízdních kol a uvolnit tak místo, ačkoli nyní bude místo toho váš telefon připevněn na kolo.

Jako vždy jsou tyto informace poskytovány tak, jak jsou, bez jakékoli záruky, výslovné nebo předpokládané. Jste zodpovědní za cokoli, co s těmito informacemi uděláte. Nezodpovídám ani neručím za jakékoli škody. Viz část zřeknutí se odpovědnosti v podmínkách služby.

Krok 1: Aktualizovatelné pokyny

PeterB476 mi ukázal, že jsem zapomněl zahrnout krok k inicializaci Arduino EPROM, takže jsem to přidal do instruktovatelného.

Také jsem přidal 2 nové verze aplikace do pozdějšího kroku. Nebyly důkladně testovány, ale můžete je vyzkoušet.

Krok 2: Nainstalujte si aplikaci pro Android

Pokud aplikace pro Android na vašem zařízení nefunguje, nemá smysl pokračovat ve zbytku tohoto projektu. Vydání z githubu mají připojený Android apk. Zde je také připojen soubor APK. Ujistěte se, že funguje alespoň část GPS aplikace, a můžete se pokusit připojit k zařízení bluetooth.

Pokud si chcete aplikaci vytvořit sami, doporučuji vám začít s bodem „vydání“, protože v určitém okamžiku pravděpodobně fungoval, zatímco nejnovější „hlavní“větev může obsahovat aktualizace, které nebyly testovány.

Zkopírujte soubor APK do svého zařízení. Vzhledem k tomu, že apk nepochází z Google Play, budete muset v nastavení Zabezpečení na svém zařízení povolit „Neznámé zdroje“. Poté jej jednoduše nainstalujte klepnutím na soubor apk v zařízení.

Aplikace pro komunikaci s Arduinem zjevně vyžaduje oprávnění bluetooth a pro určení rychlosti a ujeté vzdálenosti oprávnění GPS.

Stisknutím tlačítka „vzdálené“se pokusíte připojit k zařízení bluetooth. Stisknutím „resetovat“resetujete ujetou vzdálenost na 0. Po nabití baterie podržte pole Ah použité baterie a resetujte jej. Použitá hodnota Ah bude uložena, pokud baterii vypnete a zapnete bez nabíjení.

Krok 3: Sbírejte díly

Sbírejte díly
Sbírejte díly
Sbírejte díly
Sbírejte díly
Sbírejte díly
Sbírejte díly

Tyto části jsou určeny pro 36V baterii. Pokud máte 48V baterii, budete muset změnit odpor 10K na 11K nebo 12 K a budete potřebovat jiný měnič DC-DC.

1 Kryt odolný proti povětrnostním vlivům. Použil jsem elektrický box 4x4x2 palce z PVC.

1 kus vašeho oblíbeného Stripboard nebo Protoboard

1 Arduino Pro Mini, 5V 16 MHZ. Můžete také snadno postavit arduino na holé desce, protože nepotřebujete regulátor napětí ani rozhraní USB. Vše, co potřebujete, je ATMEGA328P, krystal 16 MHz a několik kondenzátorů. Pokud máte místo ve skříni, můžete také použít Arduino Nano. Nano je větší než první dvě možnosti, ale má vestavěné rozhraní USB, pokud nemáte sériový převodník.

1 modul ACS712, který odpovídá aktuálnímu dosahu vaší baterie. Na baterii 8A jsem použil modul 20A.

1 modul bluetooth HC-05. Mám rád odrůdu ZS-040, 6kolíkový typ s tlačítkem. Na zadní straně bude označen ZS-040.

1 50V až 5V DC-DC napájecí zdroj, pokud má vaše kolo 36V baterii, která bude asi 42V plně nabitá. Pokud máte 48V baterii, bude 56 nebo 57V plně nabitá, takže budete možná potřebovat jiný napájecí zdroj. Dejte nám prosím vědět, co používáte, pokud najdete něco pro 60V. Někteří lidé říkají, že většina usb stěnových bradavic funguje na 48VDC (a vyšších), ale nezkoušel jsem to.

Rezistory 1/4W: 1 x 2K, 1 x 10K, 2 x 1K (zvyšte 10K, pokud je vaše baterie více než 36V).

Řadový držák pojistek a 2A pojistka.

Pásky záhlaví rovné a pravé

Svorkovnice 5,08 mm, 2 x 2

16AWG lankový vodič pro propojení modulů.

22AWG plný vodič pro obvod arduino

Svorkovnice pro připojení baterie a kola

Páječka

pájka

Způsob, jak připevnit zařízení Android na kolo.

K programování modulu Arduino a HC-05 budete také potřebovat sériový převodník 3,3 V USB na ttl (nebo alespoň programátor isp) a Arduino ide z https://www.arduino.cc/en/Main/Software. Tento projekt byl proveden s verzí 1.6.13, různé verze mohou, ale nemusí fungovat bez úprav.

Krok 4: Inicializujte Arduino EPROM

Zanedbal jsem zahrnout tento krok do původního pokynu. Pro správnou funkci skici je třeba inicializovat oblast EPROM, kterou skica používá. Skica by mohla být napsána tak, aby to dělala automaticky, ale v tuto chvíli ne.

Pokud nepracujete se zdrojovým kódem arduino, můžete si stáhnout hex soubor připojený k tomuto kroku do arduina a inicializovat EPROM.

Pokud pracujete se zdrojovým kódem arduino, v sekci setup () jsou dva řádky, které vypadají takto:

// inicializace EEPROM při prvním spuštění programu.

// updateEPROM ();

Pokud odkomentujete druhý řádek tak, aby vypadal takto:

// inicializace EEPROM při prvním spuštění programu.

updateEPROM ();

Stáhněte si tuto skicu do arduina a nechte ji běžet. EPROM bude inicializována. Poté doporučte řádek pro další krok.

EPROM slouží k zapamatování si, kolik baterie bylo použito, takže můžete jet na kole, zastavit a vypnout baterii, a když ji znovu zapnete, začne od místa, kde jste skončili.

Krok 5: Konfigurace Arduina

Stáhněte si kód Arduino (přiložený hex soubor) do Pro Mini pomocí Arduino IDE nebo samotného avrdude. Normálně byste k tomu použili převodník z USB na sériový port, ale můžete také použít programátor ISP.

Opět platí, že pokud si to chcete sestavit sami, začněte „uvolněním“. Poslední „hlavní“větev může mít nevyzkoušené změny.

Pokud jste změnili odpor 10K na něco vyššího, budete muset ve skice také změnit konstantu děliče napětí baterie. Změňte 11.0 v řádku „double VBmultiplier = 11.0;“aby odpovídaly tomu, co jste nainstalovali.

Krok 6: Konfigurace modulu HC-05

Konfigurujte modul HC-05
Konfigurujte modul HC-05
Konfigurujte modul HC-05
Konfigurujte modul HC-05

Na modulu HC-05 musíte nakonfigurovat přenosovou rychlost. Je také hezké dát mu název, který později snadno poznáte (například „KOLO“).

K tomu také používáte modul sériového převaděče USB na TTL. Pokud nemáte sériový převodník, můžete napsat skicu pro arduino a nakonfigurovat ji, nebo pokud máte 2 moduly HC-05, můžete je spojit dohromady a pomocí jednoho naprogramovat druhý (možná).

Na tomto modulu je vynikající zápis na

Musíte nakonfigurovat přenosovou rychlost na 4800, aby odpovídala skice Arduino, a změnit název na „BIKE“nebo něco, co poznáte.

Jakmile je modul nakonfigurován, můžete jej spárovat se zařízením Android v nastavení bluetooth.

Krok 7: Sestavte obvod

Přikládám pro ukázku sken svého ručně nakresleného schématu zapojení, pokud je někdo dostatečně ambiciózní a hezky to překreslí, dejte mi prosím vědět:)

Proveďte následující připojení:

(+) Baterie kola na jedné straně pojistky a ovladače kola.

Druhá strana pojistky na DC převodník (+) IN terminál a 10K odpor pro vstup napětí baterie na Arduino.

(-) Kolo Baterie na (-) IN na převodníku a jeden napájecí terminál ACS712.

V tomto okamžiku se ujistěte, že máte 5V z DC měniče, když zapnete baterii, pokud jste to ještě neudělali.

Vypněte baterii a dokončete připojení:

(+) VÝSTUP z převodníku Arduino 5V, HC05 VCC, ACS712 VCC.

(-) OUT z převodníku na Arduino GND, HC05 GND, ACS712 GND, Arduino pin A2.

HC05 TXD na pin Arduino 7

HC05 RXD z bluetooth odporového děliče.

Oddělovač odporu Arduino pin 8 na bluetooth.

ACS712 OUT na Arduino pin A3

Dělič napětí baterie na pin Arduino A1

(-) z ovladače kola na druhý napájecí terminál na ACS712.

Tlačítko extra reset není ve skutečnosti vyžadováno, mohlo by to být praktické, když chcete stáhnout arduino poté, co je nainstalováno na vaše kolo. Možná budete moci dosáhnout resetovacího tlačítka na arduinu, nebo jej můžete resetovat ze sériového rozhraní, pokud to váš pro mini podporuje.

Znovu zkontrolujte připojení.

Krok 8: Předběžné ověření

V tomto okamžiku můžete zapnout obvod a ověřit, že dostáváte hodnoty v aplikaci pro Android.

Měli byste být schopni připojit bluetooth k motocyklu a vidět napětí baterie a doufejme, že se blíží nulovému proudu baterie. Pokud můžete roztočit kolo a vidět aktuální změnu čtení, pak vše funguje.

Aplikace předpokládá, že baterie vybíjí kladný proud, takže pokud naměřená hodnota ukazuje záporný proud při roztočení kola, stačí vyměnit dva proudové vodiče na modulu ACS712.

Pokud v aplikaci nevidíte žádné údaje, můžete se podívat na světla na modulu bluetooth, abyste se ujistili, že je připojen a přenáší data. Do zařízení si můžete nainstalovat aplikaci bluetooth terminálu, abyste viděli data odesílaná z okruhu. Měli byste vidět asi 10 řádků za sekundu odečtů proudu a jeden řádek za sekundu napětí baterie a množství použité baterie. Pokud nic nevidíte, znovu zkontrolujte konfiguraci modulu HC05 a připojení mezi arduino, děličem odporu a terminálem HC05 TXD.

Nakonec nechejte kolo běžet dostatečně dlouho, aby se na displeji použité baterie zobrazila nenulová hodnota. Poté dlouze stiskněte toto číslo, dokud se na toastu neobjeví, že použití bylo resetováno. Číslo by se mělo vrátit na nulu. Pokud tomu tak není ani po několika pokusech, znovu zkontrolujte připojení z terminálu HC05 RXD k Arduinu.

Krok 9: Konečná montáž

Konečné shromáždění
Konečné shromáždění
Konečné shromáždění
Konečné shromáždění
Konečné shromáždění
Konečné shromáždění
Konečné shromáždění
Konečné shromáždění

Nainstalujte veškerý montážní hardware a namontujte obvod arduino na své kolo. Namontujte své zařízení Android do tašky nebo jiného držáku a můžete začít!

Obrázky ukazují baterii na mém kole a tašku pro mé zařízení Android.

Můžete vidět malou desku pro připojení děliče napětí baterie a ACS712 namontovanou tak, že jsem po montáži všeho dosáhl na šrouby svorkovnice. Modul Bluetooth HC-05 je zpět v pravém rohu.

Bílá svorkovnice má všechna připojení baterie a ovladače kola k obvodu.

Pokud bych to měl udělat znovu, určitě bych zkombinoval dělič napětí baterie a ACS712 na stejném kousku dceřiné desky. Mohl bych také zkusit namontovat modul bluetooth na dceřinou desku pod arduino.

Krok 10: Budoucí kroky

Aplikace pro Android by mohla využít spoustu práce. Chtěl bych přidat nějaké změny barev na základě rozsahů pro měření. Chtěl bych také přidat indikaci, že se měření v aplikaci neaktualizuje. Můžete také přidat několik grafických měřidel. I pěkná ikona by byla velkým vylepšením.

Nejlepší funkcí by byl „odhad do vybití“, který by vám sdělil vzdálenost, kterou byste mohli na zbývající baterii ujet, a zda je to více než vzdálenost do cíle. Vzhledem k tomu, že normálně jezdím buď do práce, nebo domů, jde mi o to, mít v aplikaci uložené „waypointy“GPS, které mají zbývající vzdálenost domů, a kolik baterie se v daném waypointu průměrně spotřebuje. Pravděpodobně byste také mohli něco udělat s datovým připojením, ale já ho běžně nemám.

Rád bych se přestěhoval z knihovny bluetooth v této aplikaci do rozvinutější, která má například automatické opětovné připojení.

Pokud toto vytvoříte, můžete zvážit přidání hardwarového nízkoprůchodového filtru k měřenému proudu a jeho samostatné měření pro použití pro výpočet celkového použitého náboje. Při nízkém zatížení, méně než 4A nebo tak, se měření velmi liší, +/- 1A. Nejsem si jistý, jestli je to jen problém měření, nebo se proud tak mění, jak se kolo otáčí. V každém případě by s přesností mohlo pomoci samostatné měření průměrného proudu za sekundu nebo dvě. Můžete jen rychleji odebrat vzorek proudu a provést to v softwaru, ale nevím, jak rychle byste museli vzorkovat. Myslím, že umístění osciloskopu na signál by mohlo pomoci zjistit, jak rychle jej vzorkovat.

Můžete přidat věci jako pitotova trubice pro měření rychlosti větru (na to už existuje návod).

Můžete přidat ovládání škrticí klapky v uzavřené smyčce z arduina.

Pokud jste vždy chtěli na svém kole USB napájecí zdroj, můžete snadno vést kabel z 5V DC měniče pro arduino všude tam, kde potřebujete USB napájecí připojení.

Krok 11: Otázky a komentáře

Máte -li obecné dotazy k některým položkám zde, je nejlepší místo dotazů zde jednoduše vygooglit. Žádná z položek není kritická, můžete téměř jistě nahradit něco jiného a práci dokončit.

Nežádejte, abych vám zaslal kód, vše je na github. Získejte to odtamtud. Nepotřebujete ani účet github.

Prosím, neptejte se mě, jak něco udělat v Android Studiu nebo na Arduinu. Asi nevím. Opět stačí googlit.

Opravdu se mě neptejte na žádné produkty Apple, nemám tušení.

Pokud aplikace na vašem zařízení nefunguje, je mi líto. Ale asi nevím, jak to opravit, aby to šlo. Funguje to na mém telefonu, to je vše, co potřebuji.

Ačkoli jsou návrhy na vylepšení vítány, pravděpodobně je nikdy nebudu implementovat, mám jiné věci, na které se mohu posunout. Pravděpodobně nikdy ani nebudu implementovat své vlastní návrhy. Nejlepší je vsadit kód na github a přidat věci sami. Pokud ano, dejte zde prosím vědět lidem, aby mohli místo mého kódu použít váš.

Pokud jste již sami vytvořili lepší verzi, zveřejněte zde odkaz na ni, aby o ní věděli ostatní. Neurazím se. Rád vaši verzi vezmu a začnu ji používat.

Krok 12: Aktualizace aplikace pro testování

Jedná se o aktualizované verze aplikace.

Čísla jsou mnohem větší. Je tu nová ikona. Tlačítko „připojit“již neexistuje. Použijte možnost „připojit - zabezpečit“z nabídky v pravém horním rohu.

Tato verze by měla fungovat také zpět na Android verze 2.3 perník. Funguje to na mém LG P500 Optimus One.

Verze „app-settings-debug.apk“má nabídku nastavení, která umožňuje nastavit kapacitu baterie tak, aby byl výpočet zbývajícího procenta správný. Nebylo to úplně testováno.