Hallo Leute, ich habe da ein Problem, an dem ich schon die vergangenen Wochen knoble. Es betrifft eine zu entwickelnde Logikschaltung, die aus einem Eingangssignal (Siehe Anhang) ein definiertes Ausgangssignal (High für die Dauer T1) generiert. Das Eingangssignal besteht idealerweise aus einem Rechtecksignal, welches durch Störungen durch Einschwingvorgänge (davor und dahinter) "angereichert" wurde. Da das Nuzsignal keine feste Länge hat, kann es sich auch in der Folge von Störimpulsen "einreihen". Mein erster Gedanke war, dass es eigentlich ein Fall für einen Monoflop ist, der auf die erste positive Flange hin, ein definiertes Ausgangssignal erzeugt. Da jedoch die Dauer des Eingangssignals sehr lang sein kann (auch dauerhaft), kann man keinen Monoflop dimensionieren, da er ja in endlicher Zeit abläuft -- und dann durch den nächsten positiven Impuls wiederholt auslöst... Meine Überlegungen, welche Anforderungen die Schaltung haben soll, führten zu diesem simplen Satz: Die aufzubauende Logik muss lediglich den Ausgang für die Zeit T1 auf "High" stellen, wenn das Eingangssignal seit T2 keinen negative Flanke aufweist. Mein zweiter Gedanke war, dass man es dann ja mit 2 Monoflops (zB. 74HC123)realisieren könnte, indem Monoflop 1 auf eine positive Flanke (Eingang B1)seinen Ausgang für die Dauer T1 auf "high" stellt und durch Monoflop2 (der auf eine negative Flanke reagiert) "gesperrt" wird. Einfach durch verbinden des Ausgangs von Monoflop2 mit dem Eingang A1 des ersten Monoflops. (Siehe Anhang 2) Funktioniert sogar, jedoch wird nach Ablauf von T2 ein Triggerimpuls durch A1 ausgelöst......und ich habe 2 Ausgangsimpulse... Habt ihr vielleicht eine Idee, wie dies möglichst platzsparend machbar wäre?? Viele Grüße Joerg
RC-Tiefpass gefolgt von (zwei) Invertern mit Schmitt-Trigger Eingang, 74HC14 oder so. Und ich denke Dein Problem ist eher Prellen, nicht Jitter. Zum Thema (Kontakt)-Prellen findet man viel.
Hallo, ich würde das wie folgt lösen, (vorausgesezt die Störsignale sind viel kürzer als das Nutzsignal). 3 (oder mehr) D-Flip-Flops als Schieberegister geschaltet. Der Takt muß so gewählt werden daß er länger als die Störimpulse, jedoch kürzer als 25% des Nutzsignales ist. Ein RS-Flip-Flop wird gesetzt wenn alle Schieberegister-Ausgänge High sind. Rückgesetzt wenn alle Schieberegister-Ausgänge Low sind. (Bzw. die Invertierten Ausgänge High sind). Am Ausgang ist jetzt das entprellte Nutzsignal. (Allerdings um 3 Takte verzögert). Mit der steigenden Flanke des RS-Registers kannst Du jetzt dein Monoflop triggern.
Falls Du Art of Electronics zur Hand hast könntest Du auch mal auf Seite 576 schauen, Switch bounce. Ist wohl in Google Books nicht verfügbar...
Hallo Anja und Stefan, herzlichen Dank für eure Antworten. @Stefan: Richtig, ist natürlich eher Prellen. Mit dem Tiefpass werd' ich mal probieren. @ Anja: Leider sind die Störimpulse nicht immer kürzer als das Nutzsignal. Werde daher auch mal die im Anhang befindliche Schaltung ausprobieren (Morgen, da zZt. kein AND zur Hand) Beste Grüße Joerg
>@ Anja: Leider sind die Störimpulse nicht immer kürzer als das >Nutzsignal. Oh -- da kannst Du meinen Vorschlag mit dem RC-Tiefpass wohl vergessen. Dann ist mir so spontan auch nicht klar wie man Stör- und Nutz-Impulse überhaupt auseinander halten soll. Da muss man wohl etwas länger drüber nachdenken und eventuell Fallunterscheidungen machen. Aber versuch mal in den AoE hineinzusehen, da werden mehrere Möglichkeiten aufgeführt.
Hallo Kai, ich meinte mit - T1 die Zeitspanne, in der der das korrigierte Ausgangssignal auf "1" liegt. Also die Zeit, in der das Monoflop 1 aktiv ist. - T2 die Zeitspanne, in der der das Monoflop 2 aktiv ist und damit das Monoflop 1 "deaktiviert". Beste Grüße Joerg
> Leider sind die Störimpulse nicht immer kürzer als das
> Nutzsignal.
Dann brauchst du unbedingt eine Glaskugel oder eine Fuzzy-Logik.
Hallo Sowas und Etrick, ich habe mir vorgenommen, ohne Glaskugel auszukommen (Wäre zu groß für die Schaltung, die soll auf 20x25mm Platz finden). Ich denke auch, dass ihr das Problem nicht duchdrungen habt und daher die Lösung verkompliziert bzw, grundweg keine Lösung seht. Es ist viel einfacher als ihr vielleicht denkt. Ich möchte nur detektieren, ob sich am Eingang der Pegel von 0 auf 1 (Diese Richtung)ändert. Falls ja, soll die Schaltung ein Ausgangasignal erzeugen. Da nur etwa alle 5s ein neues valides Eingangssignal kommen kann, sollte die Schaltung für eine gewisse Zeit nach dem letzten 1->0 Übergang "taub" sein. Das ist schon alles. Die Tests mit der Schaltung im 5. Posting stehen noch aus. Melde mich dann. Beste Grüße Joerg
>Oder kürzer: >Vergiss es... So schnell gibt man nicht auf ... >Leider sind die Störimpulse nicht immer kürzer als das Nutzsignal. Naja, es müsste aber schon eine Phase mit HIGH drin sein, die sich in ihrer Dauer von den Prellern unterscheiden lässt. Joerg, dein zweiter Ansatz war gar nicht so daneben - nur nicht ganz zu Ende gedacht. Mein Vorschlag (unter der o.g. Bedingung): Zwei nachtiggerbare MF, eines getriggert auf die positive (MF1), das andere auf die negative Flanke (MF2), die sich gegenseitig verriegeln. Dauer muss mindestens eine 'Periode' der Preller sein, damit sie während der Prellzeit nachgetriggert werden. Am Anfang sind beide entriegelt. Die erste pos. Flanke triggert das MF1 und unterbindet das Triggern von MF2. Dies ergibt am Ausgang einen Puls über den Prellern am Anfang. In der mittleren HIGH-Phase fällt MF1 wieder ab, beide sind wieder scharf. In der hinteren Phase wird zuerst das MF2 getriggert, das wiederum dann MF1 sperrt. Wieder ergibt sich ein Puls am Ausgang von MF2, das die Prellzeit am Ende anzeigt. Beide Signale dienen dann zum Setzen/Rücksetzten eines RS-FFs. Aber, wie gesagt, es muss dazwischen eine HIGH-Phase geben, die es ermöglicht, beide MFs abfallen zu lassen. Natürlich ebenso auch eine entsprechend Mindestlänge bei der LOW-Phase, wenn der Vorgang zu Ende ist. Zumindest stelle ich mir das so vor. :-)
Hi, das passt aber nicht dazu, dass die Länge des Originalpulses (ohne Preller) gespiegelt werden soll. - die Anzahl der Preller und ihre Dauer ist naturgemäß zufällig - die Länge des Pulses ist voll variabel, auch kürzer als Preller Wie willst Du (oder eine Elektronik) wissen, welches Rechteck Signal und welches Störung ist? Gruß Achim
Wenn T1 jedoch nicht originalgetreu ausgegeben werden soll und der Abstand zwischen den Ereignissen Welten größer als die Summe Signal und Störungen ist, ist die Löstung trivial...
Joerg schrieb: > Es ist viel einfacher als ihr vielleicht denkt. Ich möchte nur > detektieren, ob sich am Eingang der Pegel von 0 auf 1 (Diese > Richtung)ändert. Falls ja, soll die Schaltung ein Ausgangasignal > erzeugen. > Da nur etwa alle 5s ein neues valides Eingangssignal kommen kann, sollte > die Schaltung für eine gewisse Zeit nach dem letzten 1->0 Übergang > "taub" sein. Das ist schon alles. Die Frage, die sich stellt ist, ob nach dem letzten möglichen Störpuls eine gewisse Zeit absolute Ruhe ist und ob dann auf den nächsten 0->1 Übergang auf jeden Fall reagiert werden soll. Da die Störpulse auch länger als das Nutzsignal sein können, hast du nämlich ohne Glaskugel wirklich keine Chance, zwischenzeitliche Störpulse vom gewünschten Signal zu unterscheiden. Sollte meine erste Annahme zutreffen, dann würde ich gar keine nachtriggerbaren Monoflops verwenden sondern eher den 74HC221. Beide MFs werden über Eingang B getriggert, MF2 sperrt über Q2 an A1 das erste MF. T1 stellst du auf die gewünschte Länge des Ausgangssignals, T2 auf die Zeit von der ersten 0->1 Flanke bis zu dem Zeitpunkt, wo wieder Signale zugelassen sind.
Hallo Etrick, Deine Annahmen sind korrekt. T1 muss nicht die Originallänge haben, ich verwende das Ausgangssignal der Schaltung (Länge T1) lediglich als Signalisierung für eine nachfolgende Stufe. Viele Grüße Joerg
Hallo Joerg, ich habe mir früher Folgendes einfallen lasse, allerdings hatte ich eine Konstante die ich nutzen konnte: f_mux (50Hz/10=5Hz) Bei der Stör-Filterung in meiner Alarmanlage sitzen ein Monoflop an der Alarmleitung und ein einstellbarer Zähler. Das MF reagiert also bei jedem Ereignis, auch wenn es ein Störimpuls ist/oder mehrere sind so wie deine Preller. Das Monoflop gibt im getriggerten Zustand den Zähler frei. Da eine Störung aber von so kurzer Dauer und erst recht nicht serienhaft ist, ergibt sich niemals ein Überlauf des Zählers (wenn ausreichend hoch eingestellt). Der Überlauf wird nur erreicht bei echten Alarmen, weil dann die Multiplexfrequenz den Zähler innerhalb seiner Torzeit füttert und zum Überlaufen bringt. Sitzt man vor dem Tableau mit den Melde-LEDs erkennt man öfter mal ein kurzes einmaliges Aufleuchten eines gerade abgetasteten Kanals von den insgesamt 9 Multiplex-Kanälen und, wenn eingeschaltet, hört man auch akustisch einen kurzer Pieps, mehr nicht. So läuft die Anlage seit den 80er Jahren zuverkässig. Dies nur als Anmerkung oder Anregung weil deine Sache anders liegt.
Also, irgend etwas muß schon definiert sein, weil du ja sonst nicht die Störimpulse von den Nutzsignalen unterscheiden kannst. Also muß entweder die Dauer des Nutzsignals irgend einer Gesetzmäßigkeit folgen, oder die Dauer des Prellens oder die Pause zwischen den Nutzsignalen, die auch vom Prellen nicht unterbrochen werden darf. Ein anderer Punkt ist: Wenn dir ein einziger 0-1-Sprung ausreichen soll, um ein Nutzsignal erkennen zu wollen, dann wird deine Schaltung extrem empfindlich auf Störungen jeder Art. Das ist überhaupt keine gute Idee. Am besten ist ein RC-Filter zum Sieben von Störsignalen, das dir gleichzeitig hilft das Prellen zu unterdrücken. Auch eine Softwareroutine kann zum Entprellen verwendet werden. Die Idee dahinter ist die, daß das Nutzsignal eine bestimmte Mindestzeit anliegen muß, um erkannt zu werden, die länger ist als das Prellen. Wenn das Nutzsignal aber kürzer als das Prellen sein kann, dann kannst du es ja garnicht feststellen, bzw. du kannst garnicht feststellen, wie wiele Nutzsignale sich im Prellen verstecken... Schildere doch mal, was du überhaupt machen willst. Eventuell kannst du nämlich bei der Nutzsignal-Erzeugung ansetzen und dort das Problem lösen. Kai Klaas
Nachdem geklärt ist, daß es kein Jitter und keine Störung sind, sondern: "Prellen". > Leider sind die Störimpulse nicht immer kürzer als das > Nutzsignal. Das wird eigentlich auch nebensächlich. Immer wenn die Anfangs-Preller auftauchen, muß es zwangsläufig einen Schaltvorgang gegeben haben. Dein Nutzsignal kann sogar gänzlich fehlen: wenn nämlich schnell genug abgeschaltet würde. Dann gibt es nur die vorzeitig abgebrochenen Anfangspreller und einen sich zwangsläufig anschließenden Endpreller. Das Bündel des Ein- und Ausschaltprellen gehören so immer zu einem Schaltvorgang. Läßt sich damit etwas anfangen? Melde dich mal.
>Immer wenn die Anfangs-Preller auftauchen, muß es zwangsläufig einen >Schaltvorgang gegeben haben. Nein, nicht unbedingt. Können auch Störungen sein. Wieviele "Preller" sind ein Signal, wieviele eine Störung? >Das Bündel des Ein- und Ausschaltprellen gehören so immer zu einem >Schaltvorgang. Wieviele Schaltvorgänge genau? Was ist Prellen? Wo genau sind die Schaltvorgänge? Kai Klaas
Hallo Sowas, genau richtig. Mir reicht schon die Information, dass es Anfangspreller oder Nutzsignal, oder Endpreller gibt, um ein (einziges) definiertes Ausgangssignal zu erzeugen. Denn auch schon ein Preller zeigt mir, dass am Eingang "etwas war". Den Einwand, das dies störungsanfällig sein verstehe ich, jedoch sitzt der Erzeuger dieser Preller auf der gleichen Platine, nur Millimeter entfernt. Meine Idee in Posting 5 hat sich wieder als "nicht zu Ende gedacht" erwiesen. Habe sie daher umgestellt auf die hier Gezeigte. Mono1 schaltet bei der ersten positiven Flanke (Preller oder Nutzsignal) und ist auf "Nicht retriggerbar" eingestellt (Verbinden von Q1/ und B1). Mono 2 schaltet bei der 1. negativen Flanke (Preller oder Nutzsignal) und soll Mono1 davon abhalten, erneut durchzuschalten, ohne jedoch den laufenden Puls des Mono 1 zu unterbrechen. Dies erreiche ich mit einem NAND auf den Reset von Mono 1. Das wars eigentlich schon. ES FUNKTIONIERT NUN. Ich bin etwas fixiert auf Monos, weil ich ohnehin einen zur Erzeugung des Ausgangsimpulses benötige und es die immer im Doppelpack in einem Gehäuse (zB. SO16) gibt. Kurzum ich befürchte Platzprobleme wenn ich andere Bauteile verwende. @Kai: Die Schaltung ist Teil einer Zeitmessanlager für eine kleine Autorennbahn. Die Zeitmessung wird per Laserlichtschranke und Tondekoder Ne567 (Bei ca. 60KHz) erfolgen. Der Grund für die "Preller" ist, das der NE567 trotz "Anti Chatter Prevention, laut Datenblatt" immer noch solche Anfangs- oder Endpulse erzeugen kann (sporadisch). Oder anders gesagt, entweder ich verhindere sicher diese Chatter-Impulse am NE567 und habe dadurch den Nachteil, dass sie relativ langsam anspricht, oder eine schnell reagierende Lichtschranke mit sporadischem Chatter. Habe mich für Weg 2 entschieden und benötigte daher eine "kleine Fehlerkorrektur". Klar, ich könnte eine fertige Anlage, für nur wenige hundert Euro :-) kaufen. Wäre sicher ökonomischer (Allein die Zeit...). Sehe es aber als Hobby-Projekt an. Ich möchte mich bei euch alle ganz herzlich bedanken. DANKE Nun versuche ich, per Target, ein sinnvolles Layout zu erstellen. Wie gesagt, auf 20x25 mm, mehr Platz habe ich nicht. Beste Grüße Joerg
@Joerg Über das letzte Bild musst du noch mal nachdenken. Da sind der Ausgang vom NAND und der /Q1 (auch Ausgang) hart aufeinandergeschaltet.
Irgendwie schreit die Sache nach einer digitalen Lösung. Kleinen Achtpinner-µC, die erste Flanke per Interrupt erkennen, und dann den Interrupt einige Zeit deaktivieren und das Signal ausgeben. Das bekommst du auf der Fläche mit nem TTL-Grab nicht besser hin.
Hallo HildeK, ups, hab' mich da verzeichnet. Hier die richtige Lösung. Uwegw, ja, aber µC kenne ich mich eben nicht so aus. Obwohl es sicher interessant eleganter wäre. Beste Grüße Joerg
@ Joerg (Gast) >@Kai: Die Schaltung ist Teil einer Zeitmessanlager für eine kleine >Autorennbahn. Die Zeitmessung wird per Laserlichtschranke und Tondekoder >Ne567 (Bei ca. 60KHz) erfolgen. Der Grund für die "Preller" ist, das der >NE567 trotz "Anti Chatter Prevention, laut Datenblatt" immer noch solche >Anfangs- oder Endpulse erzeugen kann (sporadisch). Oder anders gesagt, >entweder ich verhindere sicher diese Chatter-Impulse am NE567 und habe >dadurch den Nachteil, dass sie relativ langsam anspricht, oder eine >schnell reagierende Lichtschranke mit sporadischem Chatter. Habe mich >für Weg 2 entschieden und benötigte daher eine "kleine Fehlerkorrektur". Tja, falsche Entscheidung. Und überhaupt mal wieder ein klarer Fall von gescheiterer Netiquette. Wäre ja auch VOLLKOMMEN unsinnig gewesen, das Problem DIREKT mal darzustellen. Dann doch lieber tagelang Rätselraten und fabulieren. Naja. >Klar, ich könnte eine fertige Anlage, für nur wenige hundert Euro :-) >kaufen. Man könnte auch durch KnoffHoff(tm) einfach eine prellfreie Lichtschranke bauen. Dieses Problem wurde vor Jahrzehnten schon gelöst. MG Falk
Der Herr hat ihm vergeben. chatter...da steht, daß nur Logik, weil schnell, den chatter als mehrfachen output erkennen kann, Lampen und Relais reagieren darauf nicht. Also hänge etwas Langsames dran. Keines der gezeigten Beispiele (DB Valvo/Signetics Figure 4) und "output latching" (Figure 7) helfen das zu eliminieren ?
Hallo Sowas, die Ansätze in Fig. 4 habe ich alle durchprobiert. Als wirkungsvollter Ansatz hat sich der erste der drei Möglichkeiten erwiesen. Den setze ich auch ein. Er (wie die anderen) hat den Nachteil, dass es die Schaltung verlangsamt, dh. nicht mehr auf kurze Strahlunterbrechungen reagieren kann. Daher habe ich hier so dimensioniert, dass der Chatter nur noch sehr sporadisch auftritt. Das Latching habe ich mir nicht näher angesehen, da man ja eine Möglichkeit braucht, den Ausgang wieder freizugeben. Vielleicht zu kurz gesprungen. Viele Grüße Joerg
Falls es noch nicht zu Spät ist. Hier mein Vorschlag: Das Schmitttrigger-NAND (4093) ist als gesteuerter Oszillator geschaltet und steuert das Monoflop 1. Der Ausgang des Monoflop 1 ist so lange auf high wie das Eingangssignal auf high ist + Chatter + T1. Das Monoflop 2 bestimmt die Impulsbreite des Ausgangssignals. T1: Zeitkonstante von Monoflop 1 muss größer sein als die maximale low-zeit des Eingangssignals während des Chatter. Die Frequenz des Oszillators (4093) muss größer sein als 1/T1. Die Zeitkonstante des Monoflop 2 kann beliebig gewählt werden. Gruß John
Hallo John, Deine Schaltung müsste auch funktionieren. Vielen Dank für Deine Mühe. Ich bleibe jedoch beim vorgenannten Ansatz, da ich dort weniger Bauteile benötige. (Bin gerade am routen und bekomm' graue Haare) :-) Viele Grüße Joerg
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.