
Od dłuższego czasu "chodził za mną" zasilacz. Przy czym mialem pewne wątpliwości, szczegolnie, że nie chciałem aby to był kolejny identyczny. Wolałem konstrukcję, która będzie posiadać pewne błędy, a przy których usuwaniu i wykrywaniu się czegoś nowego nauczę. Częścią moich wątpliwości podzieliłem się w wątku: https://www.elektroda.pl/rtvforum/topic1357980.html
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zasilacz



Sercem zasilacza jest stabilizator liniowy regulowany LM317 z tranzystorem wykonawczym:

Zarówno LM317 jak i BD912 są umiejscowione tuż obok drugiego i chlodzą się na tym samym radiatorze. Powoduje to, że układ jest bardzo odporny na przegrzanie. Podczas testów z wyłączonym wentylatorem zasilacz po prostu zmniejszał napięcie na wyjściu, a więc działał dokłądnie tak jakby działał, gdyby tylko sam LM317 był zamontowany. Aby móc zrobić działające ograniczenie prądowe, potrzebowałem jakieś napięcie ujemne. O ograniczeniu prądowym moge powiedzieć, że działa i to dość ładnie, a przy obciążeniu halogenami 12V stabilizuje prąd. Za pomocą przełącznika zmieniam rezystor ograniczający.


Pomysłem na uzyskanie napięcia ujemnego było wykorzystanie pompy ładunku:

Wg zaciągniętych opinia powinna działać, wg symulacji w LTSpice miała działać znakomicie. A życie jest brutalne i nie działała. Efekt był taki, że paliły się tranzystory. Ciężko jest mi powiedzieć czy było to spowodowane dużymi pojemnościami, czy jakimiś błędami zalożeniowymi lub stanami nieokreślonymi. Być może komuś się uda to wykonać (lub zrobic do zasilacza impulsowy przetwornik). Ja dałem 2 paluszki R6 (po 1zł/sztuka), które powinny starczyć na kilkaset godzin ograniczania prądu i kilka tysięcy godzin normalnej pracy. W programie sterującym sygnał PWM jest uruchomiony, a jedynie ścieżka jest rozcięta.
Do zasilenia calosci wykorzystałem transformator 50VA/12V, w kórym udało m isię rozlutowac końcówki uzyskując niezależne 2x12V,2x2A, stąd też postanowiłem na przekaźniku przełączać pomiędzy połączeniem szeregowym a równoległym. Ma to na celu po pierwsze zmniejszenie mocy strat przy niższych napieciach oraz umożliwienie uzyskania przy niższych napięciach, większego prądu. Obrazuje to schemat:

Domyślnym trybem przy zasosowanym przekaźniku jest połączenie równoległe. Duża pojemność wejsciowa powoduje, że bezpiecznik 0.5A może (ale nie musi) się przepalić przy uruchomieniu, szczególnie jeśli "nie trafimy w fazę" i transformator chwilowo będzie pobierał duży prąd. Zalecam bezpiecznik 1A lub ograniczenie za pomocą przełączanego rezystora na wejsciu prądu.
Na schemacie widać również oddzielne zasilanie wentylatora (nie widać kondensatora, któy jednakze został wlutowany w wolnym miejscu na płytce i o którym należy pamiętać!).
Wentylator jest załączany za pomocą czujnika temperatury wykonanego z diody, kilku rezystorów i wzmacniacza (pracujacego jako komparator). Wykorzystuję zjawisko spadku napięcia na złączu półprzewodnikowym wraz ze wrostem temperatury. Zjawisko można przetestować we własnej kuchni: lutujemy szeregowo rezystor (dużej wartości) i diodę, zasilamy (np. z 5V) a następnie cały czas mierząc spadek napięcia miernikiem, wkładamy do gorącej wody. Różnica spadków napięć w różnych temperaturach jest tak duża i zarazem napiecie jest tak stabilne, że z powodzeniem można w ten sposób diodę wykorzystać jako czujnik. Wadą rozwiązania jest to, że w tej samej temperaturze 2 diody z tej samej taśmy mogą mieć spadki różniące się nawet o 5-10mV, dlateo też trzeba oddzielnie kalibrować. Schemat czujnika załączam poniżej:

