Forum: Mikrocontroller und Digitale Elektronik Winkelgeber mit SSI Schnittstelle wie Programmierung


von Cheffe (Gast)


Lesenswert?

Hi,

bei den AFM/AFS60 von Stegmann kann man über SSI den Winkel auslesen. 
Das ist auch gut dokumentiert. Aber wie wird die Programmierung 
realisiert? So kann z.B. die Auflösung nahezu beliebig bis 262144 
Schritte/360° programmiert werden. Aber wie geht das? SSI in die andere 
Richtung? Leider ist dazu nichts im Netz zu finden.

Cheffe

von Falk B. (falk)


Lesenswert?

@ Cheffe (Gast)

>bei den AFM/AFS60 von Stegmann kann man über SSI den Winkel auslesen.
>Das ist auch gut dokumentiert. Aber wie wird die Programmierung
>realisiert?

Wo ist das Problem? Es ist ein einfaches, serielles, synchronoes 
Protokoll. Sehr ähnlich zu SPI.

>So kann z.B. die Auflösung nahezu beliebig bis 262144
>Schritte/360° programmiert werden. Aber wie geht das? SSI in die andere
>Richtung?

Wieso andere Richtung?

von Sabberlotte (Gast)


Lesenswert?

Cheffe schrieb:
> SSI in die andere Richtung?

u.U. / sehr wahrscheinlich aber ISP (Deckel abschrauben und spionieren 
ob Anschluß vorhanden).

von Cheffe (Gast)


Lesenswert?

Hi,

es gibt ein Programmiergerät, welches an die selbe Schnittstelle 
angeschlossen wird. Am PC über USB. Damit und natürlich mit der 
mitgelieferten Software kann man den Winkelgeber Programmieren. Was dann 
aber auf den Clock- und Datenbits passiert ist nicht SSI, da auf Clock 
sieht man Signale aber nicht wie in der Dokumentation und bei Data 
passiert nichts.


Cheffe

von Holger (Gast)


Lesenswert?

Hi,

also es ist eine EIA-422/48-kompatible Zugriffsmöglichkeit vorhanden und 
nach vorheriger Initialisierung (Herstellersoftware) ist es mir 
gelungen, direkt den jeweiligen Winkel mittels HTERM auszulesen. Es wird 
aber nicht die SSI-Schnittstelle benutzt, da nur Clock+ und Clock- 
verwendet werden. Die Anschlüsse Data+ und Data- werden nicht verwendet.

Daher möchte ich hier nochmals nachfragen, ob jemanden dass Protokoll 
bekannt ist und wo ich eine entsprechende Dokumentation finden kann.


Gruß
Cheffe

von Dennis U. (crixus_17)


Lesenswert?

Hallo Cheffe,

momentan habe ich dasselbe Problem.
Leider ist dein Beitrag schon einige Jahre her und ich finde nirgends im 
Internet auch nur Ansatzweise etwas dazu, wie man einen Winkelgeber über 
die SSI Schnittstelle konfigurieren kann. Im Datenblatt steht nur 
beschrieben, wie man die Daten über SSI auslesen kann, aber nicht wie 
man über die SSI-Schnittstelle was konfigurieren bzw. schreiben kann. 
Hast du inzwischen eine Lösung hierzu gefunden ?


Weiß eventuell sonst jemand wie genau das SSI-Protokoll aufgebaut ist 
wenn man einen Baustein konfigurieren möchte ? Im Datenblatt steht nur, 
dass für das Auslesen über SSI ein 13 Bit Register mittels Gray-Code 
Dartsellung ausgelesen werden kann. Jedoch nicht (wie Cheffe 
wahrscheinlich meinte von wegen anders herum) wie man über SSI den 
Baustein konfigurieren kann.

Nun möchte ich aber Beispielsweise zum Konfigurieren eine "1" in das 
Register 0x77 Bit 7 schreiben. Was muss ich dafür über das SSI-Protokoll 
senden ? Und wie groß ist das SSI-Protokoll? Standardmäßig laut Internet 
25 Bit ? Und muss ich das ganze auch als Gray-Code Darstellung 
übertragen wenn das Auslesen auch nur über diese Darstellung 
funktioniert ?

Hoffe das mir jemand hierbei helfen kann.

PS: Es handelt sich um folgenden Baustein den ich konfigurieren möchte:
https://docplayer.org/11610332-Ic-mh-12-bit-hall-winkel-encoder.html

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

erst mal das Datenblatt direkt vom Hersteller iC-Haus:
https://www.ichaus.de/upload/pdf/MH_datasheet_C2en.pdf

Das Datenblatt zur ursprünglichen Frage:
https://www.hvssystem.com/documentations/Sick%20Stegmann/technique/AFS60-AFM60-Datasheet.pdf
ein Absolut-Encoder in drei Auflösungen 12/15/18 Bit, Funktionsweise 
sehe ich jetzt nicht, vielleicht optisch?

Von iC-Haus ist nur der Chip mit Hallsensoren, dazu braucht man noch die 
Mechanik mit Magneten.

von Bürovorsteher (Gast)


Lesenswert?

> und ich finde nirgends im
> Internet auch nur Ansatzweise etwas dazu, wie man einen Winkelgeber über
> die SSI Schnittstelle konfigurieren kann.

Da wirst du auch nichts finden, weil das bei SSI-DG weder vorgesehen 
noch möglich ist.
SSI ist Read-only.
An einem fertigen SSI-DG kannst du nichts konfigurieren, auch wenn innen 
drin ein konfigurierbares Teil sitzt. Das wird dann aber passend zur 
Codierscheibe und den Gebern konfiguriert. Da hat der Anwender dann 
nichts mehr dran herumzupfuschen.
Oder wovon redest du? Nenne mal den DG mit Namen und Hersteller, damit 
klar ist, was du meinen könntest.

von Bürovorsteher (Gast)


Lesenswert?

Außer SSI sind für Absolutwertgeber noch EnDat und BiSS gebräuchlich.
Bitte nichts wild durcheinanderwürfeln!

von Dennis U. (crixus_17)


Lesenswert?

Hier einmal das offiziele Datenblatt von ic Haus.
https://www.ichaus.de/upload/pdf/MH16_datasheet_C1en.pdf

Auf der ersten Seite steht folgendes:
"BiSS/SSI interface for data output and configuration"


Heißt das nicht das ich den Chip dann auch über SSI Konfigurieren kann ?

von Bürovorsteher (Gast)


Lesenswert?

> Heißt das nicht das ich den Chip dann auch über SSI Konfigurieren kann ?

NEIN

von minifloat (Gast)


Lesenswert?

Cheffe schrieb:
> So kann z.B. die Auflösung nahezu beliebig bis 262144 Schritte/360°
> programmiert werden. Aber wie geht das?

Dennis U. schrieb:
> wie man einen Winkelgeber über die SSI Schnittstelle konfigurieren kann.

Hier...
https://de.m.wikipedia.org/wiki/Synchron-Serielle_Schnittstelle#%C3%9Cbertragung
...liest man derzeit folgendes:
>> Wenn das niederwertigste Bit empfangen
>> wurde, wird der Takt gestoppt. Das Monoflop,
>> das von den Taktpulsen immer nachgetriggert
>> wurde, fällt nach Ablauf der Schaltzeit
>> wieder in den Grundzustand und erlaubt
>> wieder die Übernahme der Messwerte in das
>> Schieberegister. Die Datenleitung wird bis
>> dahin auf Low-Pegel gehalten.

Merke auf die Erste
Der Controller muss nicht alle 13 Bit lesen. Er kann auch nach dem 10. 
Bit oder nach dem 12. Bit den Takt stoppen.

Merke auf die Zweite
Versucht der Controller, mehr Bits als die Auflösung beträgt, zu lesen, 
werden in das Schieberegister Nullen nachgezogen. Man kann also aus 
einem 13-Bit-Encoder auch 16 Bit lesen. Die 3 LSBs werden immer 000 
sein.

Merke auf die Dritte
Aus die Erste und die Zweite folgt:
Man muss keinen 1:1 passenden Encoder und Controller haben. Solange die 
Auflösung und die Genauigkeit des Encoder ausreichen, funktioniert das 
System

Merke auf die Vierte
Man kann mit einer SPI-Schnittstelle einen SSI-Encoder auslesen. Dazu 
Clock takten und aus dem eigenen Schieberegister die einzelnen Bytes 
abholen. Das MSB vom ersten Byte wird immer 0 sein. Der Abstand der 
8-Bit-Clockpakete darf die Monoflop-Zeit des SSI-Encoders nicht 
überschreiten. Erneutes auslesen darf erst nach Ablauf der Monoflop-Zeit 
des SSI-Encoders erfolgen.

Beliebige Programmierung mit Winkelumrechnung ist dann Hersteller- und 
Produktspezifisch. Nix über SSI.

mfg mf

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.