mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schrittmotor


Autor: Cleo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich weiß leider keinen anderen Weg als hier nochmal zu Posten und meine
Frage erneut zu stellen.

Ich habe einen alten bipolar Schrittmotor zu Hand, dem dummerweise
keinerlei Daten beigefügt sind. Mein Anliegen ist es, diesen Motor
schlichtweg zum drehen zu bringen.

Über einem Atmega16 und L293D möchte ich ihn ansteuern. Als
Steuersoftware schwebt mir in etwa sowas vor:

char step[4] = { 0b0010; 0b0010; 0b0001; 0b01010 };
while(stop==ja/nein)
{
  for(int i=0; i<3; i++)
  {
    PORTA = step[i];
    delay();
  }
}

Leider ist mir bisher nicht richtig klar geworden, wie ich das passende
Bitmuster (0010) gewinne.

Könnte mir vielleicht jemand helfen?

Autor: ??? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...mhmm, "Das Passende ..." Das passt eigentlich immer.
Das ist ein Kleiner Irrtum. Das Bitmuster ist Nicht vom Anfangszustand
abhängig. Das ist eine vorgeschriebene Bitmusterfolge. Also es geht
immer vorn los und läuft dann durch. nach einem totalen Stop ohne
Haltestrom gehts eben wieder von vorn los. Man kann auch mittendrin
anfangen (wie bei nem Ringspeicher) die Aufeinanderfolge ist wichtig.

Autor: Martin Kohler (mkohler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du den Motor denn hardwaremässig richtig angeschlossen?
Stichwort: Doppel-H-Brücke, L297/L298 Kombination

Autor: Cleo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frage ist, wie erhalte ich denn die vorgeschriebene Bitmusterfolge?

@Martin Kohler
Warum L297/L298 Kombination? Ich möchte doch das Bitmuster selbst
generieren und keinen Motorcontroller (L297) verwenden.

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Frage ist, wie erhalte ich denn die vorgeschriebene
>Bitmusterfolge?

Durch ausprobieren...

Du musst eigentlich nur den Strom durch die Spulen umpolen nacheinander
umpolen. Unter der Annahme, dass Spule 1 des Steppers an den Anschlüssen
3 und 6 und Spule 2 an den Anschlüssen 11 und 14 angeschlossen ist,
sollte sich der Motor nach folgender Tabelle drehen:

Anschluß:   3    6    11   14
            +    -     +    -
            -    +     +    -
            -    +     -    +
            +    -     -    +

Bei Belegung des PORTA mit PA.0 an Pin 2, PA.1 an 7, PA.2 an 10 und
PA.3 an 15 kommt dann folgendes dabei heraus:
Anschluß 3,6,11,14 PORTA
+-+-               1010
-++-               0110
-+-+               0101
+--+               1001

Es ändert sich immer nur ein Bit...
Die Anschlüsse 1 und 9 des L293 müssen dabei aber auf H-Pegel liegen.
Wenn man eine Wicklung zwischen den o.g. Schritten noch ausschaltet,
landet man beim Halbschritt-Betrieb...

Vielleicht hilft dir das hier noch:
http://de.wikipedia.org/wiki/Schrittmotor

Das sollte eigentlich zum Vollschritt-Betrieb führen.

Autor: Cleo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@inoffizieller WM-Rahul

Wunderbar beschrieben und schon mit den entsprechenden L293D Belegungen
dargestellt. Danke!

Allerdings, habe ich noch ein paar Fragen.

Ist die dargestellte Tabelle für alle bipolar Schrittmotoren gleich?
Oder ist die Tabelle nur ein Beispiel?

Es ändert sich immer nur ein Bit... ??? -> wirklich?

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Es ändert sich immer nur ein Bit... ??? -> wirklich?

Es ändern sich 2 Bits.
Weil immer abwechselnd eine der beiden Spulen 'umgedreht'
wird.

Zum Verständnis ist es recht hilfreich (wars zumindest
bei mir) einfach mal die Spulen mit ein paar Drahtstücken
an die Spannung anlegen und ausprobieren wie die Spulenanschluesse
umgepolt werden muessen. Ist schon faszinierend, wenn der Motor
dann einen winzig kleinen Schritt macht. Dann an der anderen
Spule die Polarität umdrehen und schon macht er wieder einen
kleinen Schritt, usw ...

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch wenn Du keinen L297 einsetzen willst, solltest Du Dir sein
Datenblatt durchlesen, da Du ja seine Funktion (oder besser einen Teil
davon) selbst programmieren willst.
Dort ist alles wunderbar beschrieben, auch die verschiedenen
Möglichkeiten der Ansteuerung:
Normal (immer beide Spulen bestromt)
Wave (immer eine Spule bestromt)
Half-Step (abwechselnd eine und zwei Spulen bestromt)

Weiterhin:
fast decay
slow decay

Beachte allerdings, dass der L297 eine weitere wichtige Funktion hat:
das Konstanthalten des Spulenstromes durch Choppen.
Ich bin zwar dabei, auch diese Funktion in den µC zu verlagern, ist
aber recht kompliziert (zeitkritisch).

Viel einfacher ist die Verwendung eines modernen Stepper-Drivers mit
FET-Endstufe:
L6208
L6207, wenn Du Deine Step-Sequence selbst erzeugen willst

Autor: busy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin jetzt etwas abgeschreckt.

Ich dachte eine simple Bitmusterfolge in der richtigen Reihenfolge
(vorausgesetzt ich weiß sie irgendwann) an den Portausgängen des
Mikrocontroller, sollte für den Anfang ausreichen, um einen
Schrittmotor zum bewegen zu bringen.


----|        |-------|     |-------|
    |---1----|       |-----|       |
µM  |---0----| L293D |-----|Schritt|
    |---0----|       |-----| Motor |
    |---1----|       |-----|       |
----|        |-------|     |-------|

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.