Forum: Mikrocontroller und Digitale Elektronik Gleichstrommotor Drehrichtung - seltsames Verhalten


von Jo M. (jokel)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

heute muss ich mich mal wieder mit einem kleinen Problem an Euch wenden. 
Es geht um einen DC-Motor der sich abhängig der Drehrichtung (in meinen 
Augen) seltsam verhält.

Kurz zum Aufbau:

Dynamischer Motorprüfstand für kleine Motoren aus dem Modellbau. Atmega 
mit L298, Hard-PWM zur Drehzahlregelung, BYV 27/200 als Freilaufdiode...

Funktioniert soweit fein, siehe Bild "Drehrichtung1". Wenn ich jetzt 
aber die Drehrichtung über den "INPUT"-PIN am L298 wechsel, ergibt sich 
eine sehr "Verstörte" Kurve wie im Bild "Derhrichtung2".

Mein erste Verdacht war, dass etwas mit dem PIN "OUTPUT B" des L298 
nicht stimmen könnte. Wenn ich nun aber die Drehrichtung durch drehen 
der Strippen am Motor ändere, erhalte ich auch eine wunderbare, glatte 
Messkurve am Output B. Dieses Problem ist mir verschiedenen Motoren 
reproduzierbar...

Meine Frage nun, warum ist da so? Das kann ich mir nicht erklären...

Noch kurz zu den Motoren: Meine bisherigen Rechergen haben ergeben, dass 
es sich um getimte Motoren handelt.

Ein kurzes Zitat:
"Timing bedeutet nun, den Motorkopf (mitsamt den Bürsten) um ein paar 
Grad (relativ zu den Dauermagneten im Gehäuse) zu verdrehen. Damit wird 
versucht, den optimalen Zeitpunkt zur Stromwendung zu erreichen"

Das würde ich glauben, da die Motoranschlüsse leicht versetzt sind und 
ich einen Unteschied von ca. 300 U/min auf dem Prüfstand messe. Kann das 
damit was zu tun haben, und wodurch könnten die Störungen kommen?

Vielen Dank und viele Grüße

Jo

von Falk B. (falk)


Lesenswert?

@Jo M. (jokel)

>Das würde ich glauben, da die Motoranschlüsse leicht versetzt sind und
>ich einen Unteschied von ca. 300 U/min auf dem Prüfstand messe. Kann das
>damit was zu tun haben, und wodurch könnten die Störungen kommen?

Könnte sein.

von MaWin (Gast)


Lesenswert?

Jo M. schrieb:
> mit L298, Hard-PWM zur Drehzahlregelung, BYV 27/200 als Freilaufdiode...

Sieht aus, als ob eine Freilaufdiode (die dann den positiven Transistor 
der Drehrichtung überbrückt) kaputt (kein Kontakt) wäre.

von A-Freak (Gast)


Lesenswert?

Gut möglich, merkt man bei den meisten Kleinstmotoren.

In der falschen Drehrichtung wirst du deutlich stärkere Funken am 
Kommutator haben, damit kürzere Lebensdauer und stärkere Funkstörungen.

Große Gleichstrommotoren haben dafür eine sogenannte Wendepolwicklung im 
Stator die ein Querfeld erzeugt, damit können die Funken bei jeder 
Drehrichtug und Belastung zugleich minimiert werden.

Mit der heutigen Leistungselektronik nimmt man elektronisch kommutierte 
Motoren die das Problem sowieso nicht mehr haben.

von Achim H. (anymouse)


Lesenswert?

Was zeigen die Grahen (Achsen)?
Sind die Stellen der Peaks an festen Punkten und reproduzierbar?
Glättest Du die Spannung nach der PWM, bzw. kannst Du Resonanzen 
ausschließen?
Der L298 soll ja zwei H-Brücken besitzen, kommt das gleiche Verhalten 
auch beim zweiten Teil?

von Helge A. (besupreme)


Lesenswert?

Ich halte das für normal bei Antriebsmotoren im Modellbau. Das Modell 
hat ja auch eine bevorzugte Bewegungsrichtung.

