Jakiś czas temu zepsuł mi się w domu wentylator łazienkowy. Najprostszą rzeczą wiadomo było by kupić nowy co i pewnie by wyszło taniej licząc czas spędzony na projektowaniu, pisaniu programu, trawieniu płytki i wszystkiego co jak wiadomo wiąże się ze zrobieniem działającego urządzenia elektronicznego samemu.
No ale pytanie czy przyjemniej i na ile cenne są walory edukacyjne przy realizacji nawet tak prostego urządzenia zwłaszcza dla początkującego amatora jakim jestem ja.
Po krótkiej diagnozie uszkodzonego wentylatora stwierdziłem uszkodzenie jego sterownika spowodowane wilgocią jednakże sam silnik okazał się sprawny.
Wiadomo, można w prosty sposób zbudować taki sterownik na zwykłych elementach bez użycia mikrokontrolera.
Ja jednakże mając na uwadze walory edukacyjne postanowiłem więc wykorzystać zdobywaną obecnie wiedzę z książek oraz bardzo cennych poradników Mirka i zaprojektować oraz oprogramować własny sterownik oparty o mikrokontroler AVR ATtiny13 i program napisany w języku C w środowisku Eclipse.
Oryginalny sterownik wentylatora firmy Dospel
http://www.dospel-comfort.pl/Product/product_pl.php?sc=001&stge=69&mc=C&kind=01&esk=01 w tym modelu posiadał czujnik PIR załączający go na ruch i opóźniający wyłączenie go po upływie kilku minut. Ja postanowiłem jednak zrobić inaczej gdyż wentylator znajduję u mnie w rogu łazienki nad kabiną prysznicową i korzystając z niej nie załączał się gdy nie używało się prysznica. Więc pomysł reakcji na włączenie światła.
Dzięki ukierunkowaniu przez kolegę SunRiver`a padło na Fotorezystor - u mnie dokładnie ten model: THT Perkin Elmer VT 93 N1, który reaguje na stan natężenia światła zmieniając swój opór. Stan tej zmiany monitoruję za pomocą ADC procesora na kanale nr. 1. Wiadomo przy zapalonym świetle wentylator się załącza a po jego zgaszeniu licznik programowy Timera0 odmierza czas ok 4-5 min i go wyłącza by dodatkowo wywietrzyć pomieszczenie po wyjściu.
Sporym kłopotem było zasilanie procesora pierwotnie chciałem użyć zasilania bez transformatorowego ale po konsultacjach z kolegami z forum i analizie materiałów z internetu stwierdziłem że konstruowanie przez amatora takiego zasilania może skończyć się katastrofą. Zaprojektowałem więc zasilanie z malutkim transformatorem licząc na to że uda się wyciąć/dopasować plastiki zabrakło jednak 1-2 mm by obudowę zamknąć. Nie poddając się i dalszych konsultacjach finalnie zmieniłem i użyłem zasilacza od starego telefonu komórkowego, który daje napięcie 6,12V, by je zmniejszyć dałem stabilizator LDO na 3,3V.
Rozbieżnością odnośnie schematu jest także miejsce na podłączenie 2 diody LED, miała ona sygnalizować pracę wentylatora jednakże projektując już PCB pomyliłem się i puściłem ścieżkę zmieniając pin na pin z reset co wyklucza jego użycie bez pozbycia się funkcji programowania za pomocą ISP. Mimo sprawdzania finalnej płytki kilka razy tego nie dostrzegłem. No ale suma summarum wentylator stał się bardziej pro ekologiczny oszczędzając energię
Dodatkowo przyznaję się że udało mi się jeden procesor Attiny13 zepsuć gdyż nie uważnie przełożyłem go z wentylatora do podstawki programatora, warto zwrócić uwagę i sprawdzić 2x nim włączy się zasilanie. No cóż umarł w imię nauki
Myślę że nie ma co się tu wiele rozpisywać bo szczegóły są w załączonych schematach i programie oraz fotografiach, wizualizacjach. Dodatkowo załączyłem oscylogramy filtracji zasilania dla poznania waszej opinii czy jest poprawna czy można jeszcze ją udoskonalić.
Słowa podziękowania przy realizacji tego urządzenia należą się kolegą: rezasurmar, janeczqu oraz Antystatyczn`emu.
Bez ich cennych wskazówek odnośnie projektu PCB oraz programu urządzenie by raczej nie powstało. Także dziękuję serdecznie za pomoc
I jestem wam winy przy nadarzającej się okazji "sok jabłkowy "
Teraz przejdę do sedna, oto kod programu:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Myślę że opisy w nim szczegółowo wyjaśniają działanie programu i mam też nadzieję, iż jest napisany został czytelnie.
Poniżej w załącznikach do tematu prezentuję schemat oraz zdjęcia - całość wraz ze schematami do Eagla oraz katalogiem programu z Eclipsa do pobrania w .zip.
Nadmienię jeszcze że znajduję się tam podstawka do programatora dla ATtiny13, którą można wykorzystać do zaprogramowania procesora, testów dla tego projektu lub ewentualnie innego na tym ciekawym małym procesorze - może się komuś przyda.
Dodatkowo jeszcze nadmienię że polakierowałem płytkę PCB sterownika oraz zasilacza z góry i z dołu lakierem PLASTIK 70 by zabezpieczyć urządzenie przed przepięciami i wilgocią. Zrezygnowałem także z radiatorów na stabilizatorze oraz triaku gdyż się nie mieściły prawidłowo pod obudową, myślę że pobory mocy nie są tam aż tak duże i wytrzymają one - na testach nie zauważyłem zbytniego nagrzewania się ich.
Zdaję sobie sprawę że każdy projekt, program urządzenie zawsze da się zrobić lepiej - urządzenie obecnie mi działa pracuje dokładnie tak jak chciałem. Starałem się jak umiałem by było dobre, jednakże pokazując go liczę na wasze opinie, sugestie może jednak warto coś zmienić, zrobić inaczej dopracować. Jak wspomniałem nie jestem zawodowcem związanym z elektroniką a amatorem/hobbystą, który na razie się uczy. Liczę więc na waszą wyrozumiałość w ocenie tego projektu.
Pozdrawiam Serdecznie
Intre