PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Encoder-Problem: Übersprungen.



m_herr
23.03.2009, 16:56
Hallo,

habe heute zum ersten mal mit einem Drehencoder experimentiert. Anschluß mit Pull-Ups und 100N zum Entprellen. Laut Oszi ein wunderschönes Signal beim drehen....nur leider springt er.

Wie in der Bascom-Hilfe habe ich da einmal die funktion links und rechts. Es wird jeweils eine Variable mit 1 addiert bzw suptrahiert. So daß halt eine schöne Zahlen-Folge auf dem Display ausgegen werden kann.
Nur leider wird die Funktion beim Drehen nicht einmal, sondern 4mal.
Also nicht 1,2,3,4....sondern 1,5,9,13. Ebendso beim drehen in die andere Richtung. Hat da jemand eine Idee?

Vielen Dank

Ceos
23.03.2009, 16:59
ein wenig programmcode wäre wahrscheinlich nötig, eventuell auch eine schaltung, falls du nicht direkt über den ADC gehts sondern noch ne schaltung oder sowas fdavor hast

m_herr
23.03.2009, 17:09
naja, was für Programcode wäre denn nötig. Ich habe einfach aus der Hilfe den einen Befehl rauskopiert, an meine In-Put-Pins angepasst, und als das nichts brachte mit dem wait-Parameter gespielt, also von 1 auf 0 gewechselt

Gehe nicht über ein ADC, ist ein digitaler Encoder, der also die Flanken in Rechteck-Form weiterleitet

m_herr
26.03.2009, 09:01
Hallo, keiner eine Idee?

guenter1604
26.03.2009, 13:51
Hallo m_herr,

hilft dir das weiter?

http://www.gerold-online.de/cms/uc-projekte/microcontroller/dmx512-fuers-ct-lab.html

Günter

m_herr
26.03.2009, 22:49
Danke, aber entweder sehe ich den Wald vor lauter Bäumen nicht, oder du hast dich geirrt. Da geht es doch um DMX? Aber ich denke mal, daß ich das mit dem Bäumen bin ;)

guenter1604
27.03.2009, 08:47
Hallo m_herr,

ja da gehts um DMX, jedoch über einen Inkrementalgeber bedienbar. Da müsstest du dir die entscheidenden Teile rauspicken. ;-)

m_herr
27.03.2009, 09:15
Oh Mann, alles klar! Ich habe den ganzen Text mir durchgelesen und kurz von dem Programteil mit dem Encoder aufgehört, weil ja nichts dazu drin stand. Hätte ich mal 2 Zeilen mehr gelesen ;)

Vielen Dank,ich schaue mal, was da geht

repi64
29.03.2009, 20:30
Ich hatte das Beispiel aus der Help seinerzeit auch leicht abgeändet, da die Raststellung nicht perfekt zu der Abfrage passte.
Ich hatte meine Variable die rauf und runter gezählt wurde durch zwei geteilt bzw. jeden zweiten Step ausgewertet damit es besser bedienbar wurde.
Da gibt es aber große Unterschiede bei den Raststellungen / Umdrehung und Impulse / Umdrehung.

Thomas$
29.03.2009, 20:37
prellt vieleicht da was. ansonsten /4 wäre auch möglich