-
        

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

Thema: Schrittmotor "spinnt"

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.07.2007
    Beiträge
    13

    Schrittmotor "spinnt"

    Anzeige

    Hallo zusammen,

    Ich bin ein ziemlicher einsteiger beim thema roboter. für meine maturarbeit will ich selber einen kleinen roboter bauen, der nicht über viele funktionen verfügen muss: lediglich hinderniss ausweichen und einer person folgen.

    Nun stimmt was mit dem Schrittmotor nicht. ich habe versucht im forum nach ähnlichen problemen zu suchen, aber keines stimmt so richtig mit meinem überrein. und nach 2 stunden ergebnisloses rumfummeln brauche ich professionnelle hilfe [-o<

    jetzt zum problem:

    ich besitze ein RN-Control 1.4 und den Schrittmotor Sanyo 103-770-1640. Als stromversorgung habe ich ein Li-Ion-akku mit 7.4V und 2.35 Ah.

    den motor habe ich an die 4 motorstecker neben der stromversorgung eingeklemmt, und zwar so: weiss/blau in 1; blau in 2; rot in 3 und weiss/rot in 4. wenn ich mich nicht irre entspricht das weiss/blau portc.6 ; blau portc.7 ; rot portb0 und rot/weiss portb1

    programmiert habe ich in basic mit hilfe von bascom. Hier ist das programm. es ist vielleicht bisschen "primitiv" aber für den vollschrittmodus sollte es jedoch reichen, schliesslich teste ich ja nur, ob der motor richtig läuft.

    $regfile = "m32def.dat"
    $framesize = 64
    $swstack = 64
    $hwstack = 64
    $crystal = 16000000
    $baud = 9600


    Config Pinb.0 = Output
    Config Pinb.1 = Output

    Config Pinc.6 = Output
    Config Pinc.7 = Output

    A Alias Portc.6
    B Alias Portc.7
    C Alias Portb.0
    D Alias Portb.1



    Do
    A = 1
    B = 0
    C = 1
    D = 0
    Waitms 10
    A = 1
    B = 0
    C = 0
    D = 1
    Waitms 10
    A = 0
    B = 1
    C = 0
    D = 1
    Waitms 10
    A = 0
    B = 1
    C = 1
    D = 0
    Waitms 10
    Loop
    was ich beobachte:
    nach dem übertragen läuft der Motor, ziemlich einwandfrei. Aber das dauert leider nur 3 bis 4 umdrehungen (machmal länger, manchmal kürzer) dann gerät der motor in ein chaotisches verhalten: er stottert, dreht bisschen zurück usw.

    Woran liegt der fehler? wenn der motor die ersten 3 umdrehungen schaffe, sollte das problem nicht am programm liegen. ich habe 2 motoren bestellt, bei beiden treten der gleiche fehler auf. ist die Spannung zu niedrig? auf dem cn-control gibt es ja einen treibeer.

    Ich wäre sehr froh wenn jemand mir hier weiterhelfen könnte. ich danke schon mal im voraus

    mfg

    ouwen

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    Also du gibst dem Motor in deinem Fall 7,4 Volt?
    Laut Datenblatt beträgt die Nennspannung des Motors aber 3,6 Volt!

    In dem Programm sehe ich so auf den ersten Bilck (ohne mir die Schrittfolge genauer an zu sehen), das du die Enable Pins am Motortreiber nicht aktivierst.

    Folgende Zeilen solltest du noch mit einfügen:

    Code:
    Config Pind.4 = Output
    Config Pind.5 = Output
    
    set portd.4
    set portd.5
    Dann sollte es eigentlich funktionieren.

    Achso, als erklärung warum es 2 Umdrehungen funktioniert: Nicht konfigurierte Pins haben keinen definierten Pegel. Dadurch kann es sein, das der Treiber an seinen Enabl-Pins zunächst ein High-Signal erkennt, was dann aber irgendwann evtl. dann als Low erkannt wird. Der Pegel ist ja undefiniert...

    Hoffe das hilft dir erstmal weiter.

    Gruß Robodriver

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    02.07.2007
    Beiträge
    13
    Das mit der Spannung spielt glaube ich keine Rolle. Durch den Treiber wird die Spannung ja erhöht. auf etwa 30V. Und Schrittmotoren müssen glaube ich sogar mit so hohen verspeist werden, sonst kommt die Stromstäkre nicht zu stande.

    Ich habe das neue Code mal ausprobiert. Es funktioniert leider immer noch nicht.

    Aber gestern habe ich anstatt vollschrittmodus, den schritt genommen, wo man immer nur eine Spule aktiviert(weiss nicht mehr wie er heisst ^^). Am anfang lief es zwar immer noch nicht. aber ich habe danach den Akuu mal aufgeladen. und es funktioniert plötzlich. zwar habe ich noch nicht mit Räder getestet, aber freie Drehungen schafft der motor auf jeden fall einwandfrei.

    Nun nachdem ich das neue code draufgeladen habe, ist er wieder ganz der alte. Er dreht wieder nicht mehr richtig.

    vielleicht liegt wirklich das problem bei der Stromstärke, denn der treiber auf dem RN-Control ist ja der L293D und der liefert eigentlich nur 0.6 A oder eine Peak-I von 1A. damit ist die angegebene stromstärke von 1.2 A noch nicht erreicht.

    aber trotzdem danke

    mfg

    ouwen

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.06.2005
    Alter
    28
    Beiträge
    364
    Der Treiber erhöht die Spannung nicht! Es fällt sogar ein kleines bisschen Spannung am Treiber ab. Könnte es sein dass die Spannung zusammenbricht? Teste es mal indem du am Anfang des Programms ein "Beep" ausgibst, wenn die RN-Control anfängt zu Piepsen liegts an der Stromversorgung!

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    Bitte schau dir mal das Datenblatt vom Motor genau an:
    Spannung: 3,6 Volt
    Spulenwiderstand: 2,6 Ohm (vergrößert sich natürlich mit steigender Frequenz)
    Maximaler Strom: 1,41 A

    Wenn du dem lieben Motor nun direkt die Spannung von 7,4 V (abzüglich Spannungsfall vom Akku gibst, dann fließt laut Ohmschen Gesetz:
    I=U/R=2,8 A ! (Haltestrom)
    Das ist für den Motor zu viel! Der Maximale Strom für dem Motor ist 1,41 A!

    Aber gestern habe ich anstatt vollschrittmodus, den schritt genommen, wo man immer nur eine Spule aktiviert(weiss nicht mehr wie er heisst ^^).
    Es gibt den Vollschrittmodus und den Halbschrittmodus.
    Im Vollschrittmod wird immer nur eine Spule bestromt.
    Im Halbschrittmodus wird immer eine-zwei-eine-zwei im wechsel bestromt
    Durch das bestromen zweier Spulen gleichzeitig stellt sich der Rotor mittig zwischen beide und macht somit einen halben Schritt.
    Eine komplette Umdrehung besteht dann nicht mehr aus 200 Schritten, sondern aus 400 (bei deinem Motor)

    Ich werde mir nachher mal dein Programm unter die Lupe nehmen, evtl. hast du ein Fehler in der Bestromungsreihnfolge drinn...

    Gruß Robodriver

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    02.07.2007
    Beiträge
    13
    Zitat Zitat von robodriver
    Bitte schau dir mal das Datenblatt vom Motor genau an:
    Spannung: 3,6 Volt
    Spulenwiderstand: 2,6 Ohm (vergrößert sich natürlich mit steigender Frequenz)
    Maximaler Strom: 1,41 A

    Wenn du dem lieben Motor nun direkt die Spannung von 7,4 V (abzüglich Spannungsfall vom Akku gibst, dann fließt laut Ohmschen Gesetz:
    I=U/R=2,8 A ! (Haltestrom)
    Das ist für den Motor zu viel! Der Maximale Strom für dem Motor ist 1,41 A!
    Das ist mir schon klar.

    Ich habe im wissensartikel den artikel "schrittmotor" durchgelesen. wie ichs mitbekommen habe, besitzt der motortreiber einen stromregler, der automatisch die passende stromstärke ausgibt. damit ergibt sich ja auch genau die nennspannung auf dem datenblatt.

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    23.06.2005
    Alter
    28
    Beiträge
    364
    Dann hast du dich verlesen, denn der L293 reguliert den Strom nicht, das macht die Kombination aus L297 und L278!
    Und würdest du meinem Rat folgen könnten wir dir über das wir-raten-mal-helfen hinaus zu einem indiziengefolgten helfen übergehen!

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von ManuelB
    Registriert seit
    15.06.2006
    Alter
    38
    Beiträge
    1.246
    Es gibt normalerweise zwei Betriebsmöglichkeiten einmal nach Spannung und einmal nach Strom. Für den Spannungsbetrieb kann eigendlich nur die Spannung verwendet werden die im Datenblatt steht, da im Motorstillstand dann Nennstrom fließt. Nachteil ist bei Erhöhung der Drehzahl ein schnell fallendes Motormoment durch den steigenden induktiven Widerstand der Spule.
    Bei der Stromregelung wie z.B. bei der L297/L298 wird der Strom auf Nennstrom gehalten. Hier sollte eine möglichst hohe Betriebsspannung gewählt werden, da mit steigendem induktivem Widerstand eine höhere Spannung benötigt wird um den Nennstrom duch den Motor zu treiben.

    Bei bipolaren Motoren (sollte theoretisch der Sanyo sein wegen der 4 Anschlüsse) sind im Vollschritt beide Spulen bestromt und im Halbschritt nur eine, wodurch sich das Drehmoment im Halbschritt verringert (kann durch Stromanhebung im Halbschritt verbessert werden)

    MfG
    Manu

  9. #9
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.372
    Aus der Diskussion möchte ich noch einmal den einen genannten Punkt hervorheben:
    Zitat Zitat von womb@t
    Könnte es sein dass die Spannung zusammenbricht?
    Nach 2-3 ordnungsgemäßen Umdrehungen ist eine solche Störungsursache wohl am wahrscheinlichsten.
    Manfred

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    Weder der ohmsche Widerstand noch die Induktivität des Motors ändert sich!
    Es handelt sich hier um eine Spule, die in einem Magnetfeld bewegt wird.
    Dabei wird natürlich eine Spannung induziert, die der Betriebsspannung entgegengerichtet ist.

    Mit freundlichen Grüßen
    Benno
    Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
    Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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