Problem bei Inkrementalgeber Auswertung

Gast #2349559
Lesenswert?

Ich habe eine seltsamen Effekt bei der Auswertung eines 
Inkrementalgebermodells:

Ich speise das (MATLAB) Modell mit einem Winkel, der von 0 bis 360 Grad 
geht und möchte daraus die AB-signale generieren. Dazu multipliziere ich 
den Winkel mit der Anzal der Pulse (hier 24) und bilde Sinus und 
Cosinus. Wenn Sin/Cos > 0 dann gebe ich 1 aus.

Ich sehe in der SIM auch die erwarteten versetzten Verläufe für A und B, 
komme aber bei der Rückwärtsrichtung nicht dahin, dass die Signale 
anders herum verlaufen, was ich erwartet hätte.

Was mache ich falsch?

Die Winkelposition lasse ich ausgeben und sehe, wie sie wieder 
zurückläuft, aber die Verläufe von A und B sind identisch: A steigt 
immer 90 Grad vor B.

Habe ich da was übersehen? Die Relation Winkel zu Grey-Code ist doch 
statisch, oder?
Persönliche Seite #2350163
Lesenswert?

Warum so kompliziert (rechenintensiv) über Sin und Cos?
Im Prinzip ist ein Drehgeber nur eine Tabellenfunktion mit 4 möglichen 
Ausgangszuständen. Diese kann man über eine einfache Modulo-Division 
addressieren.

In C:
1
float turns;  // der Drehwinkel in Umdrehungen
2

3
int state = (turns * 24.0) % 4;
4

5
switch (state)
6
{
7
  case 0: a = 0;  b = 0;
8
  break;
9
  case 1: a = 1;  b = 0;
10
  break;
11
  case 2: a = 1;  b = 1;
12
  break;
13
  case 3: a = 0;  b = 1;
14
  break;
15
}

Grüße,

Peter
Gast #3218259
Lesenswert?

Ich komme gerade zurück auf das Thema. Das damalige Modell sollte nicht 
nur einfach digital sein, sondern totzeitbelastete echte Werte abgeben, 
die dem Jitter entsprechen, dem die Welleunterworfen ist. Das bedeutet, 
dass ich Schwinungen ma Start und am Ende habe und die Umschaltungen 
nicht equidstant erfolgen (müssen).

Das Problem ist wohl, dass ich den Verlauf der AB-Signale falsch 
erwartet habe. Irgendwie war ich der Ansicht, dass sich die Richtung 
umkehren müsse - warum auch immer.

Jetzt geht es.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren