Ich habe folgendes Problem:
Über einen Taster möchte ich ein zeitlich definiertes Signal auslösen.
Es soll beispielsweise für eine Sekunde statt Vcc GND anliegen, um einen
µC zu reseten, etc. Hierzu nutze ich einen 555. Das Signal liegt für
ziemlich genau eine Sekunde am Ausgang an. Soweit funktioniert es also.
Nur leider ist es "falsch herum". Das heisst im Ruhezustand ist das
Signal LOW und nur wenn der Taster gedrückt wird, wird es für eine
Sekunde HIGH.
Um das Problem zu lösen, habe ich provisorisch einen 74HC14 genommen,um
das Signal zu invertieren. Das funktioniert natürlich, nur ist es recht
umständlich die nicht genutzten Eingänge jedes Mal auf GND zu legen.
Daher suche ich nach einer Alternative, um das Signal zu invertieren.
Die Anforderung ist, dass es wegen des Batteriebetriebes eine extrem
stromsparende Schaltung sein muss und sie soll sowohl bei 3,3V als auch
bei 5V funktionieren.
Wie setzt man das am beste um?
Frank
Nimm einfach einen NPN-Transistor mit zwei Widerständen. Einen vor die
Basis, einen zwischen Collector und +, Emitter an Masse.
Fertig ist der Universalinverter.
Frank Saner schrieb:> Über einen Taster möchte ich ein zeitlich definiertes Signal auslösen.> Nur leider ist es "falsch herum".
Nimm doch ein 4538-IC. Das bietet beide Alternativen.
Harald Wilhelms schrieb:> Frank Saner schrieb:>>> Über einen Taster möchte ich ein zeitlich definiertes Signal auslösen.>> Nur leider ist es "falsch herum".>> Nimm doch ein 4538-IC. Das bietet beide Alternativen.
Und er hat erst noch zwei retriggerbare Monoflops!
Und gleich noch was, es ist sehr viel einfacher aus einem retriggerbaren
ein nicht-retriggerbares Monoflop zu machen, falls man dies benötigt.
Wie das geht, zeigt das Datenblatt des entweder MC14538B oder CD4538B.
Gruss
Thomas
Danke für die vielen Antworten. Den 4538 kannte ich noch nicht. Der wird
gleich mit auf die nächste Bestellliste gesetzt.
Es soll so eine Art Universallösung auch für künftige Projekte sein.
Daher würde ich ungern einen NPN Transistor nehmen, bei dem ich jedes
Mal die Widerstandswerte anpassen muss.
Wäre es auch möglich einen N Fet (z. B. BSS 138) zu nehmen? Dann hätte
ich das Problem mit den stromabhängigen Widerständen nicht.
Frank
> Wäre es auch möglich einen N Fet (z. B. BSS 138) zu nehmen?
Ja, kannst du machen. Oder du nimmst den NPN Transistor und legst den
Vorwiderstand für den ungünstigsten Fall aus. Wichtig ist ja nur, dass
der Basis-Strom hoch genug ist, um die Last anzusteuern. Höher als nötig
darf er ruhig sein.
Anstatt einen NE555 durch zusätzliche Bauteile anzupassen, würde ich
lieber gleich auf einen CMOS Schmitt-Trigger umsatteln. Der 4584 hat
gleich 6 davon. Dann kannst du die universalschaltung durch Steckbrücken
konfigurierbar machen. Z.B. kannst du sie so auslegen, dass der Taster
wahlweise High oder Low Pegel liefer muss und dass der Ausgang wahlweise
High oder Low liefert. Und du kannst konfigurierbar machen, wie die
Schaltung auf langes drücken reagiert.
Die folgende Schaltung erzeugt einen High-Impuls, wenn der Taster
betätigt wird. Wenn man den Taster loslässt, bleibt der Ausgang noch
weitere 100mS auf High, bevor er auf Low zurück geht.
1
Vcc o
2
|
3
|~|
4
|_| 47k ______
5
100Ω | | _ |
6
+--[===]---+--------| _// |o---- Ausgang
7
| | |______|
8
/ ===
9
| | 1µF
10
| |
11
GND GND
Die folgende Schaltung erzeugt einen Low-Impuls, wenn der Taster
betätigt wird. Der Impuls dauert 100ms, auch wenn der Taster länger
festgehalten wird.
1
o Vcc
2
|
3
|~| 10k
4
|_| ______ 1µF ______
5
| | _ | +- | _ |
6
+---| _// |o---||---+---| _// |o---- Ausgang
7
| |______| | |______|
8
/ |~|
9
| |_| 47k
10
| |
11
GND GND
Wenn du dahinter noch einen dieser invertierenden Schmitt-Trigger
schaltest, hast du einen High-Imuls, der 100ms dauert, egal wie lange
man den Taster drückt.
Das hört sich sehr interessant und universell an. Nun bin ich kein
Elektroniker und stelle mal ein paar blöde Fragen:
Würde das auch mit einem 74HC14 funktionieren?
Am interessantesten ist für mich das Szenario, in dem ich einen Impuls
herausbekomme, dessen Länge ich frei definieren kann, egal wie lange der
Taster gedrückt wird. Das hätte unter anderem den Vorteil, dass man sich
um das Prellen des Tasters keine Gedanken mehr machen muss. Das Signal
dann noch zu invertieren stellt kein Problem dar, da noch genug Eingänge
frei sind.
Wie berechne ich die Zeit des Ausgangssignals?
Gibt es irgendwo ein Datenblatt oder eine Seite im Internet, wo noch
mehr dieser Beispiele stehen?
Frank
> Würde das auch mit einem 74HC14 funktionieren?
Jein. Der 4584 kann mit 3-15V betrieben weden. Der 74HC14 kann mit 2-6V
betrieben werden. Kommt also auf die Spannung an.
> Das hätte unter anderem den Vorteil, dass man sich> um das Prellen des Tasters keine Gedanken mehr machen muss.
Wenn der Impuls länger als die Prellzeit ist, stört es sowieso nicht -
auch nicht bei den anderen Schaltungsvorschlägen.
> Wie berechne ich die Zeit des Ausgangssignals?
Die Zeit ist ungefähr 2*R*C. Leider noch ungefährer, als beim NE555. Du
könntest ein Trimmpoti verwenden, um es einstellbar zu machen. Der
Widerstand sollte im Bereich 1k Ohm bis 1M Ohm liegen.
> Gibt es irgendwo ein Datenblatt oder eine Seite im Internet, wo> noch mehr dieser Beispiele stehen?
Suche nach "Monoflop Schmitt Trigger" oder "Monostabile Kippstufe
Schmitt Trigger"
Frank Saner schrieb:> Daher suche ich nach einer Alternative, um das Signal zu invertieren.> Die Anforderung ist, dass es wegen des Batteriebetriebes eine extrem> stromsparende Schaltung sein muss und sie soll sowohl bei 3,3V als auch> bei 5V funktionieren.
Das war in perfekter Form dein 74HC14.
Hingegen ist dein NE555 grober Unsinn. Er braucht viel Strom und
funktioniert bei 3.3V nicht mehr.
Wozu überhaupt ? Für RESET reicht der Taster direkt. Abermillionen Leute
brauchen für RESET keinen NE555, warum gerade du ?
Zum einen habe ich nicht geschrieben, dass es ein NE555 ist. Die gibt es
auch in stromsparender Variante, die ich nutze. Den konkreten Namen kann
ich aber im Moment nicht nachschauen. Daher schrieb ich "555" und denke
jeder hat verstanden, worum es ging.
Zum anderen kommt es auf die konkrete Anwendung an. In meinem Fall kann
es sein, dass der Taster im gedrückten Zustand verbleibt, weil die
Klappe, die ihn betätigt von irgend etwas blockiert wird. Das würde, für
den Fall, dass damit ein µC Reset ausgeführt werden soll, den µC im
Resetzustand halten, bis die Klappe geschlossen wird. Daher wäre mMn für
diesen Fall zum Beispiel ein Monoflop eine gute Lösung.
Im übrigen läuft die Anwendung so wie ich sie beschrieben habe
fehlerfrei. Ich habe nur nach einer Alternative zum invertieren gesucht.
Frank
Frank Saner schrieb:> Zum einen habe ich nicht geschrieben, dass es ein NE555 ist. Die gibt es> auch in stromsparender Variante, die ich nutze. Den konkreten Namen kann> ich aber im Moment nicht nachschauen. Daher schrieb ich "555" und denke> jeder hat verstanden, worum es ging.
Dann ist es wohl einer der CMOS-Versionen LMC555 oder TLC555. Stimmt's?
Gruss
Thomas
Jetzt wo der Anwendungsfall klar ist, mach es doch ganz banal so:
1
Vcc o
2
|
3
|~|
4
|_| 1k ________
5
| 1k | |
6
+------||---[===]---| /Reset |
7
| 100nF |________|
8
/
9
|
10
GND
Bzw. wenn es ein High Impuls sein soll, dann tausche den Taster mit dem
Widerstand. Dir mir bekannten Mikrocontroller benötigen keine sauberen
Rechteckimpulse am Reset Pin.
Um das ganze dann noch EMV sicher zu machen, schalte einen weiteren
100nF Kondensator parallel zum Taster.
Frank Saner schrieb:> Über einen Taster möchte ich ein zeitlich definiertes Signal auslösen.> Es soll beispielsweise für eine Sekunde statt Vcc GND anliegen, um einen> µC zu reseten, etc. Hierzu nutze ich einen 555Frank Saner schrieb:> Danke für die vielen Antworten. Den 4538 kannte ich noch nicht. Der wird> gleich mit auf die nächste Bestellliste gesetzt.
dann schau dir auch mal den Resetcontroller TL7705 o.ä. an
@Thomas: Ich habe nachgeschaut. Es ist ein ICM 7555 von reichelt.
@Stefan: Das werde ich mal ausprobieren. Wie berechne ich die Zeit, die
der Reset-Pin auf Masse gezogen wird? Könntest du noch ein paar Zeilen
dazu schreiben, was genau da passiert?
@jar: Auch der 7705 steht jetzt auf der Einkaufsliste.
Frank
Ich habe die Schaltung von Stefan Us vorerst ohne µC auf dem Steckbrett
aufgebaut. Eingangsseitig liegen rund 3,3V vom Netzteil an. Die
Schaltung ist genau so aufgebaut wie vorgegeben. Allerdings habe ich
dann bis auf die Schaltimpulse ständig Masse am Ausgang (Reset)
anliegen, was den Prozessor im Reset halten würde.
Daher habe ich zwischen den Eingang (3,3V) und den Ausgang (Reset) einen
10 KOhm Widerstand gebaut. Nun habe ich erwartungsgemäß 3,3V am Ausgang
(Reset) anliegen.
Wenn ich nun wie eingezeichnet die Verbindung R1/C1 über einen Taster
gegen Masse schalte, ist auf dem Oszilloskop zwar ein minimaler Impuls
in Richtung null zu sehen, aber sobald ich den Taster los lasse, kommt
ein Impuls in genau die andere Richtung (bis rund 6V). Ich bin mir nicht
sicher, ob der Reseteingang des 3,3V µC das verträgt.
Ich habe die Verbindung mehrmals relativ schnell geschlossen und wieder
gelöst, daher die vielen Ausschläge. Aber dadurch lässt sich gut
erkennen, wie stark diese sind.
Ist das so okay oder schieße ich mir den µC damit ab?
Frank
Frank Saner schrieb:> Ich habe die Schaltung von Stefan Us
bitte kein Prosa
male es auf, "die Schaltung von Stefan Us" gibt es nicht, es sind 3!
und bevor wir hier raten, mache doch einfach ein Schaltbild.
Und ja positive Impulse über VCC kann es durch Induktivitäten geben, die
gute alte Induktion. Abhilfe, cut off Dioden, Kondis o.ä.
Leitungsinduktivitäten sollten aber so schwach sein das sie nix
zerstören.
Hallo Joachim,
ich meinte die letzte Schaltung, ergänzt um den Widerstand.
Du bist also der Meinung ich kann die Schaltung so an den Resetpin des
µC anschließen kann?
Frank
Frank Saner schrieb:> Du bist also der Meinung ich kann die Schaltung so an den Resetpin des> µC anschließen kann?
Anschließen kann man sie, nur wird sie nicht tun, was du erwartest.
ca. 1/2 Sekunden Reset (reicht wohl aus...) anbei.
Frank Saner schrieb:> Hallo Joachim,>> ich meinte die letzte Schaltung, ergänzt um den Widerstand.
ich blick nicht mehr durch, wozu das ganze?
warum nicht eine stino Resetschaltung?
http://winavr.scienceprog.com/sites/default/files/images/stories/2007/AVR_Start/External_reset.PNG
Tatsache bleibt doch der Reset Pin muss auf high gehalten werden,
so stark das kein EMV Pups den auf low zieht!
Der Kondi sollte möglichst geringen Leckstrom aufweisen, evtl Folie
nehmen.
Das wars aber auch schon.
Joachim B. schrieb:> warum nicht eine stino Resetschaltung?
Ja, ist es doch.
Nur mit dem Unterschied, das bei deinem Link keine
Bauteildimensionierung vorgenommen wurde, die eine Resetzeit von ca 0.5s
herstellt, und der Taster unnötig mit Strom beim Entladen des
Kondensators belastet wird (kein Serienwiderstand).
Das Problem bei euren Vorschlägen ist, dass die Schaltung nicht wieder
auf HIGH geht, auch wenn der Taster gedrückt bleibt. In meinem
speziellen Fall kann das passieren. Daher habe ich das bisher so
umständlich mit einem TLC555 gelöst. Dem ist es egal, wie lange der
Taster gedrückt wird. Einmal ausgelöst, schaltet er seinen Ausgang für
die eingestellte Zeit auf HIGH.
Da ich aber LOW für den Reset benötige, habe ich dahinter einen 74HC14
geschaltet, um das Signal zu invertieren. Eingangs ging es bei meiner
Frage nur um einen simplen Ersatz für den 74HC14. Aber wie ich sehe,
führen viele interessante Wege zum Ziel, nur leider ist noch keiner
dabei, der auf einfache Weise meinen bisherigen Ansatz ablösen kann.
Einzig der Ansatz von Stefan Us sieht so aus, als wäre es das, was ich
suche. Um Platz zu sparen bräuchte ich dafür einen Dual-Schmitt-Trigger.
Gefunden habe ich bisher nur den SN74LVC2G14. Kennt noch jemand
Alternativen dazu?
"Die folgende Schaltung erzeugt einen Low-Impuls, wenn der Taster
betätigt wird. Der Impuls dauert 100ms, auch wenn der Taster länger
festgehalten wird."
o Vcc
|
|~| 10k
|_| _____ 1µF _____
| | _ | +- | _ |
+---| _// |o---||---+---| _// |o---- Ausgang
| |______| | |______|
/ |~|
| |_| 47k
| |
GND GND
Der Reset Eingang wird durch den Internen Pull-Up des Mikrocontrollers
auf High gezogen. Eine Simulation ohne µC kann daher nicht
funktionieren. Du müsstest dann mindestens den Pull-Up simulieren, er
hat ca 50k Ohm.
Wenn der Taster gedrück wird, wird der Reset-Eingang auf Low gezogen.
Der Kondensator lädt sich dann auf. Die Spannung am Reset Eingang steigt
daher kontinuiertlich. Irgendwann erkennt der µC High, damit ist der
Reset-Impuls beendet.
Ich habe jetzt die Schwellenspannung für High und Low bei analoger
Ansteuerung nicht im Kopf. Die Zeit wird wohl im Bereich zwischen 2 und
10mS liegen.
100nF * 50k Ohm = 5mS
Nach dieser Zeit ist der Kondensator etwa zu 1/3 geladen.
Der Reset Eingang muss nicht digital angesteuert werden, sofern
sichergestellt ist, dass die Spannung im illegalen Bereich (zwischen
High und Low) streng monoton steigt oder fällt.
Der 1k Ohm Widerstand begrenzt den Entladestrom des Kondensators, damit
die Schutzdioden im Eingang des µC nichtkaputt gehen.
Am interessantesten finde ich die Lösung mit dem zweifach
Schmitt-Trigger. Man kann das Signal als Vcc-Impuls und als GND-Impuls
erhalten, je nachdem, wie man es benötigt.
Ich habe zu dieser Lösung noch eine Frage. Bisher ist es so, dass der
Taster schließen muss, damit durch den GND-Impuls ein Reset des µC
ausgelöst wird.
Wie müsste man die Schaltung verändern, damit das auch mit einem
Magnetkontakt funktioniert, der ständig geschlossen ist und nur beim
Öffnen z. B. eines Fensters öffnet?
Frank
Wäre es möglich, den Vorschlag durch einen vorgeschalteten
Schmitt-Trigger mit einem "Öffner" zu nutzen, so wie ich es
eingezeichnet habe? Müsste R5 dann höher sein als R7 oder dürfen die
Werte identisch sein? Sollte SW2 geöffnet werden, würde aus dem ersten
Schmitt-Trigger ein genau so großes Minus-Signal kommen wie von oben
über R5 an Plus zugeführt wird. Als Laie würde ich sagen, dass das kein
definierter Zustand ist. Aber was sagen die, die sich auskennen?
In meiner Zeichnung habe ich den bisherigen Vorschlag absichtlich
gelassen wie er ist. So könnte man sowohl einen Öffner, als auch einen
Schließer dazu nutzen, den µC durch das Ausgangssignal zu reseten.
Ich würde dafür einen 74HC14 in SMD nehmen, weil ich davon einige hier
liegen habe. Was mache ich mit den übrigen Ein- und Ausgängen? Werden
die Eingänge einfach auf Masse gelegt?
Der 74HC14 wird 24/7 von einem Akku mit 3,3V gespeist. Wie hoch wäre der
Stromverbrauch, wenn er wie erläutert beschaltet wird? Im Datenblatt
finde ich nur "Quiescent Supply Current" mit 1µA.
Frank
Frank S. schrieb:> um einen µC zu resetenhttp://para.maximintegrated.com/en/search.mvp?fam=super1&tree=master
hier finden sich über 200 verschiedene Bausteine, die zuverlässig jede
nur vorstellbare Art von Reset erzeugen, auch in low power und SMD. Und
die Mitbewerber haben ähnliche Sachen. Das Problem ist längst gelöst. Da
bastelt man doch nicht selbsts an unzuverläßlichen Sachen.
MfG Klaus
Mit SW2 schließt du den Ausgang des ersten Schmitt-Triggers kurz - so
ist das nicht in Ordnung.
Der 74HC14 hat (wie alle CMOS IC's) bei 0 Herz Signalfrequenz nahezu
keine Stromaufnahme, eben die genannten 1 µA.
Ich habe inzwischen den Überblick über die Anforderungen verloren. Was
kommt rein und was soll raus gehen. Und woher kommt auf einmal der
Zweite Taster? Geht es überhaupt um Taster oder um "Signale" wie im
ursprünglichen Eröffnuns-Post geschrieben?
Wenn ich beim Drücken eines Reset-Taster nur einen kurzen Impuls
erzeugen muss, so dass das Festhalten des Tasters den µC nicht anhält,
dann mache ich das so:
Hier fließt natürlich ein deutlich höherer Ruhestrom, nämlich 3,3mA.
Durch Einsatz von externen Schmitt Triggern kann man den reduzieren,
aber nicht so, wie oben von Frank Saner gezeigt.
Vielen Dank für die umfangreichen Antworten!
Ja, es stimmt, vom ursprünglichen Problem sind wir ein klein wenig
abgekommen. Hier noch einmal die kurze Zusammenfassung dessen, was ich
(inzwischen) bauen möchte. Es soll eine Art "Universalschaltung" werden,
also eine Lösung, die ich immer wieder einsetzen kann.
Sie soll mit 3,3V oder auch mit 5V sehr stromsparend im Batteriebetrieb
laufen. Hinten heraus kommen soll ein negativer Impuls, der einen µC zu
einem Reset zwingt.
Dieser Impuls soll aber nicht nur durch einen schließenden Taster
ausgelöst werden können, sondern auch durch einen öffnenden Taster (oder
Magnetkontakt), der im Normalfall geschlossen ist und nur zum Auslösen
öffnet. Es kommt immer auf den Einbauort und die Einbausituation an,
daher könnte es entweder der öffnende oder der schliessende
Taster/Sensor sein.
In beiden Fällen muss es aber egal sein, wie lange der TasterSensor
geöffnet oder geschlossen ist. Der Impuls, der hinten heraus kommt muss
so kurz sein, dass er den µC neu startet.
Ich hoffe, dass ich damit nun etwas Licht in die Unklarheit bringen
konnte. Eine Lösung mit einem Resetcontroller wäre mir auch Recht. Aber
bei der Vielzahl an Möglichkeiten im Link fehlt mir als Laie das Wissen
um die Parameter, auf die ich achten müsste.
Wenn mir aber jemand sagen würde es ist dieser oder jener Typ, der genau
das macht, was ich oben geschrieben habe, dann ist mein Problem schon
gelöst.
Frank
Frank S. schrieb:> Es soll eine Art "Universalschaltung" werden,> also eine Lösung, die ich immer wieder einsetzen kann.
Also hast du keinen konkreten Anwendungsfall.
Frank S. schrieb:> Dieser Impuls soll aber nicht nur durch einen schließenden Taster> ausgelöst werden können, sondern auch durch einen öffnenden Taster
Also hast du keinen konkreten Anwendungsfall.
Frank S. schrieb:> Aber> bei der Vielzahl an Möglichkeiten im Link fehlt mir als Laie das Wissen> um die Parameter, auf die ich achten müsste.
Ohne konkreten Anwendungsfall tut sich da auch der Experte schwer.
Es ist in der Elektronik so, dass man sich entscheiden muss, ob man
Wolle oder Milch möchte.
Im ersten Fall besorgt man sich ein Schaf, im zweiten eine Kuh, und
beide erfüllen ihre Aufgabe dann wunderbar.
Eier legen aber beide nicht.
Wenn es an einem Anwendungsfall scheitert, damit Du eine Lösung
schreibst, nenne ich Dir gerne einen:
Der Schließer wird an der Haustür angebracht. Sobald diese geschlossen
wird, soll der Impuls dafür sorgen, dass ein µC aus dem Tiefschlaf
aufwacht und für 10 Sekunden eine LED leuchten lässt.
Mit genau der selben Schaltung soll genau das selbe Ergebnis erzielt
werden. Diesmal aber, wenn die Kellertür geöffnet wird. Dazu wird ein
Magnetkontakt genutzt.
@Stefan Us: Wie genau schließe ich den Ausgang kurz? Es soll entweder
SW1 eingebaut werden (Schließer) ODER SW2 (Öffner). Müsste R5 größer
sein als R7?
Frank
Frank S. schrieb:> Sobald diese geschlossen> wird, soll der Impuls dafür sorgen, dass ein µC aus dem Tiefschlaf> aufwacht und für 10 Sekunden eine LED leuchten lässt.
Wieso weckst du den µC nicht per Externem Interrupt und machst das Ganze
in Software? Wenn auf beiden µCs die gleiche Software sein muss könntest
du einen Jumper auf der Platine vorsehen. Je nachdem ob der Jumper beim
Einschalten gesetzt ist oder nicht startet der µC die Software für
Öffner oder Schließer.
> Wie genau schließe ich den Ausgang kurz? Es soll entweder> SW1 eingebaut werden (Schließer) ODER SW2 (Öffner).
Dann schließt du nichts kurz, es wird aber nicht funktionieren:
Wenn du nur SW1 bestückst, ist Pin 1 des Schmitt-Triggers dauerhaft High
und Pin 2 gibt dadurch dauerhaft Low aus, daran ändert SW1 auch nichts.
Wenn du ihn mit Gewalt auf High ziehen würdest, dann würdest du den
Ausgang kurzschließen.
> Müsste R5 größer sein als R7?
Irrelevant, da der Schmitt-Triggers dazwischen ist.
Du könntest IC1D weglassen und am Pin 3 einen Pullup, einen Pulldown,
einen Taster nach Masse und einen Tastern nach Vdd vorsehen und je nach
dem was die Schaltung machen soll nur einen Taster und einen Widerstand
bestücken.
Dan könntest du IC1F auch welgassen und einen 74HC1G14 verwenden.
Taster mit Öffner-Kontakt und geringe Ruhestromaufnahme widersprechen
sich. Damit das Öffnen des Kontaktes erkannt werden kann, muss
zwangsläufig ein Ruhe Strom fließen.
Da ist dann ein völlig anderer Schaltungsaufwand nötig, als bei einem
Schließer Kontakt.
Ein primitives Beispiel, zusammengeklöppelt aus Grundschaltungen:
1
1M Schalter oder
2
Vcc o----[===]---+--------Taster---------|
3
|
4
| 10k 100nF
5
+---[===]---+----||-----|
6
|
7
|
8
+--------------+------------+
9
| |
10
| _____ oJ1o---+ _____
11
| | | | | |
12
+---| ST |o---oJ2o---+---| ST |o------+
13
|_____| |_____| |
14
|
15
+---------------------------------------+
16
|
17
| o
18
| |
19
| |~| 470k
20
| |_| _____ _____
21
| | | | 1yF | |
22
+--|<|---+----| ST |o---||---+---| ST |o---+--------------o Ausgang A
23
| |_____| | |_____| | _____
24
1yF=== |~| | | |
25
| |_| 470k +--| ST |o----o Ausgang B
26
| | |_____|
27
GND GND
Die Ruhestromaufnahme mit "normal closed" Kontakt ergibt sich aus dem
1M-Ohm Widerstand. Bei einem "normal-open" Kontakt hast du (fast) gar
keine Ruhestromaufnahme.
Das R/C-Glied unter dem Taster/Schalter schützt vor Einstreuung
elektromagnetischer Wellen. Es ist nötig, weil der 1M Ohm Widerstand
einen so hohen Wert hat.
In der Mitte kommen ein oder zwei invertierende Schmitt-Trigger, die das
Signal vom R/C-Filter zu einem Rechteck formen.
J1 wird bei einem "normal-close" Kontakt gesteckt. J2 wird bei einem
"normal-open" Kontakt gesteckt.
In der dritten Reihe folgt ein Impulsformer, der die Dauer des Impulses
auf ca 1 Sekunde verlängert (falls der Taster kürzer betätigt wird).
Dahinter folgt ein Impulsformer, der die Impuls-Dauer auf maximal eine
Sekunde beschränkt (falls der Taster länger betätigt wird).
Ausgang A geht also stets für eine Sekunde auf Low.
Ausgang B liefert das Signal invertiert, also eine Sekunde High-Impuls.
Du musst CMOS Schmitt-Trigger nehmen, vorzugsweise CD4584B oder
CD40106B. Ich gehe davon aus, dass es mit einem 74HC14 auch geht.
Die Schaltung hat einen Haken: Aufgrund des hohen 1M Ohm Widerstandes,
muss der Öffner-Kontakt (wenn es denn einer ist) länger als 100ms
betätigt werden, um überhaupt erkannt zu werden. Wenn du den Widerstand
auf 10k Ohm verringerst, sind es nur noch 1ms. Aber dann ist die
Ruhestromaufnahme höher. Du kannst ja zwei Widerstände auf die Platine
löten und mit einem Jumper umschaltbar machen.
Auch ich möchte die Gelegenheit nutzen, von einer Universellen Schaltung
abzuraten. Universelle Schaltungen sind fast immer unnötig aufwändig,
teuer und verbrauchen mehr Strom als nötig. Solange es kein
Steck-Bausatz nach Art von Lego/Fischer Technik sein soll, sehe ich auch
gar keinen Sinn in einer universellen Lösung.
"Wow" Das war das erste, was ich dachte, als ich die Schaltung gesehen
habe. Ich werde das auf jeden Fall mal ausprobieren und den Ruhestrom
messen. Vielen Dank für die Mühe! Eine Frage habe ich dazu noch. Was ist
das für ein Symbol (Diode? ) vor dem letzten Teil der Schaltung:
-|<|-
Aber auch die Idee von Max H. einen externen Interrupt zu nutzen, ist
nicht schlecht. Auch das werde ich probieren.
Frank
Dann habe ich mich ja doch nicht verrechnet :)
Ich könnte 1M also auch reduzieren, wodurch sich die Tastzeit verkürzt,
der Stromverbrauch aber erhöht. Da werde ich testen, welcher Wert
sinnvoll ist.
Kann ich für die 1µF KeKos nehmen? Die hätte ich da. Elkos mit 1µF eher
nicht.
Frank
Stefan U. schrieb:> Ein primitives Beispiel, zusammengeklöppelt aus Grundschaltungen
1yF und 470kΩ haben eine Tau von 4.7E-19 s, ist das nicht ein bisschen
arg wenig?
Frank S. schrieb:> Aber auch die Idee von Max H. einen externen Interrupt zu nutzen, ist> nicht schlecht. Auch das werde ich probieren.
Das ist doch die übliche und einzig richtige Methode sowas auszuwerten.
Wie kommst du nur auf die Steuerung des MC über Reset?
michael_ schrieb:> Frank S. schrieb:>> Aber auch die Idee von Max H. einen externen Interrupt zu nutzen, ist>> nicht schlecht. Auch das werde ich probieren.>> Das ist doch die übliche und einzig richtige Methode sowas auszuwerten.> Wie kommst du nur auf die Steuerung des MC über Reset?
Zum einen bin ich ziemlich "talentfrei" in Sachen Software, weshalb ich
noch nie mit Interrupts gearbeitet habe. Zum anderen sind alle I/O
belegt. Daher die Idee, es über einen Reset zu lösen. Die Lösung ist
etwas unkonventionell, löst aber mein Problem und macht in diesem
Anwendungsfall im Ergebnis nichts anderes als ein Interrupt.
Frank
Frank S. schrieb:> noch nie mit Interrupts gearbeitet habe.
Dann wird es langsam Zeit das zu ändern.
> Zum anderen sind alle I/O belegt.
Schau mal ob der Aufpreis für einen größeren uC nicht vllt. weniger ist
als ein 74HC14 kostet.
Welchen uC hast du momentan? Welche Peripherie brauchst du?
Max H. schrieb:> Frank S. schrieb:>> noch nie mit Interrupts gearbeitet habe.> Dann wird es langsam Zeit das zu ändern.
Ich "arbeite" daran, meinen Horizont diesbezüglich zu erweitern.
>>> Zum anderen sind alle I/O belegt.> Schau mal ob der Aufpreis für einen größeren uC nicht vllt. weniger ist> als ein 74HC14 kostet.
Um Kosten geht es dabei nicht. Im Gegensatz zu vielen hier im Forum habe
ich weder einen technischen Beruf erlernt, noch übe ich ihn aus. Für
mich ist das reines Hobby. Angefangen hat es damit, dass ich Schaltungen
aus irgendwelchen Heften (damals ELO, dann elektor) nachgebaut habe. Das
funktionierte auch meist. Aber inzwischen möchte ich ganz gerne
verstehen, WAS ich da baue. Aus diesem Grund versuche ich mir
Grundkenntnisse anzueignen. Aus Zeitmangel klappt das eher schlecht als
recht, aber ich probiere es immer mal wieder.
Manchmal versuche ich mich auch an eigenen Ideen. Aber da scheitert es
meist an (für euch banalen) Problemen, wie zum Beispiel dem hier
diskutierten Problem, eine Schaltung zu bauen, die sowohl mit einem
Schließer als auch einem Öffner genutzt werden kann und an deren Ende
ein Signal heraus kommt, dass in beiden Fällen identisch ist.
Den Vorschlag von Stefan muss ich noch nachbauen und testen. Aber ich
denke, dass es genau das ist, was ich in vielen Schaltungen künftig
verwenden kann, die je nach Einsatzort manchmal mit einem Öffner und
woanders mit einem Schließer genutzt werden. Ob das Signal nun in ein
555 Timer-IC geht oder zu einem µC ist letztlich egal.
>> Welchen uC hast du momentan? Welche Peripherie brauchst du?
Bislang habe ich mit den attiny84 und 85 schon einige Kleinigkeiten
gebaut. Da ich für das aktuelle Projekt aber bisher nur 1 Eingang und 2
Ausgänge benötigt, möchte ich mich an einem attiny10 versuchen. Wegen
seines geringen Strombedarfs würde der auch ganz gut in das
Batterieprojekt passen. Bestimmt könnte man den Vorschlag von Stefan
auch mit einem etwas größeren µC kombinieren und das Problem per
Software lösen, aber erst einmal möchte ich das getrennt lassen. Im
nächsten Schritt fasse ich das vielleicht zusammen. Mal schauen.
Frank
> Kann ich für die 1µF KeKos nehmen?
Ja
> 1yF und 470kΩ haben eine Tau von 4.7E-19 s
Das ist falsch gerechnet. 1µF und 470k Ohm ergeben in dieser Schaltung
ca 1 Sekunde. Die Überschlagsrechnung ist ganz einfach:
Tau = R*C
Bei 1F und 1 Ohm wäre Tau=1.
Bei 1µF und 1M Ohm wäre Tau ebenfalls 1.
In der obigen Schaltung ist die Zeit ungefähr 2*Tau.
Stefan U. schrieb:>> Kann ich für die 1µF KeKos nehmen?> Ja>>> 1yF und 470kΩ haben eine Tau von 4.7E-19 s> Das ist falsch gerechnet.
Nö:
1E-24 F * 470E3 Ω = 4.7E-19 s
Ein Mikrofarat ist 0,000001 Farat.
Tu uns bitte einen Gefallen und erspare und den Klugscheißer Witz mit
Yokto.
Ich musste vor ein paar Tagen y statt µ schreiben, weil der Browser es
nicht ander konnte. Und nur für dich diskutiere ich nicht mit meinem
Chef, dass er mit eine Ausnahmegenehmigung für einen anderen Browser
besorgt.
Stefan U. schrieb:> Und nur für dich diskutiere ich nicht mit meinem> Chef, dass er mit eine Ausnahmegenehmigung für einen anderen Browser> besorgt.
Du kannst auch einfach, 'u' dafür werdenden, dann gibt es keine
Missverständnisse.
Auch wenn nicht so geplant ist, nimm den DIS als Ausgang. DIS ist Low
wenn OUT high ist. Allerdings nur open collector. Kann dir aber egal
sein, denn die meisten Resets haben eh nen Pullup und werden nur auf GND
gezogen.
Stefan U. schrieb:> Ein Mikrofarat ist 0,000001 Farat.
[...]
> Ich musste vor ein paar Tagen y statt µ schreiben, weil der Browser es> nicht ander konnte.
Aber dein Browser erlaubt garantiert die Eingabe eines "d". Und mit
einem solchen schreibt sich die Einheit "Farad", benannt nach dem Herrn
Faraday.
Ja, das ist genau der Typ mit dem ebenfalls nach ihm benannten Käfig.
Der Grundstein für eine Eselsbrücke vor dich, um diese Einheit niemals
wieder falsch zu schreiben. Faratay'scher Käfig sieht geschreiben
ziemlich Scheiße aus und hört sich gesprochen auch richtig Scheiße an...
Minimalist schrieb:> Auch wenn nicht so geplant ist, nimm den DIS als Ausgang. DIS ist Low> wenn OUT high ist. Allerdings nur open collector.
Wenn's um den 555 geht: Leider Falsch, DIS mit Pullup ist High wenn der
Ausgang High ist.
Um von Spitzfindigkeiten über Abkürzungen mal wieder zurück zum Thema zu
kommen:
Ich habe die Schaltung testweise aufgebaut. Sie macht genau was sie
soll. Vielen Dank für diese tolle Idee!!
Frank