von Carsten R. (kaffeetante)


Lesenswert?

Jo M. schrieb:
> Kann das
> damit was zu tun haben, und wodurch könnten die Störungen kommen?

Ich halte es für sehr wahrscheinlich. Es ist zwar ein DC Motor, benannt 
nach den Eingängen, intern wird aber fleißig umgepolt, wobei verschieden 
Kräfte miteinander oder gegeneinander arbeiten.

Zwei Dinge induzieren Spannung. Einmal dieweilige Spule an sich. Bei 
Phasenwendung wird der Stromfluß jäh unterbrochen und es entstehen 
Abrißfunken an der Bürste (Selbstinduktion). Zum anderen bewegen sich 
die Spulen durch das Magnetfeld (Generatorspannung. Beides zusammen 
ergänzt oder oder schwächt sich gegeneitig, je nachem wie Spule und 
Magnetfeld zu dem "Sachaltzeitpunkt" der Bürste zueinander ausgerichtet 
sind und sich bewegen.

Das ist einer der Gründe warum man die Bürstenposition optimiert. Kehrt 
man die Drehrichtung des Motors um, so ändert sich die Motorposition 
beim Trennen, da Anfang und Ende des Schleifkontaktes die Rollen 
tauschen. Zudem bewegt sich die jeweilige Spule anders herum im 
Magnetfeld während zusätzlich die relative Position der Spule im 
Magnetfed auch eine andere ist wegen dem zuvor genannten Vertauschen von 
Anfang und Ende der Kommutatorsegmente.

von Jo M. (jokel)


Lesenswert?

@ Achim Hensel
Die Diagramme zeigen die Drehzahl (Y) in Abhängigkeit der Zeit (X).
Spannung wird nach der PWM nicht geglättet. Die Peaks sind nicht 
reproduzierbar. Nur das Peaks sind in in Abhängigkeit der Drehrichtung 
ist reproduzierbar.

@MaWin
>Sieht aus, als ob eine Freilaufdiode (die dann den positiven Transistor
>der Drehrichtung überbrückt) kaputt (kein Kontakt) wäre.

Nach Überprüfung mit dem Multimeter keine auffälligkeiten bei keiner der 
Dioden.

__

Das das normal sein kann, bei solchen Motoren, da stimme ich ja noch zu. 
Aber die Peaks schießen ja auf den Atmega zurück, daher die Messfehler. 
Und dies sollte ich doch unterbinden. Die BYV 27/200 sollte doch 
ausreichend schnells eein...

von Carsten R. (kaffeetante)


Lesenswert?

MaWin schrieb:
> Sieht aus, als ob eine Freilaufdiode (die dann den positiven Transistor
> der Drehrichtung überbrückt) kaputt (kein Kontakt) wäre.

Das wurde schon durch nachträgliches Vertauschen der Strippen am Motor 
ausgeschlossen. Dadurch läuft der Motor wieder "vorwärts" obwohl der 
Treiber "rückwärts" sagt. Das Problem ist also eindeutig an die 
physische Drehrichtung des Motors gebunden.

von Achim S. (Gast)


Lesenswert?

Jo M. schrieb:
> @ Achim Hensel
> Die Diagramme zeigen die Drehzahl (Y) in Abhängigkeit der Zeit (X).

Na gut, dass Achim Hensel nachgefragt hat: wenn das die Drehzahl ist, 
dann dürften die Peaks wohl kaum echt sein. Der Motor wird wohl kaum 
innerhalb einiger ms seine Drehzahl verdoppeln und dann gleich wieder 
auf den alten Wert zurückspringen. Dein Encoder zur Drehzahlmessung 
dürfte ein Richtungsproblem haben.

von Carsten R. (kaffeetante)


Lesenswert?

Jo M. schrieb:
> Die Peaks sind nicht
> reproduzierbar. Nur das Peaks sind in in Abhängigkeit der Drehrichtung
> ist reproduzierbar.

Das ist nicht ungewöhnlich bei Bürstenfeuer. Das ist ja gerade die 
Eigenschaft bei "Funkenflug", keine gleichmäßige Energieübertragung. 
Normalerweise schließt man solche Störungen mit einem kleinen und 
"schnellen" Kondensator deutlich höherer Spannungsfestigkeit als 
Nennspannung (Spikes) direkt an Motor kurz, je nach Bedarf. Oft nimmt 
man einen kleinen Kerko und manchmal noch einen kleinen Ferrit hinzu 
oder noch komplexere Lösungen, wie gesagt, je nach Bedarf.

Hast Du irgendetwas derart am Motor?

Gleichstrommotor entstören liefert bei Google:

http://www.modellbau-weissensee.de/technik/seiten/motorentstoerung.htm

von Carsten R. (kaffeetante)


Lesenswert?

Wie wird denn die Drehzahl bestimmt?
Über einen eigenen Encoder oder über die Gegenspannung oder wie?

von Jo M. (jokel)


Lesenswert?

Achim S. schrieb:
> Jo M. schrieb:
>> @ Achim Hensel
>> Die Diagramme zeigen die Drehzahl (Y) in Abhängigkeit der Zeit (X).
>
> Na gut, dass Achim Hensel nachgefragt hat: wenn das die Drehzahl ist,
> dann dürften die Peaks wohl kaum echt sein. Der Motor wird wohl kaum
> innerhalb einiger ms seine Drehzahl verdoppeln und dann gleich wieder
> auf den alten Wert zurückspringen. Dein Encoder zur Drehzahlmessung
> dürfte ein Richtungsproblem haben.


Die Peaks sind nicht echt. Habe das vielleich nich klar genug 
dargestellt.
Der Encoder ist in diesem Fall eine einfach Gabellichtschranke womit 
fünf Speichen eines kleinen Zahnrades abgefragt werden. Eine 
Drehrichtung gibt also für die Lichschranke erstmal nicht. Die fünf 
Impulse werden Momentan über den Timer0 gezählt und nach einer vollen 
Umdrehung, anhand der vergangenen Zeit, die Drehzahl berechnet.

Bei der einen Drehrichtung kommt es nun zu den Peaks, bei der anderen 
nicht.

Aber wenn ich jetzt darüber nachdenke (das ist meist mein Problem, komme 
eher aus der Informatik ;-)) kann es denn sein, das durch die vom Motor 
verursachten Störungen der Timer (zuoft) hochzählt. Das würde ja auch 
erklären warum ich nur Ausreißer nach oben habe...

