ROWERY I INNE POJAZDY ELEKTRYCZNE - FORUM ARBITER Strona Główna

ROWERY I INNE POJAZDY ELEKTRYCZNE - FORUM ARBITER

Rowery, trójkołowce, ryksze, skutery, hulajnogi i inne lekkie pojazdy elektryczne
Porady, zdjęcia, filmy, konstrukcje, opinie


FAQFAQ  SzukajSzukaj  Szukaj z GoogleSzukaj z google  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  AlbumAlbum

Poprzedni temat «» Następny temat
Przesunięty przez: tas
Sob 07 Gru, 2013
Modyfikacja watomierza HK-010 (wersja niepikająca)
Autor Wiadomość
borsuk 
prezes



Pomógł: 25 razy
Dołączył: 12 Wrz 2011
Posty: 687
Skąd: Sudety
Wysłany: Pon 01 Kwi, 2013   Modyfikacja watomierza HK-010 (wersja niepikająca)

Modyfikacja przeznaczona jest dla rowerów ze wspomaganiem pedałowania, wykorzystujących system PAS (Pedal Assist System), ale bez problemów może być wykorzystywana w innych pojazdach. Różni się ona w szczegółach od znakomitej modyfikacji kolegi Tas, która znajduje się TU, a ponieważ nie chcę „zaśmiecać” jego autorskiego tematu opisuję ją osobno. Oprogramowanie napisałem od zera kierując się własnymi potrzebami.

1. Wyświetlacz
Zastosowałem wyświetlacz OLED, wymagający wymiany tranzystora w układzie zasilania, szczegóły TU. Oczywiście można pozostawić oryginalny wyświetlacz i niczego nie przerabiać.

2. Przyciski
Wciśnięcie pojedynczego przycisku powoduje zmianę wyświetlanego ekranu. Wejście do menu wymaga jednoczesnego wciśnięcia 2 przycisków.

3. Ekrany
Mamy cztery ekrany wyświetlające mierzone i ustawione parametry. Chwilę po włączeniu pojawia się pierwszy ekran:
Wyświetlane są kolejno: napięcie, prąd, moc, pobrane amperogodziny, pojemność akumulatora w %, oraz czas w minutach i sekundach. Postawiłem na przejrzystość i dlatego wartości są zaokrąglone w celu wyświetlania, natomiast do obliczeń są brane wartości bez zaokrągleń. Czas na tym ekranie jest liczony od momentu, gdy silnik przekroczy ustawioną przez nas w menu moc, gdy moc spadnie czas się zeruje. Ma to pośrednio służyć do kontroli temperatury silnika, szczególnie przy podjazdach (mój silnik nie ma czujnika temperatury).
Po wciśnięciu przycisku „OK” pojawia się ekran2:

Wyświetlane są na nim: graficzne przedstawienie pojemności akumulatora, pobrane amperogodziny, bieżąca moc, oraz czas, ten sam, co na ekranie1. Ekran2 to uproszczony ekran1, myślę, że będzie najbardziej przydatny podczas jazdy.
Po wciśnięciu przycisku „SELECT” pojawia się ekran3:

Miernik obsługuje dwa akumulatory oznaczyłem je z angielskiego BAT1 i BAT2 (są już wyświetlane ampery i amperogodziny, nie chcę używać kolejnych symboli na A). Wyświetlana jest aktualnie podłączona bateria, jej pojemność po pełnym naładowaniu w Ah (ustawiana w menu) oraz aktualna pojemność w Ah. Na podstawie tych wskazań łatwo będzie określić rzeczywistą pojemność akumulatora (jeżeli ustawimy zbyt małą pojemność na drugiej pozycji pojawi się wartość ujemna).
Poniżej kolejno: ilość automatycznych zapisów do EEPROM (po testach chyba to usunę), ustawiona przez nas moc do pomiaru czasu (ekran1 i 2) oraz czas całkowity w minutach i sekundach. Jest to suma czasu, gdy miernik jest włączony, resetowana z menu.
Po wciśnięciu przycisku „ESC” pojawia się ponownie ekran1.
Po dłuższym wciśnięciu przycisku „ESC” (ok. 1,5 s) pojawia się ekran4:

Widzimy na nim wartość szczytową prądu i mocy, a poniżej wartość minimalną napięcia oraz sumę pobranej mocy w watogodzinach.

4. Kalibracja
Po jednoczesnym wciśnięciu dwóch przycisków „ESC” i „OK” pojawia się menu kalibracji napięcia i prądu. Przyciskami posługujemy się zgodnie z opisem na obudowie, chyba, że symbole na wyświetlaczu pokazują inaczej. Mamy dwie pozycje do kalibracji prądu: bez obciążenia i z obciążeniem. Najpierw kalibrujemy bez obciążenia. Miernik bez obciążenia pobiera ok.35-40 mA, więc kalibrujemy go na 0+ (między 0 a 0.1A).
Prąd przy kalibracji z obciążeniem powinien być możliwie duży, gdyż charakterystyka miernika nie jest, niestety, liniowa. 1A to zdecydowanie za mało.


5. Ustawianie baterii i pomiaru czasu
Po jednoczesnym wciśnięciu dwóch przycisków „SELECT” i „OK” pojawia się menu, jak na zdjęciu:
Pozycja pierwsza to wybór podłączonej baterii, następnie ustawianie Ah dla baterii BAT1 oraz BAT2, i na końcu ustawianie pomiaru czasu. Po wyborze pozycji „czas” (przyciski „SELECT” i następnie „OK”) ustawiamy moc w Watach, po której przekroczeniu będzie odmierzany czas.


6. Zapis lub zerowanie danych
Po jednoczesnym wciśnięciu dwóch przycisków „ESC” i „SELECT” pojawia się menu, jak na zdjęciu:
Pozycja zapis umożliwia zapisanie w dowolnym momencie danych, które zmieniają się podczas jazdy, do nieulotnej pamięci. Normalnie zapis danych jest dokonywany automatycznie przy spadku pobieranego prądu poniżej 0,3A przez okres 2 minut, pod warunkiem, że prąd przekraczał uprzednio 1A. Te wartości trzeba będzie przetestować w praktyce i ewentualnie skorygować. Ja np. używam silnika wyłącznie z systemem PAS tylko przy podjazdach, a ponieważ jeżdżę w terenie górzystym, włączam i wyłączam PAS (i jednocześnie silnik) nawet kilkadziesiąt razy w czasie jednej wycieczki. W sytuacjach nietypowych można dokonać zapisu ręcznie.
Zerowanie danych chyba nie wymaga wyjaśnień – mierzone parametry ustawiamy na 0.

7. Sleeper
Wyświetlacz zostaje wyłączony przy spadku prądu poniżej 0.3A przez okres 2 minut.
Oszczędność prądu jest niewielka (ok.15mA), ale przy okazji mamy informację, że dane zostały zapisane i możemy spokojnie wyłączyć akumulator. Włączenie wyświetlacza przyciskiem „ESC”.

8. Zaprogramowanie mikrokontrolera
Aby ułatwić późniejsze modyfikacje zainstalowałem gniazdo do programowania, jak na zdjęciu:

Gniazdo jest zamocowane wspólnie z tranzystorem BD139. Jest to „gniazdo na goldpin proste” przycięte na odpowiednią długość. Wykorzystujemy sześć wyprowadzeń, ja wyprowadzam również Vcc 5V (na zdjęciu kolegi Tas oznaczone przez X), wtedy układ jest zasilany przez programator USBasp (a właściwie przez komputer), i podczas programowania nie trzeba podłączać akumulatora.
Nakrętkę trzeba zabezpieczyć silikonem, jakimś innym klejem lub lakierem, aby nie odkręciła się od wstrząsów.
Poniżej spakowany plik składający się z 2 części: borsuk1.hex do zaprogramowania pamięci Flash oraz borsuk1.eep do zaprogramowania pamięci EEPROM.
Ja do programowania używam programu eXtreme Burner tu do ściagnięcia.
Ustawiamy: Settings- Programing Mode -ISP oraz Chip- Atmega16. Następnie otwieramy borsuk1.hex i borsuk1.epp czyli File - Open Flash i File - Open EEPROM (program ma jedną niedoróbkę - przy otwieraniu EEPROM trzeba ręcznie zmienić w okienku rozszerzenie z hex na eep). Następnie programujemy Flash (Write – Flash) potem EEPROM (Write – EEPROM), i to wszystko. Ustawienia Fusebitów pozostawiamy bez zmian w stosunku do oryginalnego HK-010, czyli niczego nie ustawiamy. Po zaprogramowaniu należy wykonać restart miernika przez wyłączenie i ponowne włączenie wtyczki USB.

9. Uwagi końcowe
Jest to mój pierwszy program na mikrokontroler i z pewnością nie jest pozbawiony błędów, tym bardziej, że z programowaniem miałem niewiele do czynienia, napisałem wiele lat temu kilka programików w Pascalu. Zdaję sobie sprawę, że w dużym stopniu dubluję pracę kolegi Tas, ale miałem wielkie chęci nauczyć się czegoś nowego.
Zrobiłem też wersję z wyprowadzonym bocznikiem (od niej zresztą zacząłem), ale uległa uszkodzeniu i nie mam zdjęć ekranu. Wydaje mi się, że opisana powyżej wersja będzie bardziej przydatna do testów, łatwiej do niej podłączyć jakieś dodatkowe urządzenia. Po przeprowadzeniu testów w terenie pojawi się wersja poprawiona. Wszelkie uwagi mile widziane.
Pozdrawiam
borsuk

Do pobrania poprawiona wersja 1.4 szczegółowy opis: http://forum.arbiter.pl/viewtopic.php?t=2526

borsuk1_4.zip
opis zmian: http://forum.arbiter.pl/viewtopic.php?t=2526
Pobierz Plik ściągnięto 323 raz(y) 10,32 KB

borsuk1_3.zip
zmiany:
1.autozapis do EEPROM co 90s dla prądu wiekszego od 0,5A
2.autozapis do EEPROM po 60s od zatrzymania silnika (prąd mniejszy od 0,35A)
3.zmiana ekranu2 - wyświetlane: V, I, P, stan baterii graficznie i w procentach
4.brak sleepera.
Pobierz Plik ściągnięto 318 raz(y) 10,59 KB

borsuk1_1.zip
Pobierz Plik ściągnięto 357 raz(y) 10,08 KB

borsuk1.zip
Pobierz Plik ściągnięto 391 raz(y) 10,12 KB

_________________
Mój rower: BBS02B
Ostatnio zmieniony przez borsuk Śro 14 Maj, 2014, w całości zmieniany 10 razy  
 
 
tas 
szef
tas


Pomógł: 154 razy
Dołączył: 02 Kwi 2012
Posty: 6169
Skąd: Beskidy
Wysłany: Pon 01 Kwi, 2013   

Super projekt! Polacy nie gęsi :D
Fajny patent z wyłączaniem wyświetlacza. Zostawiając rower gdzieś - on się wyłączy i nie zwraca na siebie niepotrzebnej uwagi.
 
 
borsuk 
prezes



Pomógł: 25 razy
Dołączył: 12 Wrz 2011
Posty: 687
Skąd: Sudety
Wysłany: Pon 29 Kwi, 2013   

Przejechałem ze zmodyfikowanym miernikiem 120 km i nie widzę potrzeby, aby dokonywać poprawek w programie.
Na jednej z wycieczek miałem podłączony szeregowo watomierz Turnigy. Suma Ah wyszła mi na zbliżonym poziomie, napięcia zgodne, jeżeli chodzi o pomiar prądu to Turnigy pokazuje wzrost prądu z niewielkim opóźnieniem w stosunku do mojego miernika, ale wartości się zgadzają. Największa różnica wystąpiła w pomiarze Wh, mój miernik pokazuje zużycie o kilka procent większe. Nie wiem gdzie leży przyczyna, ale ten błąd wydaje mi się mało istotny.

Bocznik MOD - problemy
Zrobiłem też wersję z wyprowadzonym rezystorem pomiarowym (bocznikiem) poza miernik i podłączonym jednym cienkim przewodem, jak to opisał Tas tutaj .
Stwierdziłem, że po zastosowaniu wyświetlacza OLED występują problemy z pomiarem prądu.
Wynik pomiaru zależy od wyświetlanej treści, a konkretnie od poboru prądu przez OLED, który to prąd zmienia się wraz z treścią na wyświetlaczu. W rezultacie podczas kalibracji mam inny wynik pomiaru prądu niż na ekranie1. Nie wiem czy winny jest tu konkretny egzemplarz OLEDa, czy watomierza HK-010, bo mam tylko po 1 sztuce (oprócz tego, który zamontowałem w rowerze i nie zamierzam go rozbierać).
Ten problem można obejść stosując zamiast OLEDa wyświetlacz z podświetleniem.
Ja zastosowałem wyświetlacz typu LCD-AC-1602E-DLW W/KK-E12 C PBF z niskim poborem prądu 20 mA, który ma zupełnie przyzwoity kontrast i kosztuje kilkanaście zł. Miernik z tym wyświetlaczem pobiera ok.35 mA i tak wygląda:

Wyświetlacz ten wymaga powiększenia okienka w obudowie, gdyż jest trochę wyższy od oryginalnego.
Aluminiowa obudowa nie jest twarda i łatwo ją obrobić pilnikiem.
Układ wymaga przeróbek jak na zdjęciu poniżej (zdjęcie poglądowe z innym wyświetlaczem i bez zdemontowanego bocznika):

Usuwamy rezystorek 471 omów w lewym górnym rogu, zamiast niego podłączamy rezystor 2,2 k (w moim przypadku) między wyprowadzeniami nr 3 a 7 lub 8 lub 9 wyświetlacza (masa). Rezystor służy do ustawienia kontrastu i najlepiej najpierw podłączyć potencjometr montażowy i dokładnie dobrać wartość dla posiadanego wyświetlacza. Następnie podłączamy podświetlenie, czyli wyprowadzenie nr 15 do emitera tranzystora mocy (+5V), a wyprowadzenie nr 16 łączymy z masą nr 10.
Podczas kalibracji prądu bez obciążenia dla układu z wymontowanym bocznikiem trzeba dość długo przyciskać przycisk „+” zanim pojawi się prąd większy od zera. Kalibrujemy na 0+, czyli ustawiamy wartość większą od zera i schodzimy na zero. Następnie kalibrujemy z obciążeniem dla prądu większego od 4A, im większy prąd tym lepiej. Kalibrację 0 i z obciążeniem powtarzamy kilkakrotnie.

Miernik z wyniesionym bocznikiem jest trochę mniej stabilny i polecam go tylko dla silników większej mocy.
Ja używam silnika Bafang o nominalnej mocy 250W, przy czym prąd szczytowy wyniósł (jak na razie) 14,1A, a moc szczytowa 512W. Typowy pobór jest sporo niższy i można śmiało zastosować przewody zasilające o przekroju 1,5 mm2. Pociągnięcie takich przewodów na kierownicę nie stanowi problemu.
 
 
tas 
szef
tas


Pomógł: 154 razy
Dołączył: 02 Kwi 2012
Posty: 6169
Skąd: Beskidy
Wysłany: Pon 29 Kwi, 2013   

Nie udało mi się tego potwierdzić na tych HK-010, które mam.
Mierzony prąd wydaje się nie zależeć od ilości treści na ekranie OLed albo sprawdzam to inaczej, niż ty (albo wprowadzone poprawki sprzętowe wyeliminowały przypadkowo ten problem) :)
Napisz jakieś szczegóły bliższe - się uda znaleźć rozwiązanie.

Jedyny znany mi sprzętowy problem z pomiarem prądu odnosi się do napięcia, przy którym to robimy.
Czyli - jeśli dokonasz zerowania i kalibracji przy napięciu 12V, a następnie przełożysz HK-010 do instalacji w rowerze o wyższym napięciu to pomiar prądu straci na dokładności do 10%. Problem rozwiązuje kalibracja już w miejscu przeznaczenia, tzn dokładnie w instalacji rowerowej.
 
 
Janek75
[Usunięty]

Wysłany: Pon 29 Kwi, 2013   

Coraz więcej wyświetlaczy i kabli, to już zaczyna przypominać komputery pokładowe... samolotu ;)
Tylko, jak wytłumaczyć "blondynce", która będzie chciała się tym wypasionym rowerem przejechać, co to wszystko znaczy.
Dlatego do swoich wynalazków wkładam diody RGB i jak świecą się jak choinka, to znaczy że jest jeszcze nie najgorzej, ale jak już wszystkie na czerwono, to... nie wolno jechać, tylko zadzwonić po superman'a i po problemie :D

A tak bardziej na poważnie to panele lepiej jak są ściagane, bo tylko jak ich nie ma to nie zwracają na siebie uwagi, dlatego bezprzewodowy licznik to ma jakiś sens ;)
 
 
borsuk 
prezes



Pomógł: 25 razy
Dołączył: 12 Wrz 2011
Posty: 687
Skąd: Sudety
Wysłany: Pon 29 Kwi, 2013   

tas napisał/a:

Napisz jakieś szczegóły bliższe - się uda znaleźć rozwiązanie.

Podejrzewam, że to wina lewego OLEDa, który za bardzo obciąża wyjścia mikrokontrolera. Zmiany prądu od treści są spore wynoszą maks. ok.7 mA. Całkowity pobór prądu wynosi maks. 45 mA (HK + wyświetlacz), a dla drugiej sztuki (tej z bocznikiem) wynosi 36 mA i nie zmienia się.
Oczywiście to tylko podejrzenia, trzeba by przetestować ten OLED z innym HK.
 
 
tas 
szef
tas


Pomógł: 154 razy
Dołączył: 02 Kwi 2012
Posty: 6169
Skąd: Beskidy
Wysłany: Pon 29 Kwi, 2013   

Aaa teraz rozumiem, nie chodzi o pomiar prądu jako takiego, ale pobór prądu przez samo urządzenie, tak?
To faktycznie, OLED bierze prąd w zależności od powierzchni świecenia tych znaków, które wyświetla.
No ale nie udało mi się zaobserwować zależności między poborem prądu przez wyświetlacz, a wskazaniem poboru Amper z akumulatora - bo taki wniosek można wyciągnąć z poprzedniej wypowiedzi. Jak duże to są zmiany?

Jedyny minus jaki widzę w tym jest taki, że jeśli zostawimy urządzenie podpięte do baterii przez 10h to wysysa nam 400mAh z akumulatora. Ale jest tez na to prosty środek zaradczy - jeśli ma się zrobiony Bocznik MOD oraz ma się sterownik, w którym stacyjka działa tak, że podłącza się "+" z baterii do jakiegoś kabelka - to wystarczy z bocznika odlutować sobie PLUS z watomierza i podłączyć go ZA stacyjką. Teraz wyłączając stacyjkę - wyłącza nam się całe urządzenie wraz ze wszystkim.
 
 
borsuk 
prezes



Pomógł: 25 razy
Dołączył: 12 Wrz 2011
Posty: 687
Skąd: Sudety
Wysłany: Wto 30 Kwi, 2013   

tas napisał/a:

No ale nie udało mi się zaobserwować zależności między poborem prądu przez wyświetlacz, a wskazaniem poboru Amper z akumulatora - bo taki wniosek można wyciągnąć z poprzedniej wypowiedzi. Jak duże to są zmiany?

Zmiany są spore. Kalibruję prąd, przełączam na ekran, gdzie mam 6 parametrów (ekran1 u mnie) i prąd wzrasta o 10 % . Przełączam na na ekran ze wskaźnikiem graficznym naładowania i tam wzrasta z kolei moc (prądu tam nie wyświetlam). Na stabilizatorze napięcie nie zmienia się. Oczywiście robiłem różne próby: odsprzęganie kondensatorami, większy elektrolit, wymiana tranzystora w stabilizatorze itp.
Radykalnie pomogła wymiana wyświetlacza.
Teraz przyjeżdża do mnie rodzina na kilka dni i rower, niestety, musi iść w odstawkę :cry:
 
 
borsuk 
prezes



Pomógł: 25 razy
Dołączył: 12 Wrz 2011
Posty: 687
Skąd: Sudety
Wysłany: Pon 20 Maj, 2013   

Witam
Do pobrania poprawiona wersja programu oznaczona borsuk1_1, umieściłem ją w pierwszym poście, który otwiera temat.
Poprawki dotyczą ustawiania Ah dla akumulatorów. Usunięty został błąd polegający na tym, że wprowadzona zmiana pojemności Ah akumulatora była uwzględniona przy obliczaniu wskaźnika w procentach dopiero po użyciu opcji "wybór baterii" oznaczonej w menu B1/B2 i zerowaniu danych.
Teraz po ustawieniu Ah wystarcza sam zimny reset, czyli wyłączenie i włączenie zasilania.
Można też skorygować wskazania w procentach bez wyłączania zasilania, ale trzeba po zmianie Ah przejść do "wyboru baterii" B1/B2 i powtórzyć wybór. Trochę ten opis skomplikowany, ale jeśli ktoś napotkał problem, to powinien się zorientować o co biega.
Powyższą procedurę postaram się uprościć w kolejnej wersji.
Domyślna bateria (akumulator) to BAT1, i po zerowaniu danych wybrana jest bateria1.
Dokonałem też drobnych poprawek kosmetycznych.

Pozdrawiam
borsuk
 
 
JerzyZ 
Zasłużony dla zlotu EV



Pomógł: 7 razy
Dołączył: 16 Lip 2010
Posty: 794
Skąd: Warszawa - Ursynów
Wysłany: Wto 28 Maj, 2013   

Moje pytanie jest trochę "obok" tematu:
Chcę wykorzystywać NIEPRZEROBIONY HK-010 w roli woltomierza pojedynczych cel, ale:
1. w pozycji "check" niemiłosiernie piszczy gdy nie są zbalansowane
2. w pozycji "balance" coś tam niepotrzebnie robi, a gdy cele staną się równe - też piszczy.
Czy jest jakiś prosty sposób (oprócz odcięcia przewodów do piszczyka)?
 
 
borsuk 
prezes



Pomógł: 25 razy
Dołączył: 12 Wrz 2011
Posty: 687
Skąd: Sudety
Wysłany: Wto 28 Maj, 2013   

jerzyz napisał/a:
Moje pytanie jest trochę "obok" tematu:
Czy jest jakiś prosty sposób (oprócz odcięcia przewodów do piszczyka)?

Niestety, nie.
Ja swój buzzer wyciąłem za pomocą "boczków" z płytki (zamierzałem zastąpić go silniejszym, elektromagnetycznym, ale później porzuciłem ten pomysł).
 
 
borsuk 
prezes



Pomógł: 25 razy
Dołączył: 12 Wrz 2011
Posty: 687
Skąd: Sudety
Wysłany: Czw 25 Lip, 2013   

Witam
Do pobrania poprawiona wersja 1.3 programu oznaczona borsuk1_3, umieściłem ją w pierwszym poście, który otwiera temat.
Wprowadziłem następujące zmiany:
1. Autozapis do EEPROM co 90s dla prądu wiekszego od 0,5A
2. Autozapis do EEPROM po 60s od zatrzymania silnika (prąd mniejszy od 0,35A po uprzednim wzroście ponad 1A)
3. Brak sleepera.
4. Zmiana ekranu2 - wyświetlane: V, I, P, stan baterii graficznie i w procentach, patrz foto:


Wykonałem też modyfikację sprzętową: wlutowałem kondensator elektrolityczny 47uF 50V pomiędzy nóżką nr2 (+5V) wyświetlacza a masą oraz kondensator ceramiczny 100nF między emiterem tranzystora mocy a masą.
Na wyświetlaczu zaczęły mi się pojawiać sporadycznie jakieś „krzaki”, pomagało dopiero wyłaczenie zasilania. Po tej przeróbce problem zniknął.
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group