-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Schrittmotorsteuerung mit L297/l298 und Raspberry Pi

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    27.01.2014
    Beiträge
    6

    Schrittmotorsteuerung mit L297/l298 und Raspberry Pi

    Anzeige

    Moin,

    ersteinmal muss ich sagen, dass mir diese Community sehr gut gefällt und wirklich hilfreich ist!!!!
    Ich bin neu hier und habe auch schon gleich ein paar Fragen.
    Um erstmal in die Materie der Computersteuerung reinzukommen und da mir gerade ein Raspberry Pi zur Verfügung steht, plane ich derzeit einen einfachen Stiftplotter mit 3 Achsen.
    Die Schrittmotorsteuerung und die Steuerung mit dem Raspberry Pi stellen mich aber vor einige Probleme.
    Ich habe mich schon näher damit befasst und auch die Seiten hier im Forum dazu gelesen, aber mir mangelt es ein wenig an Elektronikwissen.

    Also Ziel soll es sein einen Schrittmotortreiber selbst zusammenzulöten und diesen dann mit dem Raspberry Pi zu verbinden.
    Zum vereinfachen meiner Probleme habe ich mal eine Skizze angefertigt und die Anschlüsse soweit ergänzt, wie ich es verstanden habe (oder auch nich ) :

    Klicke auf die Grafik für eine größere Ansicht

