www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS 232 - Schrittmotoransteuern


Autor: Ikaim P. (ikaim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
da ich gerade in eine Elektronik Schule gehe und im Unterricht nie 
wirklich etwas tolles gelehrt wird habe ich mir eine Aufgabe selbst 
gestellt.

Ich möchte einen Schrittmotor über mein Notebook ansteuern. Der 
Schrittmotor soll Vorwärts/Rückwärts, stufenlos schnell und langsam über 
Pedale am Notebook gesteuert werden.

Wie oben erwähnt haben wir zwar einiges gelernt jedoch weiß ich trotzdem 
nicht wie man sowas realisiert.

Ich habe schon Grundkenntnisse in µC programmierung, weiß das ich für 
die Ansteuerung des Motors L297 und L298 benötige. Der Schrittmotor wird 
unipolar sein. Ich möchte es über RS232 ansteuern. Ahja ich möchte es in 
Assembler programmieren -> oder ist C besser?

Ich stelle mir vor die Signale die ich vom Notebook bekomme mit einem 
16F690 auszuwerten und über den Motortreiber an den Motorweitergebe.

Mein Problem ist, ich weiss nicht ganz genau wo oder wie ich das am 
besten angehe

Bitte um einen kleinen Denkanstoß

Autor: Christopher G. (cbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für die Pedale irgendein Lenkrad + Pedale bei eBay o.ä. besorgen. Dann 
sind die Pedale als Joystick verfügbar. Die Pedalwerte periodisch 
abfragen und per RS232 an beliebigen µC schicken. Dort die ankommenden 
Daten (Datenprotokoll!) auswerten und die Regelung des Motors anpassen.
Wenn bereits µC Kenntnisse vorhanden sind, dann dürfte wohl nur das 
Ansprechen der Joysticks Neuland sein.

Autor: Ikaim P. (ikaim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, wie gesagt ich habe nur ein paar Grundlagen diesbezüglich gelernt!

So würde ich mir dass mal vorstellen:
Bei einer 8bit Folge würde ich ein Bit für die Drehrichtung verwenden. 
Dieses Bit wird über den µC an den L297 Eingang CW(High/Rechts) 
CCW(Low/Links) übermittelt. Ein Bit wär als parity vorgeschlagen um die 
erste Überwachung zu realisieren. Hiermit wird ein „Umfallen“ eines bits 
erkannt und eine unbeabsichtigte Drehrichtungsänderung oder 
Geschwindigkeitssprünge verhindert.
Die restlichen 6 Bits sind für die Geschwindigkeitsstufen, diese  kommen 
aus dem µC auf den L297 Clock Eingang. Mit jedem Byte (8bitfolge) wird 
eine Drehzahl vorgegeben. Die Impulsfolge am Clock gibt die Drehzahl an. 
Das Bit für die Drehrichtungsänderung darf nur bei Stillstand des 
Motors, also x0000000 ausgewertet werden um keine Drehrichtungsänderung 
während der Motorbewegung zu erlauben. Achtung Nachlauf bei Last des 
Motors!!!

Bin ich am richtigen Weg?
lg

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ikaim P. schrieb:
> Bei einer 8bit Folge würde ich ein Bit für die Drehrichtung verwenden....
> Bin ich am richtigen Weg?

Soweit schon (Steuerung des Schrittmotors mit 1 Byte), aber was hat das 
genau mit RS232 zu tun?

Gruss Reinhard

Autor: qwertzuiopü+ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christopher G. schrieb:
> Für die Pedale irgendein Lenkrad + Pedale bei eBay o.ä. besorgen.

wenn du dabei klassische, analoge geräte verwendest kannst du das 
notebook sogar recht einfach einsparen (-> google fragen, wie analoge 
joysticks ausgewertet werden) und den bzw. die motoren direkt mit dem µc 
und entsprechender zusatzbeschaltung steuern.

Autor: Ikaim P. (ikaim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

@Reinhard Kern
Ich würde diese Signale über eine RS232 Schnittstelle vom PC an meinen 
µC weiterschicken.

@qwertzuiopü+
Ich möchte unbedingt über einen Laptop das Ganze realisieren.

lg

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ikaim P. schrieb:
> Hi
>
> @Reinhard Kern
> Ich würde diese Signale über eine RS232 Schnittstelle vom PC an meinen
> µC weiterschicken.

Ja schon.
Aber das sind ja 2 Paar Schuhe.

Das eine ist der Schrittmotor, der mit irgendwelchen Daten, egal wo die 
herkommen angesteuert werden will.

Und das andere ist eine RS232 Strecke, die Daten überträgt.

Nur das jetzt halt zufällig das was aus der RS232 rausfällt in die 
Schrittmotorsteuerung hineingesteckt wird.

Aber ausser dieser losen Kopplung haben die beiden Themenkreise ja 
technisch nichts miteinander zu tun.

Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sie werden mit 1 bauteil verkoppelt, das das komplexste und wichtigste 
gleichzeitig ist

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Philipp schrieb:
> sie werden mit 1 bauteil verkoppelt, das das komplexste und wichtigste
> gleichzeitig ist


LOL
Ich rede aber vom Programm innerhalb dieses Bauteils :-)

Auch das hat eine Struktur. Eine Struktur mit 2 Teilaufgaben. Die 
insofern lose miteinander gekoppelt sind, dass der Output des einen 
Programmteils Input für den anderen Programmteil ist. Und abgesehen 
davon haben die beiden Programmteile nicht viel miteinander zu tun. 
Sprich: Die Schrittmotoransteuerung könnte man genausogut mit Werten aus 
einem ADC füttern oder einem Eingabemodul mit 2 Tasten oder ....
Dem SChrittmotormodul ist es völlig Wurscht, wo die Werte herkommen mit 
dem es gefüttert ist. Und dem RS232 Modul ist es völlig Wurscht was mit 
den Werten weiter passiert die es empfängt. Lediglich der verbindende 
Kit, lenkt die Daten von einem Modul zum anderen.

Autor: Ikaim P. (ikaim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aso,

ich stelle mir die Ablauf so vor:

Pedalstellung -> PC(mit USB) -> Software wertet die Stellung aus und 
gibt einen Zeichensatz weiter -> an die RS232 -> in den µC (beinhaltet 
die Auswertung des Codes, Drehrichtung, Drehzahl, ?parity?) -> weiter in 
den L297 -> L298 -> Schrittmotor.


Ich hoffe ich habe hier keinen Denkfehler

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ikaim P. schrieb:
> Aso,
>
> ich stelle mir die Ablauf so vor:
>
> Pedalstellung -> PC(mit USB) -> Software wertet die Stellung aus und
> gibt einen Zeichensatz weiter -> an die RS232 -> in den µC (beinhaltet
> die Auswertung des Codes, Drehrichtung, Drehzahl, ?parity?) -> weiter in
> den L297 -> L298 -> Schrittmotor.
>
>
> Ich hoffe ich habe hier keinen Denkfehler

Ja. Soweit in Ordnung.
Aber noch sehr rudimentär. So ungefähr: Wir bauen ein Hochhaus. Dazu 
brauchen wir: einen Keller, Wände und ein Dach. Und ach ja: Einen Kran, 
der das Dach hochhebt.

Mein Tip:
Fang hinten an mit der Motorsteuerung.
Nimm an du hättest von der RS232 ein Byte erhalten das einen korrekten 
Aufbau hat. Erfinde dazu einen Sollwert.
Wie gehts weiter? Ganz konkret? Wenn du dieses Byte hast, was tust du 
damit, damit sich der Motor dreht?

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.