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
@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.
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.
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.
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?
Ich halte das für normal bei Antriebsmotoren im Modellbau. Das Modell hat ja auch eine bevorzugte Bewegungsrichtung.
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.
@ 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...
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.
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.
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
Wie wird denn die Drehzahl bestimmt? Über einen eigenen Encoder oder über die Gegenspannung oder wie?
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
@ 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.
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.
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.
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?
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.
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
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 ;)
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...
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...
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
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
Als Option: Das leistungsgebremste 9V Atomstromportable gegen ein Netzteil tauschen und noch mal messen?
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.