drehfeld erzeugen mit mikrocontroller

OP #494356
Lesenswert?

was ich diesmal vorhabe:
ich habe einen kleinen drehstrommotor, in dreieckschaltung.
der ist für 24V ausgelegt. nun möchte ich den mit meinem 
mikrocontrollerboard ansteuern. (sowas ähnliches hatte ich schon mal 
vor, aber das war ein etwas anderer motor).
nun: ich habe dazu 6 FET genommen. 3 zwischen den motoranschlüssen, die 
ich als R S und T bezeichne, und 3 FET zwischen R, S und T nach masse. 
so kann ich jeden einzelnen anschluss des motors auf +24V oder 0V 
schalten (oder auch abgeschaltet lassen, keine spannung.)
das klappt mehr oder weniger, aber:
der motor soll angeblich - laut herstellerangaben - bis 30000 U/min 
laufen. so eine hohe frequenz kriege ich mit meinem uC locker hin, aber 
der motor scheint irgendwie nicht mitzuspielen? ich drehe die frequenz 
langsam mit einem poti hoch, und da sollte der motor doch mitkommen. 
aber das tut er nicht: irgendwann verliert er schritte, bis er stehen 
bleibt - und brummen tut er auch ganz entsetzlich. ich weiss dass der 
motor noch funktioniert, an dem kanns also nicht liegen. auch die 
FET-ansteuerung scheint mir einwandfrei:
über UDN2981A werden jeweils ca. +12V an die gates der FET geschaltet; 
per pulldown-widerstand wird für eindeutigen low-pegel gesorgt.
nun muss ich leider zugeben: mittlerweile bin ich mit meinem latein am 
ende. wie muss man den motor ansteuern, damit es klappt? was ich bis 
jetzt getan habe:

R  S  T
Z  -  +
+  -  Z
+  Z  -
Z  +  -
-  +  Z
-  Z  +

in der reihenfolge habe ich die anschlüsse des motors mit den jeweils 
angegebenen pegeln beschaltet. Z bedeutet hochohmig ;)

warum klappts nicht?

grüsse
OP #494380
Lesenswert?

@DiScha:
der motor ist ein
MAXON MOTOR
EC-MAX oder so was, das typenschild ist nicht mehr so gut lesbar, da ich 
den aus meiner firma mitgenommen hab... ein älteres modell schon.
integriert sind hallsensoren und alles was man braucht, auch die 
elektronik kann optional im motor eingebaut werden ;) genauen typ kann 
ich dir nicht nennen, aber schau auf maxonmotor.ch im onlinekatalog 
unter EC-Motor. dort sind sie alle ;)

@otto:
ich weiss, eigentlich müsste ich für das drehfeld 3 um 120° 
phasenverschobene sinusse (sinen? sini?) nehmen, aber da die mit dem uC 
nicht so gut zu erzeugen sind, lass' ichs lieber, zumal der motor sich 
lt. herstellerangaben auch für "blockkommutierung" eignet - also 
rechteckspannungen.
Gast #494581
Lesenswert?

> IMHO erzeugst du kein rotierendes Feld nach deiner Tabelle. Es kann dann
> nicht 2x dasselbe Signal auf dem gleichen pin geben.

Genau, 'ne Rotation sieht doch eher so aus:

R  S  T
Z  -  +
-  +  Z
+  Z  -
Z  -  +
-  +  Z
+  Z  -
Gast #494589
Lesenswert?

http://de.wikipedia.org/wiki/Vektorregelung
oder halt nach dem Stichwort googlen. Erklärung hab ich auf die Schnelle 
nicht gefunden.
Mit dem bekommst du auch leichtgängige Antriebe zum drehen.
Wollt ich auch schon mal ausprobieren, mir fehlt aber der 
Winzig-Asynchronmotor. Ich hab mir da was aus ne Dose gebaut, aber das 
hat ... wie erwartet ... nicht richtig funktioniert
(Prinzip Dose klappt aber ... schon ausprobiert früher im Studium, um 
die Schüler bei Infotagen zu beeindrucken).
Gast #494620
Lesenswert?

@etsmart:
Es handelt sich hier so wie ich das verstehe um einen EC-Motor, also 
eine "permanenterregte Synchronmaschine", je nach Bauform auch als 
"bürstenloser Gleichstrommotor" bezeichnet! Mit Asynchron-Motoren und 
Steuerverfahren für diese kann man da net viel anfangen...
Gast #494623
Lesenswert?

@Tobias:
BTW:
Für EC- bzw. BLDC-Motoren gibts nen ganzen Haufen Appnotes (Auch von 
ATMEL, speziell natürlich für die AT90PWMx-µCs). Wenn Du nicht was von 
einem Drehstrommotor erzählt hättest, dann hätten nicht so viele am 
Thema vorbeigeschrieben. "EC" bedeutet "Electronically Commutated", also 
"elektronisch kommutiert", es handelt sich dabei im Prinzip wie oben 
angedeutet um eine permanenterregte Synchronmaschine, die für eine 
elektronische Ansteuerung ausgelegt und i.d.R. auch mit den (von Dir 
immerhin erwähnten) Sensoren zur Erfassung der Rotorposition 
ausgestattet ist. Die Dinger werden eben von vielen Firmen unter der 
Bezeichnung EC-Motor verkauft, andere verkaufen sie eben als BLDC 
(brushless DC)-Motoren...
Gast #494648
Lesenswert?

Hallo,

der BLDC-Motor wird nicht so einfach einem aufgezwungenen Drehfeld 
folgen.

Man muss in Abhängigkeit der Rotorposition die entsprechenden
Treiber ansteuern. Die Rotorposition bekommt man bei dieser Art von
Motor über die digitalen Hall-Sensoren mit einer Auflösung von normaler-
weise 60 Grad elektrisch.

Blockkommutierung bedeutet die Ansteuerung der jeweiligen Phase
60 Grad nach dem Nulldurchgang für 120 Grad so dass in einer 
elektrischen
Periode jede Phase 120 Grad aktiv ist.

Für eine Implementierung muss man wissen wie die Hall-Sensoren 
positioniert sind und welche Phasenlage deren Signale relativ zum 
Motorlauf haben. Das sollte man jedoch aus dem Datenblatt erfahren und 
ist meistens immer genau in diesem 60 Grad-Punkt, so dass man die Flanke 
des digitalen Hall-Signals zur Ansteuerung der Treiber verwenden kann.


@Oschi:
Was heisst hier Murks ? Der Wirkungsgrad und die Geräuschentwicklung
sind sicher bei Sinusansteuerung besser, aber bei vielen Applikationen
reicht diese Art der Ansteuerung völlig aus und vereinfacht die Endstufe
bzw. deren Ansteuerung erheblich. Blockkommutierung ist ein gängiges
Verfahren.



Gruss,
Armin
Gast #494649
Lesenswert?

Es geht einerseits darum, dass einige Antworter sich hier auf die 
Ansteuerung von asynchron-Motoren bezogen haben. Und da gibt es schon 
ziemliche Unterschiede, da EC-Motoren nunmal synchron laufen. 
Andererseits gibt es wie gesagt reichlich Dokumentation und Appnotes zur 
Ansteuerung von BLDC-Motoren. Man muss da wirklich nicht das Rad neu 
erfinden. Hinzu kommt, dass bei der elektronisch kommutierten 
Synchronmaschine die Positionserfassung des Rotors wichtig ist, weil das 
Ding sonst außer tritt gerät.
Gast #494656
Lesenswert?

BTW:
"synchron" bedeutet, dass der Rotor synchron mit dem Drehfeld des 
Stators umläuft, also mit der selben Winkelgeschwindigkeit. Bei einer 
Synchronmaschine gibt es keinen permanenten Schlupf wie bei der 
Asynchronmaschine. Wenn der Polradwinkel (vereinfacht gesagt der Winkel 
zwischen Rotor- und Statorfeld) der Synchronmaschine zu groß wird, dann 
gerät sie außer Tritt und zuckt nur noch. Bei der Asynchronmaschine ist 
das völlig anders, da es da einen drehmomentabhängigen Schlupf gibt und 
der Rotor (außer im idealen Leerlauf, den es in der Realität aber nicht 
gibt) langsamer läuft als das Statorfeld. Ein vierpoliger Synchronmotor 
an z.B. an 50 Hz läuft, solange er nicht außer tritt gerät, immer mit 
1500 U/min. Ein entsprechender vierpoliger Asynchronmotor hat nur im 
Leerlauf annähernd die 1500 U/min, bei Belastung geht die Drehzahl 
runter.

Außerdem kann ein Synchronmotor an einer Spannung mit fester Frequenz 
nicht anlaufen. Die Frequenz muss von Null an langsam hochgefahren 
werden. Das ist ebenfalls ein Unterschied zum Asynchronmotor, der auch 
an festen 50 Hz mit dabei abnehmendem Schlupf selbständig anläuft.

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