www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schrittmotor -> Frequenz?


Autor: Steffen (Gast)
Datum:

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

Autor: Alex (Gast)
Datum:

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

Autor: Steffen (Gast)
Datum:

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

Autor: Johannes Raschke (Gast)
Datum:

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

Autor: Johannes Raschke (Gast)
Datum:

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

Autor: Steffen (Gast)
Datum:

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

Autor: Johannes Raschke (Gast)
Datum:

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

Autor: Steffen (Gast)
Datum:

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

Autor: Jürgen C (Gast)
Datum:

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

Autor: Steffen (Gast)
Datum:

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

Autor: Johannes Raschke (Gast)
Datum:

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

Autor: Jürgen C (Gast)
Datum:

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

Autor: Jürgen C (Gast)
Datum:

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

Autor: Hannes Hering (Gast)
Datum:

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

Autor: Steffen (Gast)
Datum:

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

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.