INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Maximale Eingangsfrequenz des ArduinoUno
23.02.2016, 11:44
Beitrag #9
RE: Maximale Eingangsfrequenz des ArduinoUno
Hallo,

ok. Gibt es eine Bezeichnung oder ein Datenblatt zum Encoder?
Ich versuche nur rauszufinden, ob das Teil saubere Impulse liefert oder eine Entprellung nötig ist. Auch optische und Hall-Sendoren können im Übergang durchaus Mehrfachimpulse erzeugen, ich hoffe aber, das erledigt Dein Encoder schon.

Man kann den Graycode auch in Hardware auswerten und hat dann Wegimpulse und Drehrichtung schon fertig.
https://neil.fraser.name/hardware/gray2dir/
als Beispiel.

Dann könntest Du vermutlich einfach die Impulse pro Sek (kommt jetzt darauf an, wie schnell Du das reale Ergebnis brauchst, geht vermutlich auch merklich kürzer) zählen und den Umdrehungsimpuls noch mit Auwerten.
Wenn eine Umdrehung komplett ist in einer ISR einen Zähler erhöhen und den Impulszähler auf 0. Der Impulszähler wird mit jedem Impuls erhöht mit dem Hardwarecounter.

Jetzt (volle Umdrehungen * 4096) + Impulszähler und Du hast den Endwert.
Beide Zähler löschen und von vorn. Richtung ebenfalls ein IRQ, der ein Flag setzt

Der Counter kann leider nur aufwärts zählen, müßte man noch die Richtungsumkehr richtig berücksichtigen, vermutlich Counterwert in ein Register für vorwärts (rückwärts) und bei Änderung merken, Counter löschen usw.

Die Rechnerei würde dann aber nur stattfinden, wenn Du die nächsten Daten haben willst, also alle 1s oder 100ms usw, dafür hätte der 328 mehr Zeit als genug.

2 kurze ISR für Umdrehungsimpuls und Richtungsänderung und der Hardwarecounter. Dazu müßte aber der Greycode in Hardware oder z.B. mit einem extra Tiny dekodiert werden, sonst wird es wohl zu knapp.

Vielleicht läßt sich auch diese Routine einbauen und ist schnell genug:
https://www.mikrocontroller.net/topic/dr...r-auslesen
da speziell das Posting von 27.05.2004 00:02

peda setzt normalerweise mit seinem Code durchaus Maßstäbe...

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.02.2016, 13:12
Beitrag #10
RE: Maximale Eingangsfrequenz des ArduinoUno
ahh ok...ja eine Hardware-Schaltung die die Drehrichtung erkennt würde ich im Moment gerne erstmal vermeiden wollen..Evtl etwas später..

Hatte mich grad mal erkundigt, wie es mit einem Mikrocomputer größerer Taktfrequenz aussieht..Bin da auf den Arduino Due gestoßen..Der ist mit 80 MHz angegeben... Das müsste aber gut reichen, um in der ISR hochzuzählen und ab und zu Berechnungen zu starten oder? Datenblatt des Sensors befindet sich im Anhang..
.pdf  Baumer_ITD89H00_DS_DE.pdf (Größe: 327,86 KB / Downloads: 33)

Danke für eure Antworten Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.02.2016, 14:35
Beitrag #11
RE: Maximale Eingangsfrequenz des ArduinoUno
Hallo,

ok, ist was ordentliches...

Wie oft brauchst Du die zurückgelegte Strecke? Mein Gedanke ist gerade, alle xxx ms (sagen wir erstmal alle 100ms) liefert die Software die zurückgelegte tatsächliche Strecke, also als Summe aller Vor- und Rückwärtsbewegungen.

Kommt ja letztlich darauf an, welche Daten Du haben mußt und was Du damit machen willst.

Obiges könnte noch problemlos mit mit einem Mega328 sein, da bliebe auch noch Zeit für etwas zusätzliche Verarbeitung oder kürzere Zeitabstände.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste