mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pin zeitverzögert auf Masse ziehen?


Autor: Johannes Permoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
+----------- VCC
              |
              |
             +-+
             | |
             | |
             +-+
              |
              |
      +-------o----------->  RESET
      |       |
      |       |
    \       -----
     \      -----
      |       |
      |       |
  ----o-------o------------ GND

Über R und C kannst du die Zeit bestimmen. Nach
dem Motto:  t = R*C

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Karl Heinz Buchegger

Deine Schaltung bewirkt aber, dass der Reset-Pin, beim betätigen des
Tasters sofort gegen GND gezogen wird.

Bernhard

Autor: Johannes Permoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Jaeng einfach noch einen Enladewiderstand zwischen Taster
> und C.
Aeh nein. Da hab ich jetzt aus dem Bauch heraus nicht nachgedacht.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Johannes Permoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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ß.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rahul

Deine Variante ist auch nicht zu verachten, könnte ev. Probleme beim
programmieren geben

Bernhard

Autor: Johannes Permoser (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@ 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?

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)."

Autor: Johannes Permoser (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du noch mehr Transistoren verwenden willst, bist du bald beim
monotstabilen Multivibrator (auch Monoflop genannt).

Autor: Johannes Permoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Johannes Permoser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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...).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.