Bakgrund
Jag har varit förbi det mesta från digitalstyrd linjärreglering av matningsspänningen, till step-down och ren PWM. Ingen av dem var tillräckligt bra eller cool.
För, en modern datorfläkt är ju en borstlös motor, närmare bestämt en tvåpols synkronmotor med lite styrelektronik. Att ge en sådan PWM känns ju dumt, eftersom det redan sitter elektronik för att pulsa motorlinningarna. Så, vad man helt enkelt bör göra är att ersätta denna elektronik!
Mål
Att bestämma exakt hur fort fläkten ska roterera, utan några onödiga omvägar eller förluster.
Genomförande
Jag letade upp en helt vanlig 120 mm-fläkt som sett sina bästa dagar och forcerade mig in under fläktnavet. Här hittade jag en hallsensor, tre transostorer, två kondingar och en diod. Mer finns där inte i dessa fläktar (oftast är allt t.om. integrerat i ett chip)! För enkelhetens skull ritsade jag av några väl valda banor och drog ut signalen från hallsensorn och lödde in mig på transistorernas styre. Nu hade jag de signaler jag behövde för att styra alla två motorlinningar!
Akademiska poäng!
Av en händelse läste jag projektkursenen "Datamekatronik" i LTH samtidigt som jag kläckte denna idén. Eftersom idén uppfyllde alla kursens krav så byggde jag denna lagom till redovisningen. Detta påverkde projektet i den grad att det måste se någerlunda seriöst ut, mao inga ormbon med kablar eller löst hängande chip.



Stor Stor
Extra Feature
När jag ändå var igång och skulle ha full koll på motorn, så tänkte jag att det skulle vara kul att använda ett stroboskop mot fläktvingarna för att skapa lite roliga effekter. Av en händelse hade jag en handfull 1 W vita lysdioder liggande som fick stå till tjänst.

Stor
Elektroniken
...är nästan minimal. Jag använder mig ev en AVR (Mega88) som tuffar på i 8 MHz intern oscillator. På kortet finns lite lysdioder för indikation, en FET för att styra de kraftigare lysdioderna, en knapp, uttag för UART, samt en ISP-kontakt. Hallsensorns signal skickar jag rakt in i AVRen, styrsignalerna till motortransistorerna kommer även direkt från AVRen.

Stor
Mjukvaran
Här har det jobbats mest. Tidsschemat för processorn är tajt. Jag använder alla timers, UART samt INT0 för knappen.
Timer0 sköter pulskvoten till motorlinningarna. Timer1 mäter periodtiden på hallsensorns utslag. Timer2 sköter stroboskopet. UARTen ser till att hela kalaset är i högsta grad interaktivt via en terminal på en PC. Vidare finns det en enkel PI(D)-regulator för att hålla rotationshastigheten där den ska vara, samt lite medelfilter för att jämna ut mätvärden.
Resultat
Jepp, det funkar bra!
Från datorn går att ställa mängder av parametrar. I normalt läge behövs förvisso bara ett bör-värde till regulatorn (hastighet och rotationsriktning). Men med min extra lilla "feature" kan jag även ställa hur snabbt rotorn ser ut att snurra, oavsett hur fort den snurrar på riktigt!

Media
Jag har inget bättre än min mobil att fånga verkligheten med, så håll till godo!
OBS! Filmerna är av hemsk kvalisort och dessutom okomprimerad avi!
Film1 ~7 MB
Här kör jag fläkten som vanligt, full fart framåt, men den ser ut att snurra sakta baklänges p.g.a. stoboskopet. Jag bromsar även fläkten för att bevisa att stroboskopet inte går på konstant frekvens och rotorn råkar matcha detta.
Film2 ~17 MB
Här kör jag fläkten baklänges, och förösker visa detta genom att hålla ett pappersbit i närheten som då inte sugs in i fläkten, även om fläktbladen ser ut att rotera sakta framåt... ehm, tja, titta efter själv istället
