Fluffy2 - stroommeting & hoe werkt een VRM?

Door mux op maandag 15 oktober 2012 20:13 - Reacties (19)
Categorie: Fluffy2, 20W all-in-one, Views: 5.509

Click here for the English version of this blog post

Ik ben de afgelopen 2 weken bezig geweest met het schrijven van een groot techblog over de toegepaste technieken in Fluffy2. Vandaag het eerste deel: een uitleg hoe je stroom kunt meten zonder een circuit te onderbreken - en stiekum ook nog een kleine update met betrekking tot de Wereldprijs

Ik doe trouwens ook aan Twitter tegenwoordig: @EfficientElec



Deze blogpost gaat over hoe ik in Fluffy2 zo nauwkeurig en uitgebreid heb kunnen meten wat elk component precies verbruikt. Ik ga in op de technische details van deze meting - niet iedereen zal dit even boeiend vinden om te lezen. Het is echter wel een ontzettend belangrijk deel van het succes van Fluffy2, dus ik raad van harte aan om door te lezen (al zeg ik het zelf ;) ).

Inhoudsopgave

Hoe meet je energiegebruik in een computer?


Elektrisch vermogen is spanning maal stroom. Spanning is een potentiaalverschil tussen twee punten, stroom is de 'hoeveelheid' elektronen die ergens doorheen stromen. De meest logische manier om te meten hoeveel energie er in een elektrisch circuit wordt gebruikt is door de spanning en stroom te meten. Spanning meten is heel simpel: je koopt een multimeter, houdt n meetpen tegen een aardpunt (bijvoorbeeld het metalen omhulsel van n van de poorten achterop je computer) en de andere meetpen houd je vast op het punt waar je spanning wil meten. Echter, om stroom te meten is alleen een meetpen ergens tegenaan houden niet genoeg: je moet daarvoor de lijn waarin stroom loopt onderbreken en door je multimeter laten lopen.

Spanning en stroom meten


Dat is een prima optie als die lijn bereikbaar is. Maar in Fluffy2 zitten tientallen punten waar ik stroom wil meten, en veel stroompaden die ik wil kunnen meten zitten op onbereikbare plekken. Zie hier bijvoorbeeld het energiestromendiagram voor het moederbord dat ik gebruik, Intel DQ77KB:

Power flow diagram of DQ77KB
Hier zie je alle conversiestappen die op dit moederbord gebeuren. Helemaal bovenaan komt stroom uit het stopcontact, wordt omgezet door de adapter (HP PA-1121-42HN) en vervolgens volgt het de verschillende lijntjes door allerlei verschillende VRMs (blokjes) naar de apparaten (namen zonder blokje eromheen)

Elk lijntje in dit diagram is een plek waar ik stroom en spanning wil kunnen meten. Die lijntjes zitten lang niet altijd op handige plekken: ze lopen bijvoorbeeld door de binnenkant van de printplaat, ze zijn te riskant om te onderbreken of de multimeter zorgt voor teveel problemen als ik er stroom mee wil meten (o.a. door de burden voltage). Bovendien heb ik maar 3 multimeters, dus ik kan ze sowieso niet tegelijk meten. Kortom, ik heb een alternatieve manier nodig om moeilijk bereikbare stromen te meten. Een van die methoden is gebruik maken van een eigenschap van DC-DC converters (VRMs) in discontinuous mode. Om te begrijpen hoe dat werkt moet ik eventjes uitleggen hoe VRMs werken.

Hoe werkt een buck converter?

Vermogen is spanning maal stroom. Spanning zonder stroom of stroom zonder spanning heeft geen betekenis; elektriciteit is altijd allebei. De spanning geeft heel kort door de bocht aan hoeveel 'potentie' de elektriciteit heeft, de stroom is 'hoeveel' elektriciteit er loopt. De meeste elektronische apparaten werken alleen goed op n hele specifieke spanning, bijvoorbeeld 230V (gloeilamp), 3V (LED) of ongeveer 1V (de meeste chips in je computer). Uit je stopcontact komt echter 230V AC (wisselspanning), dus de elektriciteit moet worden omgezet naar een lagere gelijkspanning (DC). Hoe doe je dit?

Met een vermogensconverter. Power conversion, DC-DC converters, electric power processing, power electronics, vermogensomzetting, vermogensconversie, voltage regulation... het slaat allemaal op n ding: elektriciteit omzetten van spanning A naar spanning B. Dit kun je op twee manieren doen: lineair of schakelend. Vandaag gaan we het over een schakelende vermogensconverter hebben, en wel een hele specifieke: de buck converter. Deze apparaten staan ook wel bekend als VRMs (voltage regulator modules) in computers. Een buck converter kan een hogere spanning naar een lagere spanning converteren. Hij doet dit met behulp van een inductor.

Dit zijn inductoren op een moederbord
Hier zie je een paar inductoren op het moederbord van Fluffy2. De tekst erbovenop zegt welke waarde ze hebben, zo staat op de middelste bijvoorbeeld '2R2', wat 2.2H betekent

Een inductor kun je zien als een emmer. De ingangsspanning is een kraan en de uitgangsspanning is een beekje. Of een rivier, afhankelijk van hoe groot je emmer is. Een schakelende voeding houdt telkens een emmer (inductor) onder de kraan en leegt vervolgens de emmer in het beekje. Hoe snel hij de emmer vol kan laten lopen hangt af van hoe hard de kraan loopt (ingangsspanning). Hoe snel hij de emmer kan leeggooien hangt af van hoe hard het beekje mag stromen. Als hij de emmer te snel leeggooit zal het beekje mogelijk te snel gaan vloeien (te hoge uitgangsspanning), als hij te langzaam is droogt het beekje op.

Wiskundig gezien is een inductor een element dat zich aan de volgende vergelijking houdt:

U = L dI/dt

De spanning over een inductor is evenredig met de inductiviteit L (je kunt aannemen dat inductiviteit van een inductor constant is) en de afgeleide van de stroom. Dat betekent dat als je er een spanning over een inductor zet, er steeds meer stroom gaat lopen. 1 Henry (H) betekent dat er 1 ampre (A) per seconde (s) meer stroom door gaat lopen als je er 1 volt (V) op zet. Echter, als je de spanning omdraait - je zet er -1 volt op - gebeurt het omgekeerde en gaat er na een seconde -1A doorheen. Dit is alles wat een schakelende voeding doet: constant eerst een positieve en dan een negatieve spanning over een inductor zetten. En nu zijn we klaar voor een plaatje:

Buck converter operational states
Dit is hoe een buck converter werkt. Helemaal bovenaan staat het circuit: T1 en T2 zijn transistoren, oftewel schakelaars. L1 is de inductor en C1 is een condensator (die we in de uitleg niet gebruiken).

Er gebeurt van alles op dit plaatje, maar laten we ons eerst concentreren op de plaatjes (1), (2) en (3). Deze plaatjes laten zien wat ik net heb verteld. Op plaatje 1 wordt de inductor links vastgeknoopt aan de ingangsspanning en rechts aan de uitgangsspanning. De spanning over de inductor is dan positief en de stroom erdoorheen gaat lineair harder lopen. Dit kun je ook terugzien in segment 1 van de grafiek van IL. Vervolgens wordt in plaatje 2 de inductor vastgeknoopt aan aarde, waardoor de spanning eroverheen negatief wordt en de stroom lineair afneemt. En nu komen we bij plaatje 3.

Plaatje 3 is niet iets dat je altijd tegenkomt. Een buck-converter loopt meestal in continuous mode of, beter, continuous current conduction mode (CCCM). Dit betekent dat plaatje 1 en 2 elkaar continu afwisselen, en de stroom door de inductor nooit tot 0 daalt. Plaatje 3 komt alleen voor als de uitgang maar heel licht wordt belast. De converter moet dan elke schakelcyclus een tijdje helemaal uitstaan, omdat hij anders teveel energie naar de uitgang pompt en de uitgangsspanning te hoog zou worden. Dit heet discontinuous current conduction mode (DCCM). In DCCM doet je converter helemaal niks gedurende het derde deel van de cyclus.

DCCM gebruiken om energie te meten

