www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schrittmotor Tutorials


Autor: Howard Johnson (Firma: Uni) (dadio)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Community,

ich suche verzweifelt ein Tutorial um einen Schrittmotor mit einem ATMEL 
ATMEGA8 µController anzusteuern.

Der Schrittmotor hängt an einem Darlington-Treiber und hat die 
Bezeichung:

STH-42G104 3.6DEB/Step 12V 0.16A (Shinano Kenshi Co. LTD Japan)

Leider habe ich weder ein Datenblatt noch sonst irgendwas dazu gefunden.

Der ATMEGA8 steckt auf einem myAVR Testboard und wird mir Assembler 
programmiert.

Kennt jemand ein Tutorial oder kann mir eine Starthilfe geben?

Vielen Dank.

Gruß
Dadio

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es bei http://www.gidf.de/

Wenn du da nicht weiterkommst, vielleicht auch mal bei 
http://www.roboternetz.de/schauen.

Autor: Howard Johnson (Firma: Uni) (dadio)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast wrote:
> Gibt es bei http://www.gidf.de/

Würde ich mir die Arbeit machen und in einem Forum schreiben wenn eine 
einfache Suche helfen würde?

Vielleicht fehlen mir auch einfach die richtigen Fachbegriffe nach denen 
ich suchen muss.

Autor: ozo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: M. V. (-_-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich suche verzweifelt ein Tutorial um einen Schrittmotor mit einem ATMEL
>ATMEGA8 µController anzusteuern.

Du suchst? Nein. Du bist zu faul zum Suchen. Wenn du gesucht hättest, 
hättest du schon längst was gefunden.

http://www.roboternetz.de/wissen/index.php/Schrittmotoren
http://www.mikrocontroller.net/articles/Schrittmot...
http://www.avrprojects.net/articles.php?lng=en&pg=65

>Der Schrittmotor hängt an einem Darlington-Treiber und hat die
>Bezeichung:
>STH-42G104 3.6DEB/Step 12V 0.16A (Shinano Kenshi Co. LTD Japan)
>Leider habe ich weder ein Datenblatt noch sonst irgendwas dazu gefunden.

Ohne Datenblatt ist's schonmal schlecht irgendwelche ICs verwenden zu 
wollen. Du kannst versuchen die Pinbelegung zu erraten, bzw. aus den 
Leiterbahnen der Platine, auf der das IC eingebaut ist/war, darauf zu 
schließen.

>Vielleicht fehlen mir auch einfach die richtigen Fachbegriffe nach denen
>ich suchen muss.

Also dann weiß ich ja auch nicht. Nach was könnte man wohl suchen?? 
Schrittmotor vllt. Dann noch AVR. Und dazu noch Assembler 
möglicherweise?

http://www.google.de/search?q=schrittmotor+avr+assembler

Und? So schwer ist's doch gar nicht.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jemand ... wrote:
>>Der Schrittmotor hängt an einem Darlington-Treiber und hat die
>>Bezeichung:
>>STH-42G104 3.6DEB/Step 12V 0.16A (Shinano Kenshi Co. LTD Japan)
>>Leider habe ich weder ein Datenblatt noch sonst irgendwas dazu gefunden.
>
> Ohne Datenblatt ist's schonmal schlecht irgendwelche ICs verwenden zu
> wollen. Du kannst versuchen die Pinbelegung zu erraten, bzw. aus den
> Leiterbahnen der Platine, auf der das IC eingebaut ist/war, darauf zu
> schließen.

Du Held! Er meint den Schrittmotor, nicht das IC.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>http://www.google.de/search?q=schrittmotor+avr+assembler

Sag mal, Jemand, ist dir eigentlich bewusst, dass du soeben eine 
rekursive Google Abfrage erzeugt hast?!
Du wirst noch das ganze Internet zum Absturz bringen!!

Autor: W. Bl (wb1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Howard

Was suchst du denn, eine Anschlußbelegung des Motors oder einen 
Softwareschnipsel?
Also wenn es der Motor ist, schau dir mal 
www.wolfgang-back.com/PDF/Schrittmotor.pdf
an.
Da ist das Prinzip recht gut erläutert. Die Anschlüsse kannst du mit 
einen Durchgangsprüfer/Ohmmeter ausmessen.
Wenn es die Software ist, gib nochmal einen Ton

Autor: Howard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielen Dank für die vielen hilfreichen Tipps. Ich habe es jetzt soweit 
geschafft, dass der Motor sich schonmal nach links und rechts drehen 
kann :)

Der Code in Assembler sieht so aus:

<pre>
sm_step_rechts:  cli
  push  r16
  rcall  wait
  ldi  r20,10
  out  PORTC,r20
  rcall  wait
  ldi  r20,9
  out  PORTC,r20
  rcall  wait
  ldi  r20,5
  out  PORTC,r20
  rcall  wait
  ldi  r20,6
  out  PORTC,r20
  rcall  wait
  pop  r16
  sei
  ret
</pre>

Für links ist es genau der gleiche Code nur ändert sich die Reihenfolge 
der Dezimalzahlen in: 6,5,9,10.

Meine Frage wäre nun was es mit dieser Zahlenfolge auf sich hat? Wenn 
ich die Zahlen beliebig ändere verhält sich der Schrittmotor komisch. 
Gibt es eine Referenz welche Codes was für ein Verhalten verursachen?

Vielen Dank für weitere Hilfe.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
6 -> 0110
5 -> 0101
9 -> 1001
10 -> 1010
Setze Dich mal mit Binär- und Hexadezimalzahlen auseinander...

und wenn Du das "pre" und "/pre" noch in eckige Klammern packst, dann 
funktioniert auch die Formatierung.

Autor: Howard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Johannes,

danke für den Tipp.

Gibt es eine Möglichkeit den Schrittmotor vor jedem Start auf eine 
bestimmte Position zu setzen? Praktisch ein Reset? Da die Stromzufuhr 
jeder Zeit abgestellt werden kann, weiß ich ja sonst nie wo er sich 
gerade befindet.

Vielen Dank.

Autor: Gast123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast soeben eines der großen Probleme mit Schrittmotoren entdeckt :-)

