mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Gray Code auswertung --> Schrittmotor Steuerung


Autor: ...(gast) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi...

Ich möchte gerne eine Gray Code Signal auswerten und damit einen 
Schrittmotor ansteuern? Wie kann ich so etwas realisieren?

DANKE

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ganz einfach:
 _________        ____________        ____________        _________
|         |      |            |      |            |      |         |
| Signal- | ---> | Gray-Code- | ---> | Stepper-   | ---> | Stepper |--+-+BRATHÄHNCHEN+-+-
| quelle  |      | Decoder    |      | Controller | <--- |         |  |                |
|_________|      |____________|      |____________|      |_________|  A                A

Man beachte, dass das in guter übereinstimmung mit der Problemstellung 
alles Blackboxen sind (abgesehen vom Geflügel;-)

Oder in anderen Worten: gehts noch ungenauer?

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
g457 schrieb:
> (abgesehen vom Geflügel;-)

doch auch; man muß es nur lange genug braten.

Autor: ...(gast) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ok, danke aber nun mal langsam:

1)Meine Signalquelle ist eine Welle!
2)dann der Gray code decoder
3)weiters die schrittmotor steuerung
4)und zum schluss der Schrittmotor

und wie sieht so eine Schaltung aus?

DANKE

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die einzig mögliche Antwort:
Indem Du einen Gray-Code-Decoder an einen Schrittmotor-Treiber 
anschließt.


Das ist ja schon der Hammer.
Leute, da Euch alle Information im Internet zu Füßen liegt:
lernt das Suchen und das Fragen!

Versetze Dich doch mal in unsere Lage, wir wissen überhaupt nichts von 
deinen "Zutaten".
- Welche Welle
- Welche Drehzahl
- Welche Geberfrequenz / -Auflösung
- Welche Genauigkeit
- Welcher Schrittmotor
- Welche Leistung
- Welche Dynamik

Und - was willst Du eigentlich (ernst gemeinte Frage)??
Soll sich der Schrittmotor synchron zur Welle drehen? Oder was?

Autor: ...(gast) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo!

Ich kann dir genau Infos geben! Ich bin nur sehr froh das es s profis 
gibt wie dich. Ich kann nur von dir lernen!

Meine Angaben:

Das Signal kommt von einem Windrad (Windrichtungsgeber), dies ist ein 
Absolutwertgeber (=Winkelmessung)(Gray Code).

Der Schrittmotor hat 48Schritte je Umdreheung. Nennspannung 12VDC und 1 
A. Die Genauigkeit ist egal, da das ganz System nur für das Windrad ist.

Der Schrittmotor sollte sich Synchron mit dem Absolutwertgeber drehen. 
Da der Wind und die Rotorblätter immer den gleichen Winkel aufweisen 
sollen.

DANKE

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...(gast) schrieb:
> Der Schrittmotor sollte sich Synchron mit dem Absolutwertgeber drehen.

Hallo,

dann musst du an den Schrittmotor den gleichen Absolutwertgeber 
anschliessen und die Differenz auf Null regeln. Der Schrittmotor liefert 
nämlich keinerlei Information darüber, in welcher Stellung er steht, und 
nach dem Einschalten ist die rein zufällig.

Gruss Reinhard

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieviel Schritte hat den der Geber pro Umdrehung? Und soll der 
Schrittmotor die alle ansteuern? Oder nur so ungefähr? Weil wenn der 
Geber 64 Schritte hat, der Motor 48, wird das interessant. Wenn der 
Geber nur 16 Schritte hat, muss der Motor halt pro Geberposition 3 
Schritte machen. Oder wird der Motor nochmal mit einem Getriebe auf das 
Windrad untersetzt?

Du kannst auch an den Motor eine Lichtschranke setzen. Beim Einschalten 
macht der Motor eine Bewegung, bis er mit der Lichtschranke 
übereinstimmt. Von dort aus können dann die Schritte gezählt werden. 
Obwohl, könnte bei einer Windböe zu Schrittverlusten führen, dann steht 
das Windrad irgendwo.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und nicht zu vergessen: Wo ist der Troll versteckt?
Das hier kann doch nicht wahr sein.

Autor: ...(gast) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Der Absolutwertgeber hat genau 48 Schitte (Eigenbau). D.h. ich brauche 
kein Getriebe oder ähnliches.

Mfg

Autor: Helmut S. (helmuts)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Idee mit dem zweiten identischen Encoder auf der Achse des 
Schrittmotors ist eine gute Idee. Diese Lösung hätte zumindest den 
Vorteil, dass Schrittverluste wegen Überlast automatisch korrigiert 
werden. Eigentlich ist das eine nette Aufgabe sowas mit einem kleinen 
Mikrocontroller zu erschlagen.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...(gast) schrieb:
> hat genau 48 Schitte

das ist ja schon krankhafter Durchfall.

