|
|
Encoder Signale zu Winkelgeschwindigkeit |
|
Masterchief |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 12.06.13
|
|
|
|
Wohnort: Gottmadingen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2013, 18:18
Titel: Encoder Signale zu Winkelgeschwindigkeit
|
|
Hallo,
ich versuche mich etwas in Simulink, weiss daher noch nicht so viel.
Ich möchte gerne Drehgeber/Encoder Signale die ich mit einer Inkrementalschnittstelle aufnehmen kann weiterverarbeiten in die Momentane-Winkelgeschwindigkeit.
Die Signale liegen mir so vor:
Hat mir jemand Tipps wie ich dies am besten machen kann in Simulink?
Danke!
|
|
|
|
|
twols |
Forum-Anfänger
|
|
Beiträge: 44
|
|
|
|
Anmeldedatum: 05.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.07.2013, 18:59
Titel:
|
|
Drehrichtung: Ich würde eine Wertetabelle aufstellen für die Werte A, B, A*, B*, wobei die Werte A*, B* die letzten Zustände sind und mit z.B. dem Memory Baustein erzeugt werden. Dann die Wertetabelle mit Logikfunktionen verdrahten.
Und dann die Zeit zwischen Flankenwechseln messen. Flankenwechselauswertung gibt es als Baustein. Damit kann man z.B. einen Integrator anstoßen, mit dem die Zeit gemessen wird.
Alles nur Mutmaßung, würde beim Umsetzen vll. anderes werden
|
|
|
Masterchief |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 12.06.13
|
|
|
|
Wohnort: Gottmadingen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.07.2013, 15:08
Titel:
|
|
Hey,
Vielen Danke! Habe nun mal eine Wertetabelle aufgestellt (Anhang).
1->rechts oder links Lauf
x->Zustand kommt nicht vor
0->Stillstand
Aus dieser würde ich nun die Funktionen Bilder mit zwei KV-Diagrammen.
Könntest du bei dem Speicherblock genauer werden? Wo finde ich diesen in der Simulink-Bib?
Schon mal VIELEN DANK!
Beschreibung: |
|
Download |
Dateiname: |
Wertetabelle_Encoder.jpg |
Dateigröße: |
64.69 KB |
Heruntergeladen: |
1075 mal |
|
|
|
twols |
Forum-Anfänger
|
|
Beiträge: 44
|
|
|
|
Anmeldedatum: 05.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.07.2013, 17:45
Titel:
|
|
|
|
Masterchief |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 12.06.13
|
|
|
|
Wohnort: Gottmadingen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.07.2013, 12:00
Titel:
|
|
Vielen Dank!
Einfe Frage noch...was setzte ich am besten als Anfangswert beim "Speicher"-Block ein? den der Zustand zu t-1 ist ja nicht bekannt.
Somit hätte ich ja beim ersten Durchlauf einen Fehler Wenn ich z.B. für A* und B* Null annehme dabei der Geber beim Anlaufen genau auf A=0 und B=0 springt bei t=0.
|
|
|
twols |
Forum-Anfänger
|
|
Beiträge: 44
|
|
|
|
Anmeldedatum: 05.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.07.2013, 12:36
Titel:
|
|
Wie schlimm wäre dieser Fehler? Der unbekannte Zustand würde ja nur für einen Simulationstakt vorliegen.
Du könntest auch den Ausgang von der Wertetabelle um einen Taktzyklus verzögern, damit die erste Berechnung einen konstanten Wert CW hat.
|
|
|
Masterchief |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 12.06.13
|
|
|
|
Wohnort: Gottmadingen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.07.2013, 13:12
Titel:
|
|
Mh naja sagen wir es so...ich progammier mit diesem Model ein Arduino Board, dass diesen Drehgeber auslesen soll.
Ich möchte damit ein Regelkreis aufbauen, zunächst muss ich jedoch wie gesagt den Drehgeber auslesen können.
|
|
|
twols |
Forum-Anfänger
|
|
Beiträge: 44
|
|
|
|
Anmeldedatum: 05.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.07.2013, 13:22
Titel:
|
|
Ich denke in dem Fall wäre der Init-Wert ziemlich egal.
|
|
|
Masterchief |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 12.06.13
|
|
|
|
Wohnort: Gottmadingen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.07.2013, 18:47
Titel:
|
|
Okay,
Vielen Dank.
Hab jetzt mal das mit der Drehrichtung programmiert...
aber habe da einen Fehler!
Der Wert bleibt nicht stationär auf "1" oder "-1"
rechts = 1
links = -1
links herum muss man die "Phase-Delay" der Pulsgeneratoren vertauschen.
Anbei die .slx!
DANKE SCHON MAL!!!
Beschreibung: |
Drehrichtung eines Encoders 1 / -1 |
|
Download |
Dateiname: |
test.slx |
Dateigröße: |
16.59 KB |
Heruntergeladen: |
466 mal |
|
|
|
twols |
Forum-Anfänger
|
|
Beiträge: 44
|
|
|
|
Anmeldedatum: 05.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.07.2013, 22:10
Titel:
|
|
Ich habe viel zu einfach gedacht. Mit dem Memory Block alleine würde man den letzten Zustand nicht ableiten. Wenn zwischen zwei Flankenwechsel z.B. 10 Simulationsschritte liegen, dann würde die Wertetabelle 8 unzulässige Zustände liefern. Man sollte also den Zustand A* und B* bei einem Flankenwehsel speichern.
Beschreibung: |
|
Download |
Dateiname: |
Encoder.slx |
Dateigröße: |
14.47 KB |
Heruntergeladen: |
505 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|