In vielen Anwendungen muss man sie "initialisieren", also auf eine 
definierte Position fahren. Dazu gibt es zwei (oder mehr) Möglichkeiten:
1. mit Endschalter: Der Schrittmotor fährt solange in eine bestimmte 
Richtung, bis der Endschalter betätigt wird --> Position = 
Schalterposition
2. ohne Endschalter: der Schrittmotor fährt eine gewisse Zeit lang in 
eine Richtung, bis er auch von der ungünstigsten Position aus gegen 
einen Endanschlag gefahren ist. Allzu schnell sollte er dabei allerdings 
nicht fahren, sonst rumst es zu sehr wenn er gegen den Anschlag fährt 
:-) Nach der 
von-der-ungünstigsten-Startposition-auch-noch-den-Anschlag-erreich-Zeit 
weiss man, dass sich der Motor am Anschlag befindet. (beachtet werden 
muss natürlich, dass er dabei nicht überlastet wird!)

Autor: Howard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, 1000 Dank für die tolle Erklärung :)

Autor: Gast123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht noch ein kleiner Hinweis:

Statt eines Endschalters kann man natürlich auch eine 
(Gabel-)Lichtschranke benutzen, durch die ein Teil des Schrittmotors 
bzw. der Mechanik hindurchläuft. So kann man die Position erkennen, der 
Antrieb kann aber durch den "Endschalter" Lichtschranke hindurchlaufen. 
(Bei einem normalen Endschalter dürfte meistens Schluss sein..).

Autor: Howard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es jetzt mit einem Endanschlag umgesetzt und es funktioniert 
wunderbar. :)

Autor: Gast123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das freut mich :-)

Beobachte mal bitte, ob der Motor ungewöhnlich heiss wird, wenn er an 
den Anschlag fährt. Nicht dass er dadurch überlastet wird und dauerhaft 
Schaden nimmt (ich glaubs aber eher nicht..).

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Beobachte mal bitte, ob der Motor ungewöhnlich heiss wird, wenn er an
>den Anschlag fährt. Nicht dass er dadurch überlastet wird und dauerhaft
>Schaden nimmt (ich glaubs aber eher nicht..).

Das passiert bei Schrittmotoren nicht. Nach 4 Schritten am Anschlag 
fällt er wieder in die letzte nicht blockierte Position zurück.

MW

Autor: it's me (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ihr habt keine Ahnung!
get a life!

Autor: Its you (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wird vollkommen überbewertet!

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.