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
Schau dir mal die AVR442 Application Note an, http://atmel.com/dyn/resources/prod_documents/doc8005.pdf die könnte für dich evtl. interessant sein.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.