Forum: Mikrocontroller und Digitale Elektronik Schrittmotor Tutorials


von Howard J. (Firma: Uni) (dadio)


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

von Gast (Gast)


Lesenswert?

Gibt es bei http://www.gidf.de/

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

von Howard J. (Firma: Uni) (dadio)


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.

von ozo (Gast)


Lesenswert?


von M. V. (-_-)


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/Schrittmotor-Controller_%28Stepper%29
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.

von Magnus Müller (Gast)


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.

von Thomas (Gast)


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!!

von W. B. (wb1)


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

von Howard (Gast)


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.

von Johannes M. (johnny-m)


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.

von Howard (Gast)


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.

von Gast123 (Gast)


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!)

von Howard (Gast)


Lesenswert?

Super, 1000 Dank für die tolle Erklärung :)

von Gast123 (Gast)


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..).

von Howard (Gast)


Lesenswert?

Ich habe es jetzt mit einem Endanschlag umgesetzt und es funktioniert 
wunderbar. :)

von Gast123 (Gast)


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..).

von Michael Wilhelm (Gast)


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

von it's me (Gast)


Lesenswert?

ihr habt keine Ahnung!
get a life!

von Its you (Gast)


Lesenswert?

Wird vollkommen überbewertet!

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
Noch kein Account? Hier anmelden.