www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Einfache Schrittmotor Ansteuerung (µC+Seriell)


Autor: ambi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat vielleicht schon mal jemand so eine simple Ansteuerung gebaut (Mit 
einem AVR und L297/298)?
Ein Kanal (Motor) reicht völlig.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> hat vielleicht schon mal jemand so eine simple Ansteuerung gebaut (Mit
> einem AVR und L297/298)?
Jau, hab ich...

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...Wo liegt das Problem?

Autor: ambi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde mich freuen wenn jemand auch einen Link dazu hätte. Die ganze 
Schrittmotor Geschichte ist mir neu, daher möchte ich jetzt (anhand von 
Beispielen) mir das ganze beibringen.

Autor: jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja habe ich gerade neben mir leigen.

3mal  LM297/298 + AVR32 + RS232

So kann ich über ein selbstgeschriebenes Programm die 3 Motoren 
ansteuern. Dabei sendet das Programm auf dem PC immer die 4 
Einstellungen an den µC. Also Motor-Nr,Schritte,Richtung,Halb- 
Vollschritt

Dann wertet der µC das aus und steuert die Motoren so an.
Lässt sich aber beliebig abändern.

jonny

Autor: ambi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@jonny
Das ist genau das was ich suche.

Würdest du eventuell Sourcecode und Schaltplan veröffentlichen?

Autor: jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe so angefangen:

1. Schrittmotorplatine zusammengelötet.
   Ich habe diese hier benutzt:
   http://www.roboternetz.de/wissen/images/0/02/Schal...
   Viele Informationen:
   http://www.roboternetz.de/wissen/index.php/Schrittmotor

2. µC auf einem Board aufgebaut und die 4 Leitungen von der
   Schrittmotorplatine an den µC angeschlossen.
   Also: Clock,Enable,Dir,H/F
   Kannst natürlich auch noch Restet usw. benutzten brauchte ich aber 
nicht.

3. Einfacches C-Programm schreiben, dass immer den Clockpin auf High und
   wieder Low setzt.

   Ich habe dazu etwa sowas gemacht:
   Enabel -> high         // Muss gemacht werden
   H/F -> low             // gibt den Modus an
   Dir -> high            // gibt die richtung an
   Clock  -> high         // beginnt den Schritt
   2 ms warten
   Clock -> low
   2 ms warten
   <wieder oben anfangen> // Schleife xD

Also so habe ich angefangen. Jetzt kannst du auch einfach eine Funktion 
schrieben, die den Motor ansteuert und eine die die Daten der 
RS232-Verbindung auswertet und diese dann an die Schrittmotro-Funktion 
weiterleitet.

jonny

Autor: jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ambi:

Schaltplan gibt es leider nicht (nur den von der 
Schrittmotoransteuerung), ahbe ich so im Kopf ausgedacht...

Soucecode kann ich dir geben, ist jedoch sehr eifach und rel. schlecht 
Programmiert, da es nur zum testen war. Bin gerade dabei eine richtige 
Version zu proggen.

Das PC-Programm habe ich in VB2005 .Net geschrieben. Wenn du mir sagt, 
was du genau mit dem Motor machen willst, kann ich dir eben eins 
schreiben.

jonny

Autor: ambi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für diese sehr hilfreiche Antwort.

Die Firmware würde mich dann schon interessieren.
Die PC Software würde mich weniger interessieren (muss unter Linux 
laufen und da ist das mit .net immer sone Sache). Da würde mich 
höchstens interessieren wie man unter Windows nen COM Port ansteuert.

Autor: jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
okay ich suche gleich mal eben die Codes zusammen.
unter windows kann man genz einfach ein Steuerelement benutzten. Dann 
kann man die Baudrate usw. einstellen und mit SerialPort1.Write daten 
übertragen.

Autor: jonny (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Kleine Info zu seriellen Ansteurung:

Motor-Nr.
[ENTER]
Stepps
[ENTER]
Dir
[ENTER]
H/HF
[ENTER]

Also wird jeder "Datenblock" mit [ENTER] abgeschlossen!

jonny

Autor: jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so bin jetzt erstmal weg.

An die bei denen sich bei dem Code die Nackenhaar streuben:
- Es wurde nur auf die schnelle zum Testen der Grundideen programmiert!
- Also bitte keine dummen und blöden Kommentare
- über Anregungen bin ich aber dankbar kann aber auf "wie schlecht"
  verzichten, Danke

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo liegt jetzt eigentlich das Hauptproblem? Geht es Dir mehr um die 
Ansteuerung des Motors (bzw. des L297) über den Mikrocontroller oder 
eher um die Anbindung der seriellen Schnittstelle?

Autor: ambi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ging mir um die Ansteuerung des Motors.
Aber ein vielendank für deine Hilfe. Der Motor Schnurrt schon wunderbar 
vor sich hin.
Arbeite zurzeit auch noch mit den delay Funktionen, das werde ich jetzt 
aber noch auf Timer umstricken. Dann wird nicht soviel CPU Zeit 
verschenkt.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Aber ein vielendank für deine Hilfe.
Ich denke, Du meinst damit jonny ohne 'h'. Ich konnte mich heute mittag 
leider nicht mehr äußern, weil ich zu tun hatte...

Autor: ambi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke euch beiden für die Mühe ;)

Autor: jonny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kein thema, wenn du noch fragen wegen der ansteurung über den PC hast 
kannste das ja hier im Topic machen ich denke ich werde es nicht 
verpassen :)

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.