Akü kapasitesi ölçümü ile aktif yük

guclusat

Tanınmış Üye
Süper Moderatör
NA WSTĘPIE

Wiem, wiem, ktoś zaraz powie, że układów aktywnego obciążenia nie sposób zliczyć i kolejny taki projekt przyczynia się do klęski urodzaju…

Mimo wszystko chciałbym przedstawić projekt aktywnego obciążenia. Aktywne obciążenie samo w sobie nie jest czymś szczególnym, ale obudowane w odpowiedni układ elektroniczny, nabiera niebanalnego formatu. Tutaj akurat rozszerzenie podstawy stanowi mikrokontroler wykorzystany do pomiarów prądu, napięcia i mocy, oraz badania pojemności dowolnych akumulatorów od 100mAh do 99Ah z funkcją automatycznego odcięcia obciążenia od źródła po osiągnięciu nastawionego napięcia rozładowania. Dodatkowym zajęciem mikrokontrolera jest sterowanie obrotami wentylatora w zależności od temperatury radiatora.

Działanie podstawowego układu aktywnego obciążenia jest dosyć proste i niemal jednakowe we wszystkich tego rodzaju układach. Tranzystor mocy włączony jest w szeregu ze źródłowym (lub emiterowym) rezystorem pomiarowym mocy do źródła prądu (np. zasilacz, akumulator). Tranzystor sterowany jest sygnałem błędu, wytwarzanym we wzmacniaczu pomiarowym na podstawie sygnału (napięcia) pobieranego z rezystora pomiarowego, oraz sygnału (napięcia) zadawanego z potencjometru regulacyjnego. Różnica tych sygnałów (napięć) powoduje takie otwarcie (lub przymknięcie) tranzystora przez wzmacniacz pomiarowy, aby je wyrównać. Wpływa to oczywiście na wielkość prądu przepływającego przez tranzystor a tym samym prądu pobieranego z badanego źródła. Na rezystorze pomiarowym odkłada się napięcie proporcjonalne do przepływającego przezeń prądu zgodnie z prawem Ohma.

Oczywiście ten układ podstawowy doczekał się w różnych układach wielu modyfikacji, np. więcej niż jednego tranzystora mocy, dodatkowych tranzystorów sterujących, tranzystora MOSFET zamiast bipolarnego, wymyślnych wersji wzmacniaczy operacyjnych, itp..

W moim projekcie zastosowałem najprostszy wariant z jednym tranzystorem polowym, nie tanim ale o dużych możliwościach w charakterystyce SOA (w trybie DC), a mianowicie typ STW20NB50 w obudowie TO-247 (posiadałem go w swoich zasobach z rozbiórek). Tranzystor sterowany jest bezpośrednio przez popularny podwójny wzmacniacz operacyjny LM358, zasilany pojedynczym napięciem 9V. Napięcie pomiarowe z rezystora mocy (dwa równoległe rezystory 0R1 5W) doprowadzone jest przez prosty filtr RC do wejścia odwracającego pierwszego wzmacniacza, oraz do wejścia nieodwracającego drugiego wzmacniacza, celem wzmocnienia napięcia przed podaniem do mikrokontrolera – pomiar prądu. Do wejścia nieodwracającego pierwszego wzmacniacza podawane jest również napięcie z dwóch szeregowo połączonych potencjometrów regulacyjnych, tworzących układ zgrubnej i dokładnej regulacji pobieranego przez obciążenie prądu. W pierwszym wzmacniaczu wypracowuje się sygnał błędu sterujący tranzystorem mocy. Tranzystor pracuje liniowo, nietypowo jak na MOSFET’a, ale najzupełniej normalnie.

Uwaga! Niniejszy układ aktywnego obciążenia nie jest „idiotoodporny” i może nie przeżyć odwrotnego podłączenia badanego źródła prądu!

Projekt aktywnego obciążenia powstał w oparciu o mikrokontroler ATtiny26. Wiem, że to przeżytek, ale użyłem go kiedy jeszcze robiłem pierwszy prototyp ładnych kilka lat temu, i tak już zostało. Taktowany jest wewnętrznym oscylatorem o częstotliwości 8MHz, który przy kilku pierwszych uruchomieniach jest kalibrowany „ręcznie” metodą prób i błędów poprzez zmianę parametru wpisywanego do rejestru OSCCAL oscylatora na początku programu (kilkukrotne poprawianie wartości, kompilowanie i programowanie). Wprawdzie jest w układzie funkcja pomiaru pojemności akumulatorów, polegająca na zliczaniu odbieranego ładunku w funkcji czasu, ale stabilizowanie czasu za pomocą kwarcu uważam za zbędne ponieważ nie jest to sprzęt laboratoryjny, a niewielkie odchyłki zliczanego czasu (po kalibracji oscylatora) niewiele wpływają na wynik pomiaru Ah. Poza tym opcja pomiaru Ah doszła po długim czasie używania układu tylko jako aktywnego obciążenia, gdzie dokładność oscylatora w ogóle nie miała znaczenia. Jeśli komuś będzie zależało na stabilizacji zegara kwarcem – nie widzę przeciwwskazań, byle miał wolne nóżki XTAL do dyspozycji (ja nie miałem).

Program powstał całkowicie w asemblerze i zajmuje po brzegi dostępną pamięć procesora czyli pełne 2kB. Musiałem bardzo optymalizować, skracać i usuwać zbędny kod, zwłaszcza z moich uniwersalnych dołączanych bibliotek, żeby zmieścić obsługę wyświetlacza LCD, układu 1-Wire, programowego USART’u, pomiaru przez ADC napięcia i prądu, wyliczenia mocy i pojemności, i kilka innych wewnętrznych funkcji. Być może udało by się bardziej odchudzić program bardziej wyrafinowaną optymalizacją, ale na razie nie jest to potrzebne, no chyba że potrzebowałbym dołożyć jeszcze jakiś wodotrysk...

Przetwornik ADC otrzymuje zasilanie poprzez dławik i blokowane kondensatorem na końcówce AVCC, a jako źródło napięcia odniesienia wykorzystuje wewnętrzne napięcie 2,56V. Pomiary uruchamiane są cyklicznie co 200ms, w takt głównej pętli programu.

Pomiary.

Aby móc wyświetlać prąd i napięcie z dokładnością do 0,01 (co nie znaczy, że z taką dokładnością dokonywane są pomiary – nie za pomocą prostego wbudowanego napięcia odniesienia) , dokładność przetwarzania ADC została programowo podniesiona z 10 do 12 bitów. Bez tego zabiegu dokładność wskazań napięcia przy założonym zakresie 30V wynosiła 30V/1023(ADC) = ~0,03V, co mnie nie zadowalało. Dzięki oversamplingowi do 12 bit dokładność wskazań napięcia wyniosła 30V/4095(ADC) < 0,01V. Dla prądu o założonym zakresie 10A oversampling był w zasadzie zbędny, bo 10A/1023(ADC) = ~0,01A, co jest wystarczające, ale skorzystałem już z tych samych procedur przetwarzania co dla napięcia, a co. Przy każdym pomiarze wykonywane jest wiele „szybkich” odczytów z ADC z których wyciągana jest średnia, która następnie ląduje w „wolnym” buforze kołowym zapełnianym cyklicznie co pomiar. Średnia z tego bufora jest dopiero brana do dalszych właściwych obliczeń prądu lub napięcia. Dzięki temu odczyty są całkiem stabilne, bez „myszkowania”, ale wystarczająco szybko reagujące na zmiany mierzonych wielkości.

