hi, normalerweise wird ja das signal am pin eines µC sofort low, wenn man einen taster mit pullup gegen vcc schließt. nun möchte ich aber, dass man den schalter erst ca. 1 sek gedrückt halten muss, damit low am pin anliegt. mir schwebt da eine lösung über einen taster, einen kondensator und einen widerstand zur ladestrombegrenzung des kondensators vor, sodass beim schließen des tasters zuerst der kondensator geladen wird, und wenn der einen bestimmte ladung hat erst das signal am pin geändert wird. leider habe ich keine ahnung wie hierzu ein schaltbild aussehn könnte oder ob das überhaupt so funktioniert. warum ich das nicht über die software löse? geht halt am reset-pin schlecht ^^ mfg, johannes
+----------- VCC | | +-+ | | | | +-+ | | +-------o-----------> RESET | | | | \ ----- \ ----- | | | | ----o-------o------------ GND Über R und C kannst du die Zeit bestimmen. Nach dem Motto: t = R*C
Hallo Johannes, Du möchtest also den RESET-PIN zeitverzögert gegen Masse ziehen. Es gibt zwei Möglichkeiten: Variante A: Dieser Reset-Pin wird von einem anderen Pin des µC zeitverzögert gegen Masse geschaltet. Ein weiterer Pin fragt den Taster ab. Nachtei: 2 Pins sind notwendig Variante B: Über einen zusätzlichen Transistor kann der Reset-Pin gegen Masse gezogen werden. Die Basis wird über eine RC-Kombination und dem Taster angesteuert Nachtei: mehrere externe Bauelemente Hast Du schon über einen Reset per Watch-Dog nachgedacht? Vortei: nur ein PIN für den Taster ist notwendig Bernhard
@Karl Heinz Buchegger Deine Schaltung bewirkt aber, dass der Reset-Pin, beim betätigen des Tasters sofort gegen GND gezogen wird. Bernhard
@ Karl Heinz Buchegger
aebr wenn ich da jetzt doch den schalter schließe, dann hab ich sofort
0V am Reset, wenn ich ihn wieder zumache baut sich die spannung wieder
langsam auf
@ Bernhard Schulz
Variante A: nö, keine zwei pins und vorallem keine zeit das abzufragen
Variante B: ja, vielleicht
> Hast Du schon über einen Reset per Watch-Dog nachgedacht?
nein, wie würde das aussehen?
> aebr wenn ich da jetzt doch den schalter schließe, dann hab ich > sofort 0V am Reset, wenn ich ihn wieder zumache baut sich die > spannung wieder langsam auf Ich dachte du haettest einen Fehler gemacht und moechtest eigentlich genau das. Denn: Wenn ich den Reset Taster betätige, will ich ja sofort einen Reset, ansonsten drueck ich einfach spaeter drauf. Es kann aber durchaus sinnvoll sein, dass nach loslassen des Taster der µC noch einige Zeit im Reset hängt (zb. damit sich andere Hardware initialisiern kann, bevor der µC loslegt) Mein Fehler. Du wolltest anscheinend tatsächlich einen Taster, der erst einige Zeit nach dem Drücken den µC in einen Reset schickt. Jaeng einfach noch einen Enladewiderstand zwischen Taster und C.
> Jaeng einfach noch einen Enladewiderstand zwischen Taster > und C. Aeh nein. Da hab ich jetzt aus dem Bauch heraus nicht nachgedacht.
@ Johannes Permoser Die Watch-Dog-Variante: Ein zusätzlicher pin Fragt den Taster ab. Wird dieser betätigt, dann springt das Programm in eine Endlosschleife, in der kein WDR (Watchdog-Reset) durchgeführt wird und der µC bootet sich erneut Bernhard
> Variante B: > Über einen zusätzlichen Transistor kann der Reset-Pin gegen Masse > gezogen werden. Die Basis wird über eine RC-Kombination und dem Taster > angesteuert ich hab hier noch ein ehemaliges 'sound'-board (zumindest lassen dies die 8 chich-buchsen vermuten auf dem alles mögliche an feld-wald-und-wiesen transistoren verbaut ist. wenn also jemand so nett wäre ein schaltplänchen zu zeichnen und die eckdaten eines transistors nennen, sodass ich in meiner elektroschrott-sammlung einen suchen kann.
Könnte man nicht einfach einen Widerstand in Reihe zum Taster einbauen? Dieser Widerstand müsste dann wesentlich kleiner als der obere sein, damit der sich ergebende Spannungsteiler auch eine entsprechend kleine Spannung über dem Kondesator produziert. Allerdings steigt dann erstens die Dauer, bis der Kondensator wieder aufgeladen ist (Faktor 10-100 vermutlich) und zweitens die Kapazität des Kondensator wäre ziemlich groß.
Ganz einfach: Ein Elko(100...1000µ) wird über ein Taster und einem Widerstand (1...100k) aufgeladen (Minus-Pol-Elko auf GND). Die Basis eines Transistors, Transistor in Emitterschaltung (Emitter auf GND), wird über einen Basiswiderstand (10...100k) an den ELKO geschaltet. Kollektor Transistor an µC Reset. Eventuell muss die Schaltung durch zusätzliche Dioden und Widerstände verfeinert werden, da sie, nachdem die Taste betätigt wird, etwas brauch, um en Elko wieder zu entladen. Bernhard
@Rahul Deine Variante ist auch nicht zu verachten, könnte ev. Probleme beim programmieren geben Bernhard
@ Bernhard Schulz ich habs mal versucht aufzubauen (siehe anhang), leider funktioniert es nicht. spannung geht beim schließen des tasters sofort auf (fast) 0, baut sich dann langsam wieder auf 5V auf. was habe ich falsch gemacht?
Es fehlt ein Widerstand zwischen Taster und Elko. Zitat: "Ein Elko(100...1000µ) wird über ein Taster und einem Widerstand (1...100k) aufgeladen (Minus-Pol-Elko auf GND)."
danke, das abfallen der spannung habe ich nun auf so ca. 1sek eingestellt, allerdings dauert es jetzt ungefähr 5 mal so lange, bis sie wieder annähernd auf 5V ist. wie könnte man das lösen?
Wenn du noch mehr Transistoren verwenden willst, bist du bald beim monotstabilen Multivibrator (auch Monoflop genannt).
so wie ich das bei wikipedia gelesen habe, ist das genau was ich suche. jetzt muss ich nur noch einen schönen schaltplan finden. danke @ rahul
Warum die Verzögerung nicht im µC implementieren? Eine Entprellung braucht man eigentlich sowieso, dann ist das implementieren einer Verzögerung auch kein allzu großer Aufwanfand mehr.
> so wie ich das bei wikipedia gelesen habe, ist das genau was ich > suche. jetzt muss ich nur noch einen schönen schaltplan finden. mann, mann, mann. was schreib ich denn heute wieder für einen müll. ich will natürlich keinen monoflop, sondern eher sowas wie einen umgekehrten monflop, also ein langes auslösesignal, und dann erst ein kurzes ausgangssignal. > Warum die Verzögerung nicht im µC implementieren? Eine Entprellung > braucht man eigentlich sowieso, dann ist das implementieren einer > Verzögerung auch kein allzu großer Aufwanfand mehr. weil ich keine zeit hab. eine entprellung bräuchte ich nur für diesen einen taster. außerdem möchte ich gerne sowenig wie möglich 'unnützes' zeug rechnen und überprüfen müssen zu gunsten einer hohen auflösefrequenz für die messwert erfassung.
@johannes >allerdings dauert es jetzt ungefähr 5 mal so lange, bis >sie wieder annähernd auf 5V ist. >wie könnte man das lösen? Durch Reihenschaltung eines Widerstandes (400ohm...1k) und einer Diode(Katode zeigt gegen GND) vom Taster gegen GND. Bernhard
>ich will natürlich keinen monoflop
Doch willst du wohl!
Dein Monoflop muss nur auf die letzte Flanke (das Loslassen) reagieren.
Dazu sollte man den Taster per RC-Glied entprellen.
Solange der Taster gedrückt ist, liegt am Eingang des Monoflop bspw.
L-Pegel. Lässt man den Taster jetzt los, gibt es eine positive Flanke
am Eingang des Monoflop, woraufhin das Monoflop seinen Impuls liefert.
Welche Bausteine man dafür braucht, weiß ich jetzt aber nicht bzw.
müsste ich jetzt auch raussuchen (werden aber mehr als nur ein R und C
sein...).
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.