| EiP fancontroller |
Hey allemaal, ik ga het nieuwe concept EiP ook eens proberen. Ik hoop dat ik voldoende tijd ga vinden voor deze EiP, naast mijn 2de zit en mijn eindwerk (lenya). |
| het idee |
Wat ga ik maken? Wel door een zoektocht naar een betere airflow in mijn pc ben ik aan het kijken geweest voor een fancontroller. Er zijn wel een aantal mooie controllers maar deze hadden net niet wat ik wou, of ze waren niet leverbaar bij mijn pc-boer. Nu heb ik dit jaar ook een aantal lessen regeltechniek gehad, en tijdens de labo's hebben we een DC-motortje gestuurd. (Was zelfs mijn examenvraag) Hierdoor kwam ik op het idee om zelf een controller te maken voor mijn fan's. Door middel van een regelkring. Ik ben er wel nog niet volledig uit, wat voor iets het gaat worden. En hoe de uitwerking uiteindelijk gaat aangepakt worden. Ik heb namelijk 2 opties: -continu systeem/regelaar via een aantal opamps, maar dan gaat het aantal ic's redelijk groot worden. -discrete regelaar in een µC, maar dan moet deze over voldoende ADC's beschikken. *Ik heb een pic16f877a met 8 (10bit) ADC's en 2 apparte PWM modules dus dat zou voldoende moeten zijn. Ik ga denk ik voor een volledig continu systeem met dus alleen opamp's De fan's zelf ga ik aansturen met PWM door een NE555 die een zaagtand opwekt, en per fan een opamp die dan het eigenlijke pwm signaal maakt. |
| De schetsen created in eagle v4.16R1 |
schematic: ![]() board: ![]() Deze brd is niet meer up to date. Dit is nog in opbouw, misschien nog wat herschikken en dergelijke, misschien dat het zo blijft, daar moet ik nog eens goed naar kijken. Alhoewel op het moment zijn er 3 draadbruggen. Wat mij helemaal niet slecht lijkt |
| De uitwerking |
DE REGELKRING Ik heb dus een regelkring gemaakt met een PI regelaar meest eenvoudige weergave: ![]() De PI regelaar is simpel dat is gewoon een opamp met 2 weerstanden en een condensator. De waarden van deze moeten nog berekend worden, ik denk dat de weesstanden ergens om en bij de 1-100kOhm gaan worden en de condensator moet ik simpel berekenen door tau=RC in te vullen de R en een waarde van tau te kiezen. Hier zit ik wat mee, aangezien de waarde van tau de tijdsconstante van het systeem moet opheffen. Zou ik de tijdsconstante tau van het systeem moeten weten. Deze tijdsconstante is niet simpel na te gaan, men moet een stap (blokgolf) aan de ingang van het systeem leggen, en dan de uitgang in het oog houden. Aangezien we he hier hebben over het opwarmen en afkoelen van bepaalde onderdelen van mijn pc, is het duidelijk dat deze waarde afhankelijk is van de belasting van de pc. Ook zal deze waarde hoog uitkomen (door beredenering - om een pc-component van 50-20°C af te koelen zal niet ns of µs duren Aangezien ik ook geen oscilloscoop of iets dergelijks tot mijn beschikking heb, zal het wat gissen/proberen worden. Ik denk dat een schatting van tau van een paar seconden tot een paar minuten wel redelijk in de buurt van de werkelijkheid zal komen. ![]() De IN+ van de opamp gaat naar de GND, dit is niet op deze figuur te zien. De sommator is ook geen probleem, bijna identiek aan de PI, alleen met 3 weerstanden. ![]() Spreekt voor zich denk ik. Alleen even dit: De sommator telt 2 spanningen op (+ een versterking, waarschijnlijk gaat dit 1 worden.), maar zoals te zien in de regelkring moet de terugkoppeling van de set waarde afgetrokken worden. Door dit feit moeten we regening houden met een negatieve uitkomst van de temp uitlezing, wat bekomen wordt door de inverterende werking van de opamp's. Ook weer een redelijke weestandswaarde kiezen, ook om de stroom niet te hoog te laten worden. De ingang en de uitgang van het systeem zouden een gelijk niveau moeten hebben, daarom nog een versterker om de uitgang van de temp-sensor te regelen. ![]() Spreekt ook weer voor zich, geen uitleg nodig denk ik zo. Dat was de uitleg van de regelkring nu het systeem: HET SYSTEEM Wat moet er worden geregeld? De airflow. Hoe doen we dit? Aan de hand van de temeratuur. Mijn zoektocht naar een betere airflow kwam door mijn laatste schijven. Ik heb namelijk niet zo heel lang geleden een paar maxtor 300GB's gekocht, deze draaien nu in mijn systeem in raid als opslag van documenten en sinds heel kort ook als windows schijf. Harde schijven mogen niet zoveel van temperatuur hebben. 50-55°C soms misschien wat meer, maar veel hoger wordt niet aangeraden door de fabrikant. Aangezien ik al een tijdje een WD 80GB erin heb zitten die nogal eens met de grens van de maximum temperatuur durft flirten, en mijn maxtor's gevoelsmatig (door de raid kan ik geen temperatuur zien, of er zitten gewoon geen sensoren in) duidelijk een hogere temperatuur hebben, ze zijn soms net nog aanraakbaar moet hier iets mee gebeuren. Een beter airflow leek me het beste. Ik ga dus mijn fan's regelen aan de hand van mijn temperatuur van mijn HDD's. De fan's (4 stuks ga ik plaatsen) mogen van 0-12V geregeld worden.Lijkt simpel, aangezien dit de spanningen zijn die uit mijn regelkring komen. Ja nee, uit de regelkring komt inderdaad maar van 0-11V door de verzadiging van de opamp komt de uitgangsspanning ongeveer 1V onder de voedingsspanning te liggen. Ok zou niet zo erg zijn, van 0-11V regelbaar is mooi. MIS Dat zou inderdaad heel mooi zijn, maar ik wil het zo niet Mijn eerste gedacht ging naar een NE555 Precision Timer. Even een kijk in de datasheet leerde me dat dit perfect mogelijk is en er zelfs een vb in de datasheet staat. Maar dan heb ik minstens 2 NE555's nodig, en heb ik dan wat problemen als ik meerdere fan's wil sturen en per fan ook nog een kleine regeling wil maken. Dus op zoek naar iets anders. In het topic PWM sturing met een NE555, kwamen een paar mooie oplossingen naar boven. Ik ga het doen zoals madwizard en exter in het topic. Ik heb de daar gemaakte berekeningen voor de PWM sturing gewoon overgenomen. Wel is het schema een beetje aangepast, ik wil namelijk de PWM regelen met een spanning ipv met een pot-meter zoals in het topic staat. - PWM sturing: De NE555 om de zaagtand op te wekken: ![]() Met deze componenten wordt er een PWM met basis signaal van ongeveer 22kHz ontwikkeld, net buite het menselijk gehoor dus. De opamp's om van de zaagtand een PWM signaal te maken: ![]() Dit maal 4. Dan de aansluiting naar de fan's, ik heb de opamp op een BUZ11 aangesloten en nog een vrijloopdiode MBR1645 over elke fan. Dan heb ik ook nog bij de voeding van elke fan een ontstoor condensator geplaatst, misschien wat overkill, maar kwaad kan het niet, en Zo duur maakt het het schema ook niet. Dus als iemand het wil namaken, kan waaschijnlijk 1C ook wel op de Fan's. Zeker opdat er ook al een ontstoor condensator aan de ingang van de voeding komt. ![]() Ook weer maal 4 Zo, dat is de PWM. Nog een klein detail, op het volledige schema staat nog 1 extra component. Dat is een klein "jumpertje" wat zou kunnen dienen indien er 1-2 fan's bij moeten komen. Dus gewoon een uitbreidingsmogelijkheid. Natuurlijk niet tot het oneindige omdat de regelkring ook niet kan blijven stroom leveren. Maar als voor de juiste waarden van weerstand voor de drempelspanning wordt gekozen kunnen er wel nog wat bij. - Temperatuur uitlezing Temperatuur uitlezing, ook een plezant onderwerp. Via een NTC/PTC? Of een LM34/35? Ik heb gekozen voor de LM34/35, welke weet ik nog niet, daar wordt aan gewerkt. Door deze keuze is er een extra moeilijkheid ontstaan. namelijk, een LM34 geeft een lage spanning bij een lage temperatuur en een hoge spanning bij een hoger temperatuur. Aangezien dat de uitgang van het systeem de ingang moet volgen, moet bij lage spanning in => trage fan snelheid => hoge temp => lage spanning uit. De LM34/35 moet dus omgekeerd. Dit heb ik opgelost door het volgende schema: ![]() uitleg: Bij een lage temperatuur geeft de LM een lage spanning af, kleine Ibasis waardoor een een kleine Iemittor-collector gaat vloeien. De weerstand gaat via de wet van Ohm een kleine spanning hebben waardoor dus de 12V zo goed als volledig over de transistor komt te staan. Bij een hogere temperatuur ligt de Uuit hoger, waardoor er een grotere Ib vloeit. Dit geeft ook weer een grotere Iemittor-collector, waardoor de spanning over de weerstand hoger ligt en de uitgangsspanning lager. We hebben wat we wilden. Nu alleen nog de versterking bepalen aan de hand van wat temperaturen we willen bij welke set waarde. - De set waarde Dit lijkt op de temp uitlezing, met dit verschil dat het dat niet is ![]() Zo dat is zowat de uitleg van het volledige schema, nog wat extra commentaar is hieronder te vinden. |
| ToDo's |
Ik moet de weerstands waarden nog berekenen, er moet nog een gekeken worden hoe ik juist de 0-12V van de regelkring best kan omzetten naar de 4-8V nodig voor de PWM-sturing. De meeste weerstandswaarden zijn nu bijgevoegd, de 0-11 (door de verzadiging van de opamp bij voedingspanning) ga ik naar 0-8V omzetten, die 4V weet ik nog niet of ik dat ga instellen. De instelling van de temperatuur meting moet bepaald worden. (hoeveel volt overeenkomt met welke temperatuur.) Het schema van het printje (het .brd bestand) moet nog bekeken worden. De pot-meters misschien vervangen, de banen en de layout nazien en de design-rules vastleggen. Ik denk trouwens dat ik ga laten etsen, volgens bepaalde bronnen kan je bij Eka electronica een plaat laten etsen voor 0.08 Euro/cm2, zonder extra kosten. Dat zou voor mij op een kleine 5 Euro komen. Aangezien dat ik nog geen eigen gerief heb voor te etsen (de producten waren vervallen, zijn nog van pa geweest Ook aangezien eka in hasselt ligt en ik in houthalen woon (ongeveer 15km) lijkt me dat het beste. Ook moeten de externe aansluitingen nog gemaakt worden in eagle, ik heb nu een schema gevonden voor de voedings molex, nu nog de fan header vinden en we zijn vertrokken. |
| Updates |
- Er is een ToDo lijst bijgekomen - Het schematic is wat aangepast, wat verschoven en een deel weerstandswaarden er bijgezet. De pot-meters heb ik vervangen door vaste weerstanden, dan heb ik wat meer plaats op mijn board, en aangezien die toch nooit aangepst moeten worden. |
| commentaar |
De externe aansluitingen heb ik nu uit gemakzucht allemaal uit de "jumpers" bibliotheek van eagle gehaald, daar moet ik nog eens kijken hoe dat gaat worden met de afmetingen van de connector's. Misschien weet ook iemand de naam van de spanning's molexconnector in een pc of de afmetingen/bibliotheken van eagle. Aangezien ik voorlopig de 12V van de pc wil gebruiken als voeding. Ik ben wel aan het denken van een apparte voeding te maken, maar die zou op een appart printje komen. Ook ergens een linkje voor de fanheaders zou welkom zijn. Indien iemand die heeft in eagle of weet waar ik die kan vinden zou het heel mooi zijn als die persoon die eens wil doormailen of zo. Maar met alleen de afmetingen en de pin plaatsing zou ik ook al tevreden zijn, dan maak ik die wel in mijn eigen bibliotheek in eagle. Even iets over het board. Aangezien ik nog niet weet hoe ik het printje ga maken, etsen/laten etsen/laten frezen weet ik niet wat de dikte van de banen ed moet zijn en hoever deze van elkaar moeten liggen. Ook voor het bevestigen en plaatsen van het printje in mijn pc moet ik nog eens nadenken. Ik was aan het denken aan een reserve 5,25" afdekplaat. De waarden voor de weerstanden staan nog niet vast, der staan wel een paar waarden op hier en daar, maar die kunnen evengoed onmiddelijk veranderen, die zijn allemaal nog niet berekend. Alleen dus die voor de zaagtand, eventueel ga ik nog wat hoger tot 30kHz of zo, maar anders zijn die wel al goed. Met dank aan madwizard (voor het idee van de PWM), ParaDot en disco stu (voor de berekeningen van de PWM) en ook exter (voor een uiteindelijk schema van de PWM module) in Howto: PWM met een ne555 |
[ Voor 18% gewijzigd door kluyze op 30-08-2006 12:59 ]










