sobota, 14 grudnia 2019

HW-83 HW-35 jako zasilacz elektronika hobbysty arduino ESP8266 cz.III

Spodobał mi się temat chińskich przetwornic dc-dc w roli zasilacza laboratoryjnego dla (nie)młodego elektronika. Temat wydawał się banalnie nudny - ot chińskie moduły za 3-5 $ w nietypowej roli. Ale im bardzie zagłębiam się w temat tym bardziej interesujące szczegóły odkrywam w badanych modułach. No to dziś kilka nowych linijek tekstu poświęconych temu tematowi



Błyskawicznie w trzy tygodnie (ale wciąż darmowo) dostałem dwa kolejne moduły przetwornic dc-dc. I oba bardzo obiecujące do roli zasilaczy dla elektronicznych prototypów.

Przetwornica z tytułowego obrazka jest tak naprawdę złożeniem dwu niezależnych płytek. Pierwsza to przetwornica step down oznaczona jako HW-083 i dostępna w dużych ilościach na chińskim portalu https://bit.ly/2rq2kIg.



Bardzo ładnie opisana jest tutaj. Nawet z pełnym schematem HW-083.



To niemal klasyka rozwiązania przetwornicy CV CC. Kiedyś może przeanalizuję to bardziej szczegółowo. A na razie warto zwrócić uwagę na dwa punkty, z których jeden przyłączony jest do pinu 4 XL4015. Zwierając go do masy możemy zdejmujemy napięcie wyjściowe bez odłączania napięcia wejściowego.

Od standardowej wersji odróżniają ją tylko potencjometry montażowe - ich oś jest wyprowadzona na bok płytki. Dwa potencjometry oznaczają, że przetwornica jest typu CV CC z regulacją napięcia 0,8-29 V i prądu od 0-5 A. Naiwnością jest sądzić iż cokolwiek ponad 15-20W da się pobrać z tego moduł bez doklejenia radiatora. A z tym może być kłopot bo miejsca na niego jest niewiele.



Druga płytka to wyświetlacz LED dokręcony do pinów wejściowych i wyjściowych metalowymi dystansami stanowiącymi jednocześnie przewody elektryczne


To dość nietypowe rozwiązanie. Podczas elektronicznych zabaw trzeba mocno uważać by nie zrobić sobie zwarcia z tak odsłoniętymi przewodnikami. Moduł wyświetlacza oznaczony jako HW-035 oparty jest na mikrokontrolerze STM. I znowu niezawodny kol.z Rosji  (Сергей Коробов) udostępnił jego schemat



A tu schemat w wersji trochę bardziej rozbudowanej z pełnymi oznaczeniami pinologii układów.



Na moduł zwróciłem uwagę z jednego powodu.
Na zdjęciach modułu wyraźnie zaznaczono istnienie portu szeregowego ( co także widać na schemacie - port 2 Tx i i 3 Rx)


a w opisie modułu podana jest procedura odczytu prądu i napięcia tym portem

★ Communication Protocol Description:
1. This module has the function of communicating with computer. Can facilitate the computer to read the module current and voltage data,
2. Since the output of this module is TTL level, in order to realize the communication with the computer, it is also necessary to convert this level back to the RS232 level that the computer can recognize. This conversion is required by this cp2102 usb to TTL module.
3. The communication protocol is as follows:
Baud rate: 9600 Bps
BB CC ADDR 00 XX XX CRC (Current Return Command)

BB CC ADDR 01 XX XX CRC (voltage return command)
among them
BB CC for the first frame (2 bytes)
ADDR is the module address (1 byte)
00 for reading current command (1 byte)

01 for reading voltage command (1 byte)
XX XX any value (2 bytes)
CRC CRC check (1 byte)

Mając możliwość przetestowania zasilacza z opcją transmisji wartości napięcia i prądu żal było nie skorzystać z zakupu tego chińskiego wynalazku.
........
Kilka dni później
..........

A miało być tak pięknie. Zasilacz zasila prototypy a ja zdalnie czytam wartości napięcia i prądu swoim ulubionym ESP8266.
Akuratnie połączyłem więc serial wyświetlacza z D1MINI



Specjalnie napisałem program do odczytu napięcia i prądu ... i kicha. Moduł przetwornicy jak był głuchy na zachęty wysyłania danych tak pozostał. W ciągu dwu dni walki dotarłem do informacji, że istnieją dwie wersje oprogramowania różniące się adresacją, nauczyłem się wysyłać i odbierać surowe bajty serialem, uruchomiłem drugi port COM w ESP8266 - i wszystko na próżno. Układ milczał jak zaklęty. Ostateczny przegląd płytki wykazał mikrozwarcie pomiędzy Rx i TX modułu, które zapewne uszkodziło któryś z portów. W ostatecznym rozrachunku  mam sprawną przetwornicę DC-DC z pomiarem prądu i napięcia ale bez możliwości przesyłania pomierzonych wielkości. Szkoda. Zastanowię się później czy nie zamówić jeszcze jednego modułu w celach edukacyjnych.
Ale jak na razie mam tej przetwornicy powyżej uszu.

Kilka przydatnych informacji dla szczęśliwych posiadaczy tego modułu.
Istnieją co najmniej dwie wersje oprogramowania wyświetlacza różniące się kodami jakie należy wysyłać dla odbioru danych o napięciu i prądzie wyjściowym

Wersja I
wysyłamy
BBCC00000000B4  - by odczytać prąd
BBCC00010000DF  - by odczytać napięcie
ramka z wynikiem jest identyczna z tym że mierzone wielkości zawarte są w dwu przedostatnich bajtach. Dane wyrażone są w miliwoltach

Wersja II
wysyłamy
BBCC0100000088  - by odczytać prąd 
BBCC0100000089  - by odczytać napięcie
reszta jak wyżej z tym że dane podawane są w setkach miliwoltów

Program testowy umieściłem tutaj. Biblioteka Timers.h jest tu. Może przyda się kiedyś jeszcze.
Testowałem to na module D1MINI. Dane do przetwornicy wysyłane są z Serial1 (pin GPIO2) a czytane przez Serial (GPIO3). W programie przerzucam dane z Rx na Tx i wyświetlam wszystko co odbieram na terminalu. Monitor Arduino nie wyświetla danych w postaci HEX więc użyłem świetnego terminala RealTerm. Gorąco polecam.

I to na dzisiaj tyle w temacie przetwornic jako zasilaczy laboratoryjnych.
O kontynuację niech się martwi nasz ulubiony ciąg dalszy.

https://mysku.ru/blog/aliexpress/32986.html
https://mysku.ru/blog/aliexpress/33891.html
https://mysku.ru/blog/china-stores/33405.html#comment1078133
https://www.elektroda.pl/rtvforum/topic3416170.html
http://www.karosium.com/2015/10/random-teardowns-xl4005-5a-step-down.html
https://zftlab.org/pages/2015100100.html
https://github.com/roboremo/ESP8266-WiFi-UART-Bridge
https://m-gen.ru/sxem/xl4015e1-5a-dc-cc-cv-sxema-xl4015-ponizhayushhij-dc-dc-preobrazovatel-zaryadka-micropi.html
https://cxem.net/pitanie/5-325.php

3 komentarze:

  1. Dziękuję za ten artykuł. Artykuł zmobilizował mnie do poszukania właściwego bajtu CRC, który pozwalałby na odczyt napięcia i prądu. Moje zmagania zakończyły się powodzeniem. Ja mam jeszcze inną wersję tej przetwornicy z pomiarem napięcia i prądu.
    Aby zainicjować przesłanie wartości napięcia po styku TxD od przetwornicy należy najpierw po styku RxD wysłać sekwencję bajtów:
    0xbb, 0xcc, 0x00, 0x00, 0x00, 0x00, 0xfc.
    Aby zainicjować przesłanie wartości prądu po styku TxD od przetwornicy należy najpierw po styku RxD wysłać sekwencję bajtów:
    0xbb, 0xcc, 0x00, 0x01, 0x00, 0x00, 0x57.
    Mierzone wartości napięcia oraz prądu można odczytać z dwóch przedostatnich bajtów (piąty i szósty bajt) w dziesiątkach miliwoltów i dziesiątkach miliamperów.

    OdpowiedzUsuń
    Odpowiedzi
    1. Przez nieuwagę, niewłaściwie opisałem te sekwencje:
      0xbb, 0xcc, 0x00, 0x00, 0x00, 0x00, 0xfc - dotyczy prądu, a:
      0xbb, 0xcc, 0x00, 0x01, 0x00, 0x00, 0x57 - dotyczy napięcia.

      Usuń
  2. dzięki za informacje sprawdzę w swoim egzemplarzu

    OdpowiedzUsuń