Forum: Digitale Signalverarbeitung / DSP / Machine Learning Problem bei Inkrementalgeber Auswertung


von Edi M. (Gast)


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?

von Peter D. (pdiener) Benutzerseite


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

von Stefan (Gast)


Lesenswert?

... oder um es anders zu sagen, der Zusammenhang von Winkel und 
AB-Werten ist selbstverständlich statisch.

von Andre (Gast)


Lesenswert?

kannst du beschreiben, was aus deiner simulation heraus kommt?

von Alfred (Gast)


Lesenswert?

E. M. schrieb:
> Ich speise das (MATLAB) Modell mit einem Winkel, der von 0 bis 360 Grad
> geht
Vielleicht das übliche 2PI-Problem und der Winkel soll nicht in Grad 
angegeben werden?

von Edi M. (Gast)


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.

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.