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.
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
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
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