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


von ...(gast) (Gast)


Lesenswert?

hi...

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

DANKE

von g457 (Gast)


Lesenswert?

Das ist ganz einfach:
1
 _________        ____________        ____________        _________
2
|         |      |            |      |            |      |         |
3
| Signal- | ---> | Gray-Code- | ---> | Stepper-   | ---> | Stepper |--+-+BRATHÄHNCHEN+-+-
4
| quelle  |      | Decoder    |      | Controller | <--- |         |  |                |
5
|_________|      |____________|      |____________|      |_________|  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?

von Klaus W. (mfgkw)


Lesenswert?

g457 schrieb:
> (abgesehen vom Geflügel;-)

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

von ...(gast) (Gast)


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

von eProfi (Gast)


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?

von ...(gast) (Gast)


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

von Reinhard Kern (Gast)


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

von Sven (Gast)


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.

von Klaus W. (mfgkw)


Lesenswert?

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

von ...(gast) (Gast)


Lesenswert?

Hallo!

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

Mfg

von Helmut S. (helmuts)


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.

von Klaus W. (mfgkw)


Lesenswert?

...(gast) schrieb:
> hat genau 48 Schitte

das ist ja schon krankhafter Durchfall.

von ...(gast) (Gast)


Lesenswert?

>das ist ja schon krankhafter Durchfall.

Ich bitte solch Ausdrücke zu unterlassen.

Du kannst ja auch etwas produktiveres schreiben!

von Klaus W. (mfgkw)


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

von Sven (Gast)


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

von Sven (Gast)


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?

von Michael M. (Gast)


Lesenswert?

101 100 110 010 000 001 011 111
tadaa... geht bei 48 auch.

von Helmut S. (helmuts)


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.

von ...(gast) (Gast)


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

von Sven (Gast)


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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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"

von Michael M. (Gast)


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

von ...(gast) (Gast)


Angehängte Dateien:

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.

von Reinhard Kern (Gast)


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

von Klaus W. (mfgkw)


Lesenswert?

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

von Helmut S. (helmuts)


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?

von Sven (Gast)


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.

von Sven (Gast)


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.

von Andreas K. (sulospace)


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

von Klaus W. (mfgkw)


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?

von diwa (Gast)


Lesenswert?

ja ich kann das

von Purzel H. (hacky)


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.

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.