wtorek, 12 grudnia 2017

Router433 - jak programować. Schematy blokowe, grafy i takie tam różne automaty

Programowanie to sztuka wyborów. A że programiści to umysł ścisły przeważnie wybierają melodię co ją już raz słyszeli. Co ma jednak zrobić (nie)młody adept programowania, który nie słyszał praktycznie żadnej melodii? Może napisać własną....
No to dziś trochę zabawy z układaniem nowych melodii .. pardon .... programów.

niedziela, 3 grudnia 2017

Flash firmware ESP-12 / D1 MINI - jak wgrać nowe oprogramowanie AT

Chińskie kości z ESP8266 docierają do nas z różnym oprogramowaniem - najczęściej mocno nieaktualnym. Np. zakupione w tym roku moduły D1 MINI mają wsad z 2013 r. co objawiło się przy okazji mocno nieprzyjemnych samoistnych  resetów (poprzedni post). W takich przypadkach znalezienie przyczyny resetów należy rozpocząć od aktualizacji firmware. Dawno temu (jakiś rok z kawałkiem 😁 ) opisywałem sposób zmiany oprogramowania dla ESP-01. D1 MINI to tak naprawdę ESP-12F z dodatkami i wymaga nieco innego podejścia. Uaktualniły się też narzędzia do programowania nie mówiąc oczywiście o "wsadzie".  A więc powtórka z rozrywki - czyli jak przywrócić oryginalne oprogramowanie do ESP-12F zamontowane w sympatycznym D1 MINI.

niedziela, 19 listopada 2017

Router 433 MHz - łączymy różne systemy bezprzewodowe

Temat kołacze mi się od jakiegoś czasu - prosta uniwersalna bramka pozwalająca na współpracę różnych elementów i urządzeń bezprzewodowych pracujących w paśmie 433MHz. Dlaczego w tym? Jak w większości przypadków zdecydowała cena. Gotowe czujniki i elementy wykonawcze można kupić już za kilkanaście zł. Jest ich naprawdę sporo. Co więcej duża część z nich wykonana jest w wersji bateryjnej co znakomicie ułatwia montaż i uruchomienie oraz powoduje, iż cały system jest niesłychanie elastyczny i mobilny. Taki router  powinien w prosty sposób pozwalać na przyłączanie dowolnych czujników i elementów wykonawczych pracujących w paśmie 433 MHz. Dodatkowo całością można by sterować z telefonu lub komputera dając sobie szansę na dodatkowe funkcjetakiego systemu. Niby nic nowego w stosunku do projektu BRAMA.
Niby - a jednak...

środa, 18 października 2017

3,2,1 BLYNK na start - GrzyboSuszarka w telefonie

Model grzybosuszarki z dumnie zaprogramowanym automatem skończonym działa. Wiem, że działa choć słabo to widać. Bo co można stwierdzić patrząc na dwa LEDy? I co można ustawić jednym przyciskiem dostępnym w SONOFFie? Przyznaję - niewiele. Gdyby nie podłączenie do monitora Arduino figę bym wiedział co dzieje się wewnątrz urządzenia. Przycisk wystarczy do załączania/wyłączania urządzenia a nawet do zmiany programów pracy (dzięki autorowi OneButton.h) ale to koniec możliwości. A gdzie zmiana nastaw temperatur czy czasu pracy urządzenia? A jak odczytać aktualną temperaturę GS, pomierzyć pobór energii czy łączny czas suszenia?

Bez wyświetlacza LCD i klawiatury lub kilku potencjometrów się nie da. Możemy zawsze dołożyć coś większego - ot np. tablet jak w lodówce LG. I grzybosuszarka będzie pod naszą całkowitą kontrolą. Można tylko po co? Każdy ma telefon i każdy może mieć BLYNKa. A wtedy i dwa LEDy z przyciskiem w sterowniku grzybosuszarki  to za dużo by sterować urządzeniem leżąc wygodnie na plaży w Juracie (no może nie w październiku). Dziś BLYNK w grzybosuszarce.

czwartek, 5 października 2017

finite state machine (automaty skończone) w praktyce Arduino - GrzyboSuszarka po nowemu

Pierwszy raz próbuję świadomie napisać program z zastosowaniem automatu skończonego. Świadomie - wcześniej oczywiście mówiłem prozą ale w stanie pewnej pomroczności. Nazwanie stanów programu a w zasadzie ich ponumerowanie samo poukładało strukturę wewnętrzną programu i dowiązało do nich potrzebne instrukcje i procedury. Najważniejszą jest decyzja jak stany będą w programie zmieniane określonymi sygnałami (wejściowymi) i w jaki sposób poszczególne stany zostaną obsłużone tzn jak wygenerują sterowania (sygnały wyjściowe).
Do tej pory w programach określony stan na wejściu modułu wywoływał program obsługi w następstwie czego generowane było sterowanie. W automacie skończonym sygnał powoduje jedynie zmianę stanu wewnętrznego programu. Obsługa zaś stanów wewnętrznych czyli generowanie sterowań wyjściowych dokonywana jest w całkiem innym miejscu. Może tego nie widać na pierwszy rzut oka ale to  naprawdę jest REWOLUCJA.

czwartek, 21 września 2017

Program z pamięcią czyli automat skończony i Arduino

Grzybosuszarka miała być banalnym programem demonstracyjnym wykorzystania zdalnego sterowanego przełącznikiem SONOFF. Program jest rzeczywiście banalny ale problemy jakie zaczynają się ujawniać przy jego analizie już nie. Potknąłem się o zwis BLYNKa (jakkolwiek by to nie brzmiało) i o bibliotekę BUTTON - patrz poprzedni wpis. Teraz głowę zaprząta mi finite state machine a po naszemu automat skończony. Teoria automatów to przecież klucz do zrozumienia nowoczesnej elektroniki cyfrowej a mikroprocesorów w szczególności. Automat More'a, Mealy'ego jest w każdym Arduino UNO czy NANO. Trochę jestem zaskoczony przeniesieniem teorii automatów na poziom programowania - choć nie powinienem. W końcu programiści wirtualizują kolejne elementy rzeczywistości.... Ale poważnie - automat skończony znajdzie zastosowanie w praktycznie każdym bardziej złożonym niż miganie LEDem programie a i w tym także. I znakomicie ułatwia panowanie nad integralnością  kodu i realizowanych przezeń funkcji. A więc dziś trochę teorii dla praktyki - automaty skończone na start

