Hallo Forengemeinde! ich habe leider keinen passenden Thread gefunden daher schildere ich hier mal mein Problem, vielleicht kann mir ja jemand helfen. Ich habe einen CD40193B (4 bit, binär, Vor- und Rückwärtszähler) und möchte damit Flanken eines TTL Signals aus einem Messsystem(Längenmesssystem inkremental) zählen. Der Zähler ist wie in Bild 1 angeschlossen. Das bekomme ich soweit auch ganz gut hin...solange ich den CDOWN bzw. CUP Eingang statisch auf HIGH setze und auf den anderen Clockeingang das TTL Signal gebe, zählt der Zähler fleissig hoch und runter. Da sich das Messsystem jedoch in 2 Richtungen bewegen lässt, möchte ich, dass der Zähler darauf reagiert und zum Beispiel in die eine Richtung hoch und in die andere Richtung runter zählt. Vom Messsystem bekomme ich 2 TTL-Signale Ua und Ub. Diese sind jeweils um 90° versetzt. (siehe Anhang Bild 2 (lila und grün)) Diese beiden Signale und deren Lage (90° versetzt je nach Richtung) wollte ich nun nutzen, um meinen Zähler hoch bzw. runter zählen zu lassen. Und da liegt mein Problem. Ich habe mir die Wahrheitstabelle des Bausteins angeschaut und mit meinen Signalen Ua und Ub erfülle ich die Bedingungen um hoch oder runter zu zählen. Jedoch zählt der Baustein nicht wie von mir erhofft. In Bild 2 sieht man das der Zähler Flanken auswertet, die er gar nicht auswerten dürfte. Außerdem überspringt der Baustein an dieser Stelle Zählstände. Hat jemand eine Idee woran das liegen könnte? Falls ich wichtige Informationen vergessen habe reiche ich diese natürlich gerne nach:) Freundliche Grüße rema
Es dürfen nie beide Eingänge low sein. Der 193 zählt nur richtig, wenn ein Eingang einen low-Puls kriegt, wärend der andere konstant auf high bleibt.
Die Logiktabelle aus dem CMOS-Taschenbuch gibt nur her, dass an einem Eingang ein H anliegen muss, damit damit ansteigende Flanken am anderen gezählt werden. Der umgekehrte Fall, dass ein L auf jeden Fall eine Zählung verhindert, läßt sich daraus nicht ableiten. Auch in den Diagrammen in http://www.futurlec.com/Datasheet/CD4000/CD40193.pdf ist dieser Zustand nicht ersichtlich. Im CMOS-Kochbuch (D. Lancaster) wird zum ähnlichen Baustein 4192/93 festgestellt "Die Eingangslogik muß garantieren, dass nur ein Eingang zur gleichen Zeit L sein kann". Ich meine, dass das auch für 40192/93 zutrifft. Ebentuell einmal die interne Logik, wie sie im verlinkten DB dargestellt wird, simulieren.
habbel schrieb: > Auch in den Diagrammen in > http://www.futurlec.com/Datasheet/CD4000/CD40193.pdf ist dieser Zustand > nicht ersichtlich. Das Diagramm S.5 ist doch eindeutig und im Text S.1 steht es auch: "Counting up and counting down is performed by two count inputs, one being held high while the other is clocked."
Peter Dannegger schrieb: > Das Diagramm S.5 ist doch eindeutig und im Text S.1 steht es auch: > "Counting up and counting down is performed by two count > inputs, one being held high while the other is clocked." Im Prinzp sind wir ja einer Meinung, was die reguläre Funktion betrifft, aber im Diagramm(*) fehlt genau die Reaktion auf diesen, nur durch den Einleitungssatz als unzulässig anzusehenden, Zustand. Welche der Möglichkeiten - von "nix" bis "willkürliche Zählung" - tatsächlich realisiert wird, hat der OP ja schön dokumentiert ;) (*) Und auch in den üblichen Logiktabellen wie z.B. http://www.cmos4000.de/cmos/4193.html
Guten Abend, vielen Dank erstmal, dass ihr euch mit meinem Problem beschäftigt habt:) Da das mein erstes Projekt mit solchen Zählbausteinen ist habe ich natürlich sehr wenig Erfahrungen damit welche Ausführungen es gibt und daher hatte ich diesen gewählt in der Hoffnung es würde damit klappen:) Kann mir vielleicht jemand einen Baustein vorschlagen der sich besser zum Zählen der Flanken meiner Signalverläufe (siehe oben) eignet? Bzw. der dynamisch vor- und rückwärts zählen kann? 4-Bit binär sind dabei völlig ausreichend... Vielen Dank! Freundliche Grüße rema
HI Den CD40193B gibt es auch 74xy193. Der CD... ist eher ein Exot. MfG Spess
Re Ma schrieb: > Kann mir vielleicht jemand einen Baustein vorschlagen der sich besser > zum Zählen der Flanken meiner Signalverläufe (siehe oben) eignet? Vorausgesetzt, deine Signale sind sauber entprellt und daß dir ein Zählschritt pro Periode reicht, geht dafür ein (CD)4029. Ein Signal an den Zählrichtungsanschluß, das andere an den Takteingang. Zur Verdopplung der Auflösung kann man die beiden Signale XOR-verknüpfen und als Richtungssignal nehmen. Und aus einem der beiden Signale muß man für jede Flanke einen Zähl-Impuls ableiten. Das geht am einfachsten auch per XOR, dem man einmal das Signal direkt und ein andermal das mit einem RC-Glied verzögerte Signal füttert. Für die volle Auflösung - einen Zählschritt bei jedem Pegelwechsel eines der beiden Signale - braucht man eine Zustandsmaschine. Gibts als fertiges IC, wird aber eher in programmierbarer Logik oder einem µC implementiert. Details im Artikel Drehgeber
spess53 schrieb: > HI > > Den CD40193B gibt es auch 74xy193. Der CD... ist eher ein Exot. > > MfG Spess Ich habe mir das DB des Zählers mall näher angeschaut und bin der Meinung das ich auch bei diesem Baustein keine Informationen darüber habe, wie er sich verhält wenn beide Eingänge (UP und DOWN) logisch Null sind und dann nacheinander HIGH werden...oder irre ich mich da? Axel Schwenke schrieb: > Vorausgesetzt, deine Signale sind sauber entprellt und daß dir ein > Zählschritt pro Periode reicht, geht dafür ein (CD)4029. Ein Signal an > den Zählrichtungsanschluß, das andere an den Takteingang. Super! Mit diesem Baustein müsste das eigentlich klappen, zumindest laut DB:) Gibt es den vielleicht auch als 8-Bit Zähler? Erstmal reicht es mir, dass einmal pro Periode von zum Beispiel Ua gezählt wird. Eine höhere Auflösung ist aber durchaus interessant und wird später sicherlich auch in Angriff genommen. Ich taste mich da jedoch Schritt für Schritt heran;)
spess53 schrieb: > HI > > Den CD40193B gibt es auch 74xy193. Der CD... ist eher ein Exot. > > MfG Spess Ich habe mir das DB des Zählers mal näher angeschaut und bin der Meinung das ich auch bei diesem Baustein keine Informationen darüber habe, wie er sich verhält wenn beide Eingänge (UP und DOWN) logisch Null sind und dann nacheinander HIGH werden...oder irre ich mich da? Axel Schwenke schrieb: > Vorausgesetzt, deine Signale sind sauber entprellt und daß dir ein > Zählschritt pro Periode reicht, geht dafür ein (CD)4029. Ein Signal an > den Zählrichtungsanschluß, das andere an den Takteingang. Super! Mit diesem Baustein müsste das eigentlich klappen, zumindest laut DB:) Gibt es den vielleicht auch als 8-Bit Zähler? Erstmal reicht es mir, dass einmal pro Periode von zum Beispiel Ua gezählt wird. Eine höhere Auflösung ist aber durchaus interessant und wird später sicherlich auch in Angriff genommen. Ich taste mich da jedoch Schritt für Schritt heran;)
Sorry für den Doppelpost, ich dachte man könne den Beitrag im Nachhinein noch bearbeiten.
40193 ist der falsche Baustein. Such mal nach HCTL2016 oder ähnlichen, die können Biphase verarbeiten.
Wenn du 8 bit brauchst, dann guck mal ins Datenblatt unter dem Punkt "cascading packages" ;-)
Willst du mit dem Zähler irgendwas steuern, oder nur eine Digitalanzeige damit aufbauen, oder beides? Falls du einen 4-digit Up-Down Counter mit LED-Treiber (28-pin DIP) suchst, schau mal hier: http://pdf1.alldatasheet.com/datasheet-pdf/view/72704/MAXIM/ICM7217.html Der übernimmt sowohl die Mux-Ansteuerung der 4 LED-Anzeigen, kann up/down, hat Preset-Eingänge die über Thumbwheels einstellbar sind und die ein Signal bei "equal" generieren, hat einen Ausgang der bei 0 aktiv wird, etc....
spontan schrieb: > 40193 ist der falsche Baustein. > > Such mal nach HCTL2016 oder ähnlichen, die können Biphase verarbeiten Danke für die Info aber der Baustein ist mir ein bissel zu teuer...für den Preis kann ich auch 4 CD4029er kaufen und wie Axel schrieb beschalten. Gerald B. schrieb: > Wenn du 8 bit brauchst, dann guck mal ins Datenblatt unter dem Punkt > "cascading packages" ;-) Hehe ja das is mir schon klar das ich die kaskadieren kann...das habe ich auch vor....trotzdem danke für den Hinweis;) Ich dachte nur das ich mir bissel Verdrahtungsaufwand sparen kann wenn ich zb 2 8Bit Zähler statt 4 4Bit Zähler nehme;) Simpel schrieb: > Willst du mit dem Zähler irgendwas steuern, oder nur eine Digitalanzeige > damit aufbauen, oder beides? > > Falls du einen 4-digit Up-Down Counter mit LED-Treiber (28-pin DIP) > suchst, schau mal hier: > > http://pdf1.alldatasheet.com/datasheet-pdf/view/72704/MAXIM/ICM7217.html > > Der übernimmt sowohl die Mux-Ansteuerung der 4 LED-Anzeigen, kann > up/down, hat Preset-Eingänge die über Thumbwheels einstellbar sind und > die ein Signal bei "equal" generieren, hat einen Ausgang der bei 0 aktiv > wird, etc.... Hallo Simpel, ich möchte den Zählstand mit meinem Arduino Mega abfragen auswerten und anschließend auf einem Monitor ausgeben. Mit auswerten meine ich, dass ich die Teilungsperiode des jeweiligen Messsystems berücksichtige und den Zählwert in einen Positionswert umrechne...
Rema schrieb: > Axel Schwenke schrieb: >> Vorausgesetzt, deine Signale sind sauber entprellt und daß dir ein >> Zählschritt pro Periode reicht, geht dafür ein (CD)4029. Ein Signal an >> den Zählrichtungsanschluß, das andere an den Takteingang. > > Mit diesem Baustein müsste das eigentlich klappen, zumindest laut DB:) > Gibt es den vielleicht auch als 8-Bit Zähler? Du hattest oben explizit gesagt, dir würden 4 Bit reichen. Aber natürlich kann man den 4029 auch kaskadieren.
Rema schrieb: > Hallo Simpel, > ich möchte den Zählstand mit meinem Arduino Mega abfragen auswerten und > anschließend auf einem Monitor ausgeben. > Mit auswerten meine ich, dass ich die Teilungsperiode des jeweiligen > Messsystems berücksichtige und den Zählwert in einen Positionswert > umrechne... :-) Du bist gut..! Hast nen Mega und willst das Zählen mit nem diskreten Gefriemel bewerkstelligen. Das macht dein Mega nebenher im Wachkoma...
Axel Schwenke schrieb: > Du hattest oben explizit gesagt, dir würden 4 Bit reichen. Ja da hast du recht...reichen mir prinzipiell und ich freue mich das du mir den Tipp gegeben hast:) Als du den 4029er gepostet hast (den ich vorher nicht kannte) hatte ich gedacht vielleicht kann ich da ja doch noch was an Aufwand sparen... Ich werde es mal mit der Kaskadierung des 4029ers versuchen, da dieser auch recht preisgünstig ist... Sobald ich Fortschritte gemacht habe teile ich diese gern mit euch bzw. komme bestimmt wieder auf euch zurück wenn sich die nächsten Fragen aufwerfen;) Danke nochmal an alle!
Rema schrieb: > ich möchte den Zählstand mit meinem Arduino Mega abfragen auswerten und > anschließend auf einem Monitor ausgeben. Dann werte den Inkremtalgeber doch direkt mit dem Arduino aus. Das geht einfach und schnell, indem man die Flanken per Interrupt erfaßt. Beispielprogramme dafür gibt es genug.
Simpel schrieb: > :-) Du bist gut..! Hast nen Mega und willst das Zählen mit nem > diskreten Gefriemel bewerkstelligen. Das macht dein Mega nebenher im > Wachkoma... Leider tut er das nicht:( Ich habe das zunächst versucht mittels Interrupt (Ua Flanke), Übernahme der vorhandenen Pegel und anschließender Auswertung in der Main... Leider hatte ich dabei das Problem, dass der Arduino einen falschen Zählwert ausgibt sobald die Frequenz von Ua in den KHz Bereich geht. Deshalb hatte ich mir überlegt extern zu Zählen und den Arduino nur noch die Auswertung machen zu lassen.
Was für Signale liefert dein Encoder? Poste mal die Daten dazu, bzw. das Impulsdiagramm. Falls er Gray-Code liefert, kannst du die Routine von Peter Dannegger nutzen. Die ist tricky und schnell.
Es gibt seit Jahrzehnten den 74(HC)191 und 193 (und dezimal 190 und 192), die unterscheiden sich am Eingang. 190/191 hat eine Clock und einen Up/down-Pin, 192 und 193 haben Clock-up und Clock-down. http://www.nxp.com/products/logic/counters_frequency_dividers/binary_counters_timers/series/74HC_T_191.html http://www.nxp.com/products/logic/counters_frequency_dividers/binary_counters_timers/series/74HC_T_193.html
Simpel schrieb: > Was für Signale liefert dein Encoder? > Poste mal die Daten dazu, bzw. das Impulsdiagramm. > > Falls er Gray-Code liefert, kannst du die Routine von Peter Dannegger > nutzen. Die ist tricky und schnell. Hier die Signalverläufe direkt aus dem Messsystem...gerade frisch aufgenommen:) Von diesen 4 Signalen wollte ich zunächst 2 zur Positionsbestmmung benutzen... Christoph Kessler (db1uq) schrieb: > Es gibt seit Jahrzehnten den 74(HC)191 und 193 (und dezimal 190 und > 192), die unterscheiden sich am Eingang. 190/191 hat eine Clock und > einen Up/down-Pin, 192 und 193 haben Clock-up und Clock-down. Hallo Christoph, danke für deinen Hinweis:) Wenn man zum ersten mal mit solchen Bausteinen arbeitet und dabei ist sich selber etwas darüber beizubringen dann ist es egal ob es diese Bausteine schon seit Jahrzehnten gibt oder nicht. Ich kannte sie einfach nicht.
Christoph Kessler (db1uq) schrieb: > Es gibt seit Jahrzehnten den 74(HC)191 und 193 (und dezimal 190 und > 192), die unterscheiden sich am Eingang. 190/191 hat eine Clock und > einen Up/down-Pin, 192 und 193 haben Clock-up und Clock-down. Zumal ich bei denen von die genannten Zählern wieder das Problem hätte, dass meine Zustände nicht in der Wahrheitstabelle definiert wären...wobei ich wieder bei meinem Eingangspost wär:)
NUR mit einem Zählerbaustein wird es nicht gehen. Aber ein D-Flipflop könnte schon mal die Richtungserkennung machen. 2 TTL-Signale Ua und Ub: Einen an D, den anderen an Clk. Wenn das Signal an D voreilt, nimmt Q (je nach aktiver Flanke des Clk-Eingangs des D-FFs) einen Logikpegel ein, bei nacheilendem D-Signal den anderen. Den passenden Ausgang des D-FFs an den Up/Dn-Eingang eines Zählers (z.B. 190), eines der Signale von Ua, oder Ub an den Clk-Eingang des Zählers. Das müsste etwa deinen Vorstellungen entsprechen.
Oldie schrieb: > NUR mit einem Zählerbaustein wird es nicht gehen. Warum sollte es nicht gehen? Wie Axel schrieb: Beitrag "Re: Frage zum Zählbaustein 40193B" Ua an CLK, Ub an Up/_Dn des 4029. Damit stimmt die Zählrichtung mit vorwaerts.png bzw. rueckwaerts.png aus Beitrag "Re: Frage zum Zählbaustein 40193B" überein, nützt aber nicht die volle mögliche Auflösung. Für die Generierung von STEP und DIR Signalen hatte ich mal eine Simulation mit 4077 XNOR eingestellt, die sich auch beim Test am Steckbrett so verhalten hat. Beitrag "Re: Tachogeber entstören"
Hallo! Ich habe mir ein paar CD4029 gekauft und damit das ganze mal ausprobiert. Dynamische Frequenzen sowie schnelle Richtungsumkehr sind kein Problem. Selbst wenn ich das Messsystem schnell mit Hand bewege (von null bis weit in den KHz Bereich) macht der Aufbau nur einen sehr geringen Fehler. Es stimmen nur 1-2 Zählschritte bei mehreren tausend gezählten Flanken nicht überein. Ermitteln konnte ich dies, indem ich den Zähler (16 Bit kaskadiert) an einer Referenzmarke genullt und anschließend mit sehr schnellen und ruckartigen Bewegungen zur nächsten Marke bewegt habe. Da mir die Anzahl der Schritte dazwischen bekannt ist, konnte ich somit den Fehler ermitteln. Als nächsten Schritt möchte ich mir die volle Auflösung anschauen. Dazu habe ich mir bereits den Artikel Drehgeber von Herrn Dannegger angeschaut. Ich denke ich werde es mit der VHDL Version probieren. Ein paar VHDL Kenntnisse konnte ich mir durchs Studium schon aneignen. Weiß jemand welchen IC Herr Dannegger benutzt hat bzw. hat jemand eine Idee welcher sich dazu eignet? Vielen Dank und freundliche Grüße rema
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.