Zmajstrowałem sobie taki oto schemat:
Ma to być kontroler wentylatorów pecetowych z czujnikami temperatury DS18B20 i komunikacją z chłodzonym pecetem. Cudów tu raczej nie ma, mikrokontroler, MOSFETy do sterowania samymi wentylatorami przez PWM, odczyt czujników Halla na wzmacniaczach i przerzutnikach Schmitta, interfejs szeregowy, linia 1-Wire, rejestr przesuwający do diod na przednim panelu i zasilanie z pecetowego zasilacza.
Wątpliwości mam przede wszystkim do sterowania wentylatorami i odczytu czujników Halla. Czy powinienem się obawiać zakłóceń generowanych przez układ sterowania wentylatorami np. na ATMegę? Złożyłem testowo jeden taki układ z tranzystorem i wiatrakiem i obraz z oscyloskopu aż kłuł w oczy od szpilek. MOSFET mimo tego się nie spalił, więc zakładam, że faktycznie nie potrzebuje diody umieszczonej równolegle z wentylatorem i wystarczy ta w jego strukturze.
Podłączyłem też oscyloskop (jak ja wcześniej mogłem bez niego żyć?) do wyjścia czujnika Halla i ukazał mi się trochę nieregularny i "brzydki" przebieg o amplitudzie ok. 600 mV, więc przepuściłem to przez wzmacniacz operacyjny i przerzutnik tak, jak na schemacie, żeby uzyskać ładny przebieg prostokątny do doprowadzenia do mikrokontrolera, żeby wykrywać ew. awarie wentylatorów i ich nie spalić przy zablokowaniu. Tu mam wątpliwość, bo przeczytałem gdzieś kiedyś, że niektóre wentylatory generują od razu na wyjściu przebieg prostokątny i zastanawiam się, czy mogę trafić na przypadek, że ten układ nie zadziała, albo w ogóle czy nie złożyłem czegoś, co działa tylko w szczególnym wypadku?
Przetestowałem go na jednym wentylatorze, który mam pod ręką i działał tak, jak przewidziałem.
Dalej mam jest filtrowanie całych linii zasilania, dałem przykładowo 10 uF i 100 uF odpowiednio na 5 V i 12 V z zasilacza pecetowego, ale widziałem, że koledzy zwracali uwagę na rozmiar kondensatorów przy okazji innych wątków w tym dziale, więc moje pytanie, czy jest jakaś ogólna zasada do kierowania się przy dobieraniu pojemności poza "przepisowymi" 100 nF przy samych scalakach?
Z szczegółów jest jeszcze pin AREF, nie korzystam z ADC, a kojarzę, że w takim wypadku można go zostawić niepodłączonego, ale nie mogę znaleźć tego napisanego wprost w nocie katalogowej.
Uznałem też, że lepiej zamienić rolami timery 1 i 2, wtedy bramka jednego z MOSFETów dzieliłaby pin z sygnałem MOSI, czy do poprawnego programowania w układzie musiałbym zastosować jakieś dodatkowe zabezpieczenie tego pinu przy programowaniu z zewnętrznym zasilaniem, np. zwykłą zworkę ściąganą na czas programowania? Przy zasilaniu z programatora chyba miałbym problem z wydajnością prądową portu USB wymaganą przez układy na Vcc, ale z drugiej strony nie uśmiecha mi się podłączanie programatora i przez to laptopa do układu z liniami 5 V i 12 V z zewnętrznego zasilacza, więc tutaj prosiłbym o podsunięcie jakiegoś ładnego rozwiązania. W ogóle byłby to dobry temat do bloga dondu, jak dzielić piny ISP z innymi funkcjami i jak bezpiecznie sobie radzić z zasilaniem przy programowaniu.
Na koniec będę wdzięczny za wszystkie pozostałe uwagi co do poprawności podłączenia wszystkich układów, ewentualnych błędów oraz poprawności i stylu rysowania samego schematu. Szczególnie mam tu na myśli kolejność pinów w złączach, gdzie to ma znaczenie, czyli w złączach wentylatorów, będą kątowe, więc nie będę ich mógł po prostu przylutować odwrotnie i w złączu ISP.
Z samym zaprogramowaniem układu powinienem sobie już poradzić sam, w przeciwnym wypadku będę pytał, jak już się za to zabiorę. Wiem też, że trochę optymistycznie na schemacie wstawiłem ATMegę48, jak braknie pamięci, to wstawię 88 lub 168, w zależności od funkcjonalności, która mi się wymarzy, to nie problem.
Ma to być kontroler wentylatorów pecetowych z czujnikami temperatury DS18B20 i komunikacją z chłodzonym pecetem. Cudów tu raczej nie ma, mikrokontroler, MOSFETy do sterowania samymi wentylatorami przez PWM, odczyt czujników Halla na wzmacniaczach i przerzutnikach Schmitta, interfejs szeregowy, linia 1-Wire, rejestr przesuwający do diod na przednim panelu i zasilanie z pecetowego zasilacza.
Wątpliwości mam przede wszystkim do sterowania wentylatorami i odczytu czujników Halla. Czy powinienem się obawiać zakłóceń generowanych przez układ sterowania wentylatorami np. na ATMegę? Złożyłem testowo jeden taki układ z tranzystorem i wiatrakiem i obraz z oscyloskopu aż kłuł w oczy od szpilek. MOSFET mimo tego się nie spalił, więc zakładam, że faktycznie nie potrzebuje diody umieszczonej równolegle z wentylatorem i wystarczy ta w jego strukturze.
Podłączyłem też oscyloskop (jak ja wcześniej mogłem bez niego żyć?) do wyjścia czujnika Halla i ukazał mi się trochę nieregularny i "brzydki" przebieg o amplitudzie ok. 600 mV, więc przepuściłem to przez wzmacniacz operacyjny i przerzutnik tak, jak na schemacie, żeby uzyskać ładny przebieg prostokątny do doprowadzenia do mikrokontrolera, żeby wykrywać ew. awarie wentylatorów i ich nie spalić przy zablokowaniu. Tu mam wątpliwość, bo przeczytałem gdzieś kiedyś, że niektóre wentylatory generują od razu na wyjściu przebieg prostokątny i zastanawiam się, czy mogę trafić na przypadek, że ten układ nie zadziała, albo w ogóle czy nie złożyłem czegoś, co działa tylko w szczególnym wypadku?
Dalej mam jest filtrowanie całych linii zasilania, dałem przykładowo 10 uF i 100 uF odpowiednio na 5 V i 12 V z zasilacza pecetowego, ale widziałem, że koledzy zwracali uwagę na rozmiar kondensatorów przy okazji innych wątków w tym dziale, więc moje pytanie, czy jest jakaś ogólna zasada do kierowania się przy dobieraniu pojemności poza "przepisowymi" 100 nF przy samych scalakach?
Z szczegółów jest jeszcze pin AREF, nie korzystam z ADC, a kojarzę, że w takim wypadku można go zostawić niepodłączonego, ale nie mogę znaleźć tego napisanego wprost w nocie katalogowej.
Uznałem też, że lepiej zamienić rolami timery 1 i 2, wtedy bramka jednego z MOSFETów dzieliłaby pin z sygnałem MOSI, czy do poprawnego programowania w układzie musiałbym zastosować jakieś dodatkowe zabezpieczenie tego pinu przy programowaniu z zewnętrznym zasilaniem, np. zwykłą zworkę ściąganą na czas programowania? Przy zasilaniu z programatora chyba miałbym problem z wydajnością prądową portu USB wymaganą przez układy na Vcc, ale z drugiej strony nie uśmiecha mi się podłączanie programatora i przez to laptopa do układu z liniami 5 V i 12 V z zewnętrznego zasilacza, więc tutaj prosiłbym o podsunięcie jakiegoś ładnego rozwiązania. W ogóle byłby to dobry temat do bloga dondu, jak dzielić piny ISP z innymi funkcjami i jak bezpiecznie sobie radzić z zasilaniem przy programowaniu.
Na koniec będę wdzięczny za wszystkie pozostałe uwagi co do poprawności podłączenia wszystkich układów, ewentualnych błędów oraz poprawności i stylu rysowania samego schematu. Szczególnie mam tu na myśli kolejność pinów w złączach, gdzie to ma znaczenie, czyli w złączach wentylatorów, będą kątowe, więc nie będę ich mógł po prostu przylutować odwrotnie i w złączu ISP.
Z samym zaprogramowaniem układu powinienem sobie już poradzić sam, w przeciwnym wypadku będę pytał, jak już się za to zabiorę. Wiem też, że trochę optymistycznie na schemacie wstawiłem ATMegę48, jak braknie pamięci, to wstawię 88 lub 168, w zależności od funkcjonalności, która mi się wymarzy, to nie problem.
