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.
 
											 
                            
                            
                            
                    
                     
                            
                            
                            
                    
                     
                
                
                
                
                                         
                
                
                
                
                                         
                
                
                
                
                                         
                            
                            
                            
                    
                     
                
                
                
                
                                         
                
                
                
                
                                         
                
                
                
                
                                         
                
                
                
                
                                         
                
                
                
                
                                         
                
                
                
                
                                         
                
                
                
                
                                         
                
                
                
                
                                         
                
                
                
                
                                        