Temperatura radiatora mierzona jest układem Dallasa na szynie 1-wire (może to być 18B20 lub 18S20 - program rozpoznaje układ i się dostosowuje), z dokładnością do pełnych stopni, i na tej podstawie określane jest jak szybko kręcić wentylatorem radiatora – im goręcej, tym szybciej, rzecz jasna. Przy włączaniu zasilania wentylator otrzymuje duże obroty żeby się rozruszać a po chwili minimalne obroty, poniżej których już nie schodzi.

Pomiar pojemności akumulatorów polega w głównej mierze na sumowaniu odczytów prądu w ustalonych odstępach czasu (tutaj 1s) a następnie scałkowaniu tej sumy dla przedziałów określonego czasu (tutaj 1h = 3600s). Dla przykładu niech to będzie pomiar prądu 1A; jeśli będziemy go sumować w ciągu godziny co sekundę, to otrzymamy sumę odczytów = 1A * 3600s = 3600As; jeśli podzielimy to przez stały okres całkowania 3600s (1h), to otrzymamy 3600As/3600s = 1A „na godzinę”, czyli 1A pobrany w 1 godzinę, czyli 1Ah. Ale sprawdźmy, jeśli będzie prąd = 4A przez 10 godzin, to co wyjdzie? 4A * 36000s = 144000As -> 144000/3600 = 40Ah. Czyli wszystko się zgadza. A dla 0,5A przez 30min.? Policzmy, 0,5A * 1800s = 900As -> 900 / 3600 = 0,25Ah. Znowu się zgadza. Do sumowania odczytów prądu zastosowałem zmienną 4 bajtową, w której można zmieścić 291 godzin co sekundowych pomiarów w rozdzielczości 12bit – sumowane są surowe pomiary, bez przeliczania na wartości liczbowe prądu, dzięki czemu nie są sumowane błędy ew. zaokrągleń.

Rzecz jasna obliczenia wszystkich mierzonych parametrów są dokonywane na liczbach rzeczywistych ze stałą liczbą 2-ch miejsc po przecinku, traktowanych w obliczeniach jak liczby całkowite. Wyniki również otrzymujemy z dokładnością do dwóch miejsc po przecinku.

Aby zmierzyć pojemność aku. należy go podłączyć do obciążenia przy skręconych na minimum potencjometrach zgrubnym i dokładnym (wyłączenie obciążenia) oraz na maksimum potencjometrze regulacji napięcia odcięcia. Wyświetlacz powinien pokazać napięcie na aku, np. 13,25V oraz brak prądu obciążenia. Jednostka napięcia powinna być zapisana jako „V” (wielką literą), jeżeli jest to małe „v”, to należy krótko nacisnąć przycisk załączenia funkcji odcięcia obciążenia aby wrócić do wielkiego „V”. Teraz regulujemy potencjometrem napięcie odcięcia, np. dla aku kwasowego 12V będzie to napięcie pełnego rozładowania 10,20V (1,7V/ogniwo, różne źródła mogą podawać nieco inne wielkości, zwłaszcza zależy od wykonania aku i jego producenta). Naciskamy dłużej (ponad 3 sek.) przycisk funkcji odcięcia obciążenia, aż literka „V” zmieni się na małe „v”, dzięki czemu nastawiona wartość napięcia zostaje zapamiętana, a funkcja odcięcia załączona. Może się przy tym uaktywnić odcięcie i włączy się alarm (bipek), ponieważ układ odczytuje obniżone napięcie – nie należy się tym przejmować, tylko przekręcić potencjometr napięcia odcięcia z powrotem na maksimum i tak już zostawić – funkcja odcięcia obciążenia przejdzie z powrotem do czuwania. Raz nastawiona wartość napięcia odcięcia będzie zachowana dla kolejnych pomiarów aku podobnego typu, dopóki nie zechcemy mierzyć aku o innym napięciu. Przy kolejnym pomiarze podobnego aku wystarczy po prostu krótkim naciśnięciem przycisku załączyć/wyłączyć funkcję odcięcia obciążenia, bez kręcenia potencjometrem.

