| Temperatuur-PWM Fan Controller middels een PIC |
/me Update: 24 september 2004:
1. Introductie Ik ben net als veel mensen geërgerd door de herrie die mijn PC fans maken. Veel fanregelaars zoals "rheobus" oid besturen niet de fan maar regelen alleen de snelheid. Dus wanneer je temperaturen te hoog worden terwijl je fan op een lagere snelheid draait loop je het risico op oververhitting of doorgebrande componenten. Een ander probleem met dergelijke controllers is dat ze spanningsgestuurd zijn. Dit betekend dat er veel verlies is om bijv. 4Volt te maken van 12V. Deze pagina beschrijft hoe je zelf een temperatuur fan-controller kunt maken. De fans worden aangestuurd middels een PWM signaal van de PIC microcontroller. De microcontroller meet de temperaturen van diverse componenten in de PC en bestuurd eenzelfde aantal fans.
2. Hardware 2.1 Componenten
![]() Fig 1 - Een oude LCD uit een telefoon ![]() Fig 2 - Blauw/Wit LCD 2.2 Schema Tsja, wat kan ik hierover zeggen. Het is erg simpel, sluit de transistor aan op de PIC, sluit de druktoetsen aan op de PIC en sluit het display aan op de PIC. Voor de druktoetsen worden 10K pullups gebruikt. De 1-write pin heeft een 4K7 pullup. Mijn PC voeding was niet erg schoon waardoor ik een buffer condensator nodig had op de 5V lijn. Het alarm wordt geschakeld door een BC547 welke ongeveer 100mA max. kan aansturen. Hieronder is een lijst van pin definities en het schema zelf. Pin definities: #define BUT1 PIN_A0 #define BUT2 PIN_A1 #define BUT3 PIN_A6 #define BUT4 PIN_A7 #define FAN1 PIN_A2 #define FAN2 PIN_A3 #define FAN3 PIN_A4 #define FAN4 PIN_A5 #define LCD_D4 PIN_B4 #define LCD_D5 PIN_B5 #define LCD_D6 PIN_B6 #define LCD_D7 PIN_B7 #define LCD_EN PIN_B3 #define LCD_RS PIN_B2 #define ALARM PIN_B1 ![]() Fig 3 - het Schema 3. Software Het programma voor de PWM controller is gemaakt met een PIC C compiler genaamd CCS. Het programma kan in de PIC geflasht worden met IC-prog of WinPIC en bijv. de JDM PIC programmer. 3.1 DS1820 Adres lezer Dit programma leest het adres van de DS1820 temp sensor aangesloten op pin B2. De data wordt verzonden middels een RS232 verbinding van 9600 baud. De zendpin is B1, ontvangspin is B0. Vergeet niet de 4K7 pullup weerstand op de datalijn van de DS1820. De RS232 interface kan gemaakt worden middels een 100K weerstand en een 5V1 zener als pulldown van het COM-TXT (PIC-RXD) signaal (zie de linksectie voor RS232 connecties) Sourcecode: Download (rechtermuisknop > opslaan als...) 3.2 Hoofdprogramma The hoofdprogramma heeft de volgende functies:
Fast-DS1820-include: Download (rechtermuisknop > opslaan als...) 3.3 Problemen
4. Foto's en Filmpje ![]() Fig 4 - Test opstelling met oude LCD ![]() Fig 5 - Frontaanzicht de LCD/druktoetsen, ingebouwd in mijn PC ![]() Fig 6 - De schakeling geplaatst binnen in de PC ![]() Fig 7 - Oude koeling van de transistors ![]() Fig 8 - Nieuwe koelblokjes voor de transistors ![]() Fig 9 - De schakeling opgebouwd op gaatjesprint ![]() Fig 10 - Toegevoegd menu ![]() Fig 11 - Zijaanzicht in PC ![]() Fig 12 - Zijaanzicht van de PC (Goedkope kast BENQ0021.AVI Filmpje (codec: MJPEG + ADPCM) 2,33MB 5. Links In deze sectie staan enkele links naar software en informatie over PWM. 5.1 Software
|
| (Bron: http://www.piekuur.net/voorthuijsen/projects/pwm/pwm.htm / http://www.coolprojects.tk/) |
[ Voor 184% gewijzigd door een moderator op 24-09-2004 22:33 . Reden: omgezet naar howto topic > euss ]











