3 x PWM ATmega8

Gast #830679
Lesenswert?

Ja, du benötigst ja nur EINEN timer..
der vorgang der phasen-schalterei bezüglich der rotorposition ist fix.
auch für 12345 phasen ;)



3ph-motoren wurden früher mit logik-gatter (diodennetzwerk) 
kommutiert/betrieben.




schaue dir die ATMEL APNotes 441 und folgende an.
Gast #830687
Lesenswert?

sorry, noch ein nachtrag:
ohne deine zieldrehzahl zu kennen ist eine aussage nicht möglich.

der ATm sollte bei 50Hz (3k umin) zieldrehzahl mindestens mit
50*22*3 (kHz) oder 3,3MHz getaktet sein. mehr als ein vorteiler von 4 
liegt also nicht drin!

dein code sollte schon recht kompakt sein...
Gast #830689
Lesenswert?

Die AppNotes hab ich mir schon angeschaut. Da is aber nich das richtige 
dabei, in den Appnotes sind immer Regelungen mit integriert bei den 
Motorsteuerung...

ich hingegen will nur 3x Sinus erzeugen...
Gast #830712
Lesenswert?

Aber die Atmega48/88/168 können das vielleicht -- sind auch 
pinkompatibel.
Du willst ja wohl sowas machen, wie Atmel in der Appnote AVR447 
"Sinusoidal driving of three-phase permanent magnet motor using 
ATmega48/88/168".

hth. Jörg
Gast #830756
Lesenswert?

Die Appnotes sind immer zu genau auf BLDC-Motoren zugeschneidert, ich 
will jedoch einen Linearmotor nach Langstator-Prinzip ansteuern, was ja 
im Prinzip nichts anderes ist als ein "aufgerollter" Synchronmotor. Die 
Treiberstufe ist schon fertig aufgebaut, benötige also nur an 3 PINS am 
Ausgang ein PWM Signal mit min. 22kHz also nicht im hörbaren Bereich, 
das mir ein Sinussignal erzeugt.
Gast #830828
Lesenswert?

... und ein BLDC-Motor ist ein (vermarketing'ter) Synchronmotor 
(üblicherweise inkl. Ansteuerung), oder?

und die 22kHz sind zumindest als 8-Bit PWM machbar:
- 22000Hz * 256 ~ 5,6 MHz (8bit-Fastpwm)
- 22000Hz * 512 ~ 12MHz (8Bit Phase/Frequency correct)
(31.2KHz, bei 16MHz AVR-Takt)

Jetzt musst du weitermachen, ich glaube die Linearmotoren sind nicht soo 
weit verbreitet (Außerdem darfst du auch eigenen Code benutzen, du 
musst ja nicht nur den aus der Appnote verwenden ;) )
hth. Jörg

ps.: Optimal für den Job wäre ja wohl ein at90PWM
pps.: bei atmel http://www.atmel.com/products/AVR/mc/?family_id=607 
gibts noch mehr inspirationen (die beste Quelle wäre der 
Motorhersteller)
Gast #830951
Lesenswert?

hi leutz


auch bei einem linearmotor ist die abfolge der kommutierung FIX:
zuerst A+B, dann -A+C usw.
sonst bewegt sich der etwas ruckartig bzw unsynchron ;)


es ist nicht notwendig/sinnvoll jede phase individiuell anzusteuern.


wie löst du das problem der positionserkennung?
ohne regelstrecke kummulieren sich fehler und der läufer bleibt (mit 
lautem quieken) stehen..






wenn du nur drei pins beschaltest wirst du keine vollwelle schalten 
können, der motor ist dann eher ein stepper.. das ist von der 
lageerkennung einfacher aber wozu dann der aufwand mit 22kHz PWM ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren