mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SSI Schnittstelle für Winkelgeber


Autor: noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

es geht mal wieder um die SSI-Schnittstelle. Ich möchte einen 
Winkelgeber an einer Maschine auslesen und habe einen Stecker mit 
folgenden Pins:

C+
C-
D+
D-
(Schirmung)

Wenn ich das richtig interpretiere, handelt es sich wahrscheinlich um 
das Clock (C)- und Daten (D)- Signal. Das ganze dann jeweils normel und 
invertiert.
Ich weiß jetzt aber nicht, das da für Daten aunkommen (Graycode, 
Binär...). Das Signal für den Winkel würde ich ganz gerne mit einem µC 
einlesen und als Analogwert ausgeben. Wie sollte ich da vorgehen/was 
brauche ich für daten/Infos vom Winkelaufnehmer? Das Clocksignal muss 
ich denke ich nicht vorgeben, dass wird schon durch die übergeordnete 
Steuerung gegeben und liegt am Stecker "nur so" nochmal an.

Autor: Bernd G. (Firma: LWL flex SSI) (berndg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das Clocksignal muss ich denke ich nicht vorgeben, dass wird schon durch die 
übergeordnete Steuerung gegeben und liegt am Stecker "nur so" nochmal an.

Das Taktsignal liegt nicht "nur so" an. Mit dem Signal werden die Daten 
aus dem Drehgeber herausgeholt, d.h. du mußt nachsehen, welchen Wert das 
Signal bei der positiven Taktflanke hat. Typischerweise werden für 
Singleturn-Drehgeber 13 Takte zum Lesen benutzt und für Multiturn-Geber 
25 Takte. Die Taktimpulse werden paketweise mit Pausen von mindestens 
der Monoflopzeit angelegt. Typische Pegel bei SSI sind RS 422. Eine 
hinreichende Beschreibung zur SSI-Schnittstelle findest du irgendwo bei 
Hengstler (einer der größeren Drehgeberhersteller): 
http://www.hengstler.com/de/products/faq.php?catID=251#_122 
bzw.http://www.hengstler.com/gfx/file/faq/SSI.pdf

Welchen Kode der Geber liefert, musst du aus der Typenbezeichnung des 
Gebers klären, bei Kübler steht es im Klartext drauf. Graycode ist 
üblich.
Das kannst du aber selbst feststellen - beim langsamen Durchdrehen des 
Gebers ändert sich beim Graycode immer nur ein Datenimpuls pro Schritt.

Autor: noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also das heißt, ich muss mir erstmal ansehen, wie überhaupt das Signal 
auf der Clock-Leitung aussehen? Das müssten dann ja viele Taktbüschel 
sein.

Wenn die übergeordnete Steuerung aber ein sehr schnelles Clocksignal 
ausgibt, woher weiß ich dann wann ein jeweiliger Datenstrom auf der 
Dataleitung zu Ende ist/Woher kenne ich den Anfangs- und Endpunkt von 
einem Winkelwert?

Ich würde doch z.B. solche Daten erhalten: 
1101001011101010011100110110001001
Also einfach 1en und 0en, die ich irgendwie in Segmente teilen muß?

Autor: Bernd G. (Firma: LWL flex SSI) (berndg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richtig, es sind Taktbüschel. Die Taktfrequenz liegt üblicherweise 
zwischen
100 kHz und 1 MHz.
Du musst also auswerten, wann das Taktimpulspaket losgeht. Es geht nach 
einer Pause von mindestens 30 ms (sog. Monoflopzeit) los. Dabei geht es 
aus dem Ruhezustand = High auf Low. Du musst also eine Pause von ca. 30 
ms
mit dem darauffolgenden Low als Startbedingung auswerten. Mit den dann 
folgenden Taktflanken siehst du dir an, ob die Daten H oder L sind.
Viel Spaß dabei!

Autor: BinGast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C+ C- D+ D- sind vermutlich differentielle Ausgänge (macht auch Sinn da 
meist sehr schnell). Können mit jedem RS422 Receiver ausgewertet werden.

Stichwort Differential Bus Transceiver

SSI ist bei Wikipedia ganz gut beschrieben:

http://de.wikipedia.org/wiki/Synchron-Serielle_Schnittstelle

Zu beachten ist noch das die Daten meistens im Gray Code übertragen 
werden

Autor: BinGast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch vergessen:

Kann über die SPI eingelesen werden wenn diese lang genug (16 Bit) ist. 
Gibt µCs wo man das einstellen kann

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.