Autor: ...(gast) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>das ist ja schon krankhafter Durchfall.

Ich bitte solch Ausdrücke zu unterlassen.

Du kannst ja auch etwas produktiveres schreiben!

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich, ja.
Mache ich auch gelegentlich.

Aber bei Fragen wie deiner tut es mir nicht leid um den Thread.
Du könntest ein Minimum an Verstand aufwenden, bevor du eine
Frage stellst und den Leuten hier Zeit stiehlst.
Dann bin ich auch ernsthaft dabei.

Bei dem Quark, mit dem du oben anfängst, kannst du doch nicht
ernsthaft vernünftige Antworten erwarten, oder?

Außerdem hattest du mit Schitte angefangen :-)

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Toll, also den Encoder und das Windrad hast Du ja. Sonst noch was? 
Schrittmotor, Treiber, Controller vorhanden?

Wenns nicht Graycode wäre, könntest Du das durch paar Logikschaltkreise 
erschlagen. Da Graycode hier schon sinnvoll ist (siehe den Artikel zum 
Wetterhahn bei ELV), würd ich das so steuern:

Je 1 Encoder am Windrichtungsmesser (Soll) und am Windrad (Ist).

1. beide Encoder in µC einlesen
2. Graycode in normalen Binärcode wandeln (über Tabelle), weil der µC 
das besser rechnen kann
3. event. über mehrere Werte filtern, wegen Sprüngen
4. Differenz von Soll und Ist berechnen, unter Berücksichtigung der 
48-Positionen-Periode
5. wenn Ist größer Soll + Hyst, Schritt zurück
   wenn Ist kleiner Soll - Hyst, Schritt vor
   sonst mache nichts
weiter bei 1.

Die Hysterese würd ich einführen, damit das Windrad nicht ständig 
springt, wenn der Fühler zwischen 2 Positionen pendelt.

Die Steuerung passt in einen ATtiny2313 oder einen ATmega8. Der ist 
damit so unterfordert, dass er nebenher noch SETI rechnen kann.

Ob Du die Schritte jetzt in Mikroschritte auflöst oder Vollschritte 
machst, hängt von der Größe des Windrades und der Mechanik ab. Da Du 
dazu nichts verraten hast...

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Btw: Graycodescheibe mit 48 Positionen? Wie das? Wie machst Du den 
Übergang von 47 auf 0?

Der Witz am Graycode ist doch, dass sich von einer zur nächsten Position 
immer nur ein Bit ändert. Aber von 47 auf 0 müssten sich mehrere Bits 
ändern. Die Scheibe müsste 2^n Positionen haben, also 32, 64 oder 128...

Oder?

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
101 100 110 010 000 001 011 111
tadaa... geht bei 48 auch.

Autor: Helmut S. (helmuts)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael M. schrieb:
> 101 100 110 010 000 001 011 111
> tadaa... geht bei 48 auch.

Sein Gray-Code hat 6 bit. Trotzdem denke ich, dass es auch mit 6 bit 
möglich ist eine Gray-Kodierung zu finden.

Autor: ...(gast) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo sven!

>Wenns nicht Graycode wäre, könntest Du das durch paar Logikschaltkreise
erschlagen.

Wenn möglich sollt ich es auch mit Digi-Bausteinen (Logikschaltkreisen) 
realisieren. Sollte ich in diesem Fall einen Inkrementalwertgeber 
benutzen!

Wäre vl einfacher zu lösen...

Mfg

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael und Helmut: Euch ist aber aufgefallen, dass das Beispiel auch 
2^n Positionen hat. Bei 48 Positionen ist es meiner Meingung nach nicht 
möglich.

@... Nimm einen µC. Mit Graycode rechnen dürften nicht viele 
Logikbausteine können. Du must also auf jeden Fall umrechnen.

Absolutwertgeber geben auch Graycode aus. Vielleicht findest Du einen 
Wandler zu BCD dafür, dann kannst Du digitale Zähler und Vergleicher 
nehmen. Der µC ist trotzdem einfacher und flexibler.

Inkrementalgeber hat das Problem, dass Du beim Einschalten nicht weisst, 
wo Du bist. Und es dürfte schwierig werden, den Wind zu überreden, Deine 
Wetterfahne erst einmal im Kreis zu drehen.

Poste mal bitte Deine Graycodeaufteilung für 48 Positionen.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was mir etwas zu Denken gibt:
Warum kommen denn in letzter Zeit die 48 Schritte/U immer öfter ins 
Spiel? So wie im Beitrag "Winkelsensor, Schrittmotor, Steuerung"

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut S. schrieb:
> Michael M. schrieb:
>> 101 100 110 010 000 001 011 111
>> tadaa... geht bei 48 auch.
>
> Sein Gray-Code hat 6 bit. Trotzdem denke ich, dass es auch mit 6 bit
> möglich ist eine Gray-Kodierung zu finden.
war auch nur als beispiel gedacht, das die zählweise verdeutlichen soll. 
für 6 bit war ich zu faul =)

Autor: ...(gast) (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mal ngenommen ich nehme jetzt einen Absolutwertgeber. Dieser liefert mir 
einen Gray Code. Diesen Gray code werde ich umwandeln in einen BCD-code.

BCD to Gray Code umwandler besteht meiner Meinung nach aus Exklusiv-Oder 
Verknüpfungen (XOR). (siehe Anhang)

Wie würde dann diese realisierung mittls Logikschaltkreisen aussehen.
Denn dann habe ich ja das Problem der Referenzfahrt nicht.

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael M. schrieb:
> für 6 bit war ich zu faul =)

nicht 6 bit, sondern 6 Schritte:
000 001 011 111 110 100

3 x verdoppeln gibt 48.

Aber zu was soll eine Umwandlung mit Logikbausteinen gut sein? Dann hat 
man die Position zwar in Binär oder BCD, aber das Problem ist damit 
keineswegs gelöst. Das ist wieder so ein Thread, wo der grösste Unsinn 
diskutiert wird, weil der Fragesteller nicht in der Lage ist, eine 
Lösung zu verstehen. Nachdem schon 3 mal ausgeführt wurde, dass die 
Stellungen verglichen werden müssen, und das völlig ignoriert wird, muss 
man das Problem als "mit den vorhandenen Mitteln unlösbar" einstufen. 
Mittel sind in dem Fall die geistigen Möglichkeiten.

Gruss Reinhard

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wird unser österreichischer Freund ... jetzt aber nicht gerne hören!

Autor: Helmut S. (helmuts)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Gast

Ich bin interessiert daran wie so etwas praktisch realisiert wird.
Wie sieht eigentlich die Opto/Mechanik zum "abtasten" der 
Graycode-Scheibe aus? Bild?
Wie werdden die 6 Empfangsdiodendioden befestigt?
Ist deine Lösung mit Durchlicht- oder Reflexionsprinzip?
Gibt es sowas als Block zu kaufen?

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Helmut: Guckst bei bei ELV nach Wetterhahn. Dioden im Durchlicht.

Zu kaufen gibt das mit bis zu 4096 Positionen als Absolutwertgeber, aber 
das willst Du nicht wirklich bezahlen...

Ich hab letztens nen Kodak-Diaprojektor repariert, mit serieller 
Schnittstelle, Diapositionswahl, Dimmen, Programmautomatik und dem 
ganzen Kram. Auf der Hauptplatine waren gefühlt 100 ICs, um einen 
Schrittmotor, einen Autofokusmotor und einen Motor für den Bildwechsel 
anzutreiben.

Heute würde man das mit einem µC und 3 Treiberschaltkreisen machen. Ne 
sorry, man baut einfach keine IC-Friedhöfe mehr, wenn man einen µC 
verwenden kann. Und wenn Du einen Fehler in der Schaltung hast, fängst 
Du an Leiterbahnen aufzukratzen und rumzufädeln.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmpf, ich seh gerade, die - uralte - Anleitung zum Wetterhahn gibt es 
bei ELV nicht zum Download. Wollen wohl lieber ihre eigenen verkaufen. 
Und ich hab die Anleitung auch nicht mehr.

Im Prinzip waren das 2 Platinen, einmal 4 LEDs, auf der anderen 4 
Phototransis. Dazwischen auf der Achse des Wetterhahns befestigt die 
Codescheibe mit 16 Positionen, ich glaub aus Pertinax gefräst. Das kann 
man mit bißchen Bohren und Feilen hinbekommen. Angezeigt wurden die 16 
Positionen mit 16 LEDs, Übertragung war glaub ich seriell.

Die Achse war in 2 Kugellagern gehalten, oberhalb des Gehäuses mit der 
Elektronik war auf der Achse ein sich mitdrehender kegelförmiger Schutz, 
damit kein Wasser in das Gehäuse kommt.

Autor: Andreas Knaup (sulospace)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich wollte keinen extra Beitrag aufmachen. Ich suche einen Gray to BCD 
decoder. Gibt es so einen Baustein und wie heißt er?

Danke sulospace

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Knaup schrieb:
> ich wollte keinen extra Beitrag aufmachen.

wäre aber wohl besser.

Ich hätte auch noch ein paar Fragen die hier nicht dazu passen.
Rate mal, warum ich die nicht hier unterbringe?

Autor: diwa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja ich kann das

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Gibt es so einen Baustein und wie heißt er?


Eher nicht. Um wieviele Bits wuerd's denn gehen ? Falls es den einen 
N-bit Gray-zu-Binaer gaebe, muesst man noch den passenden Binaer nach 
BCD codierer kaskadieren. Ein Controller ist sicher die einfachere Wahl.

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.