Poniżej zamieszczam również schematy:


Inne napotkane problemy: zastosowany wyświetlacz ma podświetlenie zasilane z tych samych pinów co elektronikę. Jest to o tyle niefortunne, że podświetlenie bierze 100-120mA, co powoduje, że stabilizator się potwornie grzeje (docelowo miał być zasilany pwm 12V, 50%), przez co musiałem obniżyć próg zadziałania czujnika temperatury. Oprócz tego numeracja nóżek tranzystorów bc847 w dokumentacji jest inna niż numeracja obudowy SOT-23 w protelu, przez co musiały one zostać wlutowane do góry nogami.
Miernik z wyświetlaczem LCD

Poza niefortunnym, opisanym już, generatorem napięcia ujemnego, jestem z tej części zasilacza w pełni zadowolony. Celem było stworzenie miernika mającego wysoką funkcjonalność. Mianowicie miał on wyświetlać:
- napięcie
- prąd
- moc przekazywaną do obciążenia (w W)
- energię przekazaną do obciążenia (w Wh)
- ładunek przekazany do obciążenia (w Ah)
- opór opciążenia (w Ohmach)
- typ ogniwa (w trybie ładowarki)
- stopień naładowania ogniwa (w trybie ładowarki, na bargrafie)
- tracona moc (w trybie zasilacza, na bargrafie)
oraz w pewnym stopniu móc komunikować się z komputerem.
Poniżej schemat panelu:

Do komunikacji z komputerem było potrzebne złącze DSUB9, natomiast aby uzyskać sygnał zgodny z odwrotną logiką rs232 zastosowałem tranzystory zamiast max232. uprościło to konstrukcję, zmniejszylo koszt oraz umożliwiło ew. bardzo szybkie transfery (nawet BAUD 250k). Działa z popularną, tanią przejściówką USB-rs232 Profilic. Do wykrywania, który rezystor ograniczający jest podłączony wykorzystałem przełączany dzielnik napięcia, które to napięcie jest mierzone przez przetwornik ADC. Biblioteka sterująca wyświetlaczem LCD powstała na bazie biblioteki dostępnej pod adresem http://radzio.dxp.pl/hd44780/, jednakże z wieloma modyfikacjami, rozbudową i zmianami, nie wiem ile zostało z oryginalnej biblioteki, ale fakt faktem, korzystałem z niej. Przede wszystkim dodałem wyświetlanie liczb, w tym z miejscami po przecinku.
Są dostępne 2 tryby: zasilacza oraz ładowarki. Pierwszy tryb jest domyślnym, aby uruchomić drugi należy podczas resetowania (górny przycisk na panelu) nacisnąć przycisk podłączony do PB2 (dolny przycisk). Za pomocą drugiego przycisku zmieniamy ustawienia (czyli co akurat wyświetlamy).
Dla trybu pierwszego wyświetlamy:
0 - ładunek(Ah), energia(Wh)
1 - moc(W), energia(Wh)
2 - moc(W), opór elektryczny (Ohm)
Dla trybu drugiego wybieramy typ ogniwa (pakietu ogniw) wg którego będzie pokazywany wskaźnik ładowania (na bargrafie). I tak:
0 - 4.2V NiMH
1 - 4.2V LiIon
2 - 5.6V (NiMH, NiCd)
3 - 7V
4 - 7.2V (ołowiowy)
5 - 8.4V (NiMH)
6 - 8.4 (LiIon)
7 - 9.8V
8 - 11.2V
9 - 12.6V (NiMH)
10 - 12.6 (LiIon)
11 - 14V
12 - 14.4V (ołowiowy)
13 - 16.8V (Li Ion)
14 - 21V (LiIon)
15 - 25.2V (LiIon)
Przyjąłem napięcie 1.4V na jedno ogniwo NiMH, 4.2V dla LiIon oraz 7.2 i 14.4 dla kwasowych. Jako napięcie minimalne dla ogniw NiMH przyjąłem 1V, dla LiIon 3.2V, dla kwasowych 6V i 12V. Podczas zmiany napięcia typ ogniwa jest automatycznie dopasowywany, aby nie trzeba się było przeklikowywać przez 15 pozycji, tylko góra 3-4.
Wskaźnik jest zapalany wg. algorytmu:
przedz_aku = max_aku - min_aku;
ladowanie = U - min_aku;
proc_lad = ladowanie/(przedz_aku/100);
switch(bar)
{
case 1: if (proc_lad > 15) { bar11 } break;
case 2: if (proc_lad > 30) { bar11 bar21 }break;
case 3: if (proc_lad > 45) { bar11 bar21 bar31 } break;
case 4: if (proc_lad > 58) { bar12 } break;
case 5: if (proc_lad > 69) { bar12 bar22 }break;
case 6: if (proc_lad > 78) { bar12 bar22 bar32 } break;
case 7: if ( (proc_lad > 85) && (I<500) ) { bar13 } break;
case 8: if ( (proc_lad > 90) && (I<100) ) { bar13 bar23 }break;
case 9: if ( (proc_lad > 95) && (I<50) ) { bar13 bar23 bar33 } break;
}
bar = bar%9 +1;
Jak widać wzrost nie jest proporcjonalny, oraz uwzględnia spadek prądu ładowania pod koniec ładowania. Poza tym podczas ładowania jest wyświetlany przekazany ładunek (w Ah).
Poniższe 2 obrazki przedstawiają automatyczne przełączanie się ustawienia aumulatorów:


Zmiana trybów:

Oraz działanie komunikacji z komputerem (screen z hyperterminala)

Na zmianę wysyła aktualne napięcie i prąd (w ASCII) oraz napięcie, prąd, wysłany łądunek oraz aktualne ustawienia i tryb (w formie bitowej). Reaguje na 4 polecenia:
'a' - zmień tryb na ładowarkę
's' - zmień tryb na zasilacz
'z' - zmień ustawienie +1
'x' - zmień ustawienie -1
Dane są wysyłane raz na sekundę. Samo odmierzanie czasu jest zrealizowane na timerze.
Różne tryby są przedstawione na zdjęciach poniżej:




Cennik:
- transformator: 30zł (używany z Allegro, z przesyłką)
- obudowa: ~10zł (nie pamiętam jaki typ)
- wyświetlacz LCD: 10zł
- bargraf: 1.50zł
- ATmega8: 5zł
- kondensatory, indukcyjności i rezystory: może 5zł
- część kosztów wysyłki za elektronikę: <5zł
- 4 potencjometry z metalową ośką (2x1k i 2x10k): 18zł
- 4 gałki: 6zł
- gniazda bananowe, DC, dsub, goldpiny: <5zł
- włącznik AC 230V: z zepsutej listwy, normalnie 1.5-2zł
- przełącznik podwójny: 1.5zł
- przekaźnik jrc, 5V cewka, styki 2A, podwójny: 2.25zł
- laminat miedziany, szklano-epoksydowy: <4zł
- trochę wytrawiacza: <1zł
- tranzystory i stabilizatory: w sumie <5zł
- trochę przewodów: <3zł
I to chyba wszystko. W sumie: około 100-110zł oraz sporo czasu.
Zamieszczam pliki potrzebne do wykonania zasilacza. zas_podst.rar zawiera pliki pfdobu stron płytki zasilacza oraz schemat w formie .png, pan_podst.rar analogicznie dla panelu. Osoby chcące zrobić ten zasilacz mogą z tych plików skorzystać, ale musza pamiętać o uwagach, które zamieściłem. Dla osób chcących się oprzeć oraz przerobić, zamieszczam pozostałe pliki, oddzielnie abya każdy mógł ściągnąć tylko to czego nie ma lub nie wie jak zrobić.
Cool? Ranking DIY