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?
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
... oder um es anders zu sagen, der Zusammenhang von Winkel und AB-Werten ist selbstverständlich statisch.
kannst du beschreiben, was aus deiner simulation heraus kommt?
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.