poniedziałek, 18 września 2017

Biblioteki BUTTON raz jeszcze

Znalezione obrazy dla zapytania przycisk"Tyle wiesz ile sprawdzisz w praktyce" Trawestując nieco słowa W. Szymborskiej (nie przypuszczałem, że takie postacie będą wspominane na tym blogu) muszę mocno zmienić swoje wcześniej wyrażone opinie. Dotyczą one bibliotek typu BUTTON omawianych dawno temu. Niestety zwyczajnie się pomyliłem i muszę swoich faworytów wrzucić do kosza. Obsługa przycisków w pętli głównej jest nieporozumieniem. Tylko przerwanie lub  pooling. Ja wybieram pooling ze względu na kompatybilność z innym głównymi bibliotekami w moich projektach - BLYNKiem i TIMERSem. Dziś więc o możliwościach i zastosowaniu biblioteki OneBUTTON

poniedziałek, 28 sierpnia 2017

Suszarka do grzybów ala SONOFF - cz. 2

Spoglądając na niektóre moje projekty a i na to co prezentuje się na wielu portalach dla elektroników trudno nie dość do wniosku, że obecny poziom rozwoju elektroniki doszedł do ściany.
SONOFF - 80MHz procesor z 1MB pamięcią do sterowania przekaźnikiem, RPiv3 64bitowy 1,2GHz procesor z 1GB RAM do sterowania światłami i roletami w domu ..... Przykłady można mnożyć czy wręcz potęgować. Ścianą oczywiście nie są możliwości technologiczne (te zdają się być nieograniczone) czy cena elektroniki (będzie jeszcze taniej). Barierą są nasze potrzeby i wyobraźnia. Kultowy 8080 zawierał 6 tys. tranzystorów, współczesne Intele mają ich miliardy a wciąż najpopularniejszym zastosowaniem procesorów jest pomiar temperatury i złączenie przekaźnika. W 8085 planowało się wykorzystanie każdej komórki rejestru dziś bit zapisuje się w 64 bitowej zmiennej. Nasze pomysły nie dorastają już do możliwości współczesnego świata procesorów a z za współczesnych języków programowania nie widać już samego mikroprocesora. Pozostaje nam tylko tłuc orzechy mikroskopem ... elektronicznym. Zapraszam więc na drugą część projektu SONOFF-grzybo-suszarki.

czwartek, 17 sierpnia 2017

Suszarka do grzybów ala SONOFF - cz. 1

Świąteczny zapach zupy grzybowej to oprócz zapachu choinki i kompotu z suszu niezapomniane wspomnienia z dzieciństwa, które wciąż próbujemy odtwarzać w naszym domu. Na nic zakazy w handlu suszonymi grzybami, rozpaczliwa obrona rżniętych bez litości świątecznych świerków czy straszenie wolnymi rodnikami w wędzonych tradycyjnie śliwkach. Pewne stałe elementy życia są niezbędne dla naszej równowagi i tożsamości. Za chwilę jesień i czas odkurzyć suszarkę do grzybów. A może przy okazji ją nieco zmodyfikować....


czwartek, 10 sierpnia 2017

BLYNK get out

Najwyższy Czas!


UWAGA to nie reklama pisma Korwin-Mikkiego. 
To z innej bajki.
Na początku był chaos potem pojawiło się Arduino. No może nie do końca tak ale napewno z taką intencją powstawał tenże blog. Niestety od pewnego czasu obserwuję jego wrogie przejęcie przez nieznaną jeszcze do niedawna aplikację - BLYNK. Czas najwyższy temu zaradzić.
Postanowiłem rozdzielić formalnie te tematy. Powstaje więc osobny kanał poświęcony jedynie BLYNKowi po polsku - portal BLYNK.pl
Równolegle do niego pojawia się strona społecznościowa na nieśmiertelnym fb - facebook.com\blynk.pl 
100-x-Arduino pozostanie miejscem elektronicznych eksperymentów z najprzyjaźniejszą platformą mikroprocesorową jaką do dziś wymyślono.
Czy to coś trwałego ? Zobaczymy - może nie przeminie z wiatrem.

czwartek, 3 sierpnia 2017

BLYNK w NASie z WINDOWS SERVER 2012

.... no to OKNA raz jeszcze

Windows Server to niezbyt popularny system domowych NASów. I nie ma się czemu dziwić. Drogi, ciężki, trudny do skonfigurowania. Ale jak już ruszy to działa świetnie. Szczególnie z komputerami z Oknami (zaskoczenie?). A takich jest wciąż jeszcze większość w naszych domach. I co najważniejsze - system jest niezależny od producenta sprzętu na jakim został zainstalowany a to pozwala wgrywać do niego nieprzebraną ilość dostępnego (również darmowego) oprogramowania. Sprawa się nieco skomplikowała wraz z erą 64 bitowców - wiele programów a zwłaszcza sterowników stanowczo odmawia współpracy z nową wersją - ale i z tym można sobie jakoś poradzić.
A więc dziś ostre starcie BLYNK contra WINDOWS SERVER 2012.

piątek, 28 lipca 2017

Emulator sieci WiFi - Matrix reaktywacja

Stworzenie wirtualnej sieci WiFi na komputerze Windows 7


Spodobała się mi ta wirtualizacja rzeczywistości. Serwer BLYNK i telefon z aplikacją BLYNK na tym samym komputerze to super rozwiązanie. Błyskawiczna konfiguracja nowych projektów, bezproblemowa zmiana parametrów a przede wszystkim pełna kontrola nad tym co dzieje się w całym środowisku BLYNKa - mikrokontrolerze, serwerze BLYNKa i aplikacji  w telefonie. Pozostały jeszcze dwa elementy zewnętrzne "wystające" poza komputer. To sam mikrokontroler - ale tu pozostanę konserwatystą - i niech ten stan tak zostanie. Drugim elementem jest zewnętrzna sieć WiFi za pomocą której muszę łączyć Arduino lub ESP z serwerem BLYNK. I wirtualizacji tej rzeczywistości poświęcę dzisiejszy wpis.

