Guten Abend! Ich hab meinen Scanner auseinander gebautund habe vorhandene Platine entfernt. Ich würde gerne jetzt rein aus neugier und Lernzwecken diesen Steppmotor in bewegung setzen aber richtig. Der vorhandene Steppmotor ist von Mitsumi und macht pro Schritt 7,5° Müssten ja 48 Schritte pro Umdrehung sein. Ein kleines ASM Programm hab ich mal geschrieben damit das ding sich mal bewegt und hab die sache mal über Zeit gelöst aber damit bin ich nicht zu frieden. Such im prinzip Grundlagen wie man sowas richtig Programmiert. Man liest hier das einige sowas über PWM programmieren um so was sanft anlaufen lassen usw. Mich interessiert dabei, wenn man vom Scanner ausgeht, Referenzfahrt, maximal Geschwindikeit, macht man die Fahrt über Zeit oder zählt man die Pulse und wie soll so ein Puls Programmtechnisch realisiert werden. Also! da die sache für mich absolutes Neuland ist, bitte ich um Nachsicht wenn ich hier etwas blöd Frage. Für euere Beiträge im voraus vielen Dank! norad
Hallo Norad >bitte ich um Nachsicht wenn ich hier etwas blöd Frage. Ich finde Deine Fragen nicht blöd, eher interessant, schließlich wollen wir alle etwas dazu lernen. >sache mal über Zeit gelöst aber damit bin ich nicht zu frieden. Wäre ich auch nicht. Mit jedem Impuls auf die Wicklung (konstant oder per PWM) bewegt sich der Motor um einen definierten Wert, d.h. man weiß, wenn nichts dazwischen kommt, wo sich der Motor gerade befindet und wieeviel Impulse er noch benötigt, um sein Ziel zu erreichen. >Such im prinzip Grundlagen wie man sowas richtig Programmiert. Schau mal hier, vielleicht hast Du auch noch eine Idee: http://www.mikrocontroller.net/forum/read-1-334429.html Bernhard
Guten Morgen! @Bernhard Beim Durchlesen deines Links ist mir folgendes augefallen. Was versteht man unter 'Hardware-Copper' ? Wie soll sowas konkret ausehen? PWM - Signal erzeugen aber wie? ich habe dafür am AT89C51ED2 4 Ausgänge wenn ich, das richtig sehe. norad
Es gab mal eine Beschreibung nebst Programm in der Codesammlung. Scheint aber verschwunden zu sein oder ich finde es nicht.
@Norad >PWM - Signal erzeugen aber wie? Ein ganz einfaches Bsp für eine Software-PWM, ist zwar ursprünglich für ein Schaltnetzteil gedacht, aber Du erkennst sichelich das Prinzip und kannst es nach belieben verfeinern und abschmecken. http://www.mikrocontroller.net/forum/read-4-335961.html >Was versteht man unter 'Hardware-Copper' ? Es gibt vermutlich ICs, in denen das PWM-Features integriert ist. Bernhard
Man betreibt Schrittmotoren meist mit einer höheren Spannung um die Schrittgeschwindigkeit zu erhöhen. Da dadurch aber auch die Stromstärke in der Spule ansteigt, misst man den Strom und schaltet die Versorgung der Spule wieder ab. Sinkt dann der Strom aus der Spule unter einen bestimmten Wert (die Spule entläd sich ja), schaltet man die Versorgung wieder dazu... Wenn man den Strom nicht misst, kann man auch eine feste PWM einstellen... Wenn man diesen Regelkreis in einen eigenen Baustein "giesst", hat man einen Hardware-Chopper. PWM wird aber auch gerne für den Mikroschrittbetrieb benutzt, um den Bastand zwischen den einzelnen Schritt noch zu verkleinern. Dazu gibt es bei Microchip und Atmel (und bestimmt auch anderen Herstellern) Application Notes...
Warum in die Ferne schweifen: http://www.mikrocontroller.net/articles/Schrittmotoren Zu oft liest man von der Kombination L297/L298. Dabei wird vergessen, dass diese ICs schon 20 Jahre alt sind und der Stand der Technik weit fortgeschritten ist. Modernere ICs sind L62xx von www.STM.com Nanotec IMS901 baugleich Toshiba trinamic
Die trinamic-chips sind nicht unbedingt anfängerfreundlich... Aber sonst gebe ich dir Recht.
Allerdings dürften die L297/L298 Lösungen noch die preiswertesten sein. Eine ähnlich starke Schrittmotoransteuerung ist mit neueren Bausteinen wesentlich teurer und im Aufbau komplexer. Es ist auch heute noch eine gute Allround-Lösung
Hallo Freunde! Ich bedanke mich für eure zahlreichen Infromationen. Werd erst mal alles beäugen, wenn ich wieder eine Frage habe werde ich mich wieder melden. Vielen Dank noch mal! Norad
Hallo! Ich habe jetzt mir einige Sachen zum Pwm -Signal und Schrittmotor angesehen was ihr mir als Informationen geben konntet. Aber leider sind die Informationen oder Beispiele noch nicht, das was ich suche. Das Beispiel mit dem Schaltnetzteil hat mir leider nicht weiter geholfen, da das PWM-Signal Manuell bzw. von Softwäremäßig nachgebildet wurde. Ich würde gerne PWM-Signale nutzen die der Controller zuverfügung stellt. Wenn ich es richtig begriffen habe wird ein PWM-Signal genutzt um den Schrittmotor an einer höheren Spannung zu betreiben. Durch das PWM-Signal wird nun sozusagen der Strom begrenzt. Liege ich da richtig?? Des weiteren macht mir die Hardwarebeschaltung etwas Kopfzerbrechen. Da der Schrittmotor über eine Tabelle [9,10,6,5] gesteuert wird kann ich mir irgendwie nicht vorstellen pro Leitung ein PWM-Signal auszugeben. Wie soll sowas aussehen? Also hab ich mir mal folgendes überlegt ( siehe Anhang) wie es vielleicht funktionieren könnte. Ich gebe die Schrittfolgen an einem Port aus (A,B,C,D) und durch zusätzliche Transistoren (Q5..Q8) wird nun das PWM-Signal angelegt und Steuert diese Transistoren langsam auf oder ab dadurch müsste sich das Harte Schalten der Spulen weicher werden. RC-Glieder an den Kollektoranschlüssen (Q1...Q4) könnte ich mir zusätzlich vorstellen, die ich in den Beispielen gesehen habe. Nun gibt es aber noch ein problem, wie gebe ich nun gas? Über die SchriTtfolge der Tabelle und Timergesteuert? oder nutze ich dazu auch dass PWM-Signal? Was meint ihr zu meinem Schaltungsvorschlag, kann dieser funktionieren oder ist das Quatsch? Um Konstruktive Antworten wird gebeten. norad
Guten Morgen! Ich schreib nochmal, weil vermutlich keiner den Beitrag angeschaut hat seit gestern. Gruß norad
Hallo Norad, Schau dir mal diese Application Note an. Da ist alles schön erklärt mit Betriebsarten, Stromregelung etc. http://www.technologicalarts.com/myfiles/data/AN470.pdf Reiner
Guten Abend! Nach dem ich mich mit dem PCA(Progarmmable Counter Array) auseinander gestezt habe kann ich jetzt zumindest eine LED auf und ab Dimmen. :)) *freu Wenn ich nun dieses PWM-Signal auf den StepClock Eingang des L297 gebe dreht sich dadurch der Schrittmotor in abhängigkeit des PWM-Signals? norad
>Wenn ich nun dieses PWM-Signal auf den StepClock Eingang des L297 gebe, dreht sich dadurch der Schrittmotor in abhängigkeit des PWM-Signals? ja, vermutlich. Aber solange die Frequenz des PWM-Signals konstant ist, bewegt er sich mit eben dieser Frequenz (oder auch nicht, wenn die Frequenz zu hoch ist). (hab nicht in das Datenblatt des L297 geguckt) Besser dafür wäre IMHO der Enable-Pin.
@Rahul Nun die Frequenz ist momentan laut Multimeter bei 27Khz so ziemlich konstant. Nun ich dachte es so verstanden zuhaben, dass durch das variiren der Pulsweite die Drehzahl bestimmt wird. Das es nicht so einfach ist habe ich mir schon gedacht, aber jeder schwätzt über PWM als wäre es selbstverständlich. Wozu brauch ich nun das PWM? Wenn ich doch den Takt der Schrittfolgen doch anders lösen muss z.B. über Timer. norad
Geh doch mal vom günstigsten Fall aus: 1 Pin für die Richtung, 1 Pin PWM für die Geschwindigkeit- ist das nicht verlockend im Gegensatz zu 4 Pins und alles, wie Geschindigkeit (Rampe etc.) und Richtung, proggen zu müssen?
Norad, In der Application note, die ich Dir oben genammt habe, stehen die Antworten auf alle Deine Fragen drin! Da steht auch wie Schrittmotoren funktionieren. 1. Der L297 bekommt eine variable clock vom Prozessor. Pro Umdrehung des Motors brauchst Du je nach Betriebsart (Vollschritt/Halbschritt) normalerweise 200/400 Pulse. Die Pulsfrequenz bestimmt also die Drehzahl. Vergiß in diesem Zusammenhang die PWM. 2. Der Motor wird mit einer ziemlich hohen Betriebsspannung betrieben, um den Strom in den Wicklungen schnell ansteigen lassen zu können. Sonst hat der Motor sehr wenig Drehmoment. Der harte Anstieg ist also gewollt. 3. Die PWM dient nur zur Stromregelung und wird vom L297 selbst erzeugt. Sobald der Strom seinen (einstellbaren) Sollwert hat, wird die Spannung abgeschaltet. Es gibt dazu zwei Möglichkeiten (Phase Chopping/Inhibit Chopping, siehe obige Application Note). Welche man wählt, hängt vom Motor ab. Hat man die falsche gewählt kann man das sehr gut hören und fühlen. 4. Zusätzlich braucht der L297 (siehe Application Note) noch ein Richtungssignal (Links/Rechts), und ein Enable Signal mit dem man den Motorstrom abschalten kann (ein Stepper zieht auch den vollen Strom wenn er sich nicht bewegt). 5. Bevor Du versucht alles dies und noch ein bißchen mehr Fuß zu machen, empfehle ich Dir erst mal mit einem L297 zu spielen und einen Steppermotor ruhig, resonanzfrei und mit Drehmoment zum Laufen zu bekommen. Gruß Reiner
@Reiner Vielen Dank! Für den Hinweis leider ist mein English nicht sehr gut und habe mit dem überstezten etwas mühe. Ich dachte ich probiers erstmal ohne Bausteine L297 usw. um etwas mehr Verständis dafür zubekommen. gruß norad
Norad, Kann man natürlich machen. Die Clock erzeugts Du mit dem 16bit timer. Die Stromregelung (PWM) kannst Du auch selber machen. Jede Phase des Motors bekommt einen Serienwiderstand nach Masse. Die Spannung, die darüber abfällt ist proportional zum Strom. Diese Spannung mußt Du messen (ADC) und damit ein Signal erzeugen, mit dem Du die Endstufe sperrst. Das ist die PWM. Hat also nichts mit der PWM zu tun, die man mit den Atmel Timern machen kann. Ist aber nicht ganz trivial, denn die Motoren "feuern" ja bei jedem Puls zurück. Um das Verständnis zu bekommen, empfehle ich wirklich erstmal mit einem L297/L298 zu experimentieren. Gruß Reiner
@Reiner Dank dir nochmal für deine Infos, werde mir mal die Bausteine besorgen und damit experimentieren. Zumindest weiss ich jetzt wie man per PCA ein PWM-Signal erzeugt und LEDS Dimmen kann ;) Gruß norad
Hi ich hätte da mal eine Frage. Ich habe einen ATMEGA16 und möchte einen Schrittmotor über den Trinamic-310 ansteuern. Wie kann ich das Trinamic board über den Atmega steuern? Ich wäre für eure Hilfe dankbar. Danke in voraus
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.