Teraz wystarczy nastawić żądany prąd obciążenia, najlepiej tzw. 20-godzinny (typowo wg zaleceń dla aku kwasowych), np. 2,2A dla aku 44Ah, i poczekać cierpliwie na sygnał zakończenia pomiaru – bipanie. W zależności od kondycji aku może to potrwać mniej niż lub co najmniej 20h. Dzięki funkcji odcięcia obciążenia nie musimy martwić się o przegapienie momentu pełnego rozładowania i zniszczenie aku – obciążenie wyłączy się samoczynnie. Oczywiście tuż po rozładowaniu należy taki aku natychmiast podłączyć do ponownego naładowania, najlepiej w trybie 10-godzinnym. Na wyświetlaczu możemy odczytać wartość Ah oraz czas pomiaru jaki upłynął.

Uwaga! Pomiar pojemności uaktywnia się samoczynnie po wykryciu prądu co najmniej 50mA bez jakichkolwiek czynności z naciskaniem przycisku i regulacją napięcia odcięcia, opisanych powyżej - służą one jedynie do załączenia trybu pilnowania napięcia i odłączenia obciążenia. Oznacza to, że pojemność będzie liczona również wtedy, jeśli zamiast aku będzie podłączony jakiś zasilacz; taki efekt uboczny, ale da się przeżyć...

Reszta.

Na jednym z wyjść procesora występuje w cyklu 1-sekundowym transmisja z programowego USART’u z prędkością 9600 8N1, w której zawarta jest informacja identyczna z pokazywaną na wyświetlaczu w postaci kodów ASCII. Można transmisję skierować np. do komputera poprzez dowolną przejściówkę RS232-TTL/USB i odczytywać informacje bezpośrednio w dowolnym terminalu, po wskazaniu odpowiedniego portu COM przejściówki. W transmitowanych danych występują kody ASCII sterujące terminalem, a mianowicie kody CR+LF na końcach linii oraz kod CLRSCR do czyszczenia ekranu na początku każdej transmisji, dzięki czemu dane wyświetlane są w oknie terminala w stałym miejscu (brak przewijania okna w miarę odbierania danych).

Jestem w trakcie przygotowywania specjalnego programu, dzięki któremu będzie można na komputerze łatwo podglądać pomiary w wygodnej postaci liczbowej, oraz zbierania danych do pliku wraz z rysowaniem wykresów czasowych. Jak czas mi pozwoli, to powinienem się niedługo z tym programem uporać – wyświetla już dane na sześciu „wirtualnych” wyświetlaczach (w jednym oknie programu), zostało mi tylko dopracować zbieranie danych i rysowanie wykresów. Udostępnię go jak tylko będzie gotowy.

Mikrokontroler steruje bezpośrednio alfanumerycznym wyświetlaczem LCD 2x16 znaków, w trybie 4-bitowym. Na wyświetlaczu pokazywane jest 6 parametrów, w górnej linii: napięcie, prąd, temperatura radiatora; w dolnej linii: moc, pojemność, czas pomiaru. Z racji na ograniczone miejsce musiałem dolną linię nieco skompresować, tak, że między pojemnością a czasem nie ma przerwy, a czas nie ma dwukropka między godzinami i minutami, ale nie stwarza to problemu z czytelnością, jeśli się wie co tam ma być (a my już wiemy ). Wygląda to na przykład tak:



W układzie występuje kilka potencjometrów. Montażowe służą do korekcji pomiarów napięcia i prądu oraz kontrastu wyświetlacza, a osiowe do nastawiania poziomu prądu obciążenia (zgrubny i dokładny), oraz do nastawy napięcia odcięcia przy pomiarach Ah.

