Możemy kontynuować, zatem poniżej kolejny odcinek przydługawej powieści, pod tytułem "co mamy na schemacie i dlaczego"
Na początku wyjaśnienie. Elementy naniesione na schemacie mają oznaczenia wartości zgodne z nomenklaturą sklepu wysyłkowego
www.seguro.pl Bardzo lubię robić u nich zakupy - to solidna i szybka firma. W chwili obecnej trzeba brać poprawkę na strajkującą poczte, jednakże przy normalnym układzie dziś zamówiony u nich towar w 90% przypadków następnego dnia mam u siebie na biurku, zatem czego chciec więcej

.
Zaznaczyć należy że niektóre elementy sprzedawane są w liczbie minimalnej 10sztuk, aczkolwiek nie są to drogie rzeczy, wiec mimo że czasem potrzeba do budowy urządzenia 3 sztuk danego elementu- musimy kupić 10, ale te 10 to koszt np 0,52zł wiec mozna to przeboleć. Zresztą można sie umówić z kolegami i porozsyłać sobie nadwyżki ale uważam że nie zaszkodzi mieć jakiś "magazyn" - "w razie czego"
W każdym razie zrobie wykaz na koniec ile czego trzeba mieć.
Do rzeczy. Na schemacie mamy całe urządzenie, oprócz bezpiecznika, który umieścimy w specjalnej oprawce i przykręcimy na tyle obudowy, żeby można było go łatwo wymienić w razie awarii.
Najważniejszym elementem całego układu jest mikroprocesor. Wybrałem układ ATMEL ATMega16 w obudowie DIP32. Mocny procesor z dużą pamięcią, nie wymagający ode mnie skomplikowaych zabiegów programistycznych

. Zauważcie że budujemy "Lajona", a w lajonei procesor jest o "połowe" mniejszy - poco nam taka kobyła ?? Ano po to że łatwiej mi było narysować pod niego płytke (miałem podobną już opracowaną) no i ponieważ ma dużo pamięci nie musze pisząc program pilnować sie na kazym kroku i oszczędzać pamięć - no i mogłem skopiować procedury z większego Skalara. Wiem leniwy jestem, ale dzieki temu uniknąłem sporej roboty a że koszt bedzie wiekszy o około 4zł myśle że przebolejemy ?? Zgodnie z życzeniem Piotra - procesor w obudowie do montażu przewlekanego - łatwiej polutować
Każdy procesor pracuje z jakimś zegarem. Np w komputerach mówi się że mamy procesor z zegarem 1GHz ... Nasz bedzie miał zegar 8MHz. Po co to ? Zegar dla procesora jest jak grubas walący w bęben na galerze. Grubas wali w bęben, a w rytm jego uderzeń niewolnicy machają wiosłami. W naszym przypadku zegar podaje takt - a w rytmie tego taktu procesor wykonuje pojedyńcze komendy oprogramowania jakie mu wpisaliśmy do pamięci. Nasz zegar wali zatem całkiem szybko - biedny procek wykonuje 8 milionów polecen na sekundę. Całkiem całkiem co ??

Zegar w naszym układzie tworzą elemety Q1 - Rezonator Kwarcowy, oraz C5 i C6 - czyli 2 kondensatorki.
C7 i L1 to kondensator i dławik - czyli układ 2 elemntów który eliminuje zakłócenia jakie mogłyby się wkradnąć przez linie zasilania do przetwornika ADC naszego procesora. To ważne - pamiętacie że ADC mierzy wartość napięcia które odzwierciedla wartość pH mierzonego przez moduł pHmetru? Zatem jeżeli tu pojawią się jakieś zakłócenia, pomiar bedzie zafałszowany i w rezultacie mamy błędnie odczytane pH. Całkowicie sie tego nie da wyeliminować sprzętowo - coś może zakłócić pomiar ZAWSZE. Ale pisząc odpowiedni program, możemy założyć że pH w akwarium nie może sie zmienić gwałtownie, np o kilka stopni ciągu sekundy, wiec jesli zaszło takie zdarzenie mamy podstawy sądzić że to wynik jakichś zakłóceń, więc dla pewności zlecimy ponowienie pomiaru. Dysponujemy tu potęzną bronią programową - ale mimo to takie zabezpieczenie sprzętowe również zamontujemy.
C9 również maza zadanie eliminować zakłócenia zasilania, które mogłyby spowodować nawet zawieszenie procesora.
C8 to kondensator bardzo ważny - odpowiada za stabilność pomiaru napięcia przez przetwornik ADC. Dobrze jest jeśli ten kondensator to kondensator tzw. niskoupływny, jak zauważycie taki został użyty (ma inne oznaczenie niż np C9 mimo że ma taką samą pojemność)
R3 to rezystor konieczny do wykonania procedury resetu procesora. Co to reset wiecie - jak komputer sie zawiesi klikamy klawisz reset i startuje od nowa. Tu reset odbywa się przy każdym uruchomieniu sterownika (włączeniu zasilania) no i w czasie programowania pamięci. Rezystorek jest zatem niezbędny i nie ma co się mu wiecej poświecać
Z drugiej strony, do nóżek 33-38 procesora mamy podłączony wyświetlacz LCD. Wyświetlacz posłuży do prezentacji pomiaru i obsługi sterownika. Potencjometr PT6V obecny w pobliżu złącza wyświetlacza - posłuży do regulacji kontrastu wyświetlacza.
Do nóżek 5-8 procesora podłączyłem 4 przyciskową klawiaturę. Każdy klawisz bedzie realizował inną funkcję (+,-,ENTER,ESC) jak sie tym posługiwać opiszę po publikacji oprogramowania. Złącze klawiatury ma dwugą funkcję. Zamiast klawiszy, bedzie można tam podpiąć przy pomocy portu LPT komputer PC. Oczywiście nie chodzi tu o jakiś monitoring czy wspołprace - przy pomocy komputera i tego złącza bedzie można wgrać lub wymienić oprogramowanie sterownika. Wystarczy odpowiedni kabel który również zademonstruje.
Pin 20 procesora będzie zasilał "brzęczyk" - znaczy generatorek który bedzie robił hałas gdy pH osiągnie niepożądany poziom. Brzęczyk to SG1. rezystor między procesorem a brzęczykiem służy do ograniczenia prądu jaki pobiera brzęczyk do wartości jaka nie zaszkodzi procesorkowi.
Budowe i działanie modułu pH znacie - do procesora podłaczone jest wyjście modułu. Sygnał trafia na noge nr 40 - czyli 1wsze wejście (ADC0) przetwornika ADC. Jak widzicie reszta wejść ADC jest użyta do sterowania wyświetlaczem, Z reguły w procesorach każdy z pinów pełni kilka funkcji, w naszym przypadku zrezygnowaliśmy z możliwości pomiarów napięć przez te piny i zdefiniowaliśmy je jako sterujące wyświetlaczem - niczemu to nie przeszkadza.
Pozostało wyjście do sterowania zaworem... Z pinu nr 22 idzie sygnał który powoduje zadziałanie kilku rzeczy. Pamiętacie co napisałem wczesniej o sterowaniu stanem niskim? Otóż tu została ta zasada zachowana. Jeżeli pin 22 jest w stanie wysokim - nic sie nie dzieje, ale jesli procesor ustawi go w stan niski... Zapali się kontrolka LED2, optotriak MOC3041 wyzwoli TriakBT136, który z kolei zacznie przewodzić i napięcie 230V ze złącza 230IN popłynie do złącza CO1. taki stan przewodzenia utzryma się tak długo jak długo pin22 bedzie w stanie niskim.
Dlaczego sterowanie zrobiłem na 230V? jest wiele osób które używa zaworów na 230V od spawarek i byłyby poszkodowane gdybym sterowanie zrobił przekaźnikiem jak zaprezentowałem to wczesniej. Osoby posiadające zawór na mniejsze napiecie - nie mają problemu - podłączą do gniazda odpowiedni mały zasilacz po kłopocie.
Inna ważna sprawa to zakłócenia - pisałem że przekaźnik potrafi wygenerować cewką impuls, który może zaszkodzić sterującemu nim tranzystorowi. Istenieje na to sposób, ale istnieje i również ryzyko że ten impuls zawiesi uProcesor. Dlatego po przemyśleniu jednak zadecydowałem o takim rozwiązaniu.
Z uwagi na powyższe urządzenie zostało wyposażone we własny zasilacz sieciowy - tworzą go pozostałe nie omówione elementy widoczne na schemacie. Zasilanie 230V trafia na transformator, tam ulega obniżeniu do około 9V, wyprostowaniu (prąd przemienny konwertowany jest na stały) na mostku B1 ulega wygładzeniu na kondensatorach C1 i C2, dalej ulega obniżeniu do 5V niezbędnych dla procesora (w układzie ztabilizatora 7805) i takie już trafia do reszty podzespołów. Dioda świecąca LED1 i niezbędny do jej działania R2 tworzą układzik który informuje o tym że urządzenie jest prawidłowo zasilane.
I to by było na tyle - pozostało już tylko wgrać oprogramowanie, i zrobić jakąś ładną obudowe....