WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Encoder Signale zu Winkelgeschwindigkeit

 

Masterchief
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.06.13
Wohnort: Gottmadingen
Version: ---
     Beitrag Verfasst am: 18.07.2013, 18:18     Titel: Encoder Signale zu Winkelgeschwindigkeit
  Antworten mit Zitat      
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!
Private Nachricht senden Benutzer-Profile anzeigen


twols
Forum-Anfänger

Forum-Anfänger



Beiträge: 44
Anmeldedatum: 05.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.07.2013, 18:59     Titel:
  Antworten mit Zitat      
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 Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Masterchief
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.06.13
Wohnort: Gottmadingen
Version: ---
     Beitrag Verfasst am: 20.07.2013, 15:08     Titel:
  Antworten mit Zitat      
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!

Wertetabelle_Encoder.jpg
 Beschreibung:

Download
 Dateiname:  Wertetabelle_Encoder.jpg
 Dateigröße:  64.69 KB
 Heruntergeladen:  1075 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
twols
Forum-Anfänger

Forum-Anfänger



Beiträge: 44
Anmeldedatum: 05.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.07.2013, 17:45     Titel:
  Antworten mit Zitat      
Du kannst entweder den Baustein "Memory" nehmen oder den Block "1/z" wenn du diskrete Sample Time benutzst. Diese geben den Signalwert vom letzten Simulationsschritt aus. Damit hättest du den letzten Zustand vom Gebersignal.

http://www.mathworks.de/de/help/simulink/slref/memory.html
Private Nachricht senden Benutzer-Profile anzeigen
 
Masterchief
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.06.13
Wohnort: Gottmadingen
Version: ---
     Beitrag Verfasst am: 21.07.2013, 12:00     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
twols
Forum-Anfänger

Forum-Anfänger



Beiträge: 44
Anmeldedatum: 05.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.07.2013, 12:36     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Masterchief
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.06.13
Wohnort: Gottmadingen
Version: ---
     Beitrag Verfasst am: 21.07.2013, 13:12     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen
 
twols
Forum-Anfänger

Forum-Anfänger



Beiträge: 44
Anmeldedatum: 05.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.07.2013, 13:22     Titel:
  Antworten mit Zitat      
Ich denke in dem Fall wäre der Init-Wert ziemlich egal.
Private Nachricht senden Benutzer-Profile anzeigen
 
Masterchief
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 12.06.13
Wohnort: Gottmadingen
Version: ---
     Beitrag Verfasst am: 21.07.2013, 18:47     Titel:
  Antworten mit Zitat      
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!!! Very Happy

test.slx
 Beschreibung:
Drehrichtung eines Encoders 1 / -1

Download
 Dateiname:  test.slx
 Dateigröße:  16.59 KB
 Heruntergeladen:  466 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
twols
Forum-Anfänger

Forum-Anfänger



Beiträge: 44
Anmeldedatum: 05.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.07.2013, 22:10     Titel:
  Antworten mit Zitat      
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.

Encoder.slx
 Beschreibung:

Download
 Dateiname:  Encoder.slx
 Dateigröße:  14.47 KB
 Heruntergeladen:  505 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.