Morgen!
Ich wollte zum Verstänis einen bürstenlosen Motor mit einem AVR
ansteuern. (D.h. nur die Spulenbestromung, die Lüfterelektronik wird
nicht verwendet). Da ich (noch) keine Motoren habe habe ich einen
PC-Lüfter zerlegt.
Dieser PC-Lüfter hat - wie die meisten vermute ich - nur zwei Phase.
(Die Spulen sind in Reihe geschaltet mit einem Mittelabgriff zwischen
den Spulen - siehe Plan unter der Tabelle. Die Bezeichnung A,B,Z sind
willkürlich gewählt).
Dafür habe drei Gegentaktendstufen aufgebaut um die beiden Spulen in
beide Richtungen zu bestromen.
Die Elektronik funktioniert soweit wie sie soll.
Der Lüfter dreht auch, aber es ist nicht mehr als ein unwilliges,
langsames gehoppel.
Auf dem - zugegenen nicht so hübschen - Plan habe ich den prinzipiellen
Aufbau aufgezeichnet.
VCC sind +7V.
Die Signaleingänge A,B,Z haben noch einen Eingangswiderstand (1kOhm) und
liegen an einem Port vom AVR.
Die Tabelle beschreibt wie ich den Motor steuern will.
A,B,Z führen entweder logisch high (1), oder logisch low(0).
Ia, Ib, Iab beschreibt die Richtung der Ströme durch die Spulen.
+: positiv (in Pfeilrichtung), -: negativ (gegen Pfeilrichtung), 0: kein
Strom weil kein Spannungsabfall über die jeweilige Spule(*).
Drehen sollte er sich meiner Überlegung nach wenn ich nacheinander Apos,
Bpos, Aneg, Bneg schalte. Die Dauer zwischen dem Schalten bestimmt
letzendlich die Rotationsgeschwindigkeit.
(Allerdings mit dem Hintergedanken dass ich nicht weiß, ob Apos und Aneg
bzw. Bpos und Bneg vielleicht vertauscht werden müssen da ich nicht
sicher bin wie die Spulen gewickelt, und demnach wie sich das Magnetfeld
ausbreitet. Der Versuch das mit einem Kompass zu ermitteln hat mich
nicht weitergebracht.)
Wenn ich ca. 1-2 Sekunden zwischen dem Schalten warte dann hoppelt der
Lüfter jeweils um 90° weiter. Aber schneller gehts nicht. Je nach
Wartezeit vibriert er oder macht garnichts mehr. Bei geeigneter
Ansteuerung habe ich ihn sogar schon zum "Singen" bewegt und eine kleine
Melodie àla Tetris&co. auf ihm abspielen können. War aber nicht so ganz
was ich vor hatte ;-)
Viel Text, eine Frage: Habe ich noch einen prinzipeillen Denkfehler?
Müsste es so nicht funktionieren?
(*) kein Spannungsabfall stimmt nicht ganz weil ein kleiner Strom von
ca. 6mA trotzdem durch die Spule fließt. Liegt meiner Überlegung nach
daran dass ich die Endstufe aus Bipolartransistoren aufgebaut habe und
die Basis-Emitter-Spannung gegen Masse bleibt.
Die Original-Elektronik hatte einen Hallsensor.
Bei dir sehe ich keinen.
Wie meinst du, willst du das hinbekommen, ohne Rückmeldung über die
aktuelle Position des Rotors ?
> Die Dauer zwischen dem Schalten bestimmt> letzendlich die Rotationsgeschwindigkeit
Nein.
Der zeitliche Versatz zwischen dem Schalten und der aktuellen
Rotorpositionbestimmt das Drehmoment.
Die Rotationsgeschwindigkeit ergibt sich dann aus dem Drehmoment gegen
den Luftwiderstand.
Passen real sich ergebende Drehzahl und Rotationsgeschwindigkeit des
Feldes nicht zusammen, hoppelt es eben.
> Die Original-Elektronik hatte einen Hallsensor.> Bei dir sehe ich keinen.
Ausserdem sind die Lüftermotoren keine 3-Phasen-Ausführung, sondern
typischerweise werden 2 Wicklungsenden abwechselnd nach Masse gezogen,
der gemeinsame Mittelpunkt kommt an die Betriebsspannung, also
eigentlich ein Wechselstrommotor.
Der richtige Umschaltzeitpunkt wird durch den Hallgeber (s.O.)
vorgegeben.
Ansonsten kannst Du ja mal versuchen, das hin-und-herschalten extern zu
machen, ist sogar noch einfacher, wie deine Anordnung.
Solltes Du jetzt fragen, wie da ein Drehfeld entstehen kann, das muss in
der Magnetik des Motors, ähnlich
http://de.wikipedia.org/wiki/Lavet-Schrittmotor
allerdings mit vertauschtem Rotor/Stator realisiert sein.
mfG ingo
Tach Christoph,
du machst es dir, wie Ingo bereits sagte, deutlich zu schwer. Wenn du
einen extra rausgeführten Mittelpunk hast dann nutze ihn verdammt!
Du kannst auch mit deiner Schaltung durch kommen. Allerdings vergisst du
tatsächlich was. Eine 0 am Ausgang des AVR bedeutet eben nicht kein
Strom sondern Masse und da fließt in deinem Falle eben noch was.
Beispielhaft im ersten Schritt(Apos): Du willst das der Strom von A nach
Z fließt. Leider ist aber auch B Masse und damit teilt sich der Strom
zwischen Z und B auf. Das Verhältnis gibt der Widerstand von Spule B an.
Um dies zu umgehen, musst du das DDR des entsprechenden bits aus machen.
Dann kann tatsächlich kein Strom mehr fließen(vorausgesetzt der Port
gibt auch ein Low aus).
Wenn durch "die andere" Spule Strom fließt macht das das Magnetfeld
asymmetrisch. Das kann uU schon reichen um den Rotor aus dem Tritt zu
bringen.
Außerdem solltest du beachten, dass so ein Rotor auch der Massenträgheit
unterliegt. Wenn du keine Positionsmeldung hast, musst du gaaaaanz
langsam anfahren, denn der Rotor kann dem Magnetfeld nicht von jetzt auf
gleich folgen.
Thor
Moin
also erstmal vielen Dank für die Antworten, ich habe mal wieder etwas
gebraucht mich wieder hiermit zu befassen.
Ingo hat es auf den Punkt gebracht, ich war mir nicht im klaren wie das
Drehfeld entsteht. Ich gedacht es funktioniert wie bei einem "normalen"
BLDC. (Wobei ich mich ja schon über den minimalen Schaltungsaufwand
gewundert habe ...)
Ursprünglich hatte ich sogar nur eine Beschaltung mit zwei Transitoren,
habe eine Nacht darüber geschlafen und mich am nächsten morgen gefragt
wie das überhaupt funktioniern soll. (Da wusste ich auch noch nicht dass
der Motor anders funktioniert als gedacht). Rückwirkend betrachtet habe
ich vielleicht schon das beste aus meiner Beschaltung rausgeholt denn
gedreht hat er sich ja schon einmal damit. Nur ziemlich schlecht...
> Du kannst auch mit deiner Schaltung durch kommen. Allerdings vergisst du> tatsächlich was. Eine 0 am Ausgang des AVR bedeutet eben nicht kein> Strom sondern Masse und da fließt in deinem Falle eben noch was.
Das ist klar, sonst würde die Transistorschaltung auch nicht
funktionieren ;-) (oben npn, unten pnp. Ist ja nicht so sauber
gezeichnet.)
> Beispielhaft im ersten Schritt(Apos): Du willst das der Strom von A nach> Z fließt. Leider ist aber auch B Masse und damit teilt sich der Strom> zwischen Z und B auf. Das Verhältnis gibt der Widerstand von Spule B an.
Das war mir auch bewusst. Theoretisch dürfte durch B bei Apos kein Strom
fließen weil beide Enden der Spule B in dem Fall auf dem gleichen
Potential liegen. Die Realität sieht etwas anderes aus, das ist klar.
Aber ich dachte kleine Abweichungen verzeiht mir das Drehfeld.
(Ich habe die Schaltung aber auch mit dem Hintergedanken aufgebaut
demnächst einen Dreiphasenmotor damit anzutreiben.)
> Außerdem solltest du beachten, dass so ein Rotor auch der Massenträgheit> unterliegt. Wenn du keine Positionsmeldung hast, musst du gaaaaanz> langsam anfahren, denn der Rotor kann dem Magnetfeld nicht von jetzt auf> gleich folgen.
Das habe ich auch schon beobachtet. Der Rotor pendelt sich halt immer
auf seine Position ein.
Ich glaube mir ist jetzt recht klar wie ich es machen muss. Danke auch
an Fritz für die Application Note!
Jetzt muss brauche ich "nur" noch einen Hallsensor oder eine geeignete
Rückkopplung...
Schönen Gruß
Christoph