2-csatornás, hobbi, PWM ventilátor vezérlő (Open-Hardware)

Az eszköz két független, 12V-os, PWM-rendszerű ventilátort kezel automata vagy manuál módban.

Hirdetés

Fizikai megvalósítás I.

A fizikai HW:

Egyetlen helyen tértünk el a PWM szabványtól, még pedig a tach jel felhúzó-ellenállásánál (R42/52). Itt elvileg 12V-ra kellene húzni, de inkább a belső 5V-ot választottuk; kicsit bolondbiztosabb így az egész a nagy barkácsolások közepette. Mivel a FAN tach kimenete mindig nyitott kollektoros, elvileg nem lehet probléma abból, hogy 12 helyett csak 5V-ra húzzuk. Az eddig tesztelt több, mint tucatnyi eltérő gyártmányú/típusú ventilátornál ezzel nem is volt gond.
Az alkatrészek zöme nem kéri a rajz szerinti pontos értékeket, nyugodtan használható "fióksöprésre" is az áramkör. A P-csatornás SOT23-as FET helyén csak arra figyeljünk, hogy kicsi legyen a csatorna-ellenállása, különben elfüstölhet. "Logic level" nem kritérium, mert a PIC nem direktben hajtja a FET-eket, hanem egy bipolár meghajtón át (BC817), így az Ugs is 12V körül lesz. Épp ezért sokkal fontosabb, hogy az Ugs-max véletlenül se csak 8-10V legyen. A rajzon szereplő példány Ugs: ÷/-20V-os típus, de 15V-tól már kb. bármi jó.
Tactile-okból, bármennyire csábító is, Tyco vagy hasonló, ismert brand a preferált; a noname-ek sajnos rendre cserben fognak minket hagyni, ami nem egyszer a "percussive maintenance" jelenség elsőszámú előidézője.
A betápnál a keki színű dezignátorokkal jelölt elemek akár ki is hagyhatóak az élesztés folyamán, de a beépítés előtt azért célszerű azokat is beültetni. Ezek amolyan "ártani nem használ" adalékok, egy esetleges ESD/EFT/Surge eseményt jó eséllyel megfognak majd a tápvonalon. (A félvezetők alapból csak valamelyik HBM/CDM követelményszintjét teljesítik, az meg harmatgyenge!)
Két további ellenálláskupac szintén kihagyható (RS1/2, ill RS3/4, ill. az utóbbi számára tápot adó R21). Ez a négy ellenállás ennél a verziónál ne legyen ültetve. Később esetleg kaphat olyan boot / stb. funkciót, ami a menübe már nem férne bele, de mégis hasznos kis segítség lehet. (A négy rezisztor (afterthought miatt) nem a szokásos 1206, hanem csak 0805 méretű.)

A kijelző rendelésénél mindenképp figyeljünk a pinout-ra, elvétve vannak fordított bekötésűek is.
(fentebb a Top Layer-en jól látható)
I2C-busz:

Az HW-es I2C-buszon osztozik az OLED és a hőmérő szenzorok. Ez volt az ára, hogy egy alacsony lábszámú uC-vel abszolválható legyen a feladat. Sajnos a kijelzőn eleve van felhúzó ellenállás az I2C-vonalra, de csak 3V3-ra húzza fel, ami sok bonyodalom forrása, ha ignoráljuk. Így a hőszenzorok inkább kaptak egy külön, azt tápláló feszstabot, hogy ne kelljen level shifterekkel molyolni. Fontos: az I2C-buszon lévő kettő darab felhúzó ellenállást (R31/R32) semmiképp se ültessük! Ha van az OLED-en gyárilag (márpedig van!), akkor ez nem csak kommunikációs hibát, de fizikai problémát is tud okozni! Amiért mégis szerepel a terven, hogy ha később lesz olyan kijelző is, ami ezt nem tartalmazza, akkor mindenképp fog kelleni; vagy ha valaki saját maga ír kódot, és egy teljesen més kijelzővel dolgozna, akkor ez ne legyen akadály.
Menet közben ne rántsuk le, vagy tegyük fel egyik I2C-s eszközt sem, meg tudja bolondítani a kommunikációt. Az esetek túlnyomó többségében a rend később magától helyre áll, de van amikor csak a táp ki-bekapcsolásával orvosolható a tudatosan előidézett hiba.
Ha az I2C-vonalon hibát érzékel a PIC és megszűnik a kapcsolat az OLED felé, akkor a D21-es LED villogtatásával adja ezt a tudtunkra. (Nálunk ez üzemszerűen sosem következett be egyik kijelzőtípusnál sem, de a legfrissebb példányokból még nem járt nálunk). A TCN75-ök, ha el is tűnnek a vonalról, egy idő után - ha ismét megjelennek - a PIC megpróbálja őket újra inicializálni. Ilyenkor a hiba által kényszerített manuál módból visszaáll automata vezérlésre is.
Az 5V-os VReg szekciójában feltüntetett árambüdzsé értékek amolyan worst-case scenario-t tükröznek, mérve a felét veszi csak fel az áramkör. Érdemi melegedéssel, a jelen kiépítés mellett, nem kell számolnunk. Ha valaki nagyon szeretne, rátehet teljesítmény-igényesebb ventit is, a vezetősávok elbírják akár az 1A feletti típusokat is; talán a FET-ből érdemes egy acélosabbat berakni ilyenkor. (Csupán csak nem erre lett "kihegyezve" a fejlesztéskor az eszköz. A banner spec.-ben meg nem szándékoztunk PMPO értékekkel zsibbasztani a tisztelt nagyérdeműt.)
A Cin (33uF Elko) lehet bármilyen min 25V-os fajta, ami méretét tekintve elfér a panelon.
A gombok 9.5, 13 vagy 17mm magasak lehetnek, függően az előlap típusától, és az OLED-hez használt tüske-hüvelysor kombinált magasságától. A 9.5mm-eshez valószínűleg direktben kell majd az OLED-et a nyákra forrasztani, de ezt majd amúgy is mindenki a saját koncepciója alapján kimatekozza. (Azt is vegyük figyelembe, hogy legtöbb M3-as távtartó ált. idehaza nincs minden egész mm hosszban 6mm felett, de alátétekkel sok minden megoldható.)
A C40/50 értékét ne növeljük tovább, mert túlzottan lekerekíti a tach négyszögjel sarkait, megnehezítve ezzel a valós fordulatszám mérését. (Más megvalósításokban 1-10 nF közti értékekkel stabilan működött.)
A betápnál a MOV elég ha 12V-os munkafeszültségű típus, alacsonyabb semmiképp ne legyen, lényegesen magasabbnak meg nem sok értelme van. A MOV-okról tudni érdemes, hogy minden egyes triggerelődésnél egy picit meghalnak, így néhány évenként érdemes cserélni őket, még ha kívülről hibátlannak tűnnek is. Ellenben a TVS-ek bármennyiszer levezetik a túlfeszt, amíg meg nem haladjuk a max. teljesítmény-értéket, ahol viszont végleg befejezik a pályafutásukat. Az előbbi lomha felfutású, relatíve nagy energiatartalmú túllövések ellen dolgozik jól (EFT/Surge), míg a másik a gyors, "ESD-szerű" anomáliákkal tud elbánni. TVS-ekből, esetünkben, az unipoláris a megfelelő, mivel üzemszerűen nincs negatív összetevő.

A cikk még nem ért véget, kérlek, lapozz!