sobota, 25 marca 2017

Arduino + LED WS2801 = relax

Po co? - dla zabawy

Znalazłem coś takiego w swojej stercie układów - czego to człowiek nie kupował na początku mikroprocesorowej przygody



niedziela, 19 marca 2017

Bezprzewodowy miernik wilgotności gleby z odczytem w telefonie - na poważnie cz. 1

Wiosna - cieplejszy wieje wiatr


Niestety lat nie ubyło ale za to powiało wiosennym optymizmem. Pora wrócić po zimie na ziemię i rozpocząć przygotowania do sezonu działkowego. Zapomniany trochę temat automatyki ogrodowej można już odkurzyć. Na bazie doświadczeń opisanych tu>>> i tu>>>  pierwszym elementem systemu będzie bezprzewodowy czujnik wilgotności.

Poprzednia wersja to zwykły pomiar oporności gruntu dwoma sondami wykonanymi ze srebrzanki a poprzez dzielnik napięcia - pomiar napięcia modułem ESP8266. Wszystko niby działa, jest super proste ale
 
- dokładność i powtarzalność pomiarów jest żadna - oporność gruntu zależy od wielu czynników, nie tylko od wilgotności. trzeba za każdym razem kalibrować dzielnik i co gorsza zmienia się to w czasie
- następuje powolna korozja drutu sond pomiarowych
- ESP ma jedno wejście analogowe co wyklucza pomiar wielopunktowy jednym modułem.

niedziela, 12 marca 2017

Wgrawanie bootloadera do NANO - naprawa watchdoga

Poprawiamy doskonałe


Wracam do wciąż nie rozwiązanego problemu - nie działającego w płytkach Arduino NANO sprzętowego watchdoga. Czemu nie działa? - Opisałem przy okazji bojów przy projekcie BRAMA.
W skrócie - ktoś schrzanił bootloader w płytkach NANO i do dziś nie znalazł się chętny by to naprawić. Skutek jest taki - identyczne sprzętowo płytki UNO i NANO zachowują się zgoła inaczej przy uruchomionym watchdoga.
Jak to sprawdzić?

Wgrywam prosty program z WD do Arduino UNO


Wgrany program działa mniej więcej tak



Program przez 10 sek miga ledem co 1s. Następnie włączany jest watchdog i zmieniana częstość migania na 200ms. Po 8 sek WD resetuje procesor i program zaczyna się od początku.

A tak to wygląda na Arduino NANO


Początek jest ten sam. Po 8 sek od włączenia watchdoga procesor jest resetowany ale program w NANO nie uruchamia się. Procesor wskakuje w nieskończoną pętlę wiecznego resetu (bardzo szybkie miganie leda) i nie przechodzi do programu głównego.

Dla pewności sprawdziłem inną wersję biblioteki programu watchdog.


Efekt jest dokładnie ten sam - UNO działa zgodnie z oczekiwaniem NANO wiesza się  w nieustannym resecie, z którego wyprowadzić go można jedynie odłączeniem od napięcia zasilania.
Jak widać z opisów druga biblioteka Adafruit zajmuje ponad 300 bajtów pamięci więcej niż pierwsza. A uruchomienie WD to zaledwie ustawienie kilku bajtów w rejestrach. I by było zabawniej biblioteka Adafruit korzysta z biblioteki avr/wdt.h! Zaiste programy niektórych bibliotek przypominają barok w architekturze.

Tak czy owak wyrok skazujący na bootloader w Arduino NANO  już zapadł. Do egzekucji wykorzystam programator MKII AVR polskiego producenta - firmy Eltronics.


To dość rozbudowany programator z wieloma funkcjami. Mnie będzie na razie interesować możliwość wgrania nowego bootloadera przez złącze SPI.
Najpierw sterowniki - z instrukcji wynika, iż domyślnym sterownikiem do współpracy z programatorem jest sterownik AVRJumbo. Problem w tym, ze na tym sterowniku pracuje ATMEL Studio ale nie Arduino IDE. Niestety mam już zainstalowany program ATMEL Studio 7.0 więc i sterownik Jumbo został już z pewnością zainstalowany w komputerze.
Sprawdzam - łącząc komputer z programatorem kablem USB - jest. W panelu sterowania pojawia się taki dodatkowy sprzęt a led na programatorze świeci na zielono.


