Erst mal sorry für den chaotischen Schaltplan. Symbole für Gatter hätte ich mir in meinem Programm erst umständlich zeichnen müssen. Die LEDs sind nur zum Test angeschlossen. Was ist an meiner Schaltung falsch? Eine einfache Schaltung mit Aufwärts-/Abwärts-Zähler. Das Licht der LEDs soll sich nach links oder rechts bewegen, wenn ich den Encoder drehe. Allerdings produziert meine Schaltung ein flackerndes Lauflicht, ohne dass ich den Encoder bewege. Die Verdrahtung habe ich schon mehrfach kontrolliert. Masse ist auch überall dran, keine offenen Eingänge. Die Auswertung mit 74HC174 und 74HC86 funktioniert bzw. scheint es zumindest so, wenn ich mir die Ausgänge mit dem Oszilloskop anschaue. Meine Schaltung ist im Grunde nur die Kombination aus den folgenden beiden Schaltungsbeispielen: https://www.mikrocontroller.net/articles/Drehgeber#Dekoder_mit_diskreten_Logik-ICs Beitrag "Re: Quadraturauslese nach Dannegger" Anstelle des 74HC04 habe ich den 74HC14 genommen, weil ich auch die Drucktaste des Encoders entprellen will. Nein, verstanden habe ich die Schaltung nicht vollständig. Das Grundprinzip schon, aber wenn es um die zeitliche Abfolge und ansteigende/abfallende Flanken geht, überblicke ich das nicht mehr ganz. (Pin9 von IC5 ist fehlerhaft beschriftet: BCD = Dezimal)
Habe den Fehler gefunden. mit einem 4069 funktioniert die Schaltung einwandfrei (74HC04 hatte ich nicht da). Aber warum funktioniert die Schaltung mit einem 74HC14 nicht?
Großartig, die sind entweder kaputt oder eine Fälschung. Hab noch einen in der Bastelkiste gefunden, der funktioniert. Die hab ich bei Reichelt bestellt. Sahen schon gleich so komisch aus, da die Pins so auffällig gerade waren und mir auch extrem weich vorkamen. Damit hat sich mein Anliegen erledigt!
Dietmar S. schrieb: > Nein, verstanden habe ich die Schaltung nicht vollständig Sie entspricht http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29 vielleicht hilft das, du kannst C2&C3 weglassen. aber obwohl: Dietmar S. schrieb: > Habe den Fehler gefunden halte ich es nicht für richtig, dass CLOCK ENABLE (CE) in CARRY IN geht. Ohne ins Datenblatt des 4029 geguckt zu haben, ist das doch eine andere Funktion.
MaWin schrieb: > halte ich es nicht für richtig, dass CLOCK ENABLE (CE) in CARRY IN geht. > > Ohne ins Datenblatt des 4029 geguckt zu haben, ist das doch eine andere > Funktion. Es haben sich bei diesem Symbol leider zwei grobe Fehler eingeschlichen. Pin 5 sollte mit CI/CE beschriftet sein, so wie Pin 9 mit Bin/Dec. So sagt es zumindest mein CMOS-Datenbuch.
Dietmar S. schrieb: > Was ist an meiner Schaltung falsch? Eine einfache Schaltung mit > Aufwärts-/Abwärts-Zähler. Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut, nachmacht oder verfälscht, insbesondere bei existierenden Schaltungen die Abblock-Kondensatoren weglässt oder falsch verschaltet oder selbst solche Schaltungen entwirft, in Verkehr bringt und/oder aufbaut ohne Abblock-Kondensatoren nach Hersteller- Empfehlungen zu verwenden, wird mit Zugangs-Ausschluss vom Mikrokontroller-Forum nicht unter zwei Jahren bestraft.
Das Übliche schrieb: > Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut wo ist hier der "Mikrokontroller"?
Das Übliche schrieb: > Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut, > nachmacht oder verfälscht... Und...?
Das Übliche schrieb: > Wer Mikrokontroller-Schaltungen ohne Abblock-Kondensatoren aufbaut, usw. usf. Wenn du mal hinschaust, sind im Plan an jedem IC Abblock-C verbaut. Sauberer gehts eigentlich nicht mehr. Da steht 100n dran, falls du gerade die Brille nicht auf hast...
:
Bearbeitet durch User
Meine Schaltung hat dennoch ein Problem. Der Zähler zählt bei jeder Rastung des Drehgebers zwei Schritte. Die sind schon an IC1 Pin 15 zu messen. Pro Rastung wird der Pin 2 x High.
Dietmar S. schrieb: > Der Zähler zählt bei jeder Rastung des Drehgebers zwei Schritte. Und wieviel Schritte macht der Drehgeber pro Rastung tatsächlich?
Die Rastung muss nicht mit der elektrischen Position übereinstimmen. Viele Drehgeber machen pro Rastung 2 Impulse. Das erlaubt es, Drehrichtungsänderungen von Prellen zu unterscheiden. Will man pro Rastung nur +/-1 zählen, muss man durch 2 teilen. Steht auch hier drin, allerdings nur als Programmcode: http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29
Lothar M. schrieb: > Dietmar S. schrieb: >> Der Zähler zählt bei jeder Rastung des Drehgebers zwei Schritte. > Und wieviel Schritte macht der Drehgeber pro Rastung tatsächlich? Bei jeder zweiten bzw. genauer ausgedrückt bei jeder Rastung abwechselnd High und Low. Ich habe verschiedene Drehgeber da, die verhalten sich aber alle gleich.
Dietmar S. schrieb: > Lothar M. schrieb: >> Dietmar S. schrieb: >>> Der Zähler zählt bei jeder Rastung des Drehgebers zwei Schritte. >> Und wieviel Schritte macht der Drehgeber pro Rastung tatsächlich? > > Bei jeder zweiten bzw. genauer ausgedrückt bei jeder Rastung abwechselnd > High und Low. Bahnhof. Schau dir das Diagramm im Artikel Drehgeber an. So ein Drehgeber hat 4 Zustände, die zyklisch durchlaufen werden. Eine Rastung kann nun auf jedem der 4 Zustände (selten), auf jedem 2. Zustand (normal) oder gar nur auf jedem 4. Zustand (auch selten) liegen. Man spricht dann von Viertelschritt-, Halbschritt- oder Vollschritt-Auswertung. Im Idealfall liegt die Rastung mittig zwischen zwei Zustandswechseln. Praktisch ist sie meist in eine Richtung verschoben oder liegt gar recht genau auf einem Zustandswechsel (bei Alps oft zu sehen). Dann muß man für eine stabile Auswertung immer bei den Zustandswechseln dazwischen weiterzählen. Der o.g. Artikel hat dazu ein Beispiel in Software.
Sorry, ich hab noch kein neues Speicheroszilloskop, das alte hab ich kürzlich verkauft. Darum kann ich die Zustände nicht exakt darstellen. Nehm ich den Durchgangsprüfer und messe zwischen A und Mittelpin und drehe, piept es bei einer Rastung und bei der nächsten nicht, usw. Folglich ebenso etwas versetzt bei B. Dazu kommt noch, dass dies nicht exakt mit den Rastungen übereinstimmt, wodurch es an einer Stelle 2x piept (nicht in meinem Kopf). Dadurch hatte ich bei einer anderen Schaltung (ich dachte mal ich müsste das Rad neu erfinden und selbst eine entwerfen) immer einen Aussetzer bei jeder Umdrehung. Zwei Encoder sind von Alps, einer von Panasonic Nehmen wir mal den Panasonic (32 Rastungen und 16 Pulse pro Umdrehung), denn dazu konnte ich ein Datenblatt finden. Der verhält sich nämlich genauso wie der von mir eingesetzte Alps. https://html.alldatasheet.com/html-pdf/550497/PANASONIC/EVE-QDBRL416B/492/1/EVE-QDBRL416B.html Edit: Axel S. schrieb: > Eine Rastung > kann nun auf jedem der 4 Zustände (selten), auf jedem 2. Zustand > (normal) oder gar nur auf jedem 4. Zustand (auch selten) liegen. Man > spricht dann von Viertelschritt-, Halbschritt- oder > Vollschritt-Auswertung. O.K., so weit verstanden. Ein Auswertung per Hardware ist also nicht so einfach. Was mache ich dann, wenn der Zustandswechsel nicht exakt auf der Rastung liegt? Ich baue jetzt einfach mal einen Teiler ein und schaue was passiert.
Herrlich, das wird ein CMOS-Grab wie in den "guten" 1970ern :D Mit zwei weiteren IC (4017 + 4081) funktioniert es also nun. Nur teilen genügt ja nicht, es muss jeder zweite Impuls unterdrückt werden. Bin schon froh, dass ich die Schaltung überhaupt hinbekommen habe. Der Encoder funktioniert jetzt flüssig, hakt nicht und überspringt auch keinen Impuls. Danke für die Hilfe!
Hier noch der ergänzte und berichtigte Schaltplan, falls jemand auf die wahnwitzige Idee kommen sollte, meinen Mist nachzubauen. Er enthält möglicherweise noch Fehler, ich war schon müde...
4081 und 40106 kann man sich sparen, wenn man den 4093 besser ausnutzt ;-)
m.n. schrieb: > 4081 und 40106 kann man sich sparen, wenn man den 4093 besser ausnutzt > ;-) Nett gemeint, aber die Schaltung ist nur ein Auszug. Die komplette Schaltung ist komplexer und IC3, 4 und 8 sind voll belegt. Am Ende kommt dann (hoffentlich) ein Kennlinienschreiber dabei heraus. Axel S. schrieb: > Eine Rastung > kann nun auf jedem der 4 Zustände (selten), auf jedem 2. Zustand > (normal) oder gar nur auf jedem 4. Zustand (auch selten) liegen. Man > spricht dann von Viertelschritt-, Halbschritt- oder > Vollschritt-Auswertung. In meinem Fall dann Halbschritt. Darum war mich nicht klar, warum mir die Schaltung aus IC 1+2 zwei Impulse pro Rastung ausgibt. Aber jetzt habe ich die Funktionsweise doch noch verstanden. Wäre toll, wenn das in dem Drehgeber-Artikel ausführlicher erklärt würde. Bin aber natürlich sehr dankbar, dass sich jemand die Zeit genommen hat, diesen Artikel zu verfassen. Edit: O.K., am Ende ist es erwähnt, wie ich gerade sehe. Aber kapiert hätte ich das nicht, ist für mich viel zu theoretisch formuliert.
Dietmar S. schrieb: > Die komplette > Schaltung ist komplexer und IC3, 4 und 8 sind voll belegt. Am Ende kommt > dann (hoffentlich) ein Kennlinienschreiber dabei heraus. Das wäre doch ein Grund, sich mit µCs zu befassen. Meinetwegen auch mit einem Arduino.
m.n. schrieb: > Das wäre doch ein Grund, sich mit µCs zu befassen. Meinetwegen auch mit > einem Arduino. Das stimmt wohl, aber ab einem gewissen Alter wird die Zeit knapper und andere Dinge wichtiger. Die paar Logik-IC hatte ich dann doch schneller zusammengenagelt, wenn ich bedenke wie lange ich mich erst in die neue Materie einarbeiten müsste. Ich habe vor längerer Zeit hier im Forum mal viele gute Tipps zur Einarbeitung in die uC-Programmierung bekommen und wollte mich damals ernsthaft mit befassen. Nur wie es im Leben so ist, kamen andere Dinge dazwischen. Vielleicht befasse ich mich irgendwann doch noch damit.
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.