mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Stepper


Autor: Beginner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

uihhh neues Forum-Design, seit wann isn das ?

Also habe meinen Stepper am laufen.
Bisher natürlich alles sehr "dirty" programmiert,
also vollkommen ohne Timer/Counter/PWM....
Bisher dreht der auch nur in eine Richtung
und das unentwegt. Das kann ich sowohl im Halb-, als
auch im Vollschritt machen....

Meine Fragen wären also:

01)  Wenn ich den Motor nun andersrum laufen lassen wollte,
     msste ich dann nur die Werte in der Tabelle umdrehen? (hier 
Halfstep)
      PORTC = 0x03;
      schlaf(1);
      PORTC = 0x01;
      schlaf(1);
      PORTC = 0x09;
      schlaf(1);
      PORTC = 0x08;
      schlaf(1);
      PORTC = 0x0C;
      schlaf(1);
      PORTC = 0x04;
      schlaf(1);
      PORTC = 0x06;
      schlaf(1);
      PORTC = 0x02;
      schlaf(1);
     Also z.B. aus PORTC = 0x03 wird dann PORTC = 0xFC   ???
     Also das dann immer ganz genau umgekehrt angesteuert wird...?
02)  Wie kann ich es realisieren, das der Motor nur einen HalfStep 
macht,
     dazu muss ich dann doch die Position wissen, in der sich der
     Anker befindet. Und somit dann jedes mal den letzten Step merken,
     damit ich beim nächsten mal weiss wo ich weiter machen muss, oder 
??

Danke

Autor: Beginner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
 .

Autor: Matthias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
um ihn rückwärts laufen zu lassen, muss du deine Tabelle einfach nur 
rückwärts durchlaufen. Welchen Stepper hast du denn wie an deinem 
Controller dran? Die einzelnen Schrittwerte sehen etwas merkwürdig aus.

Autor: Beginner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
irgendein unipolar motor ausm alten scanner
hat 12V versorgun und 2 spulen mit mittenanzapfung, die auf einen draht 
gelegt wurde, somit hat der stepper also 5 drähte...

habe ihn an meinem atmega16 angeklemmt
dazwischen sitz pro strang ein widerstand 1k, 1 BC639, 1 freilaufdiode 
1N 4148

läuft alles wunderbar, richtig schön leise und im kreis,
wird auch nicht zu warm de motor...

nur wenn ich jetzt einen Halbschritt machen will,
wie mache ich das dann ??
muss dann doch die Position vom vorherigen male speichern, und dann beim 
nächsten halbschritt ab der stelle weiterfahren, oder ??

Autor: Matthias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist doch das Grundprinzip eines Schrittmotorantriebs. Der Motor weiß 
nicht wo er grade steht. Dazu brauchst du eine Variable mit der die 
Schritte des Motors gezählt werden. Diese Variable legt dann auch fest, 
welche Zeile deiner Tabelle gerade aktuell ist. Du kannst ja eine 
Tabelle für Halbschritt im RAM ablegen. Für Vollschritt musst du dann 
halt einen Wert überspringen.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vollschritt:   es wird immer nur eine Wicklung bestromt

               1 -> 2 -> 3 -> 4 -> 1 -> 2 -> 3 -> 4 (...)

Halbschritt:   um einen Halbschritt zu machen werden zwischen den 
Vollschritten,
               in denen nur eine Wicklung bestromt wird, zwei 
Wicklungen
               gleichzeitig bestromt.

               1 -> 1+2 -> 2 -> 2+3 -> 3 -> 3+4 -> 4 -> 4+1 -> 1 (...)

Gruß,
Magnetus

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Normalerweise sollte immer nur EINE Wicklung unbestromt sein, zum 
Steppen eine zweite abschalten, im nächsten Schritt die vorige Spule 
bestromen:
0111
0011
1011
1001
1101
1100
1110
0110


wären 4 Steps.

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.