czwartek, 20 września 2012

Sterowanie


Atmega jednym portem komunikuje sie (czasem jest jakis problem :D ) z praktycznie nieograniczona ilością cyfrowych, adresowalnych czujników tempratury dallas - a warto miec ich dużo w pompie ciepła :D Tutaj do każdego pomiaru temperatury oddzielny analog. Albo drogo albo się ograniczasz. Moim zdaniem nie warto.
Czytam i rejestruje następujące temperatury klimatyzacji:
parowanie, przegrzanie parownikiem i za ekonomizerem, za sprężarką, za skraplaczem, za ekonomizerem, zasilanie i powrót DZ,zasialnie i powrót wody z PCi, zasilanie i powrót wody z c.o., temparatura ciepłej wody, temperatura góry i dołu zasobnika, temperatura zewnętrzna, temparatura pomieszczenia. Atmele lubią się resetować podczas zakłóceń w obwodach zasilania, typowym przykładem są resety przy załączaniu/wyłączaniu lutownicy transformatorowej zasilanej z tego samego gniazdka. Trzeba starannie blokować kondesatorami ceramicznymi (100nF) zasilanie przy samym procku. Bezwzględnie trzeba też podciągnąć nóżkę resetu do Vcc (10k) i wstawić kondensator do masy (1...10uF). Jeśli używasz programatora SPI dołączanego do portu LPT - pecet okresowo coś sprawdza na tym porcie i jeśli kabelek jest podłączony reset'uje w tym czasie atmelka. nie spotkałem się z przypadkowym zawieszaniem atmelków, zwykle zwiecha jest wtedy kiedy program "idzie w las", szczególnie w przypadku pisania w C - język jest bardzo elastyczny i umożliwia praktycznie pełną kontrolę nad procesorem ale wymaga od programisty samodyscypliny i czujności. cyt. "nawet jeśli Twój program nie steruje lotem samolotu zawsze warto włączyć WATCH-DOG'a ", pompy ciepła woda/woda z zabezpieczeniami na mikroprocesorze nie odważyłbym się zostawić samej sobie bez watch-doga. ale juz na etapie czytania 15 temperatur miałem problemy ze zwieszaniem się , nie miałem odwagi polegać na tak niepewnym urządzeniu , ale faktycznie nie pomyslałem że przyczyną było byc może załączanie się sprężarki.  A może innego domowego sprzętu . Decyzja była tym łatwiejsza że i tak pompa pracowała na regulatorze kotłowym. Rejestrację zrobiłem ze starym notebookiem za 10 zł + dallasy i jest pięknie. Jak sie jakoś zmobilizuję to udostępnie moje dzieło on line.
Do sterowania klimatyzacji wystarczy mi pomiar temperatury powrotu c.o. , zasobnika, zewnętrznej i pomieszczenia - a to daje każdy tani regulator pogodowy. Tylko satysfakcja nieco umniejszona. ja mam 16 termometrów na jednym porcie
program główny pracuje z okresem 100ms, ze względu na dość długi czas odpytywania pojedyńczego czujnika (ok. 11ms) w każdym okresie odpytuje max 2 czujniki, w ciągu 20 cykli:
-2 razy (co 1s) odpytuje czujniki temp parowania i na powrocie DZ,
-1 raz (co 2s) pozostałe
dodatkowo wprowadziłem wykrywanie niesprawności czujników:
- 2 kolejne błędy odczytu kluczowych czujników (parowanie i zrzut DZ) skutkują awaryjnym wyłączeniem sprężąrki,
- 5 kolejnych błędów odczytu innych czujników wpływających na pracę regulatorów i zabezpieczeń również skutkuje awaryjnym wyłączeniem sprężąrki,
- niesprawność czujników klimatyzacji "informacyjnych" powoduje sygnalizację
program jest tak skonstruowany, że żadne urządzenia peryferyjne (nawet niesprawne) nie mogą zatrzymać pracy głównej pętli programu - a gdyby nawet coś poszło nie tak zaplanowałem - pies zgłodnieje po ok. 1,5s

Brak komentarzy:

Prześlij komentarz