Motortoerental meten met arduino adhv zelfinductiepulsen

Hoi,

Ik ben bezig met het maken van een fancontroller voor mn pc met n arduino,
alleen 2 van de 8 fans in mijn pc hebben niet een draad met het gebruikelijke tachosignaal. Om hier toch het toerental van te meten had ik het volgende bedacht:

De 2 fanmotors hebben resp. 3 en 4 spoelen in de rotor, dus geven zij resp. 3 en 4 inductiepulsen af per omwenteling.(toch?..) Op de plek waar de blusdiode zit plaats ik een mosfet om dat effect te versterken en er een constante 5V puls van te maken, deze pulse meet ik met pulseIn(), (of als dat niet kan met de FreqCounter Library) met arduino om zo de frequentie>toerental van de fans te bepalen.

Is dit zo mogelijk of denk ik nou totaal verkeerd? Sorry autotechnicus aan het werk hier, geen electroachtergrond verder ofzo :p

Een blusdiode wordt gebruikt om bij afschakelen van de spanning de inductiepuls te onderdrukken. De hoogte van deze inductie puls is afhankelijk van de snelheid waarmee je de spanning van de motor afhaalt en de zelfinductie coëfficiënt van de spoel. Daar ga je volgens mij echt geen toerental uit afleiden.

Je zou misschien wel iets met een stroomrimpel kunnen doen.

Het vervangen van de blusdiode door een FET om dat effect te versterken zie ik niet. Dus plaats eens een schema hoe je dat in gedachten hebt.

Gr,

Op 4 juli 2015 22:59:12 schreef bol00052:
Je zou misschien wel iets met een stroomrimpel kunnen doen.

Het vervangen van de blusdiode door een FET om dat effect te versterken zie ik niet.

Als ik een ledje plaats ipv van een normale blusdiode zie ik m knipperen of ik de motor nou constant laat draaien of in- of afschakel. Het lijkt me dat als je er een ledje mee kan laten knipperen je er ook een mosfet mee kan schakelen. Die mosfet zet ik dan naast de blusdiode zoals in het schema te zien is. Daarmee krijg ik dan een mooie blokvormig 5V puls ipv van een in spanning varierende puls die je normaal over de blusdiode zou meten. Diode D1 zou evt ook wegkunnen maar voor de zekerheid maar eerst met proberen.

De puls die ik uit de mosfet op de arduino krijg kan ik omzetten naar een toerental. Ik had aangenomen dat er elke keer een puls is wanneer de motor ompoolt, ik dacht dat per omwenteling zovaak gebeurd als er spoelen aan de rotor van de motor zitten, 3 en 4 bij de ene en andere motor in dit geval. Maar dat is maar een gedachtegang ik heb geen idee of dat ook echt zo is :p Ik probeer het te beredeneren met mijn havo5 natuurkunde kennis..

Maar als er een andere betere of simpelere manier is om het toerental te meten hoor ik het graag

benleentje

Golden Member

ALs je een ledje zie knipperen dan kan je beter een optocoupler daar plaatsten. Een optocoupler bestaat uit een led een foto transistor in 1 behuizing. Met de transistor schakel je dan 5V pulsen naar je controller.

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.
Arco

Special Member

Je kunt beter een temperatuurgestuurde snelheidsregeling erop zetten. (toerental is toch niet relevant zolang 'ie niet te veel herrie maakt... :) )
En 8 fans in een PC is wel erg overkill. Als je 3 of 4 goede fans koopt bereik je hetzelfde met waarschijnlijk minder geluid.
(ik heb 4 low-noise fans en dat is al erg veel.)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

De spanning over die diode is niet (of nauwelijks) afhankelijk van het toerental, de stroom, of de zelfinductie; het is immers een diode in geleiding, dus er valt ongeveer 0.3-0.7V over, afhankelijk van het type. De frequentie is WEL afhankelijk van het toerental, en dat is juist wat de TS ook wilde gaan meten. Echter vraag ik me af of het handig is ook die fans zo ver te slopen om daar bij te kunnen, en of het überhaupt wel een discrete diode is, en niet geïntegreerd met een transistor en hall sensor.

De stroomrimpel meten lijkt me ook een beter idee: met een weerstandje (0.5-1 ohm of zo) in serie met de voeding, capacitief gekoppeld aan een comparator met een beetje hysterese, zou je toch een mooi signaal moeten kunnen krijgen zonder in te grijpen in de fan zelf.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
benleentje

Golden Member

Ik zie nu je schema pas en die fet gaat zo niet werken. De sourse van de fet moet aan massa. Op de drain komt de arduno en een weerstand van 1k naar de 5V een pull-up weerstand dus.

Maar de gate van de Fet kan niet ontladen dus dat werkt ook niet.

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.

Dat schema gaat om een heleboel redenen niet werken. Ten eerste zou de 12V voeding moeten inzakken om iets te laten gebeuren. Vervolgens staan de diodes in sperrichting, dus die gaan de MOSFET nooit opladen. Als ze al andersom stonden, zou de MOSFET altijd in geleiding zijn, aangezien je altijd een spanning van 12V op zijn gate zet. Die 1k weerstand naar de Arduino is zinloos, maar het ding heeft ook geen pull-down weerstand.

Maar als we dat schema nou even vergeten: waar in die ventilator wil je een signaal pakken, en hoe ziet dat signaal er dan uit? Heb je dat al eens met een scope bekeken?

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Op 5 juli 2015 00:10:35 schreef benleentje:
dan kan je beter een optocoupler daar plaatsten

Das een beter idee ja, ik had ook al wel verwacht dat mensen met betere ideen zouden komen alleen ik moest even duidelijk maken wat ik wilde bereiken :)

Op 5 juli 2015 00:53:06 schreef Arco:
Je kunt beter een temperatuurgestuurde snelheidsregeling erop zetten.
En 8 fans in een PC is wel erg overkill.

Ik heb een zelfgemaakte case met een zelfgemaakte 400mm fan en nog n andere niet standaard fan, en met 7(geen 8, correctie) bedoel ik incl de cpu en 2 gpu fans hoor ik hoef geen wervelwind in mn kamer :p die fans kan ik niet allemaal door de pc zelf laten regelen. Er zit een switch op die schakelt tussen controller of pc aansturing naar de fans dus temp gestuurd dan.

Op 5 juli 2015 01:05:25 schreef SparkyGSX:
De frequentie is WEL afhankelijk van het toerental, en dat is juist wat de TS ook wilde gaan meten. Echter vraag ik me af of het handig is ook die fans zo ver te slopen om daar bij te kunnen, en of het überhaupt wel een discrete diode is, en niet geïntegreerd met een transistor en hall sensor.

De stroomrimpel meten lijkt me ook een beter idee:(...)

Het was het enige waar ik zo even aan kon denken maar betere ideeen zijn altijd welkom natuurlijk :) zou je kunnen illustreren hoe je dat bedoelt want ik kan me er zo even niet iets bij voorstellen? Btw, het zijn niet allemaal standaard pc fans met een controllertje erin enzo, zoals je in de bijlage kan zien zit er ook een diy fan op. Die heeft een gewoon dc borstelmotortje dat met een toerental van zo'n 120rpm draait.

Op 5 juli 2015 10:26:07 schreef SparkyGSX:
Dat schema gaat om een heleboel redenen niet werken.
Maar als we dat schema nou even vergeten: waar in die ventilator wil je een signaal pakken, en hoe ziet dat signaal er dan uit? Heb je dat al eens met een scope bekeken?

Dat vreesde ik al maar ik hoop zo iig duidelijk te maken wat ik van plan ben :) zoals je op de foto in de bijlage ziet zit er een grote fan aan de zijkant, maar er zitten in de case zelf ook nog twee fans die niet op de pc zelf aangesloten kunnen worden. Wat er precies voor signaal uit komt weet ik niet, bij de normale fans is dat twee pulsen per omwenteling(het gewonde pwm signaal) en bij de andere fans weet ik het niet precies.
Ik dacht dat dat met het zelfde ritme gaat als het ompolen van de spoelen in de motor. Dus drie spoelen in de rotor is drie signalen per omwenteling. Maar ik heb geen idee hoe dat in de werkelijkheid precies is, ik dacht alleen dat je met dat principe het toerental kan vaststellen. Zoals anderen al zeiden kan het misschien wel met de stroomrimpel.

Arco

Special Member

Ik heb een zelfgemaakte case met een zelfgemaakte 400mm fan

Een 40cm fan, ben je een mainframe aan het bouwen?... ;)
(alhoewel begrijpelijk dat je als autotechnicus een radiator koelfan neemt...)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Op 5 juli 2015 13:14:56 schreef Arco:
Een 40cm fan, ben je een mainframe aan het bouwen?... ;)

Die fan is voornamelijk decoratief bedoeld, maar ik vond het wel leuk als ie ook kan draaien :) Hij draait ong 80-120 rpm, en is daarom compleet stil en dat terwijl ie veel lucht verplaatst. En je kan gelijk in de kast kijken ook wel leuk.

Precies, het leuke van die stroomrimpel is dat de stroom dus elke keer een klein sprongetje maakt (omlaag) als de volgende spoel "aan de beurt" is. Het maakt daarbij niet uit of het een BLDC motor is met een controller (zoals het overgrote deel van de computer ventilators), of een gewone DC motor met borstels. Wat er gebeurd is dat er een spoel waar een stroom door liep afgeschakeld wordt, en een andere spoel, die op dat moment nog stroomloos is, wordt ingeschakeld. In die laatste spoel gaat de stroom niet direct lopen, er is tijd nodig om die op te bouwen, waardoor de opgenomen stroom kortstondig wat lager is.

Die variatie kun je dus meten. Hoewel ik er wel vaker van gehoord heb bij geborstelde motoren, kan ik niet direct een bruikbaar schema vinden. Ik heb even een simpel opzetje gemaakt, maar ik denk dat je toch een beetje moet experimenteren om het goed te krijgen.

Hiermee zou het moeten kunnen; de stroombron links stelt de ventilator voor, die natuurlijk gewoon aan de 12V zit. De 1 ohm weerstand wordt gebruikt om de stroom door de ventilator te meten. R5 en C1 vormen samen een low-pass filter, waardoor de inverterende (-) ingang van de comparator een soort gemiddelde spanning over die weerstand krijgt. Via R4 komt hetzelfde signaal bij de andere ingang van de comparator, waarbij R2 zorgt voor een beetje hysterese, om het geheel wat minder gevoelig te maken, zodat hij niet gaat klapperen op elk klein rimpeltje in de stroom. R3 is nodig omdat comparators gewoonlijk open-collector uitgangen hebben; dat wil zeggen dat ze hun uitgang alleen laag kunnen maken, en een beetje hulp nodig hebben voor het hoge signaal.

Uiteraard kun je elke willekeurige comparator, zoals een LM311 gebruiken, maar die zat niet in mijn simulatiepakket.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Op 5 juli 2015 13:27:18 schreef SparkyGSX:
Hiermee zou het moeten kunnen;

Bedankt, ik ga daar eens mee vogelen en zien of ik het aan het werk krijg :)
Duidelijk uitleg :thumbsup: