Spisu treści:

Deska rozdzielcza roweru elektrycznego (EBike) i monitor akumulatora: 12 kroków (ze zdjęciami)
Deska rozdzielcza roweru elektrycznego (EBike) i monitor akumulatora: 12 kroków (ze zdjęciami)

Wideo: Deska rozdzielcza roweru elektrycznego (EBike) i monitor akumulatora: 12 kroków (ze zdjęciami)

Wideo: Deska rozdzielcza roweru elektrycznego (EBike) i monitor akumulatora: 12 kroków (ze zdjęciami)
Wideo: 50 САМЫХ ИННОВАЦИОННЫХ ЛИЧНЫХ ТРАНСПОРТНЫХ СРЕДСТВ 2021–2022 гг. 2024, Lipiec
Anonim
Deska rozdzielcza roweru elektrycznego (EBike) i monitor akumulatora
Deska rozdzielcza roweru elektrycznego (EBike) i monitor akumulatora

Ten projekt to układ Arduino, który monitoruje napięcie i prąd akumulatora za pomocą modułu ACS 712. Pomiary są przesyłane przez Bluetooth za pomocą modułu HC-05 do urządzenia z systemem Android. Zasadniczo zmieniasz połączenie ujemne między kontrolerem a baterią, aby przejść przez moduł ACS712.

Aplikacja na Androida wyświetla stan baterii, a także aktualną prędkość i przebytą odległość z Androida GPS

Android można zamontować na rowerze w wodoodpornej torbie. Układ Arduino jest na stałe montowany w odpornej na warunki atmosferyczne puszce na rowerze w pobliżu akumulatora.

Kod na Androida i Arduino jest dostępny na githubie. (https://github.com/edj2001/BikeDashArduino i

github.com/edj2001/BikeDashAndroid. Potrzebne będą również biblioteki https://github.com/edj2001/AndroidBluetoothLibrar… i

Dostępne są komercyjne wersje podobnych produktów, jeśli jest to więcej niż jesteś w stanie obsłużyć. Możesz je łatwo znaleźć, wpisując w google „watomierz bluetooth 36v”. Jeśli spojrzysz na niektóre zdjęcia, zobaczysz Arduino Pro Mini, zasilacz DC-DC i moduł HC-05 (lub -06) z tyłu.

Jeśli kiedykolwiek zastanawiałeś się, ile pozostało Ci baterii lub jak daleko możesz jeszcze jechać na baterii, lub jeśli potrzebujesz pedałować lub zmniejszać przepustnicę, aby dostać się do celu, to jest to, czego potrzebujesz.

Kolejną potencjalną zaletą jest to, że możesz zdecydować się na zdjęcie licznika rowerowego z kierownicy, zwalniając trochę miejsca, chociaż teraz telefon zostanie zamontowany na rowerze.

Jak zawsze, informacje te są dostarczane w stanie, w jakim są, bez jakiejkolwiek gwarancji, wyraźnej lub dorozumianej. Jesteś odpowiedzialny za wszystko, co robisz z tymi informacjami. Nie ponoszę żadnej odpowiedzialności za jakiekolwiek szkody. Zobacz sekcję wyłączenia odpowiedzialności w Warunkach korzystania z usługi.

Krok 1: Instruktażowe aktualizacje

PeterB476 pokazał mi, że zaniedbałem włączenie kroku do zainicjowania pamięci EPROM Arduino, więc dodałem to do instrukcji.

Dodałem również 2 nowe wersje aplikacji w późniejszym kroku. Nie zostały dokładnie przetestowane, ale możesz spróbować.

Krok 2: Zainstaluj aplikację na Androida

Nie ma sensu kontynuować tego projektu, jeśli aplikacja na Androida nie działa na Twoim urządzeniu. Wersje z github mają dołączony apk na Androida. Plik APK jest również załączony tutaj. Upewnij się, że przynajmniej część GPS aplikacji działa i możesz spróbować połączyć się z urządzeniem Bluetooth.

Jeśli chcesz samodzielnie zbudować aplikację, sugeruję zacząć od punktu "wydanie", ponieważ prawdopodobnie w pewnym momencie działała, podczas gdy najnowsza gałąź "master" może zawierać aktualizacje, które nie zostały przetestowane.

Skopiuj plik APK na swoje urządzenie. Musisz zezwolić na „Nieznane źródła” w ustawieniach zabezpieczeń na swoim urządzeniu, ponieważ apk nie pochodził z Google Play. Następnie po prostu dotknij pliku APK na swoim urządzeniu, aby go zainstalować.

Oczywiście aplikacja wymaga uprawnień Bluetooth do komunikacji z Arduino oraz uprawnień GPS do określenia prędkości i przebytej odległości.

Naciśnij przycisk „zdalny”, aby spróbować połączyć się z urządzeniem Bluetooth. Naciśnij „reset”, aby zresetować przebytą odległość do 0. Przytrzymaj pole zużytego akumulatora, aby zresetować go po naładowaniu akumulatora. Użyta wartość Ah zostanie zapisana, jeśli wyłączysz i włączysz akumulator bez ładowania.

Krok 3: Zbierz części

Zbierz części
Zbierz części
Zbierz części
Zbierz części
Zbierz części
Zbierz części

Pamiętaj, że te części są przeznaczone do baterii 36 V. Jeśli masz baterię 48V, będziesz musiał zmienić rezystor 10K na 11K lub 12K i będziesz potrzebować innego konwertera DC-DC.

1 obudowa odporna na warunki atmosferyczne. Użyłem skrzynki elektrycznej PVC 4x4x2 cale.

1 kawałek Twojego ulubionego Stripboarda lub Protoboard

1 Arduino Pro Mini, 5V 16 MHz. Możesz także łatwo zbudować arduino bez płyty, ponieważ nie potrzebujesz regulatora napięcia ani interfejsu USB. Wszystko czego potrzebujesz to ATMEGA328P, kryształ 16 MHz i kilka kondensatorów. Możesz również użyć Arduino Nano, jeśli masz miejsce w obudowie. Nano jest większy niż dwie pierwsze opcje, ale ma wbudowany interfejs USB, jeśli nie masz konwertera szeregowego.

1 moduł ACS712 dopasowany do aktualnego zasięgu baterii. Użyłem modułu 20A do mojej baterii 8A.

1 moduł bluetooth HC-05. Podoba mi się odmiana ZS-040, 6 pinowa z przyciskiem. Z tyłu będzie oznaczony jako ZS-040.

1 zasilacz 50 V do 5 V DC-DC, jeśli rower jest wyposażony w akumulator 36 V, który będzie w pełni naładowany około 42 V. Jeśli masz akumulator 48 V, będzie on w pełni naładowany 56 lub 57 V, więc możesz potrzebować innego zasilacza. Daj nam znać, czego używasz, jeśli znajdziesz coś na 60V. Niektórzy mówią, że większość brodawek ściennych USB działa na 48VDC (i wyższych), ale nie próbowałem tego.

Rezystory 1/4W: 1 x 2K, 1 x 10K, 2 x 1K (zwiększ 10K, jeśli bateria jest większa niż 36V).

Wbudowany uchwyt bezpiecznika i bezpiecznik 2A.

proste i pod kątem prostym paski nagłówka

Listwy zaciskowe 5,08 mm, 2 x 2

Linka 16AWG do łączenia modułów.

Drut lity 22AWG do obwodu arduino

Listwa zaciskowa do podłączenia akumulatora i roweru

Lutownica

lutować

Sposób na zamontowanie urządzenia z Androidem na rowerze.

Do zaprogramowania modułu Arduino i HC-05 potrzebny będzie również konwerter szeregowy USB na ttl 3.3V (lub przynajmniej programator ISP) oraz ide Arduino z https://www.arduino.cc/en/Main/Software. Ten projekt został wykonany w wersji 1.6.13, różne wersje mogą, ale nie muszą działać bez modyfikacji.

Krok 4: Zainicjuj Arduino EPROM

Pominąłem ten krok w oryginalnej instrukcji. Obszar pamięci EPROM, który jest używany przez szkic, musi zostać zainicjalizowany, aby szkic działał poprawnie. Szkic mógłby być napisany tak, aby robił to automatycznie, ale w tym momencie tak nie jest.

Jeśli nie pracujesz z kodem źródłowym arduino, możesz pobrać plik hex dołączony do tego kroku do swojego arduino, aby zainicjować EPROM.

Jeśli pracujesz z kodem źródłowym arduino, w sekcji setup() znajdują się dwie linie, które wyglądają tak:

//zainicjuj EEPROM przy pierwszym uruchomieniu programu.

//zaktualizujEPROM();

Jeśli odkomentujesz drugą linię tak, aby wyglądała tak:

//zainicjuj EEPROM przy pierwszym uruchomieniu programu.

aktualizacjaEPROM();

Pobierz ten szkic na arduino i pozwól mu działać. EPROM zostanie zainicjowany. Następnie zarekomenduj linię do następnego kroku.

EPROM służy do zapamiętywania, ile baterii zostało zużyte, aby można było jeździć na rowerze, zatrzymać się i wyłączyć baterię, a po ponownym włączeniu rozpocznie się od miejsca, w którym zostało przerwane.

Krok 5: Skonfiguruj Arduino

Pobierz kod Arduino (załączony plik szesnastkowy) do Pro Mini za pomocą Arduino IDE lub samego avrdude. Zwykle użyjesz do tego konwertera USB na szeregowy, ale możesz również użyć programisty ISP.

Ponownie, jeśli chcesz skompilować go samodzielnie, zacznij od „wydania”. Najnowsza gałąź „master” może zawierać nieprzetestowane zmiany.

Jeśli zmieniłeś rezystor 10K na coś wyższego, będziesz musiał również zmienić stałą dzielnika napięcia akumulatora na szkicu. Zmień 11.0 w wierszu "double VBmultiplier = 11.0;" aby dopasować wszystko, co zainstalowałeś.

Krok 6: Skonfiguruj moduł HC-05

Skonfiguruj moduł HC-05
Skonfiguruj moduł HC-05
Skonfiguruj moduł HC-05
Skonfiguruj moduł HC-05

Musisz skonfigurować szybkość transmisji na module HC-05. Fajnie jest też nadać mu nazwę, którą później łatwo rozpoznasz (np. „ROWER”).

Używasz do tego również modułu konwertera szeregowego usb na ttl. Jeśli nie masz konwertera szeregowego, możesz napisać szkic dla arduino, aby go skonfigurować, lub myślę, że jeśli masz 2 moduły HC-05, możesz je połączyć i użyć jednego do zaprogramowania drugiego (być może).

Jest doskonały opis tego modułu na

Musisz skonfigurować szybkość transmisji na 4800, aby pasowała do szkicu Arduino, i zmienić nazwę na „BIKE” lub coś, co rozpoznasz.

Po skonfigurowaniu modułu możesz go sparować z urządzeniem z Androidem w ustawieniach Bluetooth.

Krok 7: Złóż obwód

Załączam skan mojego ręcznie narysowanego schematu elektrycznego w celach informacyjnych, jeśli ktoś jest na tyle ambitny, aby ładnie go przerysować, proszę o informację:)

Wykonaj następujące połączenia:

(+) Akumulator rowerowy po jednej stronie bezpiecznika i kontrolera rowerowego.

Druga strona bezpiecznika do konwertera DC zacisk (+)IN i rezystor 10K dla wejścia napięcia akumulatora w Arduino.

(-) Akumulator rowerowy do (-)IN na konwerterze i jeden zacisk zasilania ACS712.

W tym momencie upewnij się, że masz 5V z konwertera DC po włączeniu akumulatora, jeśli jeszcze tego nie zrobiłeś.

Wyłącz akumulator i zakończ połączenia:

(+)OUT z konwertera Arduino 5V, HC05 VCC, ACS712 VCC.

(-) OUT z konwertera do Arduino GND, HC05 GND, ACS712 GND, Arduino pin A2.

HC05 TXD do Arduino pin 7

HC05 RXD z dzielnika rezystorowego bluetooth.

Arduino pin 8 do dzielnika rezystorowego bluetooth.

ACS712 OUT do Arduino pin A3

Dzielnik napięcia akumulatora do pinu A1 Arduino

(-) od kontrolera roweru do drugiego zacisku zasilania w ACS712.

Dodatkowy przycisk resetowania nie jest tak naprawdę wymagany, może być po prostu wygodny, gdy chcesz pobrać na arduino po zainstalowaniu go na rowerze. Możesz być w stanie dotrzeć do przycisku resetowania na arduino lub możesz go zresetować z interfejsu szeregowego, jeśli Twój pro mini go obsługuje.

Dokładnie sprawdź swoje połączenia.

Krok 8: Wstępna weryfikacja

W tym momencie możesz włączyć obwód i sprawdzić, czy otrzymujesz odczyty w aplikacji na Androida.

Powinieneś być w stanie podłączyć bluetooth do roweru i zobaczyć napięcie akumulatora i miejmy nadzieję, że prąd akumulatora jest bliski zeru. Jeśli możesz rozkręcić rower i zobaczyć, jak zmienia się odczyt, to wszystko działa.

Aplikacja zakłada, że prąd dodatni wyczerpuje baterię, więc jeśli odczyt pokazuje prąd ujemny podczas rozkręcania roweru, po prostu zamień dwa przewody prądowe w module ACS712.

Jeśli nie widzisz żadnych odczytów w aplikacji, możesz spojrzeć na kontrolki na module bluetooth, aby upewnić się, że jest podłączony i przesyła dane. Możesz zainstalować aplikację terminala Bluetooth na swoim urządzeniu, aby zobaczyć dane wysyłane z obwodu. Powinieneś zobaczyć około 10 linii na sekundę bieżących odczytów i jedną linię na sekundę napięcia baterii i ilości zużytej baterii. Jeśli nic nie widzisz, sprawdź ponownie konfigurację modułu HC05 i połączenia między arduino, dzielnikiem rezystorowym i terminalem HC05 TXD.

Na koniec uruchom rower na tyle długo, aby na wyświetlaczu zużytego akumulatora pojawiła się wartość niezerowa. Następnie naciśnij i przytrzymaj ten numer, aż pojawi się toast, że użycie zostało zresetowane. Liczba powinna wrócić do zera. Jeśli tak się nie stanie po kilku próbach, ponownie sprawdź połączenia z terminala HC05 RXD do Arduino.

Krok 9: Montaż końcowy

Montaż końcowy
Montaż końcowy
Montaż końcowy
Montaż końcowy
Montaż końcowy
Montaż końcowy
Montaż końcowy
Montaż końcowy

Zainstaluj wszystkie elementy montażowe i zamontuj obwód arduino na swoim rowerze. Zamontuj urządzenie z Androidem w torbie lub innym uchwycie i gotowe!

Zdjęcia pokazują ukłucia baterii na moim rowerze i torbę na moje urządzenie z Androidem.

Widać małą płytkę do połączeń dzielnika napięcia akumulatora i ACS712 zamontowaną tak, abym po zamontowaniu wszystkiego mógł sięgnąć do śrub bloku zacisków. Moduł bluetooth HC-05 jest z powrotem w prawym rogu.

Biała listwa zaciskowa ma wszystkie połączenia akumulatora i kontrolera roweru z obwodem.

Gdybym miał to zrobić jeszcze raz, na pewno połączyłbym dzielnik napięcia baterii i ACS712 na tym samym kawałku płyty-córki. Mógłbym też spróbować zamontować moduł bluetooth na płycie głównej pod arduino.

Krok 10: Przyszłe kroki

Aplikacja na Androida może wymagać dużo pracy. Chciałbym dodać kilka zmian kolorów w oparciu o zakresy pomiarów. Chciałbym również dodać informację, że pomiar nie jest aktualizowany w aplikacji. Możesz także dodać kilka wskaźników graficznych. Nawet ładna ikona byłaby dużym ulepszeniem.

Najlepszą funkcją byłoby „szacunkowe opróżnienie”, które podałoby odległość, jaką możesz przebyć na pozostałej baterii, i czy jest to odległość większa niż odległość do miejsca docelowego. Ponieważ zwykle jeżdżę do pracy lub do domu, myślę, że mam zapisane w aplikacji „punkty trasy” GPS, które mają pozostałą odległość do domu i ile średnio zużywa się baterii w tym punkcie. Prawdopodobnie mógłbyś również zrobić coś z połączeniem danych, ale normalnie go nie mam.

Chciałbym odejść od biblioteki bluetooth w tej aplikacji do bardziej rozwiniętej, która ma na przykład automatyczne ponowne łączenie.

Jeśli to zbudujesz, możesz rozważyć dodanie sprzętowego filtra dolnoprzepustowego do mierzonego prądu i zmierzenie go osobno, aby użyć go do obliczenia całkowitego zużytego ładunku. Przy niskich obciążeniach, mniej niż 4A, pomiar jest bardzo zróżnicowany, +/-1A. Nie jestem pewien, czy to tylko problem z pomiarem, czy prąd zmienia się tak bardzo, jak obraca się koło. W każdym razie oddzielny pomiar średniego prądu w ciągu sekundy lub dwóch może pomóc w uzyskaniu dokładności. Mógłbyś po prostu samplować prąd szybciej i zrobić to w oprogramowaniu, ale nie wiem, jak szybko musiałbyś samplować. Myślę, że umieszczenie sygnału na oscyloskopie może pomóc w ustaleniu, jak szybko go próbkować.

Możesz dodać takie rzeczy, jak rurka Pitota, aby zmierzyć prędkość wiatru (jest już na to instrukcja).

Możesz dodać sterowanie przepustnicą w zamkniętej pętli z arduino.

Jeśli zawsze chciałeś mieć źródło zasilania USB w swoim rowerze, możesz łatwo poprowadzić kabel z konwertera 5 V DC dla arduino do dowolnego miejsca, w którym potrzebujesz połączenia zasilania USB.

Krok 11: Pytania i komentarze

Jeśli masz ogólne pytania dotyczące któregokolwiek z tych elementów, najlepiej po prostu je wygooglować, zamiast zadawać pytania tutaj. Żaden z elementów nie jest krytyczny, prawie na pewno możesz zastąpić coś innego i wykonać zadanie.

Nie proś mnie o przesłanie kodu, wszystko jest na githubie. Zdobądź to stamtąd. Nie potrzebujesz nawet konta na githubie.

Proszę nie pytaj mnie jak coś zrobić w Android Studio lub na Arduino. Prawdopodobnie nie wiem. Ponownie, po prostu wygoogluj to.

Naprawdę nie pytaj mnie o żadne produkty Apple, nie mam pojęcia.

Jeśli aplikacja nie działa na Twoim urządzeniu, przepraszam. Ale prawdopodobnie nie wiem, jak to naprawić, aby tak było. Działa na moim telefonie, to wszystko, czego potrzebuję.

Chociaż sugestie dotyczące ulepszeń są mile widziane, prawdopodobnie nigdy ich nie wdrożę, mam inne rzeczy do zrobienia. Prawdopodobnie nigdy nawet nie zastosuję własnych sugestii. Najlepszym rozwiązaniem jest rozwidlenie kodu na github i samodzielne dodawanie rzeczy. Jeśli tak, poinformuj ludzi tutaj, aby mogli użyć twojego kodu zamiast mojego.

Jeśli sam zbudowałeś lepszą wersję, zamieść tutaj odniesienie do niej, aby inni o tym wiedzieli. Nie obrażę się. Chętnie wezmę twoją wersję i zacznę z niej korzystać.

Krok 12: Aktualizacja aplikacji do testowania

To są zaktualizowane wersje aplikacji.

Liczby są znacznie większe. Pojawiła się nowa ikona. Nie ma już przycisku „połącz”. Użyj opcji "połącz - zabezpiecz" z menu w prawym górnym rogu.

Ta wersja powinna również działać z powrotem do wersji Androida 2.3 piernik. Działa na moim LG P500 Optimus One.

Wersja "app-settings-debug.apk" ma menu ustawień, które pozwala ustawić pojemność baterii tak, aby procent pozostałego obliczenia był prawidłowy. Nie został całkowicie przetestowany.

Zalecana: