Elektroda.pl
Elektroda.pl
X
BotlandBotland
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino)

MICHALXC2 19 Cze 2019 21:53 2643 3
  • Witam
    Chciałbym zaprezentować projekt latarki, (rozwinięcie mojej poprzedniej konstrukcji https://www.elektroda.pl/rtvforum/topic3517662.html ), oparty na Atmega328pb kompilowany pod arduino.
    W tej wersji są także 2 cree xm-l zasilane max 2A z 2 ncr18650b (PANASONIC 3400mAh), połączonych równolegle. Obudowa o wymiarach 50x30x97 wycięta z alu profilu. Obudowa jest stale przymocowana do obejmy 31,8mm (do kierownicy). Diody są przymocowane do kawałka blachy alu 5mm wciśniętego do profilu. Płytka główna i płytka z diodami wykonana przez jlcpcb. Żeby trochę zaoszczędzić zaprojektowałem wszystko jako jedną płytkę co później przeciąłem. Niestety nie zrobiłem zdjęć płytki z elementami
    Część analogowa to przetwornica step-up na max668, która podnosi napięcie baterii (2,75V-4,2V), zasilając ledy stałym prądem, zależnym od trybu. W kolejności jest to 0,5A; 2A; 1A. Ograniczenie prądu jest realizowane za pomocą Op Ampa, który mierzy napięcie odniesienia na boczniku, wzmacnia je i podaje na pin feedback przetwornicy. Poza tym jest tu ograniczenie przed nadmierym rozładowaniem baterii, w programie uC. Jest także Mosfet na wyjściu przetwornicy do fizycznego odłączenia LEDów. Chciałem wykorzystać ściemnianie pwm (200Hz), jednak zakłócało to pracę przetwornicy, dlatego musiałem zastosować wybieranie trybów przez dołączenie różnych rezystorów do feedbacku Op Ampa (Zmianę wzmocnienia spadku na boczniku) . Mosfet dalej się przydał do migania Ledów w trybie bardzo niskiego zużycia energii. Dodałem pewny wskaźnik rozładowania baterii do tego projektu, na tej zasadzie:

    Jeśli Vbat >3,75 - oba LEDy świecą
    (3,56 ; 3,75) - zielona LED miga, czerwony świeci
    (3,4 ; 3,56) - oba migają
    (3,25 ; 3,4) - zielony nie świeci, czerwony miga
    <3,25 - nic nie świeci
    Wiem, że w internecie jest dużo przykładów takich programów jednak wszystkie opierają się na podzieleniu napięcia pracy baterii na pewne etapy i przyporządkowywaniu tym etapom poszczególnych wskazań. Jednak tu pojawia się problem gdy obciążenie baterii to nie rezystor tylko np jakaś przetwornica, lub cokolwiek co zmienia pobór prądu w niedużym zakresie. Gdy wykorzystamy tego typu program, zacznie on "głupieć" jaki stan baterii pokazać, gdy bateria będzie miała "graniczną" wartość napięcia dla dwóch trybów. Dlatego chciałbym te tryby wskazywania wybierać z pewną histerezą. Np gdy bateria rozładowując się wchodzi do jakiegoś trybu, musi przekroczyć większą wartość napięcia, aby wyjść z tego trybu. Dlatego w swoim programie przydzielam w setupie wstępnie tryb. W tym programie takim właściwym setupem jest fragment po przerwaniu. Podobnie zostało zrobione przejście do słabszego trybu, gdy bateria się rozładowuje. Gdy Vbat spadnie poniżej 3,03V na 1 sek lub uC wykryje zbyt wysoką temperaturę na przetwornicy, przełącza do prądu 0,5A i nie da się zmienić tego trybu dopóki temperatura nie spadnie lub Vbat nie przekroczy 3,6V na 1 sek. Gdy napięcie baterii spadnie <2,85V uC przełącza do trybu migania z 0,5A (powrót podobnie >3,6V). Gdy Vbat spadnie <2,75V na 2,5sek uC wyłącza przetwornicę i zasypia. Aby zmienić tryb w dowolnym momencie należy nacisnąc przycisk, a aby wyłączyć - przytrzymać na 2 sek. Aby włączyć ponownie wystarczy nacisnąć. Ładowanie z usb realizują 2 układy tp4056, który wyjścia są połączone równolegle, aby zwiększyć prąd ładowania do 2A. Jest to podobna konstrukcja do tych, które można znaleźć w Chinach.

    Poprawiłbym tylko ten wskaźnik rozładowania bo pomimo opisanych zabiegów nadal trochę "głupieje". Chyba najlepiej by było zrobić to przez pomiar pojemności baterii, a wyłączenie zostawić zależne od napięcia. Lub dodać jakiś układ typu gas gauge połączony z uC. Poza tym chciałbym jednak przejść na sterowanie jasnością przez PWM, bo daje możliwość to trybu ściemniania i rozjaśniania diod, jednak to wymagałoby zastosowania innego układu przetwornicy, który nadałby się do tej aplikacji, a wcale tak dużo ich nie ma...

    Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino) Latarka 12,2W 2 Cree xm-l 2A , 2 x18650 z Atmega (Arduino)

    Fajne! Ranking DIY
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
    O autorze
    MICHALXC2
    Poziom 4  
    Offline 
    MICHALXC2 napisał 43 postów o ocenie 28, pomógł 0 razy. Jest z nami od 2017 roku.
  • BotlandBotland
  • #2
    Użytkownik usunął konto
    Poziom 1  
  • BotlandBotland
  • #4
    SylwekK
    Poziom 31  
    Trochę to oświetlenie przekombinowane wg mnie; dodatkowa przetwornica, podczas gdy masz tyle niewykorzystanych zasobów w postaci m328? Pomysł na przyszłość leży w temacie:
    https://www.elektroda.pl/rtvforum/topic2476512.html

    Nawet na Tiny13 można bez problemu wykonać przetwornice z dimerami i kontrolą napięcia.
    Schemat, który tam zamieściłem - w Twoim przypadku wymagałby właściwie kosmetyki.
    Pisze to dlatego, że jestem zwolennikiem minimalizacji. Czym mniej elementów/bloków, tym mniej do popsucia, więc zwiększenia niezawodności.