Hallo,
Ik wil een 24V drie-fase motortje aansturen met een Attiny461 met wat driver ICs. De snelheid van de motor wordt bepaald door de frequentie. Een mogelijke oplossing is een timer te gebruiken die 6x per omwenteling afloopt, en de interrupt routine dan de 3 outputs zodaning laten veranderen (via een tableletje met de 6 mogelijke toestanden) zodat de motor in de juiste richting draait.
Ik lees nu in de specificatie dat de Attiny461 timer-counter1 drie PWM outputs heeft. Heeft iemand een idee of en hoe ik die zou kunnen gebruiken om drie fases van het motortje kunnen aansturen. De duty cycle van de pulsen zouden dan vast op 50% worden ingesteld, en de drie uitgangen zouden 120 graden fase verschoven moeten zijn. Ik zou dan met het varanderen van de timer waarde de snelheid kunnen regelen.
Ook voor andere ideeen om het motortje aan te sturen houd ik me aanbevolen.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Timer1 vd tn461 heeft idd. 3 (eigenlijk 6) PWM-uitgangen, en lijkt als gemaakt voor je doel. Ik ben daar zelf nooit mee aan de slag geweest, maar wellicht helpt deze application note je op de goede weg.
Op 28 november 2009 19:30:45 schreef pros:
Timer1 vd tn461 heeft 3 (eigenlijk 6) PWM-uitgangen, en lijkt als gemaakt voor je doel. Ik ben daar zelf nooit mee aan de slag geweest, maar wellicht helpt deze application note je op de goede weg.
Bedankt voor de tip. Ga ik eens bekijken.
big bang
Niets is zo eerlijk verdeeld als verstand: iedereen denkt er genoeg van te bezitten
De AT90PWM3 van Atmel is er ook een soortgelijke, daar zijn ook applicationnotes van te vinden waar dergelijke principes ook zullen tussenzitten.
- - big bang - -
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
EDIT voor de duidelijkheid: met "op deze manier" bedoel ik dus volledig open-loop, want ik kreeg de indruk dat de TS dat wilde gaan doen.
Op die manier een BLDC motor (ik neem aan dat het daar over gaat) aansturen is uitermate inefficiënt. De motor zal waarschijnlijk ofwel helemaal niet lopen, omdat hij niet het benodigde koppel kan leveren om de snelheid te halen (afhankelijk van de belasting), of hij zal enorm gaat resoneren omdat hij steeds snelheid maakt, maar steeds eerder voorbij de pool komt dan dat jij de stroom door die spoel schakelt.
Daarbij zal het op die manier nog lastig worden om het ding fatsoenlijk te laten lopen op verschillende toerentallen, omdat de tegen-EMK een sterke invloed heeft op de stroom door de spoelen. Eigenlijk kun je zo'n motor bijna niet aansturen zonder terugmelding van de rotorpositie (met hall sensors, tegen-emk sensing, of anders). Een mogelijkheid om de fasestromen te meten wordt ook al snel noodzakelijk.
e.e.a is sterk afhankelijk van de toepassing: als je relatief weinig koppel hoeft te leveren, de snelheid niet bijzonder hoog hoeft te zijn (maar ook niet erg laag), en je een forse koppelrimpel toelaatbaar vindt, zal het best kunnen.
Ik ben het met Sparky eens je moet met deze motor een draai veld opwekken en dit zij 3 sinus die 180 graden zij verschoven.
Kijk eens naar de werking van de in de handel zijnde frequentie regelaars Hiflex.nl dze heeft regelaars van hitachi en invertek maar er zijn vele merken ind handel.
Op 29 november 2009 14:46:35 schreef touw:
Ik ben het met Sparky eens je moet met deze motor een draai veld opwekken en dit zij 3 sinus die 180 graden zij verschoven.
Ik dacht dat het altijd zo was, driefasige 120° verschoven wisselstroom.
EDIT: Je had het door. 
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Je hebt weliswaar altijd 3 in fase verschoven signalen (of beter gezegd, in fase verschoven spanningen over de fase aansluitingen), maar dat zijn niet perse sinusvormige spanningen. Dit heeft te maken met de manier van wikkelen, waarmee de golfvorm van de tegen-EMK veranderd. Daarbij moet je rekening houden met de tegen-emk en de inductie van de wikkelingen, wil je een enigszins fatsoenlijke stroomregeling kunnen realiseren.
Op 29 november 2009 12:53:07 schreef SparkyGSX:
e.e.a is sterk afhankelijk van de toepassing: als je relatief weinig koppel hoeft te leveren, de snelheid niet bijzonder hoog hoeft te zijn (maar ook niet erg laag), en je een forse koppelrimpel toelaatbaar vindt, zal het best kunnen.
De toepassing is een nogal aparte, namelijk een toerenteller uit een vliegtuig uit de 2e wereldoorlog. De teller bevat twee drie fasen motortjes die via een mechanisme, dat vergelijkbaar is met de snelheidmeter in (oude) autos, het toerental van de twee motoren aangeeft. Het te leveren koppel is dus minimaal.
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Dat is ook toevallig, ik zat precies aan zo'n toepassing (een soort draaispoelmeter) te denken als uitzondering.
Maar als ik het goed begrijp, gaat het dus om motortjes die wel continue draaien, met een toerental afhankelijk van het toerental van de verbrandingsmotor, en is het metertje een type dat werkt op het principe van wervelstromen, dus waarbij een magneetje ronddraait tegenover een matalen (meestal aluminium) schijfje?
Voor zo'n toepassing zou je kunnen proberen het motortje open-loop aan te sturen, alsof het een stappenmotor is.
Op 29 november 2009 18:26:45 schreef SparkyGSX:
Voor zo'n toepassing zou je kunnen proberen het motortje open-loop aan te sturen, alsof het een stappenmotor is.
Precies, dat had ik ook in gedachten. Met open-loop wordt neem ik aan zonder terugkoppeling (via hall sensors of zo) bedoeld, correct?
Terugkoppeling is nl. welhaast niet mogelijk, anders moet het instrument worden verbouwd. Mocht de aanwijzing niet evenredig zijn met de frequentie, dan is dat geen probleem, dat los ik in software dan wel op. Grote nauwkeurigheid is niet nodig.
Als ik het motortje als een stappenmotor zou aansturen, wat is dan de handigste oplossing (via een tablletje als in mijn 1e post, of zijn er betere methoden)?
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Inderdaad, open-loop betekend zonder enige vorm van terugmelding.
Het aansturen met zo'n tabel is waarschijnlijk wel het gemakkelijkst, maar of die methode geschikt is, kun je eigenlijk alleen vaststellen door het te proberen, of meer details van de motor te achterhalen (manier van wikkelen en zo). Wat je ook kunt doen, is een tabel maken met PWM waarden voor een sinusvorm, en die 3 keer in fase verschoven naar de wikkelingen sturen. Daarmee gaat de motor waarschijnlijk een stuk soepeler draaien dan met blokgolven.
Je zou ook een aansturing met tegen-EMK terugkoppeling kunnen gebruiken, daarvoor zijn genoeg application notes met voorbeeldcode en zo te vinden van Microchip, Atmel, etc.
Het ding verbouwen lijkt me geen optie; ik zou het geheel origineel houden, en proberen alles extern op te lossen.
Ik zit me alleen af te vragen waarom ze het zo gemaakt hebben; zouden ze een paar magneten en spoelen in de motor hebben geplaatst, die 1:1 verbonden waren met de spoelen van deze instrumenten? Misschien zat er een 3-fase dynamo op elke motor, waar het signaal vandaan kwam?
Op 29 november 2009 23:21:18 schreef SparkyGSX:
Ik zit me alleen af te vragen waarom ze het zo gemaakt hebben; zouden ze een paar magneten en spoelen in de motor hebben geplaatst, die 1:1 verbonden waren met de spoelen van deze instrumenten? Misschien zat er een 3-fase dynamo op elke motor, waar het signaal vandaan kwam?
Ik weet het niet zeker, maar daar kom ik binnenkort wel achter, want ik heb ook die vraag gesteld. Ik vermoed dat je het bij het rechte eind hebt: een 'kilometerteller-kabel' van motor door de vleugel naar de cockpit is natuurlijk geen optie. Er zal denk ik inderdaad een soort dynamo aan de verbrandingsmotor hebben gezeten die het motortje aandreef (of wellicht een drie fasen hoofd-dynamo). In die tijd hadden ze natuurlijk nog geen optische encoders, AVR controllers etc. Het is overigens op deze manier wel behoorlijk bedrijfszeker lijkt me: niet afhankelijk van boordspanning of gecrashte programma's en zo. Maar ja als de benzine op is dan valt ie toch terug naar nul lijkt me...
Ik ga het eens met blokgolven proberen. Moeilijk doen met dmv PWM gegenereerde sinussen kan altijd nog. Wordt vervolgd...
Op 30 november 2009 12:56:11 schreef maxva:
[...]
Ik ga het eens met blokgolven proberen. Moeilijk doen met dmv PWM gegenereerde sinussen kan altijd nog. Wordt vervolgd...
De motortjes lopen goed en geven toerentallen boven 500RPM goed aan met een blokspanning. Daaronder wat schokkerig (dan wordt het een stappenmotor). Maar omdat de brandstofmotor toch al zo'n 700 RPM stationair draait is dat niet zo'n probleem.