Pozostanę więc na razie przy próbie wgrania bootloadera za pomocą ARTMEL Studio. Jak to zrobić opisano dokładnie tutaj>>>. A więc do dzieła.
I po chwili - koniec dzieła - mój Atmel Studio nie wyświetla innych opcji programatorów poza symulatorem!?
Dla pewności przeładowałem ponownie program - poszło ale program wskazuje błąd sterownika.
Wgrywam oryginalne sterowniki od programatora - program nie widzi programatora.
Kasuję wszystko i Atmel Studio i sterowniki i wgrywam sterowniki libusb mające pasować do Arduino IDE. Uruchamiam Arduino. Wrzuca błąd programowania.
Więc ja wyrzucam programator firmy Eltronics do kosza po godzinnej przegranej walce i zamawiam najprostszy USBasp za 10 zł. Tak kończą marzenia o wysublimowanych narzędziach do tak genialnie prostej rzeczy jaką jest płytka Arduino NANO.

A w między czasie wykorzystam UNO do zaprogramowania nowym bootloaderem NANO. UNO pracuje jako programator a NANO robi za procesor do zaprogramowania. Wszystko jest pięknie opisane w wielu miejscach w internecie - ja skorzystam z polskiego opisu procedury tu>>>> lub tu>>>>.
Łączymy grzecznie UNO z NANO
Wgrywamy do UNO szkic ArduinoISP
W menu wybieramy rodzaj programatora Tools/Programmer/Arduino as ISP
Nic nie zmieniamy w ustawieniach rodzaju płytki z której bootloader ma być w NANO bo ma być bootloader z UNO
Wybieramy Tools/Burn Bootloader i czekamy na komunikat o sukcesie

UNO NANO 6 kabelków i darmowy program programatora. To wszystko czego potrzeba do zaprogramowania nowego botloadera w kolejnych Arduino NANO.  I wszystko za darmochę!
Połączenie i cała procedura wgrywania trwała raptem 10 min. Jak jak lubię to Arduino!!!!



A tak już bezproblemowo pracuje przeflashowane NANO na UNO z programem watchdoga


 I po kłopocie. Trzeba będzie tylko w jakiś stały i trwały sposób oznaczyć te nowe U-NANO by uniknąć problemów przy ich programowaniu w przyszłości.Ale obyśmy mieli tylko takie problemy!!!

A.. i potrzebny będzie jakiś mini statyw dla podniesienia jakości filmików zamieszczanych od dziś na tych stronach. Taadaaamm Studio Filmowe 100xARDUINO-PICTURE uważam za otwarte.

Programator USBASP ver.2.0

Za 10 pln kupiłem takie cudo

Najsampier zainstalować trzeba drivery co niestety nie dzieje się automatycznie. Poradnik tu>>>
System widzi już prostownik więc wracamy do Arduino IDE. Ale wcześniej trzeba kupić lub odszukać w zbiorach własnych przejściówki 10pin/6 pin pasującej do modułów Arduino.


Teraz już możemy połączyć to z płytką NANO do złącza SPI. UWAGA na właściwe wetknięcie wtyczki. Pin nr 1 na przejściówce musi trafić na prostokątny punkt lutowniczy gniazda NANO.
I oczywiście trzeba sprawdzić czy na programatorze jest wybrane napięcie 5V do naszego NANO.

W Arduino IDE wybieram  typ programatora USBASP, ustawiam płytkę UNO i naciskam WYPAL BOOTLOADER. zanim zdążyłem puścić klawisz myszy pokazał się komunikat


I po sprawie. Nawet nie sprawdzam czy wgrało się prawidłowo. Jest tylko jeden minus tego sposobu programowania bootloadera - trzeba wlutować złącze szpilkowe SPI do NANO, które potem nie będzie już potrzebne do niczego więcej. Ale to mały minus więc programator USB ASP trafia na półkę narzędzi.

Idziemy otworzyć szampana i spokojnie oczekujemy na cd.......





sobota, 4 marca 2017

Źródło prądu - źródłem życia ......akumulatora

Uzdrawiania akumulatorów cd...


Artykuł prof. dr Sauera wywrócił mój cały misterny plan procedury odsiarczania.
Zamiast brutalnego traktowania akumulatora wąskimi ale wysokimi impulsami prądu (Katuj! Tratuj! Ja przebaczę wszystko ci jak bratu!) prof. dr zachęca do łagodnego ale uporczywego głaskania prądem nie większym niż 0,01 pojemności przez czas niezbędny do wprowadzenia ładunku wielkości 100-120% nominalnej pojemności baterii.

To niemalże rewolucja technologiczna ale brzmi sensownie więc czemu nie spróbować. Poświęcenie tygodnia czy dwóch nie wydaje się dużym kosztem sprawdzenia w praktyce rewelacji niemieckiego naukowca.
Szczególnie, że koszt takiego doświadczenia jest żaden. Jedyna rzecz jaką potrzebuję to źródło prądu regulowane  w granicach 50 - 200 mA dla testowanych małych akumulatorków 7 i 9Ah.

Mógłbym użyć swojej chińskiej przetwornicy dc-dc mającej w sobie regulacje CC i CV ale będzie ona potrzebna do innych eksperymentów w czasie trwania długiego przecież procesu odsiarczania.

Potrzebuję więc 2-3 szt prostych źródeł prądu o niewielkiej wydajności i niekoniecznie dużej stabilizacji prądu. Zakładam że napięcie na odsiarczanym akumulatorze zmienia się od 13 do 16V a prąd odsiarczania to max 0,1 A

Wariant I - tranzystor


Klasyczne źródło napięciowe. Prąd płynący do odbiornika przepływa przez R7. Wielkość tego prądu wynika z napięcia na dzielniku R9/R6 i oporności R7. Załóżmy, że napięcie na R6 = 1V
Napięcie B-E = około 0,7V. Na oporniku R7 musi pozostać 0,3V. Jeśli chcemy pobierać ze źródła 0,1A to R7 = 0,3/0,1 = 3 om strata mocy na R7= 0,03W.

Minimalne napięcie zasilania jakie potrzebujemy do pracy źródła przy zmieniającym się napięciu odbiornika to 16 V + Uce min (0,2V) + UR7 (0,3V) = 16,5 V
Przyjmując z zapasem U zas = 18V otrzymujemy
maksymalna moc tracona na R7 = 0,03
maksymalna moc tracona na tranzystorze = (18-13) * 0,1 = 0,5W już potrzebny jakiś radiator
Przy zasilaniu 18 V i przy założeniu że R6 = 0,1k to R9 = 1,7k . Moc tracona na obu tych rezystorach to 0,18W.
Łączna maksymalna moc tracona w źródle = 0,03+0,5+0,18 = 0,7 W
Można regulować wielkość prądu źródła wstawiając zamiast rezystora R6 potencjometr 1k.
Fajny układ ale aż 4 elementy do połączenia:) I ma sporą wadę - mocną zależność prądu od temperatury tranzystora wynikającą ze zmian napięcia baza-emiter - 2mV/oC. W moim przypadku daje to zmianę 10 % przy wzroście temperatury tranzystora o ok 30oC. To bardzo dużo

 Wariant II -LM317


Ulubiony i tani (1zł/szt) stabilizator napięcia LM317  nadaje się również do stabilizacji prądu.
Dla prądu 0,1 A rezystor Rf powinien mieć wartość 12,5 om!  ( gdzie coś takiego kupić ?). Moc tracona w rezystorze to ok 0,13W
Minimalny spadek napięcia na LM317 to ok 2V więc napięcie zasilania musi być 2+1,25+16 = ok 19V. Maksymalna moc tracona w LM = (19 - 13 - 1,25)*0,1 = 0,475W. Podobnie jak wyżej ale tylko dwa elementy. Niestety by regulować prąd źródła trzeba dodać potencjometr równolegle do Rf.
Zaleta - bardzo stabilne źródło prądu.

Wariant III

Lubię proste rozwiązania więc może wystarczyłby opornik połączony szeregowo z akumulatorem i wszystko zasilane z regulowanego źródło napięcia by dobrać właściwy poziom napięcia zasilania (mam kilka chińskich przetwornic tylko z regulacją napięcia po 0,4$ szt) Policzmy więc:

Napięcie zasilania - 20 V
Rezystor szeregowy dla prądu 0,1A  i średniego napięcia 14,5 V = ok 55om.
Prąd odsiarczania dla U akku = 13V  to ok 0,13A  moc tracona = 0,9W
Prąd odsiarczania dla U akku = 16V  to ok 0,07A  moc tracona = 0,3W
Wahania  prądu +/- 30 % - trochę dużo

dla napięcia zasilania 24 V
Rezystor szeregowy dla prądu 0,1A  i średniego napięcia 14,5 V = ok 95om.
Prąd odsiarczania dla U akku = 13V  to ok 0,115A  moc tracona = 1,2W
Prąd odsiarczania dla U akku = 16V  to ok 0,085A  moc tracona = 0,7W
wahania prądu +/- 15% do przyjęcia  moc tracona w rezystorze do 1,5 W - będzie już mocno ciepły
ale jeszcze do przyjęcia

Istnieje wiele ciekawych rozwiązań źródeł prądu. Mój ulubiony to układ  ze wzmacniaczem analogowym.


Jego zaleta to możliwość stosowania niewielkich oporności pomiarowych i duża stabilność.
Ale wszystkie powyższe rozwiązania działają w oparciu o liniową zmianę spadku napięcia na elemencie sterującym źródła co zawsze powoduje dodatkowe straty mocy tym większe im bardziej zmienna jest oporność obciążenia.

Jedynym skutecznym rozwiązaniem jest regulator impulsowy - identyczny do tych stosowanych w przetwornicach dc-dc step down. W podstawowej swojej konfiguracji służą do stabilizacji napięcia ale można je delikatnie przekonstruować i zmusić do stabilizacji prądu.

Sięgamy więc do nieprzebranych chińskich zasobów na aliexpress i wybieramy sobie jakiś regulator dc-dc np taki.
To przetwornica z układem LM2596. Schemat jest bajecznie prosty jak na tak złożony w swojej zasadzie działania układ.

A tu propozycja przeróbki tej przetwornicy zaproponowane przez Rosjaninia Catethysis.
Cztery dodatkowe elementy i impulsowe źródło napięcia o sprawności 90% (zamiast 30% jak źródłach analogowych) mamy w zasięgu ręki


 Można z tego zrobić pełnowymiarową przetwornicę CC CV dodając dwie diody (potencjometr już jest w oryginalnym module.


Ot takie elektroniczne poprawianie rzeczywistości....

Wystarczy na dziś tych teoretycznych rozważań - czas działać bo cd nadchodzi...




środa, 1 marca 2017

Akumulatory - odsiarczanie - super erreta

Wpis ten jest uzupełnieniem wiedzy o odsiarczaniu akumulatorów

W poprzednim wpisie o teorii ładowania akumulatorów napompowałem antynaukowy balon.
A teraz przyjdzie mi z niego spuścić trochę powietrza.
Hauł hauł .......
A to wszystko po lekturze znakomitego, jak dla mnie, artykułu prof. dr Dirk Uwe Sauer'a na temat procedury ładowania pozwalającej na niemalże całkowicie cofnięcie efektu zasiarczenia dowolnych typów akumulatorów ołowiowych.
Wnioski z tego artykułu potwierdzili i nasi  energetycy-praktycy w odniesieniu do dużych zestawów baterii rezerwowych w elektroenergetycznych stacjach zasilających.

Cóż takiego genialnego napisał prof. dr Sauer. A no to, ze mając do dyspozycji zwyczajny prostownik z regulacją napięcia i prądu ładowania (procedury CV i CC) jesteśmy w stanie odsiarczyć dowolny akumulator stosując odpowiednio dobraną procedurę ładowania. 

Opis tej procedury jest już w poprzednim wpisie jako wnioski naszych ulubionych energetyków  ale prof. dr Sauer postarał się proponowane procedury poprzeć solidną porcją teoretycznej podbudowy.
Oczywiście nie wszystko jest już jasne i oczywiste np. wciąż otwarte pozostaje pytanie czy odsiarczające przeładowanie akumulatora lepiej przeprowadzić niewielkim stałym prądem czy impulsami prądu o porównywalnej średniej wartości. Ale nie wymagajmy za dużo - inny naukowcy też muszą z czegoś żyć. Fakt, że artykuł ten powstał dopiero w 2006 r. na fali zainteresowania w Niemczech systemami magazynowania energii na potrzeby instalacji PV jest znamienny. Co przez ostatnie kilkadziesiąt lat robili inne pany profesory w temacie ładowania ołowianych baterii? A może to wszystko było znane tylko jakby nie wszystkim???

Tak czy siak - wnioski są jak dla mnie szokujące - i jeśli się potwierdzą (mam w końcu 8 identycznych akumulatorów do testów) to cała ta zabawa z wyżyłowanymi na maksa desulfatorami impulsowymi nie warta jest funta kłaków.

A więc w największym skrócie wniosek z artykułu brzmi:
dla uzyskania efektu odsiarczania podczas ładowania dotychczas stosowane procedury  CC CV (początkowo stały duży prąd potem stałe napięcie) i ich różne odmiany należy zastąpić procedurą CC CV CC (początkowo stały duży prąd, potem stałe napięcie, a na koniec stały prąd - bez ograniczania wzrostu napięcia - o wartości 1/100 pojemności przez 100-120h dla akumulatorów szczelnych lub 1/50 przez 50-60h dla akumulatorów z płynnym elektrolitem). Zabieg powtarzać aż do uzyskania nominalnej pojemności akumulatora. 
I TO WSZYSTKO

Na wykresie wygląda to tak

 Trzeci wykres jest proponowanym w artykule procesem ładowania z odsiarczaniem.

A tu wykres naprawiania akumulatora o pojemności początkowej 10% wartości nominalnej.
Odzyskanie pełnej pojemności dokonane zostało już po trzecim obiegu procedury odsiarczania!
I to bez żadnych ekstra konstrukcji układów desulfatora.



Nie rozpisuję się o zawartości artykułu. Trzeba przeczytać go w całości a wtedy wiele spraw stanie się oczywistych. Może uda mi się go przetłumaczyć i zamieścić w całości ale na to musi być zgoda autora. No i ważne czy przypadkiem nie zostało to zastrzeżone jakimś patentem.

A mnie nie pozostaje nic innego niż zbudować czwartą wersję desulfatora i sprawdzić rewelacje prof.dr Sauera w praktyce.

A wiec w oczekiwaniu na cd zapraszam do lektury artykułu.......

ERRATA ERRATY


Wnioski po dwóch tygodniach eksperymentu.
Niestety rewelacje prof. dr Sauer'a nie są w pełni rewelacyjne. Próbie poddałem 5 akumulatorów 12V 7-9 Ah o różnym stopniu zasiarczenia ze wszystkimi sprawnymi celami. Wyniki podałem w poście Test Akumulatorów Wnioski są jednoznaczne - metoda stałoprądowego odsiarczania działa jedynie w niewielkim stopniu i to na zasiarczenie miękkie tj takie które nie wytworzyło mocnej i jednolitej struktury krystalicznej pokrywającej większą powierzchnię płyt akumulatora. Szczególnie akumulatory, które po podłączeniu do standardowego prostownika nie dają się ładować (napięcie natychmiast narasta ponad 14,4V) można przywrócić do życia podłączając je na kilka dni do prądu 0,01I pojemności akumulatora. Po tym zabiegu można naładować akumulator do około 20-30% pierwotnej pojemności. Dalsze ładowanie stałym prądem nie zwiększa w sposób znaczący pojemności zasiarczanego akumulatora. Maksymalnie co udało się uzyskać to zrost do około 50% początkowej pojemności.
Metoda ta ma jednak kilka zalet
- Bezsprzecznym jest, że odsiarczanie akumulatora winno być dokonywane po jego możliwie maksymalny naładowaniu tj. dla maksymalnie możliwej do uzyskania gęstości elektrolitu. Musi więc być to ostatnia faza cyklu ładowania. Tym samym desulfatory indukcyjne pracujące na rozładowywanie pojemności akumulatora są dużo mniej skuteczne od układów ładująco/odsiarczających.
- Odsiarczanie stałym prądem bez ograniczania wzrostu napięcia jest b. dobrym sposobem zapobiegania trwałemu zasiarczeniu jeśli zostanie przeprowadzone niezwłocznie po głębokim rozładowaniu akumulatora. Tym sposobem można znacznie przedłużyć żywotność akku pracujących w reżymie pracy cyklicznej (UPSy napędy elektryczne itp.)

Ale generalnie procedura nie jest tak skuteczna jak opisuje ją prof. dr. Trzeba będzie prawdopodobnie przeprosić się z układem impulsowym i wrócić do prób napray zasiarczonych akumulatorów metodą wstrząsową.

Szkoda.........