Hat jemand schon den Encoder von Reichelt ausprobiert? Bei mir funktioniert der nicht mit Encoder-Function von Bascom. Kann mir jemand einen Tipp geben? Anschlussbelegung habe ich überprüft. Mittig ist GND anzuhängen und die außeren Pins sind A und B. Ein Test mit LED's bestätigt dies. Alles richtig angeschlossen, aber die Function Encoder spuckt nur wirres zeug aus. Eine Idee, was ich falsch mache?
Micha, Du musst uns schon etwas mehr information geben. Mit dem kann man noch nicht zu viel anfangen. Mit Schalt-Encodern braucht man meist "Pull-Up" Widerstaende, damit die VCC/GND Logic Pegel anliegen. Also nicht vergessen. Auch viel Opto Encoder brauchen dies. Sollten die Widerstaende fehlen, dann hanegen die Logic-Eingaenge in der Luft und dann gibts "Wirres" Zeug; -) Versuch mal diese Schaltung: (Zwei Mal fuer A und B) Vcc Vcc | | | | (10K) _ | | (47K) _ (10nF) | __ | --------------|____|----------------- (MPU Eingang A oder mit 74HC14) Die 47K und 10nF sind ein einfaches Filter gegen Schalterprellungen - Nicht immer unbedingt notwendig. (MPU Pin sollte nach Moeglichkeit mit Schmitt-Trigger Eingang sein) Gruss, Gerhard
Es gibt verschiedene Enkoder, die a) pro Rastung pro Pin einen Vollschritt 1-0-1 oder b) nur einen Halbschritt 1-0 // 0-1 liefern. Je nachdem, für welchen Typ die Routine geschrieben wurde, funktioniert sie, oder auch nicht.
Man kann auch die internen Pull-Ups nutzen. Über DDRx einschalten. MFG Falk
Also ich hab den Drehenconder von Reichelt.de Ein Datenblatt gibts hierzu nicht. konnte auch beim googeln nichts finden. Es sieht aber so aus wie das Teil in der Bascom-Hilfe. Pinbelegung ist allerdings anders. bei meinem Drehgeber ist der Common in der Mitte und A und B liegen Außen. Am Atmega8 habe ich den Encoder angeschlossen. Pind.2 und Pind.3. Den Mittelanschluss vom Encoder an Masse. Interne PullUps sind angeschaltet (nachgemessen) Das Ding ist im Ruhezustand an A und B High. Drehe ich den Encoder, bekomme ich folgende folge: Pin A Pin B 1 1 Ruhezustand (gerastet) 0 1 0 0 1 0 1 1 wieder Ruhezustand (nächste Raste) Habe eine eigene Routine geschrieben, die funktioniert besser, als die von Bascom. Mit diesen Drehencoder mache ich gerade meine ersten Erfahrungen. kann nicht sagen, was das für ein Typ ist. Optisch ist er nicht. Vielleicht muß ich den Common des Encoders auf VCC legen und A und B mit PullDown-Widerständen auf Low ziehen? Ach ja, es ist vermutlich einer mit Vollschritt. Pro Raste geht jeder Pin einmal auf Low und wieder zurück. Was ich noch nicht probiert habe ist, es mit 10nF zu versuchen zu filtern. Hilft das weiter?
kleiner Nachtrag. Der Drehencoder ist bei Reichelt unter der BestellNr/Bezeichnung STEC12E08 zu finden.
Nachtrag: Datenblatt habe ein Datenblatt gefunden: http://www3.alps.com/WebObjects/catalog.woa/E/PDF/Switch/Encoder/EC12E/EC12E.PDF Das bestätigt meine Vermutung mit der Pinbelegung. Habs mittlerweile auch mit 10nF als Filter versucht. genau das gleiche. noch ne Idee?
@ Micha R. (michaavr) >noch ne Idee? Ich weiss nciht wie der ENCODER Befehl in BASCOM funktioniert, aber muss der nicht zykisch aufgerufen werden? Bzw. wie schnell tastet der Befehl den Encoder ab? Siehe Drehgeber. MfG Falk
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.