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.
Ne, hat er nicht. Mach es wie Oliver es gesagt hat oder Kauf ein einzelnes nicht. Die gibt's auch in klein (SOT23 usw) oder noch deutlich kleiner... wenn notwendig. https://www.fairchildsemi.com/products/logic/flip-flops-latches-registers/inverters/NC7SZ04.html
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 555 Frank 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
:
Bearbeitet durch User
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.
:
Bearbeitet durch User
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
Meine Vorschlag funktioniert so:
1 | Vcc o |
2 | | |
3 | |~| |
4 | |_| 1k ________ |
5 | | 1k | | |
6 | +------||---[===]---| /Reset | |
7 | | 100nF |________| |
8 | / |
9 | | |
10 | 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
:
Bearbeitet durch User
Frank S. schrieb: > um einen µC zu reseten http://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:
1 | 10k |
2 | 3.3V o---[===]-----+----- Reset Eingang Mikrocontroller |
3 | | + |
4 | 1µF === |
5 | | ____ |
6 | 3.3V o---[===]-----+----- ------| GND |
7 | 10k Taster |
Solange der Taster nicht gedrückt wird, ist die Stromaufnahme dieses Schaltungsteils genau 0.
Alternative Variante für einen Öffner-Kontakt:
1 | 100k 1k |
2 | 3.3V o---[===]-----+----[===]--- Reset Eingang Mikrocontroller |
3 | | |
4 | 100nF === |
5 | ____ | |
6 | 3.3V o---- -------+----[===]-----| GND |
7 | Öffner 1k |
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
:
Bearbeitet durch User
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.
:
Bearbeitet durch User
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.
:
Bearbeitet durch User
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
Ja, das ist eine Diode. Kannst fast jede beliebige nehmen, zum Beispiel 1N4148. > den Ruhestrom messen Wozu, den kann man grob berechnen. Die
Danke für die Info. Ich habe um die 5 µA raus. Kann das hinkommen? Mir erscheint das zu wenig. Daher wollte ich messen. Frank
:
Bearbeitet durch User
3,3V geteilt durch 1M Ohm ergibt 3,3µA. Dazu kommt die Stromaufnahme des IC und der reverse-Current durch die Diode. 5µA sind durchaus plausibel.
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?
Wozu eigentlich die ganze Logikschaltung, wenn man alles bis auf den 1MΩ, den 10kΩ und den 100nF auch bequem im µC in Software machen kann?
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?
:
Bearbeitet durch User
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.
y ist auch frei von Mißverständnissen.
> y ist auch frei von Mißverständnissen.
Eigentlich ja, bist jemand mein es fälschlicherweise als Ersatz für 'µ'
zu verwenden.
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
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.