Hallo allerseits Ich habe leider nicht viel Ahnung von Schrittmotoren, deshalb schreibe ich Euch kurz, was ich vorhabe und was ich bereits gemacht habe: Ich habe hier vor mir einen Schrittmotor in einem Drehzahlmesser liegen. Ich möchte diesen Motor gerne für eine andere Anwendung (ebenfalls als Anzeigeinstrument) verwenden und will nun dafür eine Ansteuerung bauen. Der Motor besteht aus drei(!) Anschlüssen: L12 L23 o--mmmm--o--mmmm--o 1 2 3 Sieht also aus wie ein unipolarer Motor, aber mit nur einer Spule (falls es sowas gibt?). Keine Ahnung, warum das Ding so beschaltet wurde, jedenfalls funktioniert es so. Um nun der Ansteuerung auf die Spur zu kommen, habe ich mir mit der originalen Ansteuerelektronik die Spannungs- und Stromwerte der Motorklemmen an verschiedenen Zeigerpositionen notiert. Leider hab ich zu Hause nur ein "no true RMS"-Multimeter zur Verfügung, deshalb werden die Werte wohl falsch sein. Für eine Tendenz reicht es aber. Jedenfalls habe ich mir mit einem AT90S2313 dann eine dreifach PWM geschrieben und kann nun so über einen Treiber (L293D) die drei Klemmen mit den vorher gemessenen originalen Spannungen (und Strömen) beschalten. Das klappt soweit auch alles, die Anzeige funktioniert. Das Problem ist aber jetzt, dass ich nicht weiß, mit welcher Frequenz ich den Motor ansteuern muss! Wie schnell muss meine PWM sein? Ich habe zuerst 120Hz, später dann 500Hz ausprobiert. Aber der Motor gibt ein Summen von sich. Hängt das überhaupt mit der Frequenz zusammen? Oder liegt das an der Signalform (bei meiner PWM natürlich Rechteck)? Wie macht man's richtig? Vielleicht kann mir jemand auch eine grundsätzliche Frage beantworten: Woraus berechnet sich das Haltemoment des Motors? Aus der Spannung oder aus dem Strom? Viele Grüsse, Steffen
Zunächst gilt bei Motoren der Zusammenhang Strom->Moment Spannung->Drehzahl Im Falle des Schrittmotors hängt die Drehzahl natürlich primär von der Frequenz ab, die Ausführgeschwindigkeit kann man dann der Höhe der Spannung zuschreiben. Wenn dein Motor nur noch ein Summen von sich gibt war die Frequenz definitiv zu hoch :-) Die Signalform Rechteck spielt für den Motor keine große Rolle, da er selbst als Tiefpaß wirkt und quasi nur die erste Harmonische zur Drehmomentbildung beiträgt. Gruß, Alex
Hallo Alex :-) Der Motor summt auch, wenn ich die Frequenz runterdrehe. Ich hab es jetzt mit 50Hz ausprobiert. Er summt, nur halt tiefer. Sehr viel langsamer kann ich auch nicht werden, weil ich ja die Anzeige noch aktualisieren muss. Das mit der Signalform und dem TP-Verhalten erscheint mir logisch. Trotzdem: Mit der originalen Elektronik hat er auch nicht gesummt. Was hat die denn anders gemacht als meine? Übrigens, wenn ich ganz genau hinhöre, dann höre ich doch noch eine Oberwelle. Also neben dem "tickern" (=50Hz) noch ein piepen. Ich bin ein bißchen ratlos... Danke für Deine Antwort, Steffen
Du weißt aber schon, daß man einen Schrittmotor nicht einfach per PWM ansteuern kann, sondern eine H-Brücke bzw. einen Treiberbaustein braucht? Solange sich der Motor nicht bewegt, tut sich dann auch nichts an der Ansteuerung und dann summt auch nichts...
Hoppla, sorry, bei Dir funktioniert es ja schon... Du möchtest eine PWM machen, um im bewegungslosen Zustand nicht unnötig Strom zu verbraten? Da kann die Frequenz ruhig ziemlich hoch sein, so daß es nicht mehr summt - so 5kHz wären bestimmt OK. Das Haltemoment hängt vom Strom ab...
Hallo Herr Raschke Ja genau, die Schaltung funktioniert, nur das Summen stört. 5kHz ist arg hoch, das ist auch schon die Grenze von dem, was mein Treiber (L293) schafft. Ich arbeite hier mit einem 8MHz Quarz, bei einem PWM-Takt von 5kHz komme ich so auf 1600 Takte pro vollem PWM-Zyklus. Meine Interrupt-Routine braucht schon 18 Takte, plus 12 in Reserve macht 30 Takte zwischen jedem Interrupt-Aufruf. Und 1600:30 macht etwa 53. Das ist ein bißchen grob für die Einstellung des Tastverhältnisses... Ich hab außerdem die Befürchtung, dass er bei 5kHz immernoch summen wird - nur halt mit 5kHz. Zumindest war es wie bereits gesagt bei 1kHz so, dass er mit 1kHz gesummt hat. Also mal andersherum: Summen eure Motoren denn auch im Stand? Was für Möglichkeiten habe ich, das PWM-Rechteck zu glätten? Vielleicht über einen anderen Treiber? Das macht mir natürlich dann die schöne PWM-Regelung kaputt :-( Übrigens, in der originalen Elektronik kommt ein BA6730B (von Rohm) zum Einsatz. Wie macht der das denn? Ein Datenblatt konnte ich leider nicht finden... Vielleicht weiß jemand noch Rat... Gruß, Steffen
Hi, Steffen! Ich habe bisher die TCA3727 benutzt, welche den Motorstrom messen und bei einer Chopperfrequenz von 25kHz arbeiten. Den Strom kann man, wen ich das richtig sehe, in 3 Stufen einstellen. Damit ist dann auch vernünftiger Viertelschritt - Betrieb möglich, jedoch verbrät man so einige Portpins am Controller... Immerhin würdest Du so die PWMerei auf dem Controller sparen...
Hallo Herr Raschke Ja, das ist ein schöner Treiber. Vielleicht ein bißchen überdimensioniert für meine Anwendung. Es handelt sich ja nur um eine Anzeige, keine komplizierte Steuer- oder gar Regelung. Ok, jetzt setze ich auch einen Treiber ein (ohne Logik), der TCA3727 wäre dann lediglich der nächste Schritt. Aber: Das löst mein Problem nicht ;-) Es umgeht es. Allerdings fürchte ich langsam, dass es ohnehin keine einfache Lösung für mein Problem gibt. Danke und viele Grüsse, Steffen
Hallo Steffen, bist du sicher, das dein Motor auch wie ein Schrittmotor betrieben wird? Oder handelt es sich eher um ein Drehspulinstrument(wie bei analogen Multimetern). Ein Kondensator mit Vorwiderstand (Tiefpass) wirkt bei Brumm-geräuschen in Gleichstromkreisen. Bei der Berchnung kann ich Dir leider nicht helfen, aber ich probier es bei meinen "Projekten" einfach aus. Für den Anfang 1k Ohm und 100 uF aus der Bastelkiste. Funktioniert aber nur wenn der Motor wie ein Drehspulinstrument funktioniert.
Hallo Jürgen Ich hab leider keine Idee, wie ein Drehspuleninstrument betrieben wird! Der Motor sieht mir aber sehr nach einem Schrittmotor aus, obwohl ich gestehe, mich nicht besonders gut mit diesen Motoren auszukennen. Dafür spricht aber noch der originale Treiberbaustein, der wohl in die Reihe der Schrittmotor-Treiber gehört und natürlich der Aufbau des Motors selbst (im Prinzip bipolar mit einem zusammengeschalteten Pol). Aber wenn Du so direkt fragst: Nein, sicher bin ich mir nicht! Das mit dem TP wird nicht helfen, weil ich damit nur die Oberwellen dämpfen könnte. Die stören aber gar nicht so sehr, es ist die Grundwelle. Ich hatte schon eine RC-Kombination zum Glätten gegen Masse geschaltet, aber die Dimensionierung fällt mir (wie Dir ;-) ) schwer. Es hat nicht geklappt. Viele Grüße, Steffen
Wenn Du lediglich auf einfache Weise den Haltestrom verringern willst, könntest Du vielleicht auch einfach einen Vorwiderstand in die Stromversorgung des Treibers setzen und diesen per Transistor überbrücken, wenn mehr Power gebraucht wird...
Hallo Steffen, ich glaube die Treiberbausteine dienen nur zur Verstärkung der Eingangssignale. Zur Ansteuerung eines Schrittmotor muss der MC eine bestimmte Bit folge ausgeben. Dann Dreht sich der Motor. PWM geht dafür nicht. d.h. dein Motor ist vermutlich kein Schrittmotor. Die Stellung deiner Anzeige hängt vermutlich von dem Verhältnis der Spannungen(Ströme) an den beiden Spulen ab. z.b. Spannung an L12 = 5 V ; an L23 = 0V -> Zeiger links Spannung an L12 = 0 V ; an L23 = 5V -> Zeiger rechts Spannung an L12 = 5 V ; am L23 = 5V -> Zeiger in der Mitte oder so ähnlich. Dann sollte das Brummen auch mit einer Glättung der Eingangsspannung der Spulen zu beseitigen sein. Der Haltemoment hängt dann von der zugeführten Leistung (P=U x I) ab. Leistung = Spannung x Strom. Ich würde mal je einen Kondensator von 1 nach GND , 2 nach GND und 3 nach GND versuchen. Zur Stromreduzierung noch einen Widerstand in jede Spulenzuleitung (Bei 5V und 500 Ohm > 10 mA kann eigentlich nichts passieren, möglicherweise aber auch keine Anzeige; dann den Widerstand verkleinern) Bei einem Drehspulinstrument sorgt das durch eine Spule erzeugte Magnefelt für die Ablenkung eines Zeigers. Eine Feder sorgt für die Rückholung des Zeigers in die Nullstellung. Schrittmotor Siehe: http://www.roboternetz.de/schrittmotoren.html Vieleicht liege ich aber auch falsch.
Hallo Steffen, ich hab noch mal unter "www.roboternetz.de/schrittmotoren.html" nachgeschaut: Schrittmotoren haben mindestens 4 Anschlüsse. Du hast also keinen Schrittmotor, sondern eher ein Drehspulinstument mit einer speziellen Beschaltung. Viele Grüße Jürgen
Hallo Steffen, ich vermute mal, die Originalschaltung hat den Schrittmotor (wobei vielmehr: Drehspulinstrument) wohl eher mit nem Gleichstrom/Gleichspannung angesteuert. Hast du bei deinen Messungen warscheinlich auch so rausbekommen. Deswegen brummt die Anzeige auch nur, wenn du sie an einer PWM betreibst. Hast du an die Originalschaltung schonmal ein Oszi drangehängt? Ist manchmal sehr interessant zu sehen, was da rauskommt! MFG Hannes
Hallo zusammen Puh, kommt man hier aber schnell auf die zweite Seite ;-) Ich hab mich heute abend nochmal hingesetzt und viel herumexperimentiert. Tatsächlich hab ich das Brummen wegbekommen und zwar indem ich einen Kondensator gegen Masse und einen Widerstand in Reihe zur Motorwicklung geschaltet habe. Die Werte waren 10µF für den Kondensator und 180Ohm für den Widerstand. Ziemlich viel Leistung, wenn ich für den maximalen Motorstrom 40mA ansetze (ich muss dann mit höherer Spannung arbeiten). Jedenfalls bin ich jetzt dabei einen Kompromiss zwischen Brummen und Leistung zu finden! Ein Oszi hab ich leider nicht zu Hause und ich komm im Moment leider auch an keins ran. Klar, dann könnte man die ganze Situation viel besser einschätzen. Aber mit experimentieren scheint es jetzt ja auch geklappt zu haben! Vielen Dank für Eure tollen Tipps :-) Gruß, Steffen P.s.: Mein "Schrittmotor" hat übrigens schon vier Anschlüsse, allerdings ist einer nicht beschaltet und ein anderer halt als "Common" an zwei Spulen dran.
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.