Wenn das stimmen sollte, wie könnte ich das Messsignal den am besten 
entstören? Als Gabellichschranke wird eine TCST2103 verwendet. Mit 
10kOhm Vorwiderstand an der Empfängerseite, und da dann der Abgriff für 
den Controller..

Viele Grüße

von Simon K. (simon) Benutzerseite


Lesenswert?

Zeige mal den Aufbau

von Falk B. (falk)


Lesenswert?

@ Jo M. (jokel)

>Die Peaks sind nicht echt. Habe das vielleich nich klar genug
>dargestellt.

AHA!

>Aber wenn ich jetzt darüber nachdenke (das ist meist mein Problem, komme
>eher aus der Informatik ;-)) kann es denn sein, das durch die vom Motor
>verursachten Störungen der Timer (zuoft) hochzählt.

Sicher.

>Wenn das stimmen sollte, wie könnte ich das Messsignal den am besten
>entstören?

Mit einem RC-Filter und Schmitt-Trigger, wobei letzterer schon im 
AVR drin ist.

von Achim S. (Gast)


Lesenswert?

Jo M. schrieb:
> Eine
> Drehrichtung gibt also für die Lichschranke erstmal nicht.

Es wäre zumindest denkbar, dass sich das Zahnrad je nach Drehrichtung 
unterschiedlich "aus dem Spiel dreht" und dadurch doch wieder eine 
Drehrichtungsempfindlichkeit entsteht. Die Hypthese mit den 
unterschiedlich starken Störungen des Motors erscheint mir aber auch 
wahrscheinlicher.