En nu zijn we aangekomen bij het interessante deel van DC-DC converters: je kunt ze namelijk heel effectief gebruiken om energie te meten. Hoe? Laten we eens terug gaan naar dat derde plaatje en hoe we daar gekomen zijn.

In plaatje 1 duwen we stroom door de inductor heen door er een positieve spanning op te zetten. In plaatje 2 halen we die energie er weer uit door er een negatieve spanning op te zetten. En dan precis op het moment dat de stroom door de inductor 0 is, zetten we de hele converter uit. Maar in werkelijkheid spreken we hier over een converter die ongeveer op 1MHz schakelt - dat wil zeggen, elke schakelcyclus duurt maar 1s. Zelfs met de beste wil op aarde is het nagenoeg onmogelijk om 100% perfect de converter uit te schakelen. Wat gebeurt er? Nou, er loopt op het moment van uitschakelen nog een heeeeeeeeeeeeel klein beetje stroom door de inductor, maar die stroom kan nergens heen want er is geen stroomkring meer aanwezig. Of toch wel?

De transistoren die worden gebruikt om de inductor aan de linkerkant aan aarde of Vin te knopen zijn geen perfecte schakelaars: ze gedragen zich, als ze uit staan, een heel klein beetje als een condensator. En nou wil het toeval dat de combinatie van inductor en condensator in elektrische zin hetzelfde is als een massa-veersysteem in mechanische zin. Wat gebeurt er als je een klein beetje energie in een massa-veersysteem stopt? Met andere woorden: wat gebeurt er als je een veer met gewicht eraan ietsjes uitrekt? Hij gaat oscilleren!

En dat is precies wat je ziet als je met een oscilloscoop de spanning over een inductor in een buck-converter gaat meten. Hier:

http://tweakers.net/ext/f/CPjZnl5jQI0n7LVZylI3eh8A/full.png

Dit plaatje spreekt boekdelen. Allereerst weten we 100% zeker dat deze DC-DC converter in DCCM werkt. Verder is het belangrijk om te weten dat we hier kijken naar een DC-DC converter die 18.8V omzet naar 3.2V. De inductor heeft een waarde van 7.3H +/-10% Dit is wat we dan kunnen doen:
  • Allereerst de PWM-basisfrequentie. De oscilloscoop stond op 2s/div, oftewel elk verticaal lijntje op het display is 2s. Helemaal op het linkerste lijntje kun je het begin van de schakelcyclus zien, en 2 lijntjes van de rechterkant van het beeld begint de volgende cyclus. Je kunt zien dat de eerste cyclus heel scherp is, terwijl het daarna een bende wordt: dit komt doordat moderne DC-DC converters geen perfect vaste PWM-frequentie hebben, maar de frequentie een beetje variren van cyclus tot cyclus, zodat hoorbare geluidsproductie en sterke componenten van elektromagnetische interferentie de kop in worden gedrukt. Dit heet 'spread spectrum' PWM. Anyway, de cyclus duurt 8 verticale lijntjes, oftewel 16s, wat betekent dat de PWM-basisfrequentie ca. (1/16s)=60kHz is.
  • De duty cycle van de bovenste schakelaar, oftewel het aandeel van de cyclus dat de bovenste schakelaar aanstaat. Die is ontzettend kort hier. Ik heb even ingezoomd en dit duurt ongeveer 0.55s. Dat geeft een duty cycle van (0.55/16)=3.4%
  • De duty cycle van de onderste schakelaar, oftewel het aandeel van de cyclus dat de onderste schakelaar aanstaat. Dit is ongeveer 2.2s, oftewel 13.75%
We weten nu dus hoe lang de inductor wordt opgeladen, ontladen en hoe vaak per seconde dit gebeurt. Ook weten we de waarde van de inductor. Is het kwartje al gevallen? We kunnen nu precies uitrekenen hoeveel energie er in en uit de DC-DC converter is gegaan! De hoeveelheid stroom die maximaal door de inductor heen loopt is:

v = L dI/dt

We weten v (18.8V - 3.19V), we weten L (7.3H) en we weten dt (0.55s) . Met andere woorden, we kunnen dI uitrekenen, en ik bespaar je de moeite: dit is 1.176A. De hoeveelheid energie die dus in de inductor is gestopt in het eerste deel van de cyclus is:

Emag = (1/2) L I2

We weten L en I, dus E is 5.049 J. Deze cyclus herhaalt zich 60.000 keer per seconde, dus per seconde wordt er 60.000*5.049J = 0.3W door de inductor gepompt. Maar wacht, we vergeten nog een klein effect. Kijk nog eens terug naar plaatje 1: tijdens dit deel van de cyclus wordt door de inductor heen ook een deel van de ingangsstroom direct naar de uitgangsstroom gesluisd. De hoeveelheid energie die hiermee gemoeid is is gelijk aan:

Edirect = (1/2) IL,peak*Vout*t1

Hier nemen we het gemiddelde van de stroom door de inductor tijdens de tijd dat de bovenste schakelaar aanstaat, en vermenigvuldigen het met de uitgangsspanning en de tijd dat die schakelaar aanstaat. Dit herhaalt zich eveneens 60.000 keer per seconde, dus het direct overgebrachte vermogen is Edirect = 0.062 W. Totaal wordt door deze DC-DC converter dus Emag + Edirect=0.36W omgezet bij 3.19V. Klaar!

Conclusie


Dit is hoe je zonder een stroommeetweerstand of een andere directe stroommeting, toch de energie kunt meten die door een DC-DC converter (ook: VRM) heen gaat. Dit is informatie die misschien niet iedereen even... begrijpelijk vindt, maar voor die paar mensen met een oscilloscoop thuis is dit een uitstekende manier om energiestromen te meten in apparatuur waar je wellicht niet zo graag aan wil solderen. Bovendien heb ik ondertussen nog in grote lijnen uitgelegd hoe ht belangrijkste element in de stroomvoorziening van elektronica werkt: de buck-converter. Dit is n van de belangrijkere tools geweest in het succes van Fluffy2.

Bonus: de Wereldprijs-pitch

Afgelopen donderdagavond (11 oktober) hield ik in Utrecht mijn elevator pitch (korte presentatie) voor MADPSU - ht belangrijkste onderdeel dat de jury gebruikt om te bepalen wie de Themaprijs ontvangt. Kleine refresher: de ASN Bank Wereldprijs is opgedeeld in twee prijzen: de Themaprijs en de Publieksprijs, allebei 10.000. Ik doe mee voor beiden. Voor de Themaprijs moest ik een businessplan inleveren en een pitch houden. Voor de publieksprijs moeten jullie stemmen.

De pitch ging goed! Ik heb met de hulp van mijn vriendin lang voorbereid en talloze malen voor haar gepresenteerd. En toen het puntje bij het paaltje was en ik voor de jury stond te presenteren rolde de presentatie zonder problemen van m'n tong. Ondanks m'n zenuwen en een presentatieslide die uiteraard alleen bij mij verkeerd renderde was ik niets vergeten en bleven zelfs m'n grappen intact en - in ieder geval aan het publiek af te meten - redelijk grappig. Ook de vragen die de jury mij na afloop stelde kon ik naar tevredenheid beantwoorden. Na afloop een daverend applaus en een tevreden vader en vriendin - zij waren meegekomen om mij te steunen.

Ik tijdens de pitch!

De directe concurrentie voor de Themaprijs - de Moonlight Solar Lamp en Zon op Nederland - had zich ook duidelijk goed voorbereid en leverden prima presentaties. Maar hoezeer ik hen ook die prijs gun, ik vind nog steeds dat MADPSU het meer waard is!

Stem op mij voor de ASN Bank Wereldprijs 2012 - Publieksprijs

Volgende: Audio en verlichting in m'n ligfiets, deel 1 10-'12 Audio en verlichting in m'n ligfiets, deel 1
Volgende: Techblog - Measuring current using VRM quirks 10-'12 Techblog - Measuring current using VRM quirks

Reacties


Door Tweakers user HyperBart, maandag 15 oktober 2012 20:22

Je staat nu exact gelijk met de andere nummer 1.

Hoe is het verhaal van de buitenlandse stemmen nu afgelopen?

Door Tweakers user mux, maandag 15 oktober 2012 20:29

HyperBart schreef op maandag 15 oktober 2012 @ 20:22:
Je staat nu exact gelijk met de andere nummer 1.

Hoe is het verhaal van de buitenlandse stemmen nu afgelopen?
Ze worden helemaal op het laatst, op 8 november, afgetrokken van het totaal aantal stemmen.

Door Tweakers user Herko_ter_Horst, maandag 15 oktober 2012 20:29

HyperBart schreef op maandag 15 oktober 2012 @ 20:22:
Je staat nu exact gelijk met de andere nummer 1.
Nu niet meer ;)

Door Tweakers user Infant, maandag 15 oktober 2012 21:12

Zouden ze Nederlandse Tor exit nodes ook van de stemmen af halen? Zoniet, dan bouw ik even een scriptje....

Door Tweakers user standardModel, maandag 15 oktober 2012 22:45

Infant schreef op maandag 15 oktober 2012 @ 21:12:
Zouden ze Nederlandse Tor exit nodes ook van de stemmen af halen? Zoniet, dan bouw ik even een scriptje....
met dit soort domme commentaren help je dit project niet bepaald...

Door Tweakers user mux, maandag 15 oktober 2012 22:46

De bedoeling is juist dat we legaal winnen; ik word net zo makkelijk gediskwalificeerd als ze erachter komen dat stemfraude is gepleegd.

Door Tweakers user Infant, maandag 15 oktober 2012 22:50

Zou ik nooit doen hoor. Maar ik vind het wel raar dat ze aan het einde stemmen gaan weg halen. Hoe weet je nou wie wat is? Als ik op mijn werk stem, en thuis... dan heb je twee stemmen.

Mijn punt was dus meer: Gaan ze stemmen verwijderen alleen gebaseerd op het feit dat een ip buitenlands is?

Door Tweakers user Marce, maandag 15 oktober 2012 22:50

Zoals al eerder vermeld lees ik je blogs altijd met zeer veel enthousiasme, en ik had uiteraard allang gestemd.

Hoewel ik een gedeelte van hetgeen je dit keer uitgelegd hebt al wist zit er toch ook heel veel nieuws in wat je ook dit keer weer zeer duidelijk uitlegt. En dan heb ik zelf het gevoel dat je toch wel een van de betere ben uit het 4e jaar van mijn HBO Elektro opleiding. (Ja ik weet dat het niet zo netjes staat en ik bedoel het niet verkeerd, maar het overgrote deel kan niet bijbenen wat elektronica betreft, andere onderdelen spreken we even niet over :P)

EDIT: Ik ben toch ook wel benieuwd naar de bronnen waar je deze informatie uit haalt.. Want ik kan me niet voorstellen dat je bij L&R het verschil tussen dccm en cccm, of uberhaupt de werking van buck converters.

[Reactie gewijzigd op maandag 15 oktober 2012 22:53]


Door Tweakers user mux, maandag 15 oktober 2012 23:04

Eh, nouja... ik doe niet alln L&R, sterker nog, de afgelopen 4 jaar ben ik bijna exclusief met elektronica en wel specifiek electric power processing bezig geweest. Dit is m'n vakgebied, dit is wat ik elke dag doe. De informatie heb ik echter maar voor een minimaal deel uit m'n studie. Vrijwel alles wat ik weet komt door het uit interesse lezen van eindeloos veel informatie: in boeken, op het internet en sinds een tijdje dus ook origineel onderzoek. Hoewel dit stukje van vandaag nou weer best 'algemeen bekende' informatie is onder power electronics-mensen (en tja, dat zijn er niet heel veel in Nederland).

Door Tweakers user pythagorasABC, maandag 15 oktober 2012 23:17

Je zegt dat de directe competitie zich ook goed had voorbereid, je vermeld COLT solar project echter niet als directe competitie, hebben zij geen elevator pitch gehouden of is daar een andere reden voor?

Door Tweakers user Darkstone, dinsdag 16 oktober 2012 00:47

Hij vermeld directe concurrentie voor de themaprijs. Niet in het algemeen. Schijnbaar vind mux dat COLT solar project een kleine kans maakt op de themaprijs.

Sowieso heeft de themaprijs weinig te maken met de publieksprijs. De laatste heeft meer te maken met de hoeveelheid locaties waar je je linkjes spamt :P .

Door Tweakers user mrc4nl, dinsdag 16 oktober 2012 00:58

en wat nou als mux wint?
free madpsu's for everyone? :P
tweakers dan hea, rest moet dokken

Door Tweakers user Pixeltje, dinsdag 16 oktober 2012 07:30

fantastische post weer. Moest sommige stukken twee keer lezen maar heb nu wel het idee dat ik 't begrijp;) Succes met de wereldprijs, ik heb gestemd een tijdje terug en hoop dat het samen met alle andere tweakers genoeg is om je de winnaar te maken :)

Door Tweakers user vanaalten, dinsdag 16 oktober 2012 08:27

Dat pak staat je goed! :)
... en interessante blog, opnieuw. Enige minuscule puntje van commentaar: ik zou het gewoon een 'spoel' noemen in plaats van 'inductor'.

Door Tweakers user mux, dinsdag 16 oktober 2012 09:34

pythagorasABC schreef op maandag 15 oktober 2012 @ 23:17:
Je zegt dat de directe competitie zich ook goed had voorbereid, je vermeld COLT solar project echter niet als directe competitie, hebben zij geen elevator pitch gehouden of is daar een andere reden voor?
COLT doet niet mee voor de themaprijs, zij zijn afgevallen. Maar ze doen wel mee met de publieksprijs, wat ook vast de reden is dat ze zo hun best doen met stemmen.
mrc4nl schreef op dinsdag 16 oktober 2012 @ 00:58:
en wat nou als mux wint?
free madpsu's for everyone? :P
tweakers dan hea, rest moet dokken
Zou ik graag doen, maar financieel gaat dat niet echt op :P. Als ik al geld overhoud steek ik dat liever in het volgende project (custom adapter met ingebouwde MADPSU en AC stroommeting) dan in freebies. Wat je wel kunt verwachten is MADPSUs tegen kostprijs voor een selecte groep nulserie-testers (=eerste productierun als MADPSU eenmaal gestresstest en gecertificeerd is).
vanaalten schreef op dinsdag 16 oktober 2012 @ 08:27:
Dat pak staat je goed! :)
... en interessante blog, opnieuw. Enige minuscule puntje van commentaar: ik zou het gewoon een 'spoel' noemen in plaats van 'inductor'.
Da's een lastige. Aan de ene kant heb je gelijk, aan de andere kant vind ik het belangrijk om bij 'leken' die wellicht nog niet gehoord hebben van het fenomeen spoel de correlatie inductor<->inductiviteit duidelijk te maken. Woordkeuze is in dit soort dingen altijd lastig.

Door Tweakers user green944, dinsdag 16 oktober 2012 09:59

Het Nederlandse woord voor inductor is spoel.

Door Tweakers user Mad-Monkey, dinsdag 16 oktober 2012 10:58

oke ten eerste gefeliciteerd met het voorstaan voor de publieksprijs, wel erg jammer dat je misschien dus op de laatste plaats staat, door deze rare keuze pas op het laatste de stemmen eraf te halen is het overzicht toch wel zijn kracht kwijt maar goed.

qua artikel is het overigens echt op het limiet van wel/niet snappen maar niettemin erg interessant dus keep it coming :)

Door Tweakers user Snowmiss, woensdag 17 oktober 2012 22:09

Ik zie de laatste drie dagen, dat je steeds iets verder uitloopt ;)

Door Tweakers user SuperflipNL, vrijdag 19 oktober 2012 00:13

Ik kom nooit op de afdeling tweakblogs, lees dus nooit de blogs die hier gemaakt zijn.
Toch ben ik hier en heb ik jou project gelezen. Zeer interessant!
Met mijn achtergrond als HBO electronica volg ik je wel. Knappe prestatie heb je geleverd.
Daardoor toch even voor je gestemd. Hoop dat je wint! ;)

Reageren is niet meer mogelijk