Ik wil het toerental van enkele 3-wire fans gelijk en constant houden, ongeacht de airodynamische belasting.
De fans laten zich uitstekend regelen met de voedingsspanning, maar niet met PWM.
Als de fan op minimum toeren draait is het tacho-signaal ongeveer 32Hz, als-ie op maximum toeren draait ongeveer 92Hz.

Ik wilde die regeling bereiken met een PLL schakeling, die een vaste frequentie vergelijkt met de terugkomende tacho-informatie en de voeding van de fan dan overeenkomstig bijregelt; elke fan zou dan zijn eigen PLL krijgen.

Nu weet ik dat het loopfilter van een PLL (onder andere) de regelsnelheid bepaalt, maar met zo'n lage frequentie ben ik bang dat de capaciteiten daarin wel erg groot worden, wat de hele regellus wellicht erg (en misschien te) traag maakt.

Zijn er misschien andere regelmechanismen te bedenken dan PLL voor wat ik wil?

Op deze frequentie kun je overwegen on de PLL in software te bouwen in een kleine controller. Leuk project dan.

Als je een filter achter een PWM output knoopt heb je hetzelfde als "een regelbare voedingsspanning", misschien dat er nog wat stroomversterking bij moet.

Een PLL vergelijkt twee fasen, normaal gesproken uit een VCO en uit een referentie oscillator. Daar is hier geen sprake van, dus is een PLL niet wat je zoekt. RPM in -> PID regeling -> PWM uit kan goed met een MCU inderdaad, leuk om te maken.

Klein microcontrollertje kan dat prima voor 3 kanalen, geen echt zware taak...
(met PWM-uit om de DC spanning te maken)

Ik had gedacht de fan hier als VCO te laten fungeren met een simpele 555 oscillator als referentie; om vervolgens de fase-comparator een DC-DC converter laten controleren (die fans 'lopen' op 48V, lineair gaat teveel warmte opwekken).

Het zijn er overigens 16...

Maar ik zal wel 'even' gaan studeren op PID regelingen en PLLs in software, en dan de programmeerkunsten gaan afstoffen...

Wat is een acceptabele "fout" ? Indien je lager dan 1 Hz verschil wil, gaat de regeling sowieso traag worden, omdat deze fout pas na 1 sekonde meetbaar is. Als het nog beter moet (0,1 Hz fout), zit je al op 10sek...
Als dat sneller moet, heb je meer informatie nodig per tijdseenheid. Eventueel zelf toeren gaan meten met een hall sensor of iets dergelijks.

16 fans zal ook nog wel lukken met 1 controller...
Heel snelle regelingen wil je bij fans juist meestal niet, dat geeft zenuwachtig gedrag en is meestal onnodig.

[Bericht gewijzigd door Arco op (53%)]

Als je dit analoog wil doen krijg je inderdaad een traag filter met grote capaciteiten. Maar er is geen theoretisch bezwaar tegen.

Digitaal kan het met een microcontroller, en daarin kun je natuurlijk ook gewoon een PLL algorithme implementeren. En als je dat niet te traag wil laten regelen, is een PID regeling wellicht geschikt.

Je kunt ook een tussenvorm bedenken: Gebruikt digitale tellers om de periode van de tacho te meten, stop dat in een DAC en zet daar een analoge PID regeling op die de fan stuurt.

Wel is in dit geval je fase niet echt belangrijk: Je wil dat de fans hetzelfde toerental lopen, maar ze hoeven verschillen in het verleden niet te compenseren: Een hoekverschil is niet relevant. Dus eigenlijk heb je alleen een FLL (frequency locked loop) nodig, geen PLL.

Hoe er rekening mee dat de mechanische constructie van de fan de reactiesnelheid sowieso erg beperkt.

Op zondag 10 mei 2026 18:12:52 schreef RP6conrad:
Wat is een acceptabele "fout" ? Indien je lager dan 1 Hz verschil wil, gaat de regeling sowieso traag worden, omdat deze fout pas na 1 sekonde meetbaar is. Als het nog beter moet (0,1 Hz fout), zit je al op 10sek...