czwartek, 20 lipca 2017

Emulator Androida czyli BLYNK MATRIX

Więcej wirtualnego świata

 

Dziwny jest ten świat - 50 lat temu pięknie zauważył to Czesław Niemen. Dziwny jest i dziś gdy realne rzeczy zastępuje w coraz większym stopniu wirtualna fikcja. Dzieciaki zamiast w piłkę na boisku wpatrzone są tablety, w laboratoriach i pracowniach uczelni technicznych miast przyrządów,urządzeń i maszyn - symulatory, a o uzależnieniu od komputera, internetu i telewizji dorosłej części społeczeństwa szkoda nawet gadać. Nawet nasze pieniądze znikają gdzieś w wirtualnym świecie.
Dołóżmy i my swoją cegiełkę do wirtualnej rzeczywistości.
W kolejnym odcinku o tym jak zasymulować telefon z BLYNKiem na ekranie naszego komputera.

piątek, 14 lipca 2017

BLYNK - Własny serwer na komputerze z Windowsem

 .... czyli cuda na kiju


Chłopaki z BLYNKa robią co mogą by ułatwić sobie, a przy okazji i nam, życie w wirtualnym świecie. W każdym razie tak to wygląda patrząc na ten projekt. Wszystko ma być prosto, szybko i tanio.
Jak w Biedronce.
5 minut na stworzenie zdalnej aplikacji IoT przez kompletnego laika w elektronice i programowaniu to dla mnie rekord świata. Świata do niedawna zazdrośnie strzeżonego przez Panuf Elektronicuf i Programistuf. Teraz każdy na telefonie może wyczarować swój własny prywatny matrix zwany Inteligentnym Domem. A nawet stworzyć i odpalić mózg systemu - także w 5 minut.

Dziś - jak postawić lokalny serwer BLYNK na dowolnym komputerze z Windowsem.

piątek, 7 lipca 2017

SONOFF - wariacje na cztery ręce

Co by tu jeszcze spieprzyć panowie ..


Dziś trochę zabawy - jakie ciekawe funkcje można zaprogramować w przełączniku SONOFF z wykorzystaniem BLYNKa? Czyli co średnio zdolny elektronik może wyczarować z przełącznikiem za 5$. Ale żeby było jeszcze ciekawiej warto wykorzystać fakt , iż SONOFF to tak naprawdę ogołocony z modułu RF433 MHz SONOFF RF. Np. ma dodatkowego czerwonego LEDa ale jak raz nigdzie nie podłączonego. I kilka extra portów GPIO czekających na jakiś genialny nasz pomysł. Dodatkowo 9 otworów lutowniczych po niedoszłym module RF kusi by je sensownie zagospodarować. A więc do dzieła....

piątek, 30 czerwca 2017

SONOFF - BLYNK made switch

Trzeba sobie jakoś radzić....



"Macie zapałki?
— Posłusznie melduję, panie kapelanie, że nie mam.
— E, tak, a dlaczego nie macie zapałek? Każdy żołnierz powinien mieć zapałki, żeby mógł zapalić papierosa. Żołnierz, który nie ma zapałek, jest... No, co jest?
— Posłusznie melduję, jest bez zapałek — odpowiedział Szwejk."

BLYNK reklamowany jest (także na tych stronach) jako prosty, uniwersalny i wszechstronny system dla rozwiązań IoT. Jest tylko jeden mały problem - jak na razie nie ma i nie widać na horyzoncie dedykowanych elementów sprzętowych dla tej aplikacji. A palić się chce. Jeśli nie umiemy zrobić sami pozostaje tylko jedno - pożyczyć od kogoś kto te zapałki - pardon - urządzenia już ma.
Dziś o przełącznikach firmy SONOFF idealnie pasujących do systemu BLYNK. 

sobota, 24 czerwca 2017

BLYNK ? po jakie licho kolejny program IoT

Jak nie wiadomo o co chodzi...


Współczesna wojna ekonomiczna o najlepsze miejsce na rynku przybiera na sile. Niby Ameryka (czytaj USA) i EU (Niemcy) wciąż jeszcze dominują w gospodarce ustalając standardy i przewodząc w innowacyjności. Ale Chiny ze swoją stopą wzrostu i nadwyżką handlową za chwilę zechcą ten stan zmienić (świetny wykład Jacka Bartosiaka). Z naszego podwórka - Arduino to pomysł europejski ale gros (jeśli nie wszystkie) moduły do niego produkuje się w Chinach i zalewa się nimi rynek w śmiesznych cenach. Szokiem było pojawienie się ESP8266 i co do funkcjonalności (160MHz RISC z WiFi) i ceny (1-2$) Pierwszy produkt całkowicie azjatycki wywracający świat mikroprocesorów do góry nogami. Początkowe lekceważenie (chiński chłam dla biedoty, zawodny i bez certyfikatów) zamienił się błyskawicznie w panikę, kiedy ESPy zalały rynek a większość z nich ma już wszystkie potrzebne pieczątki - w tym FCC CE RoHS. Czy w tej globalnej wojnie o rynek jest jeszcze miejsce dla wolnych strzelców pragnących zadziwić świat swoimi pomysłami i to  bez pieniędzy? Moim zdaniem tak - np. produkując zamknięty, wybitnie ekskluzywny i bardzo drogi wyrób lub wręcz przeciwnie - tworząc produkt praktycznie darmowy szeroko dostępny i znakomicie wpasowujący się w masowy rynek. W obu przypadkach liczy się pomysł, jakość i tempo wdrożenia tak by szybko ugryźć swój kawałek tortu.
BLYNK to otwarty system bazujący na superpopularnym Arduino i błyskawicznie implementujący najatrakcyjniejsze i powszechnie dostępne technologie (np.Android, ESP). Pomysłodawcy od początku wykorzystują ogromny potencjał społeczności open source i DIY łącznie z finansowaniem (Kickstarter). BLYNK to znakomity przykład próby wejścia na rynek z końca kolejki. Aplikacja bazująca na  wciąż rosnącym potencjale rynku IoT ma w sobie zaszyte spore możliwości integracji i współpracy z różnymi technologiami Smart Home. Już niedługo będzie wiadome czy te możliwości zostaną rynkowo zdyskontowane.
A my popatrzmy bliżej co takiego już dziś oferuje nam BLYNK

sobota, 17 czerwca 2017

Device Selector - ciąg dalszy rewolucji BLYNKa

Monogamia czy poligamia - co lepsze?


Zanim przejdziemy do omówienia skutków rewolucji jakimi uraczył nas widget EVENTOR spróbujemy odpowiedzieć sobie na powyższe pytanie. W przeważającej większości elektronicy i programiści to faceci więc preferencje zdają się być oczywiste. Niestety dla większości z nich  poligamia byłaby zabójcza. Zapatrzeni w diody, katody czy long integer, przegrywaliby sromotnie w bezkompromisowej walce o przyszłe żony sprawiając, że ich geniusz zniknąłby już w pierwszym pokoleniu. Na szczęście nasza cywilizacja szybko dostrzegła potrzebę ochrony mózgowców przed mięśniakami. I wprowadziła bezwzględny zakaz poligami.
Ale co nie jest dobre dla elektroników i programistów świetnie sprawdza się w tworzonych przez nich wirtualnych światach. Dziś właśnie nieco o bigami i poligami w mikroprocesorowej rzeczywistości.

piątek, 9 czerwca 2017

Widget EVENTOR - programowanie klocków lego cz.3


Do akcji wkracza 007 - widget EVENTOR

 

Dziś druga część zeszłotygodniowego wpisu. I próba odpowiedzi na pytanie - czy można za pomocą BLYNKa sterować działaniem układu mikroprocesorowego bez konieczności jego programowania ?
Oczywiście - takie było założenie, które legło u podstaw tej znakomitej aplikacji. Możliwość swobodnego kojarzenia widgetu w telefonie z wybranym portem mikrokontrolera i tym sposobem  zdalne (naprawdę zdalne bo z każdego miejsca na świecie) przejęcie nad nim kontroli. A wszystko to trwa reklamowane 5 minut. Bez nauki języka programowania i konieczności dodawania czegokolwiek w kodzie procesora oprócz biblioteki BLYNK i 1-3 linijek otwierających internetowy dostęp do serwera BLYNK. Genialnie prosty i genialnie szybki sposób na zdalne zarządzanie własnym mikroprocesorowym urządzeniem. Z jednym ograniczeniem - widget w podstawowej konfiguracji może tylko tyle na ile pozwalają mu własności konkretnego portu, do którego jest dowiązany. Tego jedynego i szlus. Jeśli chcemy połączyć widget z kilkoma portami procesora lub stworzyć jakiekolwiek zależności pomiędzy portami, widgetami i zmiennymi musimy zakasać rękawy i zabawić się programistę.
Ale jest szansa by to zmienić. A tej szansie na imię EVENTOR.

piątek, 2 czerwca 2017

Widget EVENTOR - programowanie klocków lego cz.2

Ale na początek klasyka - programowanie w Arduino IDE


Przez cały rok staram się pokazać, iż programowanie mikroprocesorów za pomocą Arduino IDE nie jest trudne. Jeśli dodamy do tego mnogość dostępnych bibliotek to efekt końcowy po kilku godzinach nauki jest przyjemnie zaskakujący. Dołożenie zaś do naszego modułu aplikacji BLYNK daje nieprawdopodobny efekt końcowy - w pełni profesjonalny sprzętowo i programowo projekt bijący na głowę wszystko to co można zrobić konkurencyjnymi systemami dostępnymi na rynku. I to po jednym - dwu dniach pracy.
Niestety większość użytkowników współczesnej elektroniki nie podziela fascynacji możliwością swobodnego programowania układów mikroprocesorowych nawet tak przyjaznymi narzędziami jak Arduino IDE. Dla takich osób klasyczne programowanie musi zostać zastąpione możliwie prostą konfiguracją pozwalającą szybko i bezboleśnie uzyskać pożądaną funkcjonalność urządzenia czy systemu. Co więcej w trakcie eksploatacji funkcje urządzenia winny dawać się równie prosto i szybko dopasowywać do zmieniających się potrzeb użytkownika bez konieczności ingerencji ze strony producenta urządzenia. Powyższe wymagania spełnia widget EVENTOR.


sobota, 27 maja 2017

Widget EVENTOR - czy BLYNK to juz profejonalny IoT? cz.1

EVENTOR - programować każdy może trochę lepiej lub ....

 

Mawiało się niegdyś, że uczelnia to mogłoby być najlepsze miejsce pracy ... gdyby nie ci studenci!
Ja zwykle mówię - elektronika to piękne hobby gdyby nie konieczność programowania ....
Ale, że gorszy pieniądz wypiera lepszy - najpierw papier zastąpił złoto, dziś papier wyparty został wirtualnym pieniądzem istniejącym tylko w pamięci komputerów - nie ma co liczyć na powrót czystej, pięknej elektroniki bez konieczności programowania. Generalnie mamy do wyboru dwie drogi - pierwsza to tworzenie programu w którymś z języków programowania optymalizowanych dla poszczególnych platform i zastosowań (C++, Java, Python, PHP itd) Drugi to programowanie z przygotowanych klocków (często graficznych) pozwalających na zestawianie ich w bardziej złożone funkcyjne struktury bez potrzeby klasycznego programowania - szybko i w sposób eliminujący tworzenie błędnych algorytmów i powiązań. Piszę o tym bo BLYNK zdaje się być jednym z niewielu systemów umożliwiającym, w sposób znakomicie prosty i elastyczny, na swobodne balansowanie pomiędzy programowaniem "poważnym" językiem C++  np. w Arduino IDE czy Atmel Studio a gotowymi programowymi klockami  wprost z aplikacji w telefonie. A wszystko to za sprawą nie tak dawno wprowadzonego do systemu widgetu EVENTOR.

sobota, 20 maja 2017

Prywatny BLYNK - free & safe

Z chmury do domu


Dziś na tapecie  SERWER BLYNK. To trzeci z elementów systemu (po bibliotekach w mikroprocesorze i aplikacji w telefonie/tablecie)
Ostatni ale nie ostatni jak mawiają starożytni Anglicy. Teoretycznie system może pracować bez aplikacji w telefonie czy bez bibliotek w mikroprocesorze - ale bez serwera nie mamy kompletnie nic. Do tej pory i mikroprocesor i telefon komunikowały się z serwerem gdzieś tam w internetowej chmurze. Gdzie to wiedzą jedynie twórcy programu. My znamy tylko adres blynk-cloud.com:8442. Ale możemy stworzyć sobie własną domową chmurę i tam umieścić nasz mały prywatny SERWER BLYNK. Po co gdy publiczny serwer działa znakomicie? By mieć cały system całkiem za darmo i pod naszą wyłączną kontrolą. Np. jeśli cokolwiek złego działo się z Internetem nasz system sterowania był martwy. Teraz wszystko może być w naszych rękach .... i głowach. Zalet takiego rozwiązania jest znacznie więcej  a więc ..... do dzieła.

sobota, 13 maja 2017

BLYNK - nowy fascynujący świat elektronika - cz.1

Jak tanio i szybko tworzyć złożone projekty elektroniczne


BLYNK w systemach Smart Home to tylko jedno z wielu możliwych jego zastosowań. U mnie w tej roli został dość szybko zdegradowany do pomocnika kucharza. Dlaczego? Szczegóły tutaj.
Zamiast tego BLYNK stał się podstawowym elementem komunikacyjnym mikroprocesora z operatorem (z mną). A bardziej precyzyjnie - dowolnym zestawem wirtualnych elementów dobieranych według potrzeb właśnie tworzonego projektu. Bardzo pomagają mi w tym autorzy programu dodając do aplikacji wciąż nowe widgety i poszerzając funkcje już istniejących. Warto więc  zastanowić się jak je wykorzystać przy konstruowaniu kolejnych elektronicznych układów. I w czym są one lepsze od ich, kupionych w sklepie, tradycyjnych odpowiedników.
Dziś więc BLYNK w roli supermena systemów mikroprocesorowych.
 

sobota, 6 maja 2017

BLYNK - ukraińska bajka od programisty do ...

Nie tylko w Dolinie Krzemowej



Moja fascynacja BLYNKiem trwa nieprzerwanie od chwili pierwszego z nim spotkania. Już pierwsza implementacja to był prawdziwy szok - bezproblemowa, profesjonalna i dziecinnie łatwa dla każdego początkującego laika informatyki czy programowania. Nawet próba zrozumienia logiki pracy systemu nie przerastała możliwości średnio rozgarniętego elektronika.
Co gorzej fascynacja ta rosła z każdym dniem używania BLYNKa w kolejnych projektach. I nic nie zapowiada by stan ten uległ zmianie w najbliższej przyszłości.


piątek, 28 kwietnia 2017

Przetwornice dc-dc step-up i step-down

Małe, tanie, uniwersalne - chińskie klocki LEGO dla leniwych

 

Moduły chińskich przetwornic dc-dc uczestniczą w tworzeniu kolejnych projektów  niemal od początków tego bloga. Uzbierała się już pokaźna ich kolekcja rodzajów i odmian praktycznie na każdą elektroniczną okazję. Jakże ich nie lubić - małe, uniwersalne, sprawne,  a nade wszystko nieprzyzwoicie tanie. W większości koszt elementów przekracza cenę modułu (i to bez  kosztów PCB i montażu). No i ta darmowa dostawa do domu układu  za 0,4$. Koperta pęcherzykowa kosztuje u nas chyba drożej. Chińska ekonomia biznesu wciąż potrafi mocno zadziwiać. Jak im się to opłaca???

sobota, 22 kwietnia 2017

HOME IoT - tylko po co?

Dom inteligentny  a może przeintelektualizowany dom?

 

 

Po rocznych doświadczeniach można już co nieco powiedzieć o Home IoT (Smart Home).
Zacznę od wniosków - cóż nie są one optymistyczne.





czwartek, 13 kwietnia 2017

Proste i tanie pompą CWU sterowanie

Uwaga! Post reklamowy ;) 


Dokładnie rok temu postawiłem na tym blogu zadanie - zbudować prosty i tani system do bezprzewodowego sterowania pompą obiegową cyrkulacji CWU (a przy okazji nauczyć się programowania mikroprocesorów).
A po co ta cała cyrkulacja i kombinacje z mikroprocesorami? A po to >>>>.  Systemy oparte na włączniku czasowym lub czujnikach temperaturowych w moim przypadku słabo się sprawdzały. Albo cyrkulacja była wyłączona gdy akurat była potrzebna (sterowanie czasem) albo trzeba było pamiętać by po wejściu do łazienki na chwilę odkręcić kran dla zadziałania czujki temperaturowej na rurze i włączenia cyrkulacji (u mnie czas obiegu ciepłej wody to ok 2-3 min). To nie było to!
Potrzebowałem układu działającego dokładnie wtedy gdy był potrzebny i nie wymagający jakiegokolwiek działania ze strony użytkownika.
Padło więc na bezprzewodową czujkę ruchu w łazience  i mikroprocesorowy sterownik pompy cyrkulacyjnej CWU. I warunek - wszystko bezprzewodowe i w pełni automatyczne. Szkoda tylko, że nie był to mój pomysł (Artur dziękuję!).  Inni też z tym kombinowali (tu>>> i tu>>>> i tu>>>>) ale nie znalazłem gotowego rozwiązania. Trzeba było więc samemu zakasać rękawy i .....

piątek, 7 kwietnia 2017

Bezprzewodowy przekaźnik 433MHz - cd...

Mały PIC i duże COŚ - mikroprocesor może więcej

 


Chińskie cudeńko za 2$ fascynuje coraz bardziej.
A to za sprawą zamontowanego w nim procesora PIC12f629 firmy MICROCHIP.
Jak już wspominałem - nie ma szans by zerknąć na zawarty w nim kod. Jest go zresztą niewiele - cała pamięć programu to 1024 14 bitowych słów. Do tego 64 bajty RAM i 128 b EEPROM.  I wszystko upakowane w 8- nóżkową obudowę.
Po prostu mikroprocesorowy drobiazg.



sobota, 1 kwietnia 2017

Bezprzewodowy przekaźnik 433MHz

Kolejny klocek IoT - małe chińskie cudeńko

 

Nabyłem drogą kupna (1,99$) na znanym chińskim portalu taki oto drobiazg:


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.........

piątek, 24 lutego 2017

GitHub - udostępnij swój kod - jak korzystać nie znając Linuxa

Tworzymy własne puzzle - instrukcja nie tylko dla orłów

 Już kilka razy zabierałem się za poznanie co to takiego ten GitHub. Szczególnie, że obijamy się o niego bez przerwy ściągając kolejne biblioteki czy ich nowsze wersje. Mój ulubiony BLYNK w zasadzie nie istnieje poza GitHubem - więc coś musi w tej platformie być interesującego.

Kilka prób i nic. Ciągle trafiałem na poradniki fascynatów programowania zakochanych w Linuxie i w konfigurowaniu wszystkiego z linii komend. Spróbujcie spokojnie posłuchać a potem powtórzyć np. taką lekcję.  To jakiś programistyczny koszmar w dobie Windowsa, Androida czy IOS.

Ale upór dobra rzecz więc poszedłem swoją ścieżką
Prosto łatwo i przyjemnie.

Lekcja pierwsza - przestroga


Żadnych programów typu GIT instalowanych na własnym komputerze. To system stworzony dla Linuksa i jeśli nawet zainstaluje się toto na Windowsie to i tak jest to Linux

 

Lekcja druga - nadzieja


Wszystko na platformie GitHub jest przyjazne dla "normalnego" programisty-hobbysty. Nauczenie się obsługi tego portalu trwa 10 min.

 

Lekcja trzecia - beforeparty


 Trzeba założyć sobie konto na GitHubie by dostać swój kawałek podłogi w tym magazynie programów. To jedyna trudność - potem już z górki. Wypełniamy tutaj https://github.com/ trzy pola i zatwierdzamy. Potem musimy potwierdzić linkiem z otrzymanej poczty i już jesteśmy przyjęci do wielkie rodziny PROGRAMISTÓW. I możemy udostępniać swoje puzzle - programy biblioteki, opisy projektów, schematy, zdjęcia.w WSZYSTKO!!!!

 

Lekcja czwarta - start


Welcome to GitHub - nie zmieniając nic na pierwszej stronie wciskamy Continue. I ..... nie pójdziemy dalej jeśli nie zweryfikowaliśmy adresu email z otrzymanej poczty. Jeszcze raz https://github.com/ i wpisujemy swoje dane logowania (Sign in).  Jeśli weszliśmy to mamy do wyboru dwie ścieżki - Read the guide - Start a project. Proponuję przeczytać instrukcję zajmie to 10 min (1 strona) i większość spraw stanie się jasna (Chrome ma tłumacza stron :)). Jeśli już wiemy coś - tworzymy projekt. Jeśli mamy już projekt to znajdziemy link do niego w ramce Your repositories

 

Lekcja piąta - mój własny projekt na GitHubie


"Create a new repository" - A wiec wpisujemy nazwę naszego projektu MojWielkiProjet. Następna strona otwiera się na zakładce CODEQuick setup — if you’ve done this kind of thing before - nie czytamy tego wszystkiego co tam jest napisane - to dla fanów Linuxa. Szukamy napisu : We recommend every repository include a README, LICENSE, and .gitignore.i naciskamy README
To strona tytułowa naszego projektu i jego opis - wpisujemy tu co chcemy - np że to najlepszy program na Arduino do wygrywania w totolotka. Przycisk Commit new file udostępnia opis całemu światu - już mamy przygotowane miejsce na nasz wiekopomny projekt. Przyzwyczajmy się do tego zielonego przycisku - będziemy go często używać. Ukazał się nasz kawałek podłogi na GitHubie dla wprowadzonej nazwy projektu. Jeśli chcemy zobaczyć całe nasze konto ze wszystkimi projektami naciskamy na samej górze link naszego loginu - to nasza strona główna i tu będziemy składować nasze bezcenne projekty.

 

Lekcja szósta - dodajemy kod naszego wspaniałego programu


 Na stronie głównej naszego konta w ramce Popular repositories mamy nazwę naszego pierwszego (i następnych jak mniemam) projektu.Wchodzimy tam i znów mamy zakładkę CODE. Szukamy i naciskamy przycisk Upload file 
i pokazuje się piękna strona, gdzie możemy upuszczać  dowolne rodzaje plików a nawet całe katalogi z plikami. Ale
Uwaga 1 - katalogi bez plików nie zostaną zapisane
Uwaga 2 - katalogi nie mogą zawierać więcej niż 100 plików
Jak upuściliśmy plik lub katalog nie zapominamy o zielonym przycisku na końcu strony - po jego naciśnięciu pojawia się ponownie strona naszego projektu na zakładce CODE z pięknie dodanymi i udostępnionymi całemu światu plikami naszych programów i innych plików.

I to wszystko!


Proste łatwe i przyjemne.

A to adres do kodu całego programu prostownika w wersji 1.4.
 https://github.com/krzyspx/charger_desulfator

Cały kod składający się z programu dla modułu NANO i programu dla ESP (katalog z wielkimi literami modułu odnosi się do tego modułu). W praktyce zmianie ulegają tylko dwa pliki w katalogu GH_esp_ NANO/esp_NANO_prostownikv1_4
> program główny dla Arduino NANO - esp_NANO_prostownik_v1_4.ino
> biblioteka programu prostownik  prostownik.h - tu znajdują się wszystkie procedury stworzone specjalnie dla prostownika

Oczywiście program GitHub nie jest po to byśmy reklamowali się z naszymi gienialnymi (nie poprawiać!) projektami programów na mikrokontrolery. To tak  naprawdę zaawansowany system kontroli wersji i współdzielenia kodu przy tworzeniu złożonych projektów w  wieloosobowych zespołach programistów pracujących w dowolnych miejscach na świecie. Czy się przyda do czegoś ta podstawowa funkcjonalność ? Nie mam pojęcia ale spróbowałem jak to działa - FAJNIE

Krok 1 - Magazyn główny programu i podmagazyny

Obowiązujący (aktualny, ważny itd) kod znajduje się w głównej gałęzi(w magazynie głównym) programu Branch: Master
To przycisk po wybraniu, którego możemy przełączyć na istniejące lub założyć nowe dodatkowe gałęzie (podmagazyny) naszego głównego magazynu z programem.
Podmagazyn zawiera wszystkie te same pliki co magazyn główny ale niektóre z nich są zmienione - po to się zakłada podmagazyn by można było śledzić gdzie i jakie zmiany zostały wprowadzone

Krok 2 - tworzymy pomagazyn i porównujemy zawartości dwu magazynów


 Możemy to zrobić przyciskiem Branch: Master wtedy zostanie utworzona identyczna kopia magazynu głównego. I tą kopię możemy zmieniać i nią manipulować.
Podmagazyn stworzy się również gdy będziemy dodawać zmieniony lub nowy plik do magazynu głównego - dla mnie to ciekawszy bo szybszy sposób tworzenia podmagazynu. Wchodzimy więc do katalogu w magazynie głównym z plikiem, który chcemy podmienić nowszą wersją i naciskamy przycisk Upload file Pokazuje się znajoma strona umożliwiająca upuszczenie pliku z naszego komputera. Po załadowaniu pliku  nad ulubionym przyciskiem Commit changes wybieramy opcję Create a new branch i wpisujemy jakąś nazwę podmagazynu. Po akceptacji tworzony jest podmagazyn w którym wszystkie pliki są identyczne jak w magazynie głównym za wyjątkiem tego jednego dodanego przed chwilą. Od razu pojawia się też strona porównująca całą zawartość dwu wybranych przyciskami magazynów. Jednym z nich może ale nie musi być magazyn główny. W dolnej części okna mamy prezentację różnic w plikach porównywanych magazynów. Na czerwono zaznacza się to co zostało skasowane zaś na zielono co dodane.
I ten fragment programu podoba mi się najbardziej - zobrazowanie wszystkich zmian w plikach ale obejmujące nie tylko pojedyncze plika ale i całe porównywane katalogi z plikami. Dla mnie bomba - to sposób jak łatwo znaleźć co takiego namąciliśmy w nowej wersji programu że stara wersja działa a nowa za cholerę nie chce. Koniec ze żmudnym porównywaniem dwu plików na dwu równolegle sąsiadujących oknach.


A więc zostałem przyjęty do grona światowych programistów kodu open source.

i tam będziemy szukać naszego dalszego ciągu .......






sobota, 18 lutego 2017

desulfator - test serii akumulatorów - zestawienie


Ten post zawiera wyniki  z procedury odsiarczania 8 szt. akumulatorów 7 i 9 Ah

Akumulator nr 1      CSB - 9Ah

  • pierwsze ładowanie do 14,4V
  • rozładowanie I=1,6A > U= 11,9V; I= 3,2A > U= 11,2V
  • ładowanie U=15V impulsami 8us  24V z 10-15 sek rozładowaniem do 13,6 czas ładowania 48h
  • test pojemności rozładowanie I = 1,6A do U = 10 V  > t = 50 min  poj = 1.3Ah
  • ładowanie U = 15,5-15,7V impulsami 8us 18V z przerwami aż U<13,6V czas ładowania 72h
  • test pojemności rozładowanie I = 1,6A do U = 10 V  - pojemność  1,6 Ah wzrost o 20%
  • naładowanie do FULL prostownikiem mikroprocesorowym 2A /14,4V
  • ładowanie stałym prądem 0,1A - 5 dni
  • test pojemności - rozładowanie I = 1,1A do U = 10 V  >   pojemność  1.1Ah
  •  ładowanie U=14,4 V I=0,5A 
  •  ładowanie  I=0,1A - 8 dni
  • rozładowanie calkowite
  •  ładowanie  I=0,5A  - nie osiąga 14,4V zaczyna sę grzać. Przy bociążeniu 1,6A napięcie spada poniżej 10 V. Pewnie uszkodzona cela - 
  • STOP naprawiania

Akumulator nr 2      CSB - 9Ah

  • Ładowanie FULL. Rozładowanie testowe do U=10V - pojemność ok 1,5Ah 
  • Ładowanie I=0,1A - 6 dni
  • rozładowanie 1A do U=10V - pojemność 1,5 Ah
  • Ładowanie I=0,1A - 8 dni
  • rozładowanie 1A do U=10V - pojemność 1,4 Ah
  • Ładowanie I=0,1A - 10 dni
  • rozładowanie 1A do U=10V - pojemność 0,8Ah
  • rozładowanie całkowite do U ok 1V
  • Ładowanie FULL
  •  
  • STOP naprawiania
 Ładowanie stałym prądem 0,1 A nieskuteczne - pojemność spada

 Akumulator nr 3      CSB - 9Ah

  • Ładowanie FULL. 
  • Rozładowanie testowe do 1,6A napięcie spada do ok 9V (pewnie uszkodzona cela)
  • Ładowanie I=0,1A - 3 dni 
  • rozładowanie  1A do U=10V - pojemność 1Ah
  • Ładowanie FULL
  • Ładowanie I=0,1A - 8 dni
  • rozładowanie 1A do U=10V - pojemność Ah 1,2Ah
  • rozładowanie całkowite do U ok 1V
  • Ładowanie FULL
  •  
  • STOP naprawiania

 Akumulator nr 4      CSB - 9Ah

  • Ładowanie FULL. 
  • Rozładowanie testowe - 1A - pojemność 0o 1,5 Ah
  • Ładowanie I=0,1A - 10 dni 
  • rozładowanie  1A - pojemność 1Ah
  •  Ładowanie FULL
  • rozładowanie całkowite do U ok 1V
  •  Ładowanie FULL
  • Ładowanie I=0,1A - 10 dni
  • rozładowanie 1A do U=10V - pojemność 1,6Ah
  • Ładowanie I=0,1A - 8 dni
  • rozładowanie 1A do U=10V - pojemność 1,6Ah 
  •  STOP ładowania stałym prądem - brak efektów odsiarczania stałym prądem
Ładowanie impulsowe - napięcie 35V impulsy ok 2- 4 usek prąd średni I = 0,075A

  Akumulator nr 5      CSB - 9Ah

  • Ładowanie FULL. 
  • Rozładowanie testowe 1,6A napięcie spada do ok 8V (pewnie uszkodzona cela)
  • Ładowanie FULL 14,4V
  • Ładowanie I=0,1A - 3 dni
  • Rozładowanie  1A napięcie spada poniżej 10 V (uszkodzona cela)
  • STOP naprawiania

  Akumulator nr 6     Vision CP1270 - 7Ah

  • Ładowanie FULL. 
  • Rozładowanie testowe  1A do U=10V  - pojemność ok 4 Ah
  • Ładowanie I=0,1A - 7 dni 
  • rozładowanie  1A do U=10V  - pojemność 5 Ah
  • Ładowanie I=0,1A - 10 dni 
  • rozładowanie  1A do U=10V - pojemność 5,2 Ah
  • Ładowanie I=0,1A - 6 dni 
  • rozładowanie  1A do U=10V - pojemność 5,2 Ah
  • STOP ładowania stałym prądem - po początkowym wzroście brak dalszych efektów odsiarczania stałym prądem. 70% pojemności znamionowej

  Akumulator nr 7     Vision CP1270 - 7Ah

  • Ładowanie FULL. 
  • Rozładowanie testowe 1,6A napięcie spada do ok 8V (uszkodzona cela)
  • STOP naprawiania

  Akumulator nr 8     Vision CP1270 - 7Ah

  • Ładowanie FULL U=14,4V
  • Rozładowanie testowe  1A do U=10V  - pojemność ok 5 Ah
  • Ładowanie I=0,1A - 6 dni 
  • rozładowanie  1A do U=10V  - pojemność 5 Ah
  • Ładowanie I=0,1A - 5 dni 
  • rozładowanie  1A do U=10V - pojemność 5,5 Ah
  • Ładowanie I=0,1A - 7 dni 
  • rozładowanie  1A do U=10V - pojemność 6 Ah
  • Ładowanie I=0,1A - 7 dni 
  • rozładowanie  1A do U=10V - pojemność 6,1 Ah
  • STOP ładowania stałym prądem - po początkowym wzroście brak dalszych efektów odsiarczania stałym prądem. 85% pojemności znamionowej



Desulfator - brazylijski tasiemiec

Ponownie P-MOSFET w akcji


Świetnie działający układ kluczujący prądem ładowania akumulatora z wykorzystaniem N-MOSFETa powędrował na półkę. Kolejny znakomity do niczego nie przydatny wytwór elektronicznego geniuszu.



Powroty bywają trudne szczególnie gdy nie ma z czego wybierać. A tak niestety jest z MOSFETami P - patrzysz w lewo - nic, patrzysz  prawo - nic. I tylko jeden smętny IRF4905 (55v 74A 0,02om 3,5 nF) przed tobą. Po prostu film polski (za wyjątkiem Vabank oczywista).


Tą razą (by zostać przy genialnym Vabanku) zaczynam od LTspice. Muszę dobrać elementy tak by móc zasilać cały układ desulfatora napięciem od 20 do 40 V. Po co ? Dla większego kopa rzecz jasna! Jeśli przy napięciu 20 V udaje się wtłoczyć do akku w impulsie energię o wielkości x to dla 40V będzie tego ponad 15-18 razy więcej! Trzeba tylko zastosować kondensatory o napięciu 50 V i wszystko zasilić np z chińskiej przetwornicy step-up za 2,5$/szt. Jak to możliwe? Jeśli akumulator jest w pełni naładowany ma zaraz po naładowaniu ok 14V to zasilanie układu z 20 V daje 6V piki napięcia z kondensatora podczas procedury odsiarczania. Zwiększenie napięcia do 40V to przyrost kolejnych 20 V. 26/6 =4 z hakiem a energia to kwadrat napięcia a więc grubo ponad 16 razy! i o to chodzi


W klasycznym układzie MOSFET-P ma bramkę zwieraną bądź do Uzas (wyłączenie) bądź do masy (załączenie). Przy 40 V bramka ulegnie przebiciu - katalogowo max to 20V pomiędzy G-S. Trzeba więc w jakiś sposób ograniczyć maksymalne napięcie bramka-źródło.



W standardowym układzie nie ma rezystora R7. Kluczowanie Q3 zmienia potencjał bramki od 0 do Vcc.

Tak wygląda przebieg na bramce przy braku rezystora R7
A tak gdy wstawimy 2 kom

Napięcie na bramce nie przekracza 18 V. Idealnie. Oczywiście można to policzyć ręcznie - ale zobaczyć to na symulowanym oscyloskopie - bezcenne.

Jeszcze tylko zerknięcie na przebiegi prądu ładowania/rozladowania bramki - dla pomiaru wstawiłem rezystor 0,001om.


Nie przekracza 450 mA - oba tranzystory Q1 i Q2 powinny bez problemu dać radę. Na schemacie wstawiłem kondensator 6800uF. To największy jaki znalazłem w bibliotece LTspice. W rzeczywistości dam 10mF więc energetycznie powinno być jeszcze lepiej.

Powrót do płytki uniwersalnej. To już trzecia wersja prostownika z tym, że obecna ukierunkowana jest na to by być lepszym desulfatorem niż ładowaczką. Pominąłem wiec pomiar prądu, wskaźniki LEDowe i załączanie żarówek. To wszystko trafi do wersji FINAL nr1 o ile taka powstanie.


Na płytce pojawiły sie trzy kondensatory: jeden 10mF zwykły i 2 x 470uF tzw bezstratne tj. z małą impedancją wewnętrzną. Powinno to nieco zwiększyć prędkość rozładowywania tej zbiorczej pojemności o ile inne oporności i impedancje nie będą za nadto przeszkadzać - np. rezystancja MOSFETa czy indukcyjności kabli połączeniowych z akumulatorem
Teraz to wszystko zasilimy uniwersalnym zasilaczem do laptopów o regulowany napięciu od 12 do 24V i wydajności 3A


I zobaczymy co z tego wszystkiego wyniknie.
Relacja na żywo z procesu odsiarczania pojawia się na stronie
http://100-x-arduino.blogspot.com/2017/02/desulfator-test-serii-akumulatorow.html

A tu czekamy spokojnie czy cdn..........