Hallo, ich habe das Problem, das ich bei einem Schrittmotor einen mechanischen Anschlag erkennen muss. Ich verwende einen Atmega168, L297 und L298 inkl. der Sens-Widerstände. An Vref hab ich glaube über einen Spannungsteiler 0,6 Volt angelegt. Ich hatte vor die Spannung an den Sens-Widerstände mit dem A/D-Wandleer des Atmega zu messen. Ich dachte der Strom in der Spule wird größer, wenn der Motor blockiert, d.h. die Spannung an den Widerständen müsste auch größer werden. Klappt leider nicht. Die Spannungen bei laufendem und blockierten Motor sind ungefähr gleich groß. Kann mir jemand weiter helfen? Gruß Paul
Danke schon mal für Antwort. Der L297 misst doch über die Widerstände den Strom und schaltet ab, wenn dieser zu hoch ist. Ist das so richtig? Da ich an Vref ca. 0,6 Volt anliegen habe, wird der Strom begrenzt. Wenn ich an Vref das Maximum von 3 Volt anlege, müsste ich dann Unterschiede messen können zwischen den Strömen wenn der der Motor dreht bzw. blockiert?
moin moin, der Strom hat die eingestellte Stärke, ob der Motor dreht oder nicht. Das nennt man dann Schrittverlust. Den mechachischen Anschlag mit einem elektrischen Kontakt zur Motorstoppung kombinieren. MfG Pieter
Wenn der Strom fest ist, dann bleibt nur die Spannung als Last abhängige Größe übrig. Man kann elektrisch tatsächlich erkennen, ob ein Schrittmotor Schritte verliert, nur ist das nicht ganz einfach. Bei hohen Drehzahlen sieht man einen deutlichen Unterschied in der Kurvenform, bei niedrigen Drehzahlen ändert sich nur leicht die Kurvenform beim Übergang zwischen den einzelnen Schritten. Schau mal bei Trinamic, die haben solche Features in den Schrittmotortreibern.
Einen Kontakt anbringen ist leider nicht möglich. Stimmt die Theorie denn das der Strom größer wird, wenn der Motor Blockiert ist? Dann könnte ich doch die Sens-Eingänge des L297 unbeschaltet lassen und statt dessen direkt mit meinem µC die Spannung an den Widerständen messen und könnte die Erhöhung des Stromes ermitteln.
paul schrieb: > Stimmt die Theorie > denn das der Strom größer wird, wenn der Motor Blockiert ist? Nein. Der Strom hängt (bei niedrigen Drehzahlen und ohne Stromregelung) nur von dem Wicklungswiderstand und der Betriebsspannung ab. Der Verlauf der Strom/Spannungskurve ist zwischen 2 Schritten unterschiedlich: Bei einem blockierten Rotor pendelt der Rotor kurz, macht eventuell einen Teilschritt rückwärts, was sich im Verlauf des Stromes und der Spannung messen lässt. Allerdings wird das, wie gesagt auf eine sehr viel komplexere Auswertung als auf das reine Vergleichen des Stromes mit einem Sollwert hinauslaufen.
Wie könnste diese Asuwertung dann aussehen? Wenn der Motor an den Anschlag fährt, hört man ein Rattern. Ich hab auch versucht den Spannungsverlauf mit einem Oszi zu messen. Das ist leider zu schlecht, man sieht aber, wie die Spannung hin und her springt. Ich muss mir mal ein besseres besorgen. Wenn ich damit ein besseres Ergebnis bekomme, kann ich an Hand der Frequenz des Ruckelns eine Zeit berechnen. Dann könnte einfach gesagt ein paar Messungen machen und immer diese Zeit warten und schauen, ob sich die Spannung geändert hat?
Hallo, Kontakt oder Lichtschranke ist sicher einfacher. Wenn es nur um die definierte Startpositione geht, könnte man es auch wie in der guten alten C64-Floppy machen: mehr Schritte in Richtung Anschalg fahren, als maximal möglich sind. Dann steht am am Anschlag. Je nach Verwendung brauchbar oder auch nicht. Die Klapperei beim Spur-0 anfahren der Floppy war a) gut zu höhren und sorgte b) mit der Zeit für Leseprobleme wegen falscher Kopfjustage. Wenn man oft gegen den Anschlag klopft, gibt der eben irgendwann nach... Gruß aus Berlin Michael
z.B. beim Start mit Absicht einige Sekunden auf den Rand fahren und dann die Schritte zu zählen beginnen nach x Sekunden Wartezeit.
obacht oszi40! Da gibt es ein Patent. (bitte nicht kommerziell nutzen) Z8
wie, das Geratter, was damals die 1541 Floppy gemacht hat, kann man patentieren? o-O-o ... Dummerweise ist das nicht exakt auf 1...2 steps Genauigkeit, da der Stepper an seinem Anschlag immer etwas zurückpendelt, und dann irgendwo 0...3 Steps vorm Ende stehenbleibt. Nimm ne Lichtschranke oder nen kleinen Endausschalter (zum Experimentieren schlachte ne Maus, die Mikroschalter gehen dafür super!). VG, /th.
Danke schon mal für eure Tipps. Einen zusätzlichen Schalter einbauen kommt (eigentlich) nicht in Frage. Es muss so gehen :-) Wie könnte man den Strom am besten messen? Ich habe ja die Sens-Widerstände verbaut. Über diese kann ich den Strom ja messen. Beim nachmessen mit einem Oszi kam heraus, das kein großer Unterschied besteht. Dazu kommt, dass ich der Spannung an den Sens-Widerständen ein Sinus mit der Frequenz von ca 1Mhz überlagert ist. Ich weiß leider nicht, ob das so sein muss oder nicht (aber denke mal eher nicht).
Sieh dir das 'mal an: http://www.trinamic.com/tmc/media/Downloads/webinars/2009-03_stallGuard.pdf Gruß Einhart
Ich wollte auch gerade Trinamic's StallGuard anführen, die TMC Module kennen 7 Lastlevel, wenn die Drehzahl geeignet ausgewählt wird steigt dieses Lastlevel beim Anschlag um 1 an was man detektieren kann. Funktioniert eigentlich ganz gut, man ist aber für die Referenzierung auf bestimmte Drehzahlen festgelegt. -wiebel
Ich kann den Anschlag jetzt erkennnen. Auf die Lösung bin ich eher zufällig gekommen. Ich hab mit einem Oszi die Spannung an den Sens-Widerständen nachgemessen. Dabei hatte ich aber Oberschwingung von 1Mhz und 0,2 Vss. Bei 0,6 V als Maximum, kann sich wohl jeder vorstellen, dass nicht gut zu messen ist. Ich hab dann einen Tiefpass mit 100kHz an die Sens-Widerstände und noch einen großen Elko in die Spannungsversorgung gelötet. Am Tiefpass kann man jetzt einen Unterschied sehen, die Spannung steigt an, fällt bei Stillstand aber einer Stelle wieder ab. Diesen Unterschied werte ich mit dem AD-Wandler aus. Funktioniert sehr gut. Dazu kommt noch, dass man den Home-Ausgang des L297 verwenden muss, um zu wissen welchen Schritt man gerade ausführt. Ich messe bei Schritt 3 und 7. Warum der Tiefpass mein Siganl so gut verändert, dass ich es messen kann, weiß ich leider nicht :-) Vielleicht kann mir das jemand verraten?
Versuchs doch mal mit schritte zählen. So haben wir das in einem Projekt mal gemacht. Du musst doch um den Motoransteuern zu könne sicher eine Frequenz an den Motorkontroller schiken. Dabei kannst du dann die Halbwellen zählen.
na das haste ja gut gemacht. wie sieht denn der Tiefpass genau aus? haste da nochmal rumprobiert um ein optimales Ergebnis zu erhalten?
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.