Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Fans aansturen en uitlezen

Pagina: 1
Acties:
  • 221 views sinds 30-01-2008
  • Reageer

  • High-Voltage2
  • Registratie: Maart 2007
  • Niet online
Hoi allemaal,


Als ik nog eens wat tijd over heb wil ik een zeer uitgebreide fan controller bouwen. Daarvoor heb ik echter wat informatie nodig en die hoop ik hier te vinden.

Even in het kort toelichten:
De huidige fancontrollers werken in de meeste gevallen handmatig, zelf aan een knoppie draaien om hem harder/stiller te zetten. Je kan eventueel ook de fans door je mobo laten sturen, maar dan moet er weer een CPU intensieve applicatie draaien die alles bijhoudt enz. Ook is er geen manier om de temperatuur van bijvoorbeeld de HD's uit te lezen (als ze niet beschikken over een temp sensor). Dus ook die manier is geen optie. De gemiddelde tweaker heeft dan een fan controllertje met temperatuursensors enz, maar die is meestal beperkt tot drie of vier fans, dat begint er al op te lijken. Toch nog niet wat ik zoek...
Dus wat ga ik nu maken? Een relatieve temperatuur gestuurde controller voor ALLE fans. Dus ik sloop de volledige voeding, de CPU fan, de fan op de graka en de case stuff. Alles wordt gemeten en aangestuurd door mijn zelf gebouwde controller.

Dus om tot mijn vraag te komen, want de inleiding is weer langer dan de vraag zelf:
- De gele draad vertegenwoordigt het snelheidssignaal van de fan, maar wat signaal moet ik mij hier bij voorstellen? Ik heb dat geval eens aan de scoop gehangen, maar ik kon er niet echt een duidelijk beeld op plakken. Moet dit een blokgolf voorstellen? Hoeveel blokjes zitten er dan per omwenteling? Ik moet de snelheid kunnen uitlezen om te kunnen controleren of de fan ook daadwerkelijk draait.
- De aansturing gebeurt via PWM. Op dit moment heb ik een handmatig controllertje in gebruik dat een lineaire regeling gebruikt (zelfbouw), maar dat ding verstookt meer in warmte dan wat anders, vandaar PWM. Ik heb me echter laten zeggen dat je hem niet zomaar in PWM kan aansturen omdat hij anders gaat fluiten. Dus een oplossing zou zijn om een low-pass filter op de uitgang te zetten, maar dan ben ik één groot voordeel kwijt van mn PWM en dat is dat ik geen koppel meer heb op een lage snelheid. Dus heeft er iemand ervaring mee? Welke frequentie zou ik overigens gebruiken om die zooi aan te sturen? Ik wou eens beginnen met 10kHz...
- Een fan is een borstelloze DC motor, dus dit vraagt normaal elektronica om hem te laten draaien (de zoekfunctie leert mij trouwens dat veel mensen denken dat het een gewone DC motor is, niet dus!!). Zit die elektronica in de fan of op welke manier wordt dat draaiveld gecreeerd? Deze vraag is niet van levensbelang voor mn projectje, maar gewoon informatief...


Laat de antwoorden en/of opmerkingen maar komen!!


H-V

[ Voor 0% gewijzigd door High-Voltage2 op 02-09-2007 11:20 . Reden: Typo ]


  • Resistor
  • Registratie: April 2001
  • Niet online

Resistor

Niet meggeren!

Het ligt er aan hoe handig je bent, anders kan je zoiets maken als [EL] Xtreme Baybus: De hardware

Een Atmel uC kan met PWM de boel aansturen, en met de ADC kan je de temperatuur uitlezen en weer terugkoppelen naar de fanaansturing.
Op een display kan je dan zien hoe warm de boel is en op hoeveel % de fans aangestuurd worden (dus niet het toerental), en dan zou je het eventueel nog handmatig kunnen regelen (maar toen hield mijn kennis op, het is heel wat weggezakt).

What will end humanity? Artificial intelligence or natural stupidity?


  • High-Voltage2
  • Registratie: Maart 2007
  • Niet online
Het wordt een die-hard PIC processor project, dus don't worry about that ;)

Temperatuuruitlezing wordt niet gedaan via een ADC maar via een 1-wire bus en de nodige chipjes.
Wat betreft de weergave van hoe snel de fans draaien, dat valt nog te bezien. Maar als ze een procentuele aanduiding weergeven dan wijst der dat in 8/10 gevallen op dat gewoon de dutycycle gebruikt wordt om een waarde te geven. Niet ideaal dus, want dan blijft hij op bv 50% staan terwijl er een stok in je fan zit. Daarom wil ik een échte terugkoppeling hebben. Vergeet niet dat dit systeem levensbepalend is voor mn PC'tje, dus als er ergens een bugje in zit waardoor de fans uit staan terwijl het systeem warm loopt... Je begrijpt wel wat ik bedoel.

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
1. sinds waneer zijn monitor app's cpu intensief? Ik zie de mijne nieteens terug in cpu load grafiekjes.
2. Elke hdd die ik de laatste 5 jaar nieuw gezien heb (basicly 40 gig en groter) heeft een ingebouwde temp sensor.
3. Hoe wou je een goede cpu temp gaan neerzetten? het koelblok is misschien een leuke indicatie, maar er zit niet voor niks al sinds de pentium 2 een temperatuursensor in de cpu zelf.

Desalnietemin een leuk project, maar het is misschien een beter idee om een smbus connector op je moederbord opzoeken cq bouwen (zie: http://www.madhacker.org/locate_smbus.htm) en daar een paar standaard monitoring chips aan te gooien.
Dan kan je met veel meer factoren rekening houden dan alleen een paar temp sensors die je ergens in je pc bouwd.

Via de smbus kan je ook prima wat extra temperatuur sensors plaatsen als de sloot ingebouwde temp sensors in je systeem niet genoeg is.

Vziw zit hierin allemaal al standaard een temp sensor:
- CPU
- GPU
- Alle hdd's
En meestal ook nog een in de chipset en nog 1 los ergens op het moederbord voor casetemp (iig op mijn goedkope mobotje van 3,5 jaar oud)
En bijna alle moederborden hebben minsens 3 fan connectors die regelbaar zijn met rpm erop.

Wat voorbeelden voor smbus uitbreidingen:
http://www.madhacker.org/mbmsensors.htm < vijf extra temperatuursensors
http://www.madhacker.org/mbmfansensors.htm < 4 extra fan rpm

  • High-Voltage2
  • Registratie: Maart 2007
  • Niet online
Misschien moet ik zelf de ingebakken sensoren maar gaan uitlezen en op basis daarvan de fans sturen... En dan nog extra sensoren plakken waar nodig (voeding enz). Enig idee hoe ik die smbus kan uitlezen met een µC?

Welk programma gebruik je overigens om alles in de gaten te houden? Het programma PC Probe van Asus is bij mij nogal CPU intensief. Het blijft altijd op de voorgrond, misschien dat het daarmee te maken heeft.

Ik ga mij eens verdiepen in die smbus en die fan controller IC van Maxim.

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
De smbus kan je niet uitlezen op de manier die jij bedoelt.

smbus is eigenlijk gewoon i2c met een los lijntje voor een alarm mogelijkheid.
Als je die alarm mogelijkheid niet gebruikt is het gewoon 1 op 1 i2c.

I2C is een master/slave systeem, je hebt 1 master, en een aantal (max 127) slaves.

Wat jij wil is 2 masters, en dat gaat niet.

Ook zitten lang niet alle sensors op de smbus, die in je hdd en graka zoiezo niet, maar soms zitten er spullen via een superio chip, welke aan de cpubus hangt en niet aan de smbus.

Je zou wel een smbus slave kunnen maken en een pc progsel die de waardes uitleest en naar je smbus slave stuurt, maar dan kan je het net zo goed meteen compleet in dat programma doen.

Edit: ik gebruik gkrellm, is een open source linux progsel, die gebruik ik voor cpu load grafiekjes, netload grafiekjes, al mijn voltages/temps/fan speed monitoring, e-mail, mem usage etc.
En gemiddeld 0.0% cpu load geeft dat prog.

[ Voor 14% gewijzigd door SA007 op 03-09-2007 00:32 ]


  • High-Voltage2
  • Registratie: Maart 2007
  • Niet online
In principe kan een I²C bus perfect overweg met twee masters...

Maar goed, als niet alle sensoren op de bus zitten heeft het ook weinig zin daar lopen te forceren. Eventueel een klein progje op de PC dat alles uitleest en doorstuurt via USB naar mn systeempje. Als het systeem geen data binnen krijgt draait ie volle snelheid. Anders zou hij bij het booten al meteen warm lopen.
Dan moet ik die bussen weer gaan uitlezen met een stuk software (in VB :p), en dat vond ik de vorige keer al niet.
En van de andere kant, zelfbouwsensoren in het koelribje geven al een goede indicatie. Het enige wat problemen kan geven is als de kilrib los begint te komen, dat de proc dan écht veel warmer wordt.

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
Ik heb hier iig alles met een pc progje, en dat vind ikzelf by far veel makkelijker dan de fan controller die ik eerst had.

En volgens mij vind de I2C bus 2 masters niet heel aardig hoor, master maakt de clock enzo.
En je pc gebruikt die bus lang niet alleen voor een paar temp sensors. Ook bijvoorbeeld je geheugenidentificatie hangt eraan. Dus gaan klooien met die bus buiten de standaard kan een niet-werkend systeem opleveren.

  • High-Voltage2
  • Registratie: Maart 2007
  • Niet online
Nou, dan moet je er de busspecificaties toch nog maar eens op nalezen ;)
It’s a true multi-master bus including collision detection
and arbitration to prevent data corruption if two or more
masters simultaneously initiate data transfer
^^ Bron: blz 4, The I²C-bus specification, Version 2.1, January 2000

Dus niets buiten de standaard, klooien is weer een andere zaak natuurlijk. Maar als toch niet alle sensors op één bus zitten dan ga ik me daar ook niet moe aan maken om ALLE bussen te gaan afscannen. Daarnaast heb ik dan ook nog geen uitlezing van mn voeding ed.
Waarschijnlijk weer een projectje voor in de doofpot te stoppen, maarja niet geschoten is atlijd mis!!

Eventueel eens zoeken naar Windows progjes om de hele zooi te sturen, want Fanspeed deed het bij mij niet. Om een of andere reden kan ik mn toerental van mn fan niet verlagen, wss wordt dat door het mobo tegengewerkt. Aanraders van programma's?? Zelfbouw was natuurlijk iets leuker geweest :p

Maar dan louter informatief zou ik toch graag weten op welke manier ik die speed signalen moet interpreteren. Waarschijnlijk als een half opgefokte blokgolf, maar hoeveel pulsen per omwentelling enz?? En hoe zit het met de elektronica nodig om de borstelloze DC motor te sturen?

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
De rpm uitlezing van een ventilator is een signaal wat per omwenteling volgens mij 4x naar ground getrokken wordt.

  • evilBunny
  • Registratie: April 2002
  • Laatst online: 06-11 14:59

evilBunny

*thump*

@SA007: ja vershilt nog per fan :S

@HV2:
4 polige pwm fans zijn wel handig voor het geheel alleen jammer dat producenten hiervan die een beetje uit blijven. want dan kan je wel goed het toerental uitlezen en fan speed regelen het geen met pwm op de voedings lijnen van een 3 polige fan nogal mis kan gaan aangezien de rotatie sensor op het moment van registreren van een (deel) van de omwenteling zonder spanning kan zitten.

verder wordt het draaiveld gecreeerd met een hall effect sensor die de rotatie van de fan vaststelt en daar door de juiste frequentie pulsen op de spoelen kan zetten. tijdens het starten oscileert ie op een vaste frequentie tot hij verandering in het veld registreert. beetje als schommelen

edit: wat verduidelijking in mijn confuse post.
@fkiller : zo beter ;) ?

[ Voor 45% gewijzigd door evilBunny op 07-09-2007 01:11 ]


  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Over dat multi-master: de smbus is geen echte i2c-bus en mist iirc onder andere de multi-master-logica. Dat truukje gaat dus alsnog niet op ;)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Sissors
  • Registratie: Mei 2005
  • Niet online
evilBunny schreef op donderdag 06 september 2007 @ 21:28:
ja vershilt nog per fan :S
pwm fans zijn wel handig voor het geheel alleen jammer dat die een beetje uit blijven want dan kan je wel goed het toerental uitlezen en fan speed regelen het geen met pwm op de voedings lijnen nogal mis kan gaan als de sensor doorgang op het lage gedeelte van de cycle is .. extreem hoge pwm frequentie kan een oplossing zijn.
Offtopic: Misschien ligt het aan mij, maar ik begrijp hier geen ruk van. En dat komt niet zozeer door een gebrek aan kennis van mij, maar meer door jouw nederlands.
Pagina: 1