Spis treści

 

Wszystko działało bez zarzutu aż do momentu sprawdzania jak układ zachowa się po zaniku zasilania. Zapisałem więc pamięć i wyłączyłem układ na noc. Rano okazało się że bateria jest całkowicie rozładowana a pamięć, rzecz jasna skasowana. Co się okazało? po wyłączeniu układu, pamięć pobierała z baterii prąd o wartości 1,6 mA więc nic dziwnego, że bateria padła.


Rys. 24 Pomiar prądu pobieranego przez pamięć po zaniku zasilania.

Zacząłem zastanawiać się dlaczego tak się dzieje skoro w karcie katalogowej zapisany był pobór prądu spoczynkowego na poziomie pojedynczych ľA. Po wielu próbach okazało się, że układ pobiera taki znikomy prąd ale tylko wtedy jeżeli stan na linii CS jest wysoki a po wyłączeniu mikrokontrolera stan był niski. Połączyłem więc ręcznie CS do baterii podtrzymującej i wartość prądu spadła ale jeszcze nie wystarczająco do wartości katalogowej.

Fot. 25 Pobór prądu przez pamięć po podciągnięciu pinu CS.

Problem tkwił jeszcze w rezystorze dzielnika napięcia R4 przez który prąd z baterii wypływał do masy po ręcznym podłączeniu CS do baterii. Dłuższą chwilę nad tym myślałem aż wpadłem na pomysł zastosowania małego przekaźnika K1. Na schemacie możecie Państwo zobaczyć jak w prosty sposób problem można było rozwiązać. Otóż cewkę przekaźnika połączyłem bezpośrednio z zasilaniem co powodowało, że po włączeniu urządzenia styki od razu się przełączały. Teraz wejście CS pamięci poprzez rezystor R3 dzielnika napięcia połączyłem ze złączem P2 przekaźnika K1. Jego złącze spoczynkowe O2 połączyłem z dodatnim biegunem baterii a S2 do portu mikrokontrolera.

Teraz jeśli układ jest wyłączony to złącze CS zawsze będzie podciągnięte do zasilania układu i będzie w stanie spoczynku, natomiast po włączeniu zasilania przełączy się na port PA.1 mikrokontrolera, który już będzie nim zarządzał. Pozostał jeszcze problem upływu prądu z baterii poprzez rezystor R4 dzielnika gdy podciągniemy CS do +. W przekaźniku mamy jeszcze jeden komplet styków więc pin CS poprzez rezystor R4 połączyłem ze złączem P1 przekaźnika a złącze S1 do masy, O1 pozostało niepodłączone. Zabieg ten sprawia, że w stanie spoczynku rezystor rozdzielony jest od masy i prąd przez niego nie wypływa. Dopiero po włączeniu zasilania pin jest zwierany do masy układu.

Proste rozwiązanie i jakże skuteczne, zdjęcie nr 26 pokazuje pobór prądu przez RAM w stanie spoczynku po zastosowaniu przekaźnika. Wynosi on tylko 1,6 ľA i może zapewnić podtrzymanie pamięci całymi tygodniami przy całkowicie naładowanej baterii.

Fot. 26 Znikomy prąd pobierany przez Pamięć po zaniku zasilania i zastosowaniu przekaźnika.

Szczegółów dotyczących obsługi pamięci już w produkcyjnej wersji oprogramowania nie będę w tym miejscu opisywał bo trudno jest to zrobić w oderwaniu od całości programu. Postaram się kod, który stanowi załącznik do opracowania wzbogacić bardzo rozbudowanymi komentarzami dzięki czemu każdy fragment będzie można zrozumieć.

Na schemacie znajduje się jeszcze układ MAX 232, który odpowiedzialny jest za konwertowanie sygnału z UART mikrokontrolera do standardu RS-232 tak, by można go było odebrać przez komputer PC.

Fot. 27 Połaczenie mikrokontrolera z komputerem PC za pośrednictwen interfejsu RS-232 - odbiór danych w terminalu.

Jest też pokazany schemat połączeń wyświetlacza LCD, złącza ISP, czujnika ciśnienia do przetwornika A/C, buzzera oraz złączy do przyłączenia panelu operatorskiego. Jest też pokazany układ OK1, jest to transoptor, który będzie odpowiedzialny za sterowanie opisanym wcześniej zaworem trójdrogowym, zasilanym napięciem 230 V. Do jego sterowania postanowiłem wykorzystać przekaźnik z cewką zasilaną napięciem 5 V. By nie uszkodzić portu mikrokontrolera napięciem samoindukcji cewki zastosowałem wspomniany transoptor wraz z tranzystorem T2, wyjście PZ będzie służyło do przyłączenia cewki przekaźnika, która znajdzie się w module zasilania opisanym w dalszej części. Przeznaczenie złącz Sl 1 do sl4 można rozpoznać analizując kod programu. Trudno w opisie układu mikroprocesorowego wszystko dokładnie przedstawić, bo opis taki musiał by być naprawdę długi. W każdym bądź razie w trakcie prac na płytce stykowej cały układ jak i program dla mikrokontrolera ulegał ciągłej rozbudowie o nowe funkcje, jak widać na zdjęciu nr 28 na początku klawiatura, wyświetlacz i wszystkie diody również łączone były na pająka.

Fot 28 Ukłąd miernika zmontowany na płytce prototypowej.

Po wykonaniu panelu operatorskiego, układ zaczął już nabierać wyglądu i mogłem wreszcie zacząć tworzyć menu i w prosty sposób je testować jak i całe oprogramowanie sterujące urządzeniem bez ciągłych awarii i szukaniu w Goszczu przewodów tego, który właśnie się wysunął.

Fot 29 Przyłaczenie gotowego panelu operatorskiego do płytki prototypowej.

Choć i ta plątanina ze zdjęcia nr 29 nie była bezawaryjna, praktycznie w takiej formie udało mi się napisać większą część oprogramowania dla urządzenia, w międzyczasie projektując płytki w programie Eagle. Napisałem płytki, bo jak widać cały czas korzystam z zasilacza laboratoryjnego a w urządzeniu docelowym było by to raczej mocno nie praktyczne. Drugi obwód drukowany, jaki powstał na potrzeby tego projektu zawierał dwa niezależne zasilacze o napięciach: stabilizowane 5 V dla całego układu, który przedstawiłem powyżej oraz 35 V niestabilizowane dla układu sterownika silnika krokowego.