Zasilanie pochodzi od transformatora sieciowego o mocy < 3W i napięciu wtórnym 12V. Transformator pierwotnie nie znalazł się na żadnej płytce drukowanej, ponieważ wykorzystałem taki z uszami do montażu luzem w obudowie, a mostek z elektrolitem umieściłem na jego wyprowadzeniach „na pająka”. Jednak ostatnio płytki nieco przeprojektowałem i trafo oraz mostek znajdują się na płytce z procesorem. Standartowy stabilizator scalony w wersji SMD dostarcza napięcie 5V do zasilania całego układu, natomiast stabilizator 9V w obudowie TO-92 dla wzmacniacza operacyjnego byłem zmuszony dolutować na pająka od strony ścieżek, ponieważ o nim zapomniałem rysując płytkę 8-(. Napięcia są blokowane kilkoma kondensatorami elektrolitycznymi oraz ceramicznymi.

Budowa.

Układ elektroniczny został podzielony na dwie płytki drukowane: płytkę procesora z układami współpracującymi, oraz płytkę wykonawczą obciążenia z tranzystorem i rezystorami mocy. Zaprojektowane są tak, że można je podzielić na dwie, lub zostawić jako jedną większą płytkę. W przypadku rozdzielenia, płytki łączy się za pomocą krótkich odcinków przewodów, najlepiej linek, i umieszcza w posiadanej obudowie tak aby znajdowały się złączami możliwie blisko siebie (jak najkrótsze przewody łączące). Tranzystor mocy przymocowany jest do odpowiednio dużego radiatora z wentylatorem. Jeżeli radiator będzie oddzielony od metalowej obudowy, lub obudowa od masy, to można nie stosować podkładki izolacyjnej pod tranzystor, w przeciwnym wypadku jest ona niezbędna, ponieważ radiator jest na potencjale dodatnim badanego źródła (względem masy układu). Radiator można, a nawet należy przymocować do płytki z tranzystorem, żeby ten nie stracił swoich odnóży od ew. przeciążeń mechanicznych. W wersji prezentowanej układu płytki pozostały nierozdzielone i występują jako jedna; wykonałem ją metodą „żelazkową”, wraz dodatkową górną warstwą opisową. Płytka spoczywa na dnie obudowy na czterech plastykowych, gwintowanych tulejkach dystansowych, z radiatorem skierowanym w stronę wentylatora, który został odwrócony i wdmuchuje powietrze z zewnątrz na radiator. Dzięki temu jest on chłodzony skuteczniej niż gdyby wentylator wyciągał ciepłe powietrze z okolic radiatora. (tak też działa chłodzenie procesorów w komputerach)

Całość układu została zamknięta w typowej metalowej obudowie od zasilacza komputerowego. Na jednej ze ścianek został zamocowany panel frontowy z wyciętym otworem dla wyświetlacza. Oprócz wyświetlacza znalazły się tu również gniazda bananowe do podpinania badanego źródła oraz potencjometry regulacji. Dzięki temu, że jest to obudowa po zasilaczu z kompa, mam w niej już gniazdko na dopinany kabel zasilający.

W trakcie pierwszych dni pracy pierwszego układu prototypowego (dawno, dawno temu, za górami… okazało się, że niezbędne jest zastosowanie i eksperymentalne dobranie kondensatorów blokujących, umieszczonych jak najbliżej nóżek tranzystora, pomiędzy bramką a źródłem oraz drenem a źródłem. W pewnych okolicznościach pod obciążeniem występowało wzbudzanie różnych częstotliwości w dziesiątkach kHz na tranzystorze i jego nagrzewanie, nawet pomimo przekręcenia potencjometrów na minimum. Kondensatory mogą mieć wartości od kilkudziesięciu pF do kilku nF (u mnie to jest 1nF i 2,2nF). Widnieją na bieżącym schemacie, chociaż na pierwotnym ich nie było. Ktoś zaraz mnie objedzie, że zwiększając pojemność bramki (i tak już sporą w zastosowanym tranzystorze) pogarszam szybkość odpowiedzi regulacji prądu obciążenia, że potrzebny jest driver na dodatkowych tranzystorach do przeładowywania takiej pojemności. Ale w tym przypadku nie ma to znaczenia, bo przecież tranzystor nie pracuje impulsowo, w stylu włącz/wyłącz, nie trzeba przeładowywać pełnego napięcia sterującego bramki, tylko liniowo, gdzie zmiany napięcia sterującego na bramce są niewielkie. Bez tego zabiegu (dodatkowa pojemność na bramce) się nie obędzie, dzięki temu niejako spłaszczamy odpowiedź regulacji, niwelujemy tendencję do samowzbudzenia a szybkość reakcji regulacji jest wystarczająca.

W najnowszej wersji układu zamiast bezpośredniego połączenia między rezystorem pomiarowym a wejściem (wejściami) wzmacniacza operacyjnego, pojawił się filtr RC, dzięki któremu kondensator blokujący między drenem i źródłem okazał się zbędny. Filtr ten bardzo skutecznie wyeliminował samowzbudzenie układu regulacji. Jedynym minusem może być znikome i powolne pływanie prądu obciążenia o +/- 0,01A. Ale za to można używać obciążenia z wysokimi prądami bez obawy o przester i zniszczenie z powodu wzbudzenia układu.

KONIEC

Zastosowanie zaprezentowanego tutaj aktywnego obciążenia w prostych pomiarach różnych źródeł prądu pozwala rzucić nieco światła na ich stan, m.in. wydajność i stabilność, a ponadto w pomiarach porównawczych akumulatorów dobrać kilka sztuk o zbliżonych pojemnościach, lub po prostu zmierzyć pojemność aku z samochodu. Dodatkowo możliwość komunikacji z komputerem pozwala nam na zbieranie danych do pliku(ów) i przeglądanie w postaci wykresów na żywo lub z zapisów archiwalnych (prace nad programem na komputer trwają).

Zwracam uwagę na to, że należy zachować odpowiednią „odwrotno-proporcjonalność” przy obciążaniu źródeł jeśli chodzi o nastawę prądu w stosunku do przyłożonego napięcia: im większe napięcie badanego źródła, tym mniejszy prąd dopuszczalny (bezpieczny) można nastawiać. Można też powiedzieć, że iloczyn prądu i napięcia nie może przekroczyć pewnej wartości. W przeciwnym przypadku tranzystor obciążenia szybko ulegnie uszkodzeniu wychodząc poza charakterystykę SOA. Trzeba to sprawdzić dla posiadanego tranzystora i odpowiednio się do tego dostosować.

Trudno powiedzieć ile może kosztować zbudowanie tego układu aktywnego obciążenia ponieważ niemal w całości powstał z elementów z odzysku, ale można się pokusić o zgrubsze oszacowanie: trafo ~12zł, procek ~10zł, tranzystor 5-20zł, wyświetlacz 15-17zł, reszta drobiazgów 10-20zł, co razem daje ~80zł. Obudowa ze starego zasilacza komputerowego a radiator od starego procesora.

Zamieszczam kilka zdjęć układu, schemat i rysunki płytek oraz wsad do procka, i, a niech tam, kod źródłowy w asemblerze (zastrzegam, tylko do użytku prywatnego). Jeśli komuś będzie bardzo zależało na wyjaśnieniu działania jakiegoś fragmentu programu, to postaram się takowy fragment zamieścić w poście i opisać. Rysunek płytek jest w formacie plików .pcb ze starego dziadka Traxmaker’a; nie wiem w czym nowszym da się toto otworzyć, ale przynajmniej w Protelach chyba powinno. Jakby co, dołączam też rysunki w PDF.

W razie niejasności i pytań, postaram się odpowiadać w miarę możliwości i swojej skromnej wiedzy.

 

Eklentiler

  • Akü kapasitesi ölçümü ile aktif yük.zip
    322,3 KB · Görüntüleme: 23
Geri
Yukarı