Jo M. schrieb:
> Wenn das stimmen sollte, wie könnte ich das Messsignal den am besten
> entstören?

Hast du ein Oszi zur Hand? Falls ja: ab besten erst mal das Signal der 
Lichtschranke in beiden Drehrichtung messen und die Ergebnisse hier 
vorstellen.

von Carsten R. (kaffeetante)


Lesenswert?

Störungen bekämpft man dort wo sie entstehen.

Ich tippe da eher auf den Motor und die Leiterbahnführun als Ursache. 
Bitte mal den Aufbau zeigen.

Zur Sicherheit: Kannst du den Encoder auch drehen, so daß der Motor zwar 
in der "sauberen" richtung läuft und nur der Encoder rückwärts?

Wenn das dann gut läuft wissen wir mehr und Motor und Zuleitungen sind 
zu entstören und zu entkoppeln.

von Jo M. (jokel)


Angehängte Dateien:

Lesenswert?

Der Aufbau, äähm, nagut, hier mit Bild... Ich hoffe ich werde jetzt 
nicht gesteinigt...

Ein Oszi habe ich leider nicht zur Hand. Kann ich das irgendwie anders 
rausfinden, eingrenzen?

von MaWin (Gast)


Lesenswert?

Achim S. schrieb:
> Na gut, dass Achim Hensel nachgefragt hat: wenn das die Drehzahl ist,
> dann dürften die Peaks wohl kaum echt sein.

Oh, Drehzahl, ich hätte mit Strom gerechnet, denn so schnell ändert sich 
niemals eine Drehzahl. Also bloss ein Rechenfehler.

von Carsten R. (kaffeetante)


Lesenswert?

Ok, hab die Gabellichtschranke überlesen. Der ist die Laufrichtung 
wirklich egal, sogefern da keine kuriose Mechanik angebaut ist (sieht 
nicht danach aus).

Aufbau:
Typisch fliegender Aufbau. Wer macht das nicht. :)

Motor und Singnalleitungen gehen getrennte Wege. Das ist schonmal gut.

Ist das ein Kondensator was da rot hinter dem Treiber hervorlugt?
Wird der Atmel über USB versorgt?
Die Batterieanschlüsse kann man leider nicht unter das Lochraster 
verfolgen

Kleinen Kerko direkt an die Motorkontakte.

Kondensator nahe am Treiber anbringen. Sollte im Datenblatt vom Treiber 
auch drin stehen. Gerade die 9 Volt Zellen brauchen besonders 
Untstützung und können auch nur kleine Ströme liefern.

Sollten Motor und AVR gerennt versorgt sein(USB und Batterie), sollten 
die Massen verbunden werden. Hast Du dich schonmal ein wenig mit 
Massefühung befaßt?

: Bearbeitet durch User
von Christian (Gast)


Lesenswert?

Hast du mal versucht, ein geschirmtes Kabel für den Drehzahlsensor zu 
verwenden? Deine jetzige Leitung wirkt wie eine Antenne, die die 
elektromagnetischen Störungen geradezu anziehen könnte ;)

von Christian (Gast)


Lesenswert?

MaWin schrieb:
> Achim S. schrieb:
>> Na gut, dass Achim Hensel nachgefragt hat: wenn das die Drehzahl ist,
>> dann dürften die Peaks wohl kaum echt sein.
>
> Oh, Drehzahl, ich hätte mit Strom gerechnet, denn so schnell ändert sich
> niemals eine Drehzahl. Also bloss ein Rechenfehler.

Das wäre aber ein seltsames Stromverhalten für einen anlaufenden 
DC-Motor...

von Jo M. (jokel)


Lesenswert?

Carsten R. schrieb:
> Ist das ein Kondensator was da rot hinter dem Treiber hervorlugt?

Ist nur ein Jumper für die Drehrichtung (Input 1 oder 2). Ein 100n 
Kondensator sitzt zwischen dem Jumper und Treiber zwischen 0-5V, sieht 
man auf dem Bild leider nicht.

> Wird der Atmel über USB versorgt?

Ja.


> Die Batterieanschlüsse kann man leider nicht unter das Lochraster
> verfolgen

Die gehen direkt an den L298 auf kürzestem Weg.

> Kleinen Kerko direkt an die Motorkontakte.

Gerade versucht, aber 100nF Keramik Vielschicht, kann man den nehmen? 
Wenn ja, keine Verbesserung...

> Kondensator nahe am Treiber anbringen.
> Gerade die 9 Volt Zellen brauchen besonders Untstützung und können auch
> nur kleine Ströme liefern.

Das ist für später gut zu wissen, sollte aber doch nichts mit den Peaks 
zu tun haben, oder?

> Sollte im Datenblatt vom Treiber auch drin stehen.
> Sollten Motor und AVR gerennt versorgt sein(USB und Batterie), sollten
> die Massen verbunden werden. Hast Du dich schonmal ein wenig mit
> Massefühung befaßt?

Die Massen sind natürlich verbunden...

von Michael S. (schiko)


Lesenswert?

Ich verstehe das so, dass Du
-Verwendest einen Timer als Harwarezähler für die Lichtschranke
-Im Compare-Interrupt (4) bnerechnest Du die Drehzahl.
-Nimmst einen anderen Timer als Zeitmesser.

Im Compare-Interrupt könntest Du auch eine Software-Entprellung 
einbauen,
wobei die maximale Beschleunigung abhängig von der momentanen Drehzahl 
ist.
MaxDeltaZeit = FunktionVon( LastOmega )
Das wiederum wird am genauesten, je weniger Impulse Du je Umdrehung bzw. 
Interrupt hast.

...aber erster Schritt wie Falk schrieb: RC-Glied an Eingang

Grüße
Schiko

von Carsten R. (kaffeetante)


Lesenswert?

Jo M. schrieb:
> Das ist für später gut zu wissen, sollte aber doch nichts mit den Peaks
> zu tun haben, oder?

Möglich wäre das schon, der kleine Kondensator schließt nur kleine 
Störungen kurz und glättet Flanken etwas. Größere Störungen wirken auf 
die Versorgung zurück. Generell und besonders bei diesem Batterietyp ist 
ein Kondensator Pflicht. Ist denn am Treiber ein Kondensator angebracht? 
Die Massen sollten dann bei Kondensatoranschluß zusammenlaufen.

Nebenbei bemerkt ist auch der USB-Port keine perfekte 
Spannungsversorgung. Solo funktioniert das recht gut. Bindet man sie 
aber mit anderen Sachen zusammen, sollte dies sorgfältig geschehen.

Ich kenne die Daten vom Motor nicht. Wenn er aber 9 Volt verträgt 
könntest Du folgendes testen.

1. Motor direkt an die Batterie anschließen. Die Peaks müßten dann weg 
sein.

2. Treiber überbrücken, aber die Masse verbunden lassen. Sind die 
Störungen noch immer da, liegt es am Motor und/oder den Leitungen. Da 
man den Motor selbst schlecht ändern kann und er prizipiell 
funktionieren sollte, liegt die Lösung in weiteren Maßnahmen um den 
Stromfluß im Leistungsteil vom Rest besser zu entkoppeln.

Wenn der Motor die 9 Volt nicht verträgt: Motorstrom abschätzen (etwas 
über Leerlauf laut Datenblatt oder mit Multimeter messen)und Widerstand 
in Reihe schalten um die Spannung zu senken.

Zusätzlich halte ich auch die Entprellung/Filterung der Lichtschranke 
für sinnvoll, würde aber zuerst zumindest die grundlegende Entstörung im 
Leistungsteil vornehmen.

: Bearbeitet durch User
von mhh (Gast)


Lesenswert?

Als Option: Das leistungsgebremste 9V Atomstromportable gegen ein 
Netzteil tauschen und noch mal messen?

von Carsten R. (kaffeetante)


Lesenswert?

Das hast du aber schön gesagt.^^

i like

von Jo M. (jokel)


Lesenswert?

Zunächst einmal vielen Dank für die zahlreichen Anworten...
Habe zwischenzeitlich nochmal etwas rumprobiert und auf ein externes 
Netzteil umgestellt... Hier das Ergebnis:


Carsten R. schrieb:

> 1. Motor direkt an die Batterie anschließen. Die Peaks müßten dann weg
> sein.

Stimmt, Kurve in der kritischen Drehrichtung fast perfekt bis auf zwei 
minimale Ausreißer.

> 2. Treiber überbrücken, aber die Masse verbunden lassen. Sind die
> Störungen noch immer da, liegt es am Motor und/oder den Leitungen. Da
> man den Motor selbst schlecht ändern kann und er prizipiell
> funktionieren sollte, liegt die Lösung in weiteren Maßnahmen um den
> Stromfluß im Leistungsteil vom Rest besser zu entkoppeln.

Störungen sind wieder da. Habe zusätzlich zu dem externen Netzteil noch 
einen Elko mit 100µF direkt beim Treiber verbaut, das Ergebnis bleibt 
leider das gleiche. Die eine Drehrichtung Top, die andere überhäuft mit 
Peaks... Sind 100µ ausreichend? Wenn nein, was wäre geeignet von der 
Größe her?


> Zusätzlich halte ich auch die Entprellung/Filterung der Lichtschranke
> für sinnvoll, würde aber zuerst zumindest die grundlegende Entstörung im
> Leistungsteil vornehmen.

Auch hier wäre ein Vorschlag zur Dimensionierung gut. Die Puls der 
Lichschranke bei Höchtdrehzahl liegt bei etwa 500Hz.

Viele Grüße

von Carsten R. (kaffeetante)


Lesenswert?

Jo M. schrieb:
> Sind 100µ ausreichend? Wenn nein, was wäre geeignet von der
> Größe her?

Ohne den Motor und seine Daten zu kennen würde ich es mit eine 
zusätzlichen 470 µF oder, fals dieser nicht greifbar ist, zwei 
zusätzlichen 220 µF versuchen. Dann noch eine 0,1 µF Folienkondensator 
für die hohen Frequenzen/steilen Flanken.

Anordnung: So nahe wie möglich am Treiber. Zuerst Treiber, dann 
Folienkondensator, 100 µF, den/die großen Kondensator(en) und dann mit 
den Batterien ganz nahe am Letzten Kondensator. Bei der Masseanbindung 
der Steuerung wird der Minuspol des großen Kondensators als Sternpunkt 
genommen. So müssen der Hauptstrom und die darin enthaltenen Störungen 
zuerst an den Kondensatoren vorbei bevor der vergleichsweise hochohmige 
träge 9V-Block kommt.

Jo M. schrieb:
> Auch hier wäre ein Vorschlag zur Dimensionierung gut. Die Puls der
> Lichschranke bei Höchtdrehzahl liegt bei etwa 500Hz.

Ohne Daten der Lichtschranke kann das wieder nur geraten werden. 
Pulsdauer ist entscheidend. Ich unterstelle ein on7off.-Verhältnis von 
50/50. Da bedeutet dann daß der Puls 1 ms Dauert. Der Filter darf nicht 
zu groß werden um das Signal zu verschleifen. Nun kommt das Datenblatt 
der Lichtschranke ins Spiel, sonst kann man nicht sagen wie stark die 
Impulse sind.

Bis dahin würde ich mal die berühmte reine Softwareentprellung von Peter 
Dannegger hier im Forum nutzen.

: Bearbeitet durch User
von Jens G. (jensig)


Lesenswert?

Mach doch einfach mal einen kleinen C parallel zur Lichtschranke. Z.B. 
10n. Sollte eine Zeitkonstante von rund 100µs mit dem 10k Vorwiderstand 
bilden, was bei 500Hz noch nicht zu sehr verschleifen sollte, aber 
eingestreute Störungen kurzschließen sollte.

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
Noch kein Account? Hier anmelden.