Tester elementów elektronicznych na atmega – aktualizacja firmware’u

W mailach i komentarzach kilka razy przewijała się prośba o ten wpis. Chodzi o aktualizację oprogramowania w bardzo przydatnym testerze podzespołów, opartym na mikrokontrolerze atmega. Poniżej przedstawiam kilka możliwości pozyskania nowszego firmware’u, w tym nieco zmodyfikowanego, poprawiającego funkcjonalność.

Krótko o testerze elementów

Budowę testerka opisywałem w 2017 roku tutaj. Był to zestaw do samodzielnego montażu zakupiony na aliexpress. Wersji sprzętowych jest obecnie dostępnych kilkanaście, ja skupię się na posiadanym – nazywam popularnie AY-AT, mega328_color_kit, M328Kit+TFT. Bliźniaczym układem jest GM328A.

Tester elementów z wyświetlaczem FTF

Indman z forum EEVblog zebrał w tabeli dostępne wersje klonów testera, wraz z krótkim opisem, plik nosi nazwę TableClonesEN.pdf i jest dostępny tutaj: https://yadi.sk/d/yW8xa5NJgUo5z.

W moim układzie “fabrycznie” zainstalowano zmodyfikowane oprogramowanie autorstwa Karl-Heinz Kübbeler w wersji 1.12k. Atmega328 została zabezpieczona przed odczytem, a fusebity to: hfuse: 0xdf, lfuse: 0xf7, efuse: 0xfc i lock bits ustawiony na 0xfc – czyli nie odczytamy zawartości.

Wsad ten można znaleźć na Githubie https://github.com/kubi48/TransistorTester-source/tree/master/trunk/mega328_color_kit pod nazwą OrigChina.hex i OrigChina.eep.

Ostatnia wersja wydana przez Karla-Heinza Klubber to 1.13k, w powyższym linku znajdują się zarówno źródła, jak i wersje skompilowane pod różne wersje sprzętowe. Od 3 lat firmware nie jest rozwijany:

Tester komponentów software 1.13k

Tester AY-AT i wgrywanie gotowego firmware’u z repozytorium blurpy

Użytkownik Githuba – blurpy – udostępnił w swoim repo skompilowaną wersję oprogramowania którą rozwija Markus Reschke. Można tam znaleźć zarówno wersję podstawową jak i zmodyfikowaną – do testera z kilkoma modami zwiększającymi dokładność pomiarów.

Strona główna repo to: https://github.com/blurpy/transistor-tester/tree/master. Jest tam szczegółowy opis modyfikacji hardware, frmware’u. jak i procesu wgrywania. Udostępniono również wersję “chińską” 1.12k, dostarczaną z testerem.

Tutaj https://github.com/blurpy/transistor-tester/tree/master/firmware/1.42m/unmodified są pliki z wsadem do flasha i eepromu atmegi 328 do stockowej wersji testera. Do wgrywania softu mniej wprawnym użytkownikom polecam graficzny AVRDUDESS pod Windows. Najprostszym i najwygodniejszym programatorem będzie USBasp, chiński gotowiec czy zrobiony samodzielnie. By wygodnie zaprogramować mikrokontroler, można dolutować goldpiny od strony druku (zdjęcie z repo blurpy):

Złącze ISP w testerze elementów

Lub tak jak ja, wykorzystać mają płytkę testową:

Programowanie układu atmega328p z użyciem USBasp

Do AVRDUDESS należy załadować pliki ComponentTester.hex oraz ComponentTester.epp, ustawić fusebity na fuses_lo =0xf7, fuses_hi=0xd9, fuses_ext=0xfc, lock_byte=0xff. Okno programu powinno wyglądać jak niżej:

Programowanie softem 1.42m Blurpy

Po przełożeniu atmegi 328 do testera i wciśnięciu impulsatora, układ ożył :):

Tester podzespołów z firmware 1.42m skompilowanym przez blurpy

Wykonałem kilka testowych pomiarów:

Pomiary testerem podzespołów - soft 1.42m blurpy

Obecnie dostępna wersja to dosyć wiekowa 1.42m, a najnowsza na tą chwilę wydana przez Markusa Reschke to 1.51m. Także szukamy dalej czegoś nowszego.

Oprogramowanie TTester od Indmana

Wspomniany już wcześniej Indman udostępnił olbrzymią ilość informacji nt. klonów sprzętowych testera ze zdjęciami, plikami pomocy. Od jakiegoś czasu w jego archiwum nie ma już niestety skompilowanych wsadów. Można je znaleźć na forach, na których się udziela, tj. https://vrtp.ru, https://www.eevblog.com/forum, https://4pda.to. Na tym ostatnim udało mi się dokopać do kompilacji wersji 1.45m. Link do paczki: https://4pda.to/forum/index.php?showtopic=948444&st=2360#entry114211498. Programowanie wygląda jak wyżej, czyli okno AVRDUDESS będzie wyglądać tak:

Programowanie wsadem 1.45m od Indman

Po wgraniu tester ożył:

Component Tester v.145m by Indman

I ekrany z kilku testowych pomiarów:

Tester komponentów - pomiary, oprogramowanie 1.45m Indman

Trzeba przyznać, że graficznie ten firmware jest bardzo dopracowany. Gruba, czytelna czcionka, ładnie dobrane kolory i wizualnie przyjemny układ mierzonych wartości. Mi się podoba. Indmam ma bardzo duży wkład w rozwój oprogramowania, zgłasza błędy i usprawnienia, które implementuje developer Markus Reschke.

Component Tester – kompilacja m-firmware

Chcąc mieć najświeższe oprogramowanie w testerze elementów elektronicznych, najprawdopodobniej trzeba je skompilować samemu. Deweloper Markus Reschke udostępnia wszystkie pliki źródłowe na swoim githubie: https://github.com/madires/Transistortester-Warehouse.

Wśród wielu pliku, znajduje się tam bardzo szczegółowa instrukcja, dotycząca funkcji testera, jak i kompilacji i wgrywania firmware’u. Folder z plikami pomocy: https://github.com/madires/Transistortester-Warehouse/tree/master/Documentation/English.

Kompilację można przeprowadzić zarówno pod Windows, instalując i konfigurując uprzednio WinAVR Toolchain, jak i w naturalnym środowisku, czyli pod Linuksem. Przed utworzeniem firmware,u, koniecznie trzeba wyedytować 3 pliki – Makefile, gdzie podajemy typ mikrokontrolera, jego taktowanie, model programatora. Plik config.h, gdzie podajemy właściwości sprzętowe (np. enkoder), funkcje oprogramowania (co można zmierzyć i przetestować), parametry interfejsu użytkownika (język, wygląd). Plik config_328.h, gdzie podajemy typ wyświetlacza, jego podłączenie oraz pozostałe parametry związane z portami. Ustawienia dla poszczególnych testerów można znaleźć w pliku Clones.

Większość ustawień sprowadza się do odkomentowania lub zakomentowania fragmentu kodu, zmiany portu itp. Opcjonalnie w pliku colors.h można ustawić sobie kolory w interfejsie użytkownika.

Ustawień jest sporo, ja wzorowałem się na plikach config.h i config_328.h udostępnionych przez Indmana. Od siebie ustawiłem język polski, dodałem informację o kompilacji na ekranie startowym i zmieniłem nieco kolory czcionek poszczególnych pozycji menu.

Kompilacja sprowadza się do wykonania polecenia make w folderze z plikami źródłowymi:

Kompilacja oprogramowania 1.51m do testera elementów elektronicznych

Sztuką jest zmieścić jak najwięcej opcji przy zachowaniu maksymalnego rozmiaru pojemności flasha. Duże znaczenie ma wybrana czcionka i znaki graficzne. Nie robiłem optymalizacji i musiałem zrezygnować np. z testowania czujników DHT.

Wgrywanie firmware’u do mikrokontrolera załatwia komenda make upload, jeśli mamy poprawnie skonfigurowany programator, pliki hex i eep zostaną załadowane odpowienio do flasha i eepromu:

Wgrywanie firmware'u do atmega328

Na koniec ustawienie fusebitów, polecenie make fuses:

programowanie fuse bits w atmega328

Pierwsze uruchomienie i…:

Component tester v1.51m

Tester żyje. Wydaje się, że wszystko działa prawidłowo. Zrzuty z kilku pomiarów:

Pomiary testerem, wersja 1.51m

Udostępniam pliki wynikowe do flasha i eepromu tutaj: Component Tester 1.51m. Wsad pasuje do testera jak na zdjęciach, z kolorowym ekranem TFT i kwarcem 8MHz. Fuse bity są identyczne jak w oprogramowaniu kompilowanym przez blurpy czy Indmana. Do programowania można wykorzystać AVRDUDESS. Przydatne mogą być wcześniejsze screeny z ustawieniami.

Podsumowanie

Tester podzespołów to bardzo przydatne urządzenie. Ogrom pracy włożony przez społeczność w rozwój oprogramowania zaprocentował w postaci choćby dużej popularności urządzenia. Dla mnie jest to podstawowy “przyrząd mierniczy”, znacznie wygodniejszy niż tradycyjne multimetry. Do sprawdzenia diod, tranzystorów czy kondensatorów jest po prostu idealny. Nie jest to sprzęt o dużej dokładności, ale uzyskiwane wyniki są powtarzalne i pozwalają jednoznacznie określić przydatność i sprawność badanych elementów elektronicznych. Jeśli ktoś posiada linki do dopracowanych wersji oprogramowania, to zapraszam do podzielenia się w komentarzach.

Możesz również polubić…

Leave a Reply

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.