mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 3 x PWM ATmega8


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, bin grad am verzweifeln...

ist es möglich mit einem ATmega8 per Hard-PWM 3 um 120° versetzte Phasen 
mit einer PWM Frequenz über 22kHz zu generieren??

Danke für jede Hilfe

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm... ich wuerd sagen fuer HW-PWM brauchste nen 16-Bit-Timer wovon der 
Mega8 nur einen hat, d.h. also nein.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ATtinyX4 oder ATtinyX61 können das, vermutlich (habe aber die
Frequenz jetzt nicht nachgeguckt) auch alle AT90PWM*.

Autor: wurpfel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: wurpfel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zieldrehzahl liegt bei ca 5-10 Hz

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry... Zielfrequenz ;)

Autor: Jörg X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörg X. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: wurpfel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Autor: Axel Düsendieb (axel_jeromin) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
22Khz Pulsfrequenz für 5-10 Hz Ausgangsfrequrnz halte ich für 
übertrieben.

Habe was für eien Mega88 und Raumzeigermodulation in Einsatz.

Schau mal rein.

Axel

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.