Nee hoor, we hebben toch de tacho? Dan kunnen we gewoon de periodetijd daarvan meten; eventueel middel je nog over een paar periodes.
Mijn frequentieteller bijvoorbeeld, meet de netfrequentie met een resolutie van 1 mHz, maar doet daar echt geen 1000 seconden over. Hij meet een periode (die ca. 20 ms duurt), en rekent dan de frequentie uit. Voor de nauwkeurigheid wordt er dan nog gemiddeld, maar alsnog bij je met een paar tienden seconden wel klaar.
Een PLL lus doet dat al vanzelf: de fase gaat gewoon in de loop der milliseconden steeds meer afwijken, en de regelspanning bouwt op.

Het lusfilter van een PLL kun je beter niet breder maken dan 5 à 10 % van de VCO-frequentie (hier: de tacho). Dat zou hier dus bijv. 3 Hz zijn.
Best mogelijk dat de fans zelf trager zijn, en dat de PLL dus niet eens echt de beperking in regelsnelheid is.

Er zijn online PLL-calculators (voorbeeld). Vul gewoon je 'Hz' in op de plaats van de 'MHz', en vermenigvuldig later de condensatoren met 106.
Of inderdaad de hele klimbim in software, daar zijn vast libraries voor.

Op zondag 10 mei 2026 18:12:52 schreef RP6conrad:
Wat is een acceptabele "fout" ? Indien je lager dan 1 Hz verschil wil, gaat de regeling sowieso traag worden, omdat deze fout pas na 1 sekonde meetbaar is. Als het nog beter moet (0,1 Hz fout), zit je al op 10sek...
Als dat sneller moet, heb je meer informatie nodig per tijdseenheid. Eventueel zelf toeren gaan meten met een hall sensor of iets dergelijks.

Een microcontroller kan de tijd tussen twee flanken meten, en heeft dus bij elke flank een bijna willekeurig nauwkeurige meting. Als de regeling de fase gebruikt is dit ook niet helemaal waar, want de fase is al veel sneller aan het verlopen; met 1Hz verschil is de fase na 1 seconde weer terug waar je begon.

Op zondag 10 mei 2026 18:12:52 schreef RP6conrad:
Wat is een acceptabele "fout" ? Indien je lager dan 1 Hz verschil wil, gaat de regeling sowieso traag worden, omdat deze fout pas na 1 sekonde meetbaar is. Als het nog beter moet (0,1 Hz fout), zit je al op 10sek...
Als dat sneller moet, heb je meer informatie nodig per tijdseenheid. Eventueel zelf toeren gaan meten met een hall sensor of iets dergelijks.

Bij een gelockte PLL heb je geen frequentieverschil tussen de masteroscillator en de oscillatoren van de ventilatoren. Heb je wel een frequentieverschil tussen de masteroscillatoren en de oscillatoren van de ventilatoren, dan heb je een frequency controlled loop. De laatste is eenvoudiger te maken

Tot zover allen bedankt voor de input, ik heb nu wat 'designcisions' te maken...

Als het even kan doe ik dingen zonder controllers, simpelweg omdat ik er geen spullen voor heb en de moderne programmeertalen (nog) niet spreek. En dan heb ik het nog maar ff niet over de software-omgeving met alle bijbehorende frutsels...
Wat ik ooit (35 jaar geleden) heb gedaan met een PIC16C54 (morse call generator) deed ik in assembly en met een geleende programmer.

Er zijn online PLL-calculators (voorbeeld). Vul gewoon je 'Hz' in op de plaats van de 'MHz', en vermenigvuldig later de condensatoren met 106.

Of met 1000, en de weerstanden ook met 1000.
Een eerste spielerei gaf me namelijk condensatoren van 0.5F en 0.1F (die zijn me wat te groot) en een weerstand van 220Ω; dat zou dan 500u/100u en 220k worden (een stuk behapbaarder).
Of zie ik nu wat over het hoofd?

Een 4046 heb ik nog wel rondslingeren, de rest hoogstwaarschijnlijk ook wel.
Eerst even pielen op een breadboard en wat meten...
Ik weet nu wel wat er de komende tijd op mijn werkbank ligt :)

Ω π : Ik neem aan dat je faseverschil bedoelt?

Op zondag 10 mei 2026 19:17:43 schreef fatbeard:
Ω π : Ik neem aan dat je faseverschil bedoelt?

Bij een PLL heb je wel een faseverschil tussen beide oscillatoren. Deze kan lopen van -π radialen tot +π radialen. Uit het gemeten faseverschil wordt de regelspanning voor de VCO gemaakt. De grootte van het faseverschil hangt in jouw situatie af hoe sterk je ventilator afgeremd wordt door bijvoorbeeld de luchtstroom. De afremkracht van de luchtstroom heb je niet in de hand. Je weet bijvoorbeeld niet hoe vuil je ventilatoren of de koelribben zijn.

Op zondag 10 mei 2026 19:17:43 schreef fatbeard:
Een 4046 heb ik nog wel rondslingeren, de rest hoogstwaarschijnlijk ook wel.

Gebruik de CD4046 beter niet meer, neem de verbeterde versies zoals 74HC4046 of 74HC7046.
De werking van de PLL van de CD4046 wordt te sterk beinvloed door kleine variaties op de voedingsspanning.

een PLL vergelijkt fases, en maakt uit het verschil een regelspanning (afhankelijk vh type PLL met of zonder een vaste fazeverschuiving ).
Alvorens je de fase kan finetunen moeten uiteraard eerst de frequenties overeenkomen. Een PLL kan eerst de frequenties gelijk trekken, als ze niet te ver uit elkaar liggen, maar doet daar een eeuwigheid over. (oa door het nodige filter).
De truuk om motoren snel binnen het vangbereik van een PLL te krijgen is frequentiediscriminatie als eerste, daarna pas laat je de PLL zijn werk doen . En, aangezien ik denk dat de fase van de motoren niet belangrijk is is voor TS lijkt me dat frequentiediscriminatie meer dan voldoende gaat zijn.

Ik weet het het niet of frequentiediscriminatie voldoende is voor TS.
Twee ventilatoren die op een verschillend toerental draaien kan een laagfrequent interferentietoon -geruis -lawaai -brom veroorzaken. Dat zou hinderlijk kunnen zijn. Als ze allemaal precies hetzelfde toerental draaien, dan heb je daar in ieder geval geen last van.

Het was mij nog niet helemaal duidelijk, maar hebben die fans een PWM ingang?
Als dat het geval is, is de oplossing veel eenoudiger met een chipje van MicroChip uit de EMC320x serie.
Die dingen regelen de fan bij op basis van het terug gemeten tacho signaal. Meer belasting op de fan, door bijv. meer luchtweerstand of slijtage van de lagers, wordt door de controller gecorrigeerd via het PWM signaal. Je stelt in een register het gewenste toerental in en de controller zal dat, binnen bepaalde grenzen, automatisch corrigeren. De controller kan zelfs informatie terug geven als de fan te veel belast wordt of zelfs helemaal niet meer draait.

Op dinsdag 12 mei 2026 09:55:40 schreef MNM(tm):
Het was mij nog niet helemaal duidelijk, maar hebben die fans een PWM ingang?
.

volgens de openingspost van TS alvast niet... :-)

btw, er wordt hier gesproken over een tacho signaal. bij mijn weten zitten er een fans al heel lang geen tacho's meer, maar een puls generator, de frequentie van de puls hangt uiteraard af vh toerental.

Op maandag 11 mei 2026 20:54:52 schreef ohm pi:
Ik weet het het niet of frequentiediscriminatie voldoende is voor TS.
.

ik weet het ook niet, maar met FD breng je de motoren binnen enkele Hz op hetzelfde toerental. De verschiltoon is dan zo laag dat het mijn inziens niet hoorbaar is.

TS wou ook liever geen µcontroller. FD valt eenvoudig discreet op te bouwen.

Op dinsdag 12 mei 2026 10:24:54 schreef kris van damme:
[...]
btw, er wordt hier gesproken over een tacho signaal. bij mijn weten zitten er een fans al heel lang geen tacho's meer, maar een puls generator, ce frequentie van de puls hangt uiteraard af vh toerental.
[...]

Is het resultaat niet hetzelfde dan? Fan fabrikanten noemen dat uitgangssignaal overigens ook nog steeds gewoon tacho hoor.

Op dinsdag 12 mei 2026 10:35:16 schreef MNM(tm):
[...]
Is het resultaat niet hetzelfde dan? .

in mijn beleving wekt een tachogenerator een DC spanning op.

Op dinsdag 12 mei 2026 10:35:16 schreef MNM(tm):
Fan fabrikanten noemen dat uitgangssignaal overigens ook nog steeds gewoon tacho hoor.

Na de tacho kwam de pulsopnemer (dmv een magnetic head, hall element,..) om het onderscheid te maken sprak men dan van een frequency generator ( FG) of pulse generator (PG) . Die termen vind ik nog steeds terug bij moderne fans die ik gebruik. Door de jaren heen kan het natuurlijk dat bij sommige fabrikanten er een vervaging optreed en men ongeacht het type signaal het omschrijft als een tacho...

in mijn beleving wekt een tachogenerator een DC spanning op.

Ja dat klopt. Maar tacho zelf betekend gewoon toerentalmeter. Dus een signaal wat het toerental representeert. In een fan zit dan ook geen tachogenerator maar een simpele hall schakelaar met meestal een open collector.

Bijna overal wordt een tacho generator gezien als een signaalgever die een toerental afhankelijk signaal afgeeft.
(in welke vorm dan ook)

Zo noemt Philips een sinusgenerator ook tacho bij de AF977 pick-up...

Is een tacho niets meer dan een kleine dynamo waarvan spanning en frequentie veranderen met het toerental?

Op dinsdag 12 mei 2026 10:24:54 schreef kris van damme:
ik weet het ook niet, maar met FD breng je de motoren binnen enkele Hz op hetzelfde toerental. De verschiltoon is dan zo laag dat het mijn inziens niet hoorbaar is..

Volgens AI:

Het optellen van twee sinussen met bijna dezelfde frequentie resulteert in een verschijnsel dat bekend staat als zweving (in het Engels: beats).
Dit signaal heeft de volgende kenmerken:
- Amplitude-variatie: Het resulterende signaal heeft een constante frequentie (het gemiddelde van de twee oorspronkelijke frequenties), maar de amplitude (sterkte) verandert langzaam, met een patroon dat periodiek aanzwelt en weer afneemt.
-Zwevingsfrequentie: De frequentie waarmee de amplitude "zweeft" (de tijd tussen twee maximale luidheden) is gelijk aan het absolute verschil tussen de twee oorspronkelijke frequenties (\(f_{zweving} = |f_1 - f_2|\)
- Geluid: Akoestisch wordt dit ervaren als een toon die aanzwelt en wegdeint ("waw-waw-waw")
- Voorbeeld: Als je een sinus van 440 Hz (A) en een sinus van 442 Hz optelt, hoor je een toon met een frequentie van 441 Hz, maar het geluid is 2 keer per seconde (\(442 - 440 = 2\) maximaal luid.

ik weet het ook niet, maar met FD breng je de motoren binnen enkele Hz op hetzelfde toerental. De verschiltoon is dan zo laag dat het mijn inziens niet hoorbaar is.

Luister bijv. naar het geluid van een overvliegend twee-motorig vliegtuig waarvan de motoren bijna nooit hetzelfde toerental hebben. Zeg de ene 2000 RPM en de andere 2010 RPM. Al verschillen de frequenties maar een fractie van een Hz, dat hoor je nog steeds zeer goed.

(dit antwoord kwam volledig zonder AI tot stand, alleen maar gebruikmakend van mijn aangeboren natuurlijke intelligentie O-) en persoonlijke ervaringen)