Name:	Scan_Pic0001.jpg
Hits:	93
Größe:	48,3 KB
ID:	27337

    Die Schaltung der Steuerung an sich ist eigentlich erstmal halbwegs nachvollziebar aber dazu einige Fragen:
    -In der Schaltung sind eine ganze Menge GND Anschlüsse, die wie ich vermute entweder an den Minus-Pol des Netzteils oder an die Ground_Pins des Raspberry Pi angeschlossen werden. Nur welche woran?

    -Kann man die Anschlüsse auch alle parallel schalten, wie in der Skizze Rechts unten?

    -Ist es egal welchen GPIO ich mit z.B. CW/CCW (Pin 17) verbinde solange er richtig Programmiert ist oder haben die GPIO Pins auch spezifischere Funktionen?
    -Was passiert physikalisch gesehen, wenn ich durch entsprechende Programmierung ein GPIO Pin in den High- bzw. Low-Zustand versetze?

    -Und schlussendlich: Ist es hardwaretechnisch überhaupt möglich drei Schrittmotortreiber mit dem Raspberry Pi zu betreiben oder benötige ich dazu mehr GPIO Anschlüsse?

    Schön wäre es noch, wenn ich mit euere Hilfe meine Skizze soweit ergänzen könnte, dass zumindest die theoretische Verkabelung von allen Komponenten wie der Raspberry Pi, der schrittmotortreiber, das netzteil und der Motor vollständig und korrekt wäre.

    Es tut mir leid, wenn ich meinen Thread falsch plaziert haben sollte, aber ich wusste nicht so recht ob alle Fragen im Raspberry Pi Forum so gut aufgehoben wären. Und Elektronik is ja numal alles

    Danke schonmal im Vorraus

    Mfg
    PeterPro

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thegon
    Registriert seit
    21.01.2011
    Beiträge
    562
    Hallo Peter,

    zu deinen Fragen:
    -In der Schaltung sind eine ganze Menge GND Anschlüsse, die wie ich vermute entweder an den Minus-Pol des Netzteils oder an die Ground_Pins des Raspberry Pi angeschlossen werden. Nur welche woran?

    -Kann man die Anschlüsse auch alle parallel schalten, wie in der Skizze Rechts unten?
    Ja, die Masseanschlüsse muss man alle zusammenschalten auf einen gemeinsamen Massepunkt, wie in deiner Skizze.

    -Ist es egal welchen GPIO ich mit z.B. CW/CCW (Pin 17) verbinde solange er richtig Programmiert ist oder haben die GPIO Pins auch spezifischere Funktionen?
    Soweit ich weiß sind gewisse GPIO´s schon mit Funktionen vorbelegt, z.B. Pin 8 u. 10 mit UART. Andere sind frei davon (z.B. 17, 27...) Man kann die Funktionen aber glaub ich auch ausschalten, und die Pins dann anderweitig nutzen.
    Aber das wissen viele andere hier besser als ich.

    -Was passiert physikalisch gesehen, wenn ich durch entsprechende Programmierung ein GPIO Pin in den High- bzw. Low-Zustand versetze?
    Wenn der Pin im High - Zustand ist, dann liegen an ihm (gemessen gegenüber Masse des RPi) 3,3V an. Man darf einen Strom von glaub ich 20mA oder so nicht überschreiten, sonst geht der Pin kaputt!
    Im Low - Zustand liegen dann 0V an.

    -Und schlussendlich: Ist es hardwaretechnisch überhaupt möglich drei Schrittmotortreiber mit dem Raspberry Pi zu betreiben oder benötige ich dazu mehr GPIO Anschlüsse?
    Im Prinzip braucht man zur Ansteuerung eines Motors ja nur zwei Pins (Takt und Richtung), also bei drei Motoren 6 Pins, und die hast du ja allemal, also ist es hardwaretechnisch wohl möglich.

    Sachen wie ob z.B. Halbschritt oder Vollschritt gemacht werden soll (klar was das ist?), kannst du gleich direkt (per Draht) einstellen (Pin 19 am L297), oder einen Schalter einbauen, das muss ja der Pi nicht machen.

    Laut Datenblatt kannst du die GPIOs vom Raspberry direkt mit dem L297 verbinden, weil der RPi macht bei einem High 3,3V, und der L297 wertet alle Spannungen größer 2V als High.
    Es schadet denke ich nicht, wenn du in die Leitungen noch einen Widerstand (z.b. 1kOhm) einschleifst, weil wenn du versehentlich einen Kurzschluss baust, dann sind die Pins nicht gleich tot.

    Welche Pins du jetzt am besten verbindest weiß ich nicht, vielleicht gibt es welche die sich aufgrund der Programmierung besonders gut eignen?

    Hoffentlich hilft das ein bisschen

    Grüße
    Thegon
    Geändert von Thegon (27.01.2014 um 20:01 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    16.03.2011
    Ort
    Dresden
    Alter
    30
    Beiträge
    1.937
    Ich würde für die Ansteuerung von 3 Motoren 7 Pins vorsehen: 3x Richtung (CW/CCW), 3x Taktsignal (CLOCK) und 1x Enable, um die Motoren zwischendurch auch stromlos schalten zu können, das spart Energie und die Motoren haben Zeit sich wieder abzukühlen (Schrittmotoren werden gerne mal heiß).

    Pins wie Reset und Control müsstest du enteder auf Low oder High festlöten (im Zweifelsfall mit Schalter), welches genau musst du im Datenblatt nachschlagen. Mit der Sync-Leitung kannst du alle L297 miteinander verbinden, nur einer braucht dann den Oszillator am Osc-Pin. Bei mir hatte das allerdings nicht funktioniert, daher musst du es wohl einfach ausprobieren. Home kannst du unverbunden lassen.

    Warum willst du einen Ploter eigentlich mit 3 vollständigen Achsen bauen? Der Stift braucht doch nur zwei positionen anfahren können (oben, unten), da würde schon etwas einfacheres reichen wie zB. ein Servo oder ein Elektromagnet.

    Wichtig: alle Gnd-Leitungen müssen miteinander verbunden sein, sowohl auch mit dem Gnd vom Pi als auch mit dem Gnd von der Versorgungsspannung des L298 (dein Minuspol vom Netzteil). Achte bitte darauf, dass dein Netzteil die auftretenden Ströme verträgt und die L298 am besten mit einem Kühlkörper ausgestattet werden, bei mir wurden die immer ganz schön heiß.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    27.01.2014
    Beiträge
    6
    Danke für die guten Antworten

    Der Plotter bekommt 3 Achsen, da er nachher evtl. umgerüstet werden soll auf eine Fräse, Laser oder ähnliches. Der Stift ist für den Anfang nur schön unkompliziert da er keine Stromversorgung etc. benötigt.

    Okay, also alle GND's an einen Ground Pin vom Raspberry und an das Netzteil oder an alle Ground Pins vom PI? Masse hab ich noch nie wirklich verstanden..
    Sind denn meine Aufzeichnungen auf der Skizze erstmal korrekt so? Also die 5V für die Stromversorgung durch den PI usw.?

    Was meinst du, Geistesblitz, mit " auf High oder Low festlöten bzw. was wie geht das ohne den Raspberry, Thegon?

    Was Machen denn der Sync Pins? Kann ich nicht drei separate Schrittmotortreiber benutzen die unabhägig voneinander laufen?

    Achja, warum brauche ich von dem Enable nur einen? Schließlich laufen die Motoren ja nicht immer gleichzeitg sondern versetzt und haben andere "Pausenzeiten".

    Mfg
    PeterPro
    Geändert von PeterPro (27.01.2014 um 22:20 Uhr)

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    16.03.2011
    Ort
    Dresden
    Alter
    30
    Beiträge
    1.937
    5V Spannungsversorgung vom Pi für die Logik ist völlig in Ordnung.

    Masse ist ganz einfach: alles, was Masse ist, wird zusammengelötet. Mehr gibts da nicht zu verstehen, das ist das Potential, zu dem jedes Bauteil seine Spannung in Bezug setzt. Wird das mal vergessen, schwebt die Spannung irgendwo unkontrollierbar herum und die Schaltung verhält sich recht unberechenbar. Es ist quasi sowas wie der feste, gerade Boden, von dem aus man zuverlässig messen kann.

    Lies mal das Datenblatt, da steht drin, was die Pins bei einem High- oder Low-Signal machen. Je nachdem, welche Funktion die erfüllen sollen, lötest du den Pin an die 5V-Leitung (5V) oder an Gnd. Beispielsweise würde man den Reset-Pin auf High (5V) löten, damit der nicht die Schrittfolge zurücksetzen kann, das wäre im Betrieb fatal. Den Pin braucht man eh nur für die wenigsten Anwendungen. Control sollte man glaub ich auch auf High setzen, da guck ich aber lieber vorher nochmal genauer nach, bevor ich mich verzettel.

    Die Sync-Pins synchronisieren nur die Taktung der Stromregler, damit die sich nicht gegenseitig beeinflussen. Steht auch im Datenblatt. Hast du da eigentlich schonmal reingeguckt?

    Ich hatte bei mir der Einfachheit halber Enable für alle Motoren auf eine Leitung gesetzt. Das hat aber noch einen anderen Grund: wenn du einen Antrieb hast, der nicht selbsthemmend ist (zB. Kugelumlaufspindeln oder Zahnriemen), würden die abgeschalteten Motoren die Achse nicht festhalten köennen, sodass diese sich bei Belastung verschieben kann. Daher fnde ich es einfach sicherer, wenn immer alle Motoren an sind, wenn sich was bewegt. Wenn du möchtest (und genug Pins frei hast), kannst du die aber gerne vereinzeln.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thegon
    Registriert seit
    21.01.2011
    Beiträge
    562
    Zitat Zitat von PeterPro Beitrag anzeigen

    Was meinst du, Geistesblitz, mit " auf High oder Low festlöten bzw. was wie geht das ohne den Raspberry, Thegon?
    Ich habe hier mal den Pin HALF/FULL mit High (=5V) verbunden:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Scan_Pic0001.jpg
Hits:	46
Größe:	82,7 KB
ID:	27338
    Ist garnicht so kompliziert wie du dir womöglich gedacht hast, nicht

    Grüße
    Thegon

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    27.01.2014
    Beiträge
    6
    Moin,

    ich habe jetzt noch ein bisschen recherchiert und mit euerer Hilfe, dem Datenblat und dem RN-Wissen mal meine Skizze ergänzt
    Der Control Pin wurde hier in dem einen Thread ( http://www.roboternetz.de/community/...-L298-und-L297 ) ganz gut erläutert. Ich hab es zwar nicht ganz verstanden, aber den sollte man wohl auf high setzen.

    Ich hoffe die Skizze ist übersichtlich genug, das war ein bisschen fummelig, weil ich gleich drei Schrittmotorentreiber eingezeichnet habe..

    Klicke auf die Grafik für eine größere Ansicht

Name:	Stifplotter2.jpg
Hits:	57
Größe:	130,3 KB
ID:	27354

    rot: 5V
    pink: 5V mit Poti runtergeregelt auf die entsprechende Spannung für Vref
    lila: 20V- 30V
    blau: GND
    hellgrün: Signal für CW/CCW, Clock und CONTROL
    dunkelgrün: Signal für Enable, nur einmal (erschien mir sinnvoll)

    Reset und Half/Full habe ich vergessen in der Skizze, Reset wird dann mit 5V verbunden und Half/Full muss ich mir noch überlegen .
    -Reicht die Leistung am 5V Pin aus um die drei Schaltungen parallel zu betreiben?
    -Ist das sonst ersteinmal alles richtig?

    Das mit dem SYNC Pins habe ich noch nicht eingezeichnet. So wie ich das aus dem Datenblatt verstanden habe besitzt jede der drei Schaltungen in meiner Skizze schon ein RC_Network (der Widerstand und Kondensator am OSC), welches ich dann bei einem beibehalten soll und bei den anderen zwei streichen und erden soll.
    Die SYNC Pins an sich werden einfach alle verbunden.
    -Ist das so korrekt?


    MfG

    Peter

  8. #8
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thegon
    Registriert seit
    21.01.2011
    Beiträge
    562
    Zitat Zitat von PeterPro Beitrag anzeigen

    Reset und Half/Full habe ich vergessen in der Skizze, Reset wird dann mit 5V verbunden und Half/Full muss ich mir noch überlegen .
    -Reicht die Leistung am 5V Pin aus um die drei Schaltungen parallel zu betreiben?
    -Ist das sonst ersteinmal alles richtig?

    Das mit dem SYNC Pins habe ich noch nicht eingezeichnet. So wie ich das aus dem Datenblatt verstanden habe besitzt jede der drei Schaltungen in meiner Skizze schon ein RC_Network (der Widerstand und Kondensator am OSC), welches ich dann bei einem beibehalten soll und bei den anderen zwei streichen und erden soll.
    Die SYNC Pins an sich werden einfach alle verbunden.
    -Ist das so korrekt?
    Ja Reset und Half/Full unbedint beschalten und nicht frei in der Luft hängen lassen, sonst könnte etwas verrückt spielen.

    Die Leistung auf der 5V Schiene vom Pi reicht (hat glaub ich schon mal wer vor mir geschrieben) leicht aus, weil im Prinzip hast du da direkt Zugriff auf die 5V vom Netzteil, kannst also über diesen Pin so viel Strom ziehen wie das Netzteil hergibt, abzüglich des Eigenstrombedarfs des PI natürlich. Und die Treiber brauchen nicht wirklich viel Strom auf der 5V - Schiene, alles im Milliamperebereich.

    Die Synch Pins NICHT alle verbinden, weil das sind alles Ausgänge! Damit kann ein Schrittmotortreiber den Takt an zwei (oder mehrere) andere weitergeben. Ich würde diese Pins aber unbeschaltet lassen und stattdessen 3 unabhängige RC-Oszillatoren machen, wie bei dir in deiner Skizze eingezeichnet.

    Wie du das mit dem Poti meinst, ist an der Skizze nicht wirklich ersichtlich, das Poti muss als Spannungsteiler beschaltet werden und nicht in Serie mit 5V (weil so bringt es nichts, es kommen immer 5V raus).

    Dazu habe ich mal ein Bild gezeichnet:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Vref.jpg
Hits:	45
Größe:	13,4 KB
ID:	27358

    Den Wiederstand R1 brauchst du nicht umbedingt, er ist allerdings nützlich, damit kannst du ein maximales Vref festlegen, dass du auch (versehentlich) durch drehen des Potis nicht überschreiten kannst.
    Wie groß der Strom dann wirklich ist, hängt natürlich auch noch von den Shunts ab.

    Grüße
    Thegon

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    27.01.2014
    Beiträge
    6
    Okay Danke,

    ich hab mir ehrlich gesagt noch gar nicht angeguckt wie man ein poti beschaltet, dein schaltplan wird dann übernommen
    Die SYNC Pins lasse ich dann ersteinmal unbeschaltet, wenn es propleme geben sollte mit "Ground Noise" kann ich dass ja immer noch machen
    Damit wäre die Schaltung soweit klar

    Einige Fragen habe ich aber noch:

    -Wie berechnet sich Vref?
    Auf der RN-Wissen Seite steht die Formel Vref= I motorstrom*R und in dem vorher oben genannten Thread und in dem Robotertutorial ( http://www.roboternetz.de/robotertutorial2.html (gelber Kasten) ) steht die Formel Vref=I motorstrom*R*1.44.

    -Kann man als Shunt einen ganz normalen Kohle/Metall Widerstand mit 1 Ohm benutzen?

    -Wie berechne ich den Widerstand den ich vor das Poti schalte, um die Spannung von 5 auf max 3V zu begrenzen?

    MfG

    Peter

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Geistesblitz
    Registriert seit
    16.03.2011
    Ort
    Dresden
    Alter
    30
    Beiträge
    1.937
    Zur Berechnung von V-ref schreib ich lieber nix, weil das bei mir irgendwie auch noch nicht so richtig funktioniert hat.

    Einen einfachen 1 Ohm Widerstand in 1/4 Watt-Ausführung kannst vergessen, denn durch ihn werden 2A^2*1 Ohm=4 Watt maximal verballert, also sollten es schon 5 Watt-Widerstände sein.

    Das ist ganz einfach. Nehmen wir mal an, du hast ein 100k-Poti, dann errechnet sich der Vorwiderstand mit folgender Formel:
    Uref/Uv=Rpoti/Rges mit Rges=Rpoti+Rvor
    umstellen:
    Rvor=(Uv/Uref-1)*Rpoti
    einsetzen:
    Rvor=(5V/3V -1)*100 kOhm=66,667 kOhm

    Nun muss man gucken, welcher nächstgrößere Widerstand in den üblichen Widerstandsreihen liegt. Da würde mir 68 kOhm ins Auge fallen.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Schrittmotor ansteuern mit L298 und L297
    Von berserker im Forum Motoren
    Antworten: 406
    Letzter Beitrag: 26.07.2014, 11:51
  2. Motorsteuerung L298/L297 und Mikroschritt?
    Von Gizmor im Forum Motoren
    Antworten: 5
    Letzter Beitrag: 21.05.2009, 16:38
  3. Rotary Transformer mit L297 und L298 ?
    Von drylemon im Forum Elektronik
    Antworten: 13
    Letzter Beitrag: 13.03.2006, 08:44
  4. L298 und L297 - Motorstrom problem
    Von The-Real-Joker im Forum Motoren
    Antworten: 8
    Letzter Beitrag: 06.07.2005, 23:15
  5. Antworten: 2
    Letzter Beitrag: 04.03.2005, 17:10

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •