- napięcie wyjściowe 5 V i wydajność 1 A (chwilowo 1,5 A),
- gromadzi energię w typowym akumulatorze Li-Ion typu 14500, 18650 (lub podobnym),
- wbudowany szereg zabezpieczeń,
- zaprojektowany w formie nakładki HAT dla Raspberry Pi Zero.
W artykule został zaprezentowany zasilacz buforowy o napięciu wyjściowym 5 V i wydajności 1 A (chwilowo 1,5 A) w formie nakładki HAT dla Raspberry Pi Zero, gromadzący energię w typowym akumulatorze Li-Ion typu 14500, 18650 (lub podobnym). Zapewnia podtrzymanie zasilania w czasie od kilku minut do kilku godzin w zależności od obciążenia wymuszonego przez aplikację. Zasilacz buforowy jest typowym zastosowaniem specjalizowanego układu LTC4040 (Analog Devices), którego struktura wewnętrzna została pokazana na rysunku 1.
Budowa i działanie
Dzięki zastosowaniu LTC4040 aplikacja zawiera niewiele elementów zewnętrznych ograniczających się do dzielników rezystorowych układów monitorowania napięć, klucza wykonawczego i elementów przetwornicy DC/DC (rysunek 2). Ładowarka i przetwornica wbudowana w LTC4040 ma wszystkie niezbędne zabezpieczenia wymagane do bezpiecznej eksploatacji akumulatorów.
Napięcie wejściowe 5 V, ze źródła o obciążalności do 2500 mA, poprzez gniazdo PWR i wstępną filtrację w CE1, doprowadzone jest do dzielnika R1, R2 układu wykrywania zaniku zasilania ULVO (U1-19). W modelu wartość Ulvo ustalona jest na ok. 4,6 V, według wzoru:
Ulvo = 1,19 × (1+ (R1 / R2))
Jeżeli korzystamy z urządzeń podłączonych do portu USB Raspberry Pi Zero, warto próg ustawić nieco wyżej, przykładowo na 4,8 V, zwiększając wartość R1, co zapewni szerszy margines napięcia dla zasilania USB.
Wbudowany komparator Ulvo steruje konfiguracją układu. Jeżeli napięcie na wyprowadzeniu PFI jest wyższe niż wewnętrzny próg 1,19 V, wbudowana przetwornica konfigurowana jest w tryb obniżający i pracuje w funkcji ładowarki akumulatorów. Jednocześnie tranzystor Q1 przekazuje napięcie zasilające V50 na zaciski złącza GPIO. Układ monitorowania napięcia wejściowego ustawia wyjście PFO (U1-20, OD) w stan wysoki. Gdy napięcie zasilania spadnie poniżej 1,19 V, na wyjściu PFO jest ustawiony stan niski i układ przechodzi do trybu podtrzymania zasilania, odcinając wejście zasilania i konfigurując przetwornicę w tryb podwyższający, zasilając się energią zgromadzoną w akumulatorze. Napięcie wyjściowe w trybie podtrzymania ustalone jest dzielnikiem R6, R7 podłączonym do wyprowadzenia RSTFB (U1-10), w modelu wynosi ok. 5,1 V:
Vsys = 0,8 × (1 + (R6 / R7)
Ładowarka akumulatorów pracuje w trybie CC/CV z automatycznym wznawianiem ładowania i ograniczeniem czasu ładowania. Ładowarka w modelu współpracuje z ogniwem Li-Ion, z napięciem końcowym ładowania obniżonym do 4,1 V w celu podniesienia trwałości akumulatora. Wybór typu akumulatora (Li-Ion/LiFePO4) oraz napięcie końcowe ustalane jest wyprowadzeniami F0, F1, F2 (U1-14...12). Prąd ładowania ustalany jest rezystorem R4:
Ichg = 2000 / R3
w modelu wynosi dla R4=3,9 k ok. 500 mA. Dla zapewnienia stabilności ładowarki prąd ładowania nie powinien być niższy niż 500 mA.
Wbudowany timer o ustalonym czasie 4 godz. zabezpiecza ogniwo przed przeładowaniem. Jeżeli w ustalonym czasie nie zostanie osiągnięte napięcie końcowe ładowania, układ wyłączy ładowanie i zasygnalizuje awarię. Podczas doboru pojemności akumulatora i prądu ładowania należy pamiętać o ograniczeniu czasowym. Model współpracuje z ogniwem 18650 o pojemności 1,8 Ah, w przypadku większych pojemności należy zwiększyć prąd ładowania, aby zmieścić się w wyznaczonym czasie, także w najmniej korzystnych warunkach (ładowanie kompletnie rozładowanego akumulatora). Zmiana R4 na 3,3 kΩ zwiększy prąd ładowania do 600 mA, co zapewni ładowanie akumulatorów 2,2 Ah. Zmniejszenie R4 do 2,7 kΩ ustali prąd ładowania na ok. 740 mA, co pozwoli ładować akumulatory 2,6 Ah.
Ładowarka może zostać wyłączona poprzez podanie stanu wysokiego na wyprowadzenie CHGOFF. LTC4040 przystosowany jest do pracy z „głęboko” rozładowanymi akumulatorami. W takim przypadku zostanie rozpoczęta próba ładowania niewielkim prądem (1/8 × Ichg), jeżeli napięcie akumulatora będzie utrzymywać się poniżej 2,85 V dłużej niż 30 minut, układ zasygnalizuje awarię.
Obwód ładowania wyposażony jest w układ kontroli prądu, zabezpieczający źródło zasilania przed przeciążeniem. Prąd wejściowy rozdzielany jest pomiędzy podłączone obciążenie (Raspberry Pi) a ładowarkę. Obwód kontroli prądu mierzy napięcie na rezystorze R3, maksymalna wartość pobieranego przez układ prądu określana jest wzorem:
R3 = 25 mV / Isyslim
Jeżeli obciążenie pobiera chwilowo większy prąd, układ ogranicznika zredukuje prąd ładowania akumulatora tak, aby sumaryczny pobór nie przekroczył ustalonej przez R3 wartości, co ma oczywiście wpływ na czas ładowania akumulatora.
Akumulator podłączony jest do zacisków 1, 2 złącza ACCU. Do współpracy z zasilaczem należy stosować akumulatory z wbudowanym układem zabezpieczeń PCM. Termistor NTC zabezpiecza akumulator przed ładowaniem przy zbyt wysokiej (>40°) lub niskiej (<0°) temperaturze. Układ U1 sygnalizuje przekroczenie progów temperatury NTC. Optymalnym rozwiązaniem jest wbudowanie termistora w ogniwo lub przynajmniej umieszczenie go w bezpośrednim jego sąsiedztwie i podłączenie go pomiędzy masę a zacisk 3 złącza ACCU.
W tym przypadku nie lutujemy termistora na płytce modułu. Na płytce pozostawione jest miejsce na wlutowanie NTC, ale to zdecydowanie gorsze rozwiązanie (lepsze niż brak zabezpieczenia termicznego). Termistor zamontowany na płytce wydłuża czas potrzebny do rozpoczęcia ładowania, po zakończeniu pracy układu w trybie zasilania z akumulatora, gdyż ze względu na niewielkie wymiary modułu nagrzewa się od elementów przetwornicy i Raspberry Pi Zero. W skrajnym i niezalecanym przypadku można NTC zastąpić rezystorem 10 kΩ, rezygnując z zabezpieczenia termicznego.
Układ U1 ma zabezpieczenie ULVO odcinające i zabezpieczające akumulator i przetwornicę przed pracą przy napięciu niższym od 2,45 V. Układ U1 zabezpieczony jest także przed przegrzaniem i po osiągnięciu temperatury struktury 125°C wyłączy się.
Sterowanie i monitorowanie ładowarki zapewnia układ uniwersalnego GPIO dla magistrali I2C, U2 typu PCA9536. Monitorowane są sygnały zaniku zasilania PFO (P0), statusu ładowania FLT (P1), CHG (P2), a sterowany jest sygnał wyłączenia ładowarki CHGE (P3).
Sygnał CHGE może być używany do wyłączenia ładowarki, np. podczas transmisji GSM, gdy obciążenie będzie pobierało impulsowo duży prąd. Znaczenie stanów CHG, FLT zostało pokazane w tabeli 1.
Złącze I2C wyprowadza magistralę Raspberry Pi Zero w standardzie Grove (3,3 V).
Montaż i uruchomienie
Układ jest zmontowany na dwustronnej płytce drukowanej zgodnej z Pi Zero, jej schemat został pokazany na rysunku 3. Montaż układu nie wymaga opisu, należy zadbać jednak o poprawne przylutowanie padów termicznych i o wymycie płytki po lutowaniu. Prawidłowo zmontowany moduł został pokazany na fotografii tytułowej.
Pierwsze uruchomienie warto przeprowadzić z użyciem regulowanego zasilacza laboratoryjnego z ograniczeniem prądowym 0...6 V/3 A, bez wlutowanego układu U2 i wyprowadzeniem U2-5 podłączonym do masy. Do wyjścia V50 należy podłączyć sztuczne obciążenie z ustawionym poborem na 500 mA. Przy wyłączonym obciążeniu i podaniu napięcia zasilania należy sprawdzić napięcie ładowania 4,1 V, a po podłączeniu akumulatora prąd ładowania. Zwiększając prąd obciążenia do 2000 mA, sprawdzamy poprawność rozdziału mocy na ładowarkę i obciążenie.
Zmieniając stan wyprowadzenia U2-5 na wysoki (zwierając z plusem zasilania lub akumulatora), sprawdzamy wyłączenie ładowarki. Po ponownym załączeniu ładowarki sprawdzamy działanie NTC poprzez ogrzanie gorącym powietrzem, po przekroczeniu progu prąd ładowania powinien zostać zmniejszony. Sprawdzenie detekcji uszkodzonego akumulatora może zostać wykonane poprzez podłączenie w jego miejsce dwóch szeregowo połączonych diod 3 A/50 V (anoda do plusa), po odczekaniu 30 minut U1 powinien zasygnalizować uszkodzenie (zbyt niskie napięcie) akumulatora. Stany wyjść OD najlepiej sprawdzać miernikiem w trybie pomiaru diody, niewymagane jest wtedy tymczasowe podwieszenie wyjść do plusa zasilania.
Po wyłączeniu obciążenia i podłączeniu akumulatora przeprowadzamy ładowanie do końca cyklu, sprawdzając miernikiem zmiany stanu CHG, FLT. Gdy wszystko działa poprawnie, wyłączamy układ, odłączamy akumulator i lutujemy U2. Tak zmontowany moduł podłączamy do Pi Zero.
Sterowanie i monitorowanie podłączonego do Pi modułu można sprawdzić, korzystając z narzędzi i2ctools. Układ PCA9536 ma ustalony adres magistrali I2C na 0x41h i cztery rejestry konfiguracyjne (tabela 2).
Obecność U2 na magistrali sprawdzamy poleceniem:
Konfigurację PCA9536 ustawiamy poleceniami:
i2cset -y 1 0x41 0x02 0x00
Odczyt statusu ładowarki możliwy jest poleceniem:
Załączenie ładowarki wykonujemy poleceniem:
Wyłączenie ładowarki:
Jeżeli działa sterowanie programowe, przetestowane zostało sterowanie i sygnalizacja stanów pracy, układu można użyć we własnej aplikacji.
Należy pamiętać, że układ przeznaczony jest do pracy ciągłej i nie ma wyłącznika zasilania i akumulatora. Po włożeniu akumulatora przy braku napięcia zasilającego automatycznie uruchomiana jest przetwornica podwyższająca. Pozostawienie modułu podłączonego do Pi, bez obecności napięcia zasilania układu, pomimo niewielkiego poboru przez sam moduł zasilacza (<0,1 mA), doprowadzi do rozładowania akumulatora poprzez Pi Zero, które w trybie shutdown pobiera ok. 20 mA. Po powrocie zasilania będzie konieczne odczekanie czasu niezbędnego do pełnego naładowania akumulatora. W przypadku planowanych przerw w eksploatacji należy trwale odłączyć akumulator.
Adam Tatuś, EP
- R1: 110 kΩ (SMD0603) 1%
- R2: 39 kΩ (SMD0603) 1%
- R3: 10 mΩ (SMD0805) 1%
- R4: 3,9 kΩ (SMD0603) 1%
- R5, R8, R9: 10 kΩ (SMD0603) 1%
- R6: 1,2 MΩ (SMD0603) 1%
- R7: 220 kΩ (SMD0603) 1%
- C1, C3, C4, C7, C8: 0,1 μF (SMD0603)
- CE1, CE2, CE3: 100 μF/10 V elektrolityczny
- C2: 2,2 μF (SMD0603)
- C5, C6: 10 μF (SMD0603)
- Q1: SIR422DP (POWERPAKSO-8)
- U1: LTC4040EUFD (QFN24_050UDF)
- U2: PCA9536D (SO8)
- ACCU: CONN (DG381-3.5-3) złącze DG 3 pin
- GPIO: GPIO (IDC40) złącze żeńskie IDC40
- L1: 2,2 μH (HPI0640) HPI0640-2R2
- NTC: 10k (SMD0603) termistor NTC
- PWR: CONN (DG381-3.5-2) złącze DG 2 pin