Forum: Mikrocontroller und Digitale Elektronik Entprellen mit Kondensator


von Nicolas I. (freeint)


Lesenswert?

Hallo zusammen,

ich habe eine kleine Frage bezüglich Entprellung von Tastern. Das 
Tutorial hab ich mir schon angesehen, das liefert allerdings keine 
Antwort.

Es geht um Folgendes:
Ich betreibe mehrere Taster active-low an einem ATmega32. Normalerweise 
würde ich mit einem 10kOhm VCC an den Pin ziehen, und den Taster an GND 
hängen. Jetzt möchte ich diesen Taster mit einem 330nF Kondensator 
entprellen, der ja zwischen VCC und GND direkt vor dem Pin hängt. Wenn 
ich jetzt allerdings den internen PullUp verwenden möchte, habe ich vor 
dem uC kein VCC wo ich den Kondensator dranklemmen könnte. Wie mach ich 
das jetzt am besten?

Also kurz zusammengefasst:

uC mit akt. pullup -------Taster------GND
Wo hänge ich den Kond. hin, ohne extra einen externen PullUp 
dazuzubauen?

Danke euch! :D

Nico

von Peter D. (peda)


Lesenswert?

Nicolas Inden schrieb:
> Das
> Tutorial hab ich mir schon angesehen, das liefert allerdings keine
> Antwort.

Das wundert mich aber.
Die richtige Antwort sollte sein, schmeiß die Kondensatoren ganz ganz 
weit weg.


Peter

von Duesendieb (Gast)


Lesenswert?

Nicolas Inden schrieb:
> uC mit akt. pullup -------Taster------GND
                          +
                          ----C---------gnd

von Udo S. (urschmitt)


Lesenswert?

Wenn Du unbedingt Hardwareentprellung machen willst, dann nimm einen 
Taster mit Umschaltkontakten und setz ein RS-Flipflop dahinter, oder 
nimm ein Monoflop mit entsprechender Zeitkonstante oder was 1000 fach 
funktioniert und deutlich weniger aufwendig ist: mach 
Softwareentprellung wie im Tutorial.

von Tom M. (tomm) Benutzerseite


Lesenswert?

Nicolas Inden schrieb:
> uC mit akt. pullup -------Taster------GND
> Wo hänge ich den Kond. hin, ohne extra einen externen PullUp
> dazuzubauen?

Es ist irrelevant, ob der Pullup intern oder extern ist.
Kondi zwischen uC und Taster an GND.
Siehe Entprellung.

von Nicolas I. (freeint)


Lesenswert?

Ok dann mach ich die Softwareentprellung, auch kein Problem. Mich 
interessiert die Sache mit den Kondensatoren nur, da das auf dem Pollin 
Evaluationsboard auch so umgesetzt wurde.

PS: Das Tutorial schweigt sich über Kondensatoren aus, es steht nicht 
drin, dass es nicht geht :)

von Carsten W. (eagle38106)


Lesenswert?

Taster entprellt man nicht mit parallelgeschalteten Kondensatoren. Das 
macht man mit einer Interrupt-Routine im Controller:

Der Beispielcode läuft auf einem ATmega168 mit 1MHz internem Oszillator.
1
#include <avr/interrupt.h>
2
#include <avr/io.h>
3
#include <avr/pgmspace.h>
4
5
// Set the controller fuses from the source code to avoid wrong settings.
6
FUSES =
7
{
8
  .low      = 0x62,               // no CKDIV8
9
  .high     = 0xD7,               // EESAVE
10
  .extended = 0xFF,               // BOOT FLASH @ $1F80 w/ 128 words
11
};
12
13
// Port D
14
#define BUTTON_INIT   (1 << 0)              // Initializes (AKA reset) measurement & EEPROM
15
#define BUTTON_START  (1 << 1)              // Triggers measurement cycle
16
#define BUTTON_PLAY   (1 << 2)              // Plays the recorded data.
17
#define BUTTON_msk    (BUTTON_INIT | BUTTON_START | BUTTON_PLAY)
18
#define JUMPER_SPEED  (1 << 3)              // Low or high speed replay
19
#define JUMPER_TASK   (1 << 4)              // Selects task 2 (low) or task 4 (high) mode
20
21
typedef volatile unsigned char  tVUINT8;
22
23
tVUINT8 Button  = 0;              // Debounced pushbutton/jumper information
24
25
// Timer 0 overflow interrupt service routine.
26
// Called every 500µs (512µs to be exact) to generate a 1000 Hz tone.
27
28
ISR (TIMER0_OVF_vect)
29
{
30
  static tUINT8  button_new = 0;
31
  static tUINT8  button_old = 0;
32
  static tUINT8  button_count = 0;
33
  static tUINT8  prescaler  = 1;
34
35
  // Reload the timer with -2
36
  TCNT0 = 0xFE; // == (tUINT8) (tINT16)(-(F_CPU / 256 * 500e-6 + 0.5));
37
38
...
39
40
  // Debouncer for pushbutton/mode switch input
41
  prescaler --;
42
  if (prescaler == 0)
43
  {
44
    prescaler = 20;                               // Do the debouncing every 10ms.
45
46
    button_new = ~PIND & BUTTON_msk;              // Only the button pins and positive logic.
47
    if (button_new == button_old)
48
    {
49
      // Fresh sampled buttons are the same as before
50
      if (button_count < 3)
51
        // Wait one more time before declaring the sample stable/valid.
52
        button_count ++;
53
      else if (button_count == 3)
54
        // Report the stable/valid sample after 40ms to the main program loop.
55
        Button = button_new;
56
    }
57
    else
58
    {
59
      // Last sample and this one do not match.
60
      button_old = button_new;
61
      button_count = 0;
62
    }
63
  }
64
}
65
66
int main (void)
67
{
68
  // Configure port pins
69
  DDRD = 0; // Inputs only with pullup resistors
70
  PORTD = BUTTON_INIT | BUTTON_START | BUTTON_PLAY | JUMPER_SPEED | JUMPER_TASK;
71
72
  // Timer 0 with 256 prescaler
73
  TCCR0B = (1 << CS02);
74
  TIMSK0 |= 1 << TOIE0;
75
76
  // Enable global interrupts;
77
  sei ();
78
79
  while (1)
80
  {
81
    // Place your code here
82
    ...
83
  }
84
}

Gruß
Carsten

von Nicolas I. (freeint)


Lesenswert?

Also schonmal vielen Dank für die schnellen Antworten! Ich bin gerade 
ziemlich erstaunt, wie schnell hier auf die Fragen geantwortet wird :D

Wie gesagt, die Softwareentprellung per Interrupt ist mir bekannt. Mich 
interessiert nur ob es eben auch so funktioniert.

von Karl H. (kbuchegg)


Lesenswert?

Nicolas Inden schrieb:
> Ok dann mach ich die Softwareentprellung, auch kein Problem. Mich
> interessiert die Sache mit den Kondensatoren nur, da das auf dem Pollin
> Evaluationsboard auch so umgesetzt wurde.
>
> PS: Das Tutorial schweigt sich über Kondensatoren aus, es steht nicht
> drin, dass es nicht geht :)

Aus gutem Grund.

> da das auf dem Pollin
> Evaluationsboard auch so umgesetzt wurde.

Im Forum finden sich viele Threads, die davon berichten dass es so wie 
auf dem Pollin Board implementiert, nicht zuverläsig geht. Der 
Kondensator bringt die Versorgungsspannung kurzzeitig zum einbrechen, 
der µC resettet.

Und ja: Es gibt auch genügend Umbauanleitungen um das Problem zu 
beheben. Die meisten drehen sich darum, den ganzen Klapperatismus 
stillzulegen und normale SW-Entprellung zu machen.

Es geht schon mit Kondensatoren. Nur ist der Aufwand hoch.

von Nicolas I. (freeint)


Lesenswert?

Alles klar, damit beantwortet :)

Danke an alle!

von Carsten W. (eagle38106)


Angehängte Dateien:

Lesenswert?

Direkt am Port-Pin sieht das Signal vom Taster ungefähr so aus...

Mit einem Kondensator parallel zum Taster sieht das Signal nicht viel 
besser aus. Beim Schließen des Tasters gibt es einen hässlichen 
Kurzschluß und beim Öffnen erzeugt man eine Kondensator-Ladekurve. Je 
nach Schaltschwelle des Eingangspins gibt das immer noch 
Mehrfach-Impulse.

von Jim (Gast)


Angehängte Dateien:

Lesenswert?

Moinmoin,

Uraltes Thema - immernoch interessant.
Meiner Meinung nach Hardware-Entprellung / Entstörung besser als 
Software. Bei einem Eingang ok, und bei 15? Unnötige Rechenzeit.

Was spricht gegen diese Schaltung? (Anhang) (Keine Kurzschlüsse, 
Entprellzeit lässt sich mit Dimensionierung des Kondensators einstellen) 
Die PINs am mC sollten in der Regel doch Hysterese haben, also hab ich 
bei abgeflachter Kurve durch den Kondensator doch ein sauberes HIGH / 
LOW, oder sehe ich da falsch?

Gruß

von Teo D. (teoderix)


Lesenswert?

Jim schrieb:
> sehe ich da falsch?

Ja.... Was? So gut wie alles....


PS: Bist übrigens der Gewinner der Medaille "100Mil. Rad-Erfinder"!

von H.Joachim S. (crazyhorse)


Lesenswert?

Jim schrieb:
> und bei 15? Unnötige Rechenzeit.

Lächerlich kleiner Aufwand an Rechenzeit. Wenn der MC das nicht mehr 
schafft, ist er eh fehl am Platze weil er komplett am Limit läuft.
Dein Hardwareaufwand für 15 Taster ist dagegen nicht zu vernachlässigen.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Auch nach 10 Jahren ist Entprellen mittel Kondensatoren immer noch 
Murks. Vielleicht sogar noch mehr.

Jim schrieb:
> Unnötige Rechenzeit.
Entprellung per Software skaliert gut. Da brauchen 15 Tasten nicht viel 
mehr, als eine. Außerdem hast Du bei einem µC keine unnötige Rechenzeit. 
Das machte der problemlos nebenbei. Und wenn er doch mal ausgelaster 
sein sollte, nimm einen größeren - der Markt ist voll davon.

von HildeK (Gast)


Lesenswert?

Jim schrieb:
> Was spricht gegen diese Schaltung?

Wenn du schon unbedingt HW-Entprellung machen willst:
Beide Widerstände sind zu groß.
Der am Taster könnte 500Ω ... 1kΩ haben, es reicht, den Entladestrom des 
Kondensators durch den Taster zu begrenzen auf einen Wert, der auch noch 
Kontaktreinigung macht und dem Taster nicht schadet.
Der zweite Widerstand ist auch grenzwertig hoch: intern hast du (z.B. 
beim Tiny) 20k-50k. Der Spannungsteiler zu deinen ursprünglichen 2*4k7 
liefert bei gedrückter Taste dann 1/3 ... 1/6 VCC als LOW. Kann, wenn er 
intern zufällig 50k hat, noch funktionieren, hat er 20k funktioniert es 
nicht mehr. Ich hatte mal bei einem Exemplar den internen PU zu ca. 35k 
bestimmt. Da ginge es dann auch schon nicht ...
Also ersetzte den zweiten Widerstand einfach durch einen Draht.
Außerdem muss bei einer derartigen Beschaltung der µC-Eingang ein 
Schmitttriggereingang sein, sonst verletzt du andere Parameter (max. 
Anstiegszeit).

von Wolfgang (Gast)


Lesenswert?

Jim schrieb:
> Meiner Meinung nach Hardware-Entprellung / Entstörung besser als
> Software. Bei einem Eingang ok, und bei 15? Unnötige Rechenzeit.
Ob der µC 1/1000 oder 2/1000 seiner Rechenzeit mit der Tastenabfrage 
verbringt, ist sch..ß egal.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hi,
wurde so vom Bausatzvertreiber angegeben.
Funktioniert sogar. Aber S1 wird wohl als erster seinen "Goldbelag" 
abgefunkt haben.
Die Entprellung dient wohl eher dem Schutze des Schalters/Tasters vor 
vorzeitigem Verschleiß. Und für korrekte Resettasterbeschaltung gibt es 
schon eigens eine ATMEL App Note.
Durch den momentartigen Lade/Entladestrom entsteht nämlich ein "Glitch", 
der dem Reseteingang zur Gefahr werden kann. An sowas denkt man 
natürlich zunächst kaum.
Zitat:
"...If an external switch is connected to the RESET pin, it is important 
to add a series resistance. Whenever the switch is pressed, it will 
short the capacitor and the current (I) through the switch can have high 
peak values. This causes the switch to bounce and generate steep spikes 
in 2ms - 10ms (t) periods until the capacitor is discharged. The PCB 
tracks and the switch metal introduces a small inductance (L) and 
thehigh current through these tracks can generate high voltages up to VL 
= L * dI/dt.
This spike voltage VL is most likely outside the specification of the 
RESET pin. ..."
/Zitat
ATMEL App Note 2521

Soo also nicht.

ciao
gustav

: Bearbeitet durch User
von spess53 (Gast)


Lesenswert?

Hi

>/Zitat
>ATMEL App Note 2521

Also ich kenne das Zitat aus der AppNote AVR042.

MfG Spess

von MaWin (Gast)


Lesenswert?

Nicolas I. schrieb:
> Jetzt möchte ich diesen Taster mit einem 330nF Kondensator entprellen,
> der ja zwischen VCC und GND direkt vor dem Pin hängt

Wenn ein Kondensator zwischen VCC und GND hängt, dient er offenkundig 
nicht zum Entprellen.

Nicolas I. schrieb:
> Mich interessiert die Sache mit den Kondensatoren nur, da das auf dem
> Pollin Evaluationsboard auch so umgesetzt wurde.

Das Pollin Board ist ein ganz übles Beispiel. Die Schaltung taugt 
nichts. Sie entprellt auch nicht.

Aber das war 2010. Scheiss Nekrophilie.

Jim schrieb:
> Uraltes Thema - immernoch interessant.
> Meiner Meinung nach Hardware-Entprellung / Entstörung besser als
> Software. Bei einem Eingang ok, und bei 15? Unnötige Rechenzeit.

Keine Rechenzeit, einlesen musst du die Taster sowieso, wer alle 10ms 
einliest entprellt automatisch.

> Was spricht gegen diese Schaltung

Die ist grober Unsinn. Beide Varianten. Offenbar ist dir das Problem und 
die Lösung nicht bekannt. Dann hilft nur lernen.

http://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29.1

Beitrag #6248311 wurde von einem Moderator gelöscht.
Beitrag #6248322 wurde von einem Moderator gelöscht.
Beitrag #6248342 wurde von einem Moderator gelöscht.
Beitrag #6248377 wurde von einem Moderator gelöscht.
von c-hater (Gast)


Lesenswert?

Also nochmal ohne exlizite Beleidigung:

Einer der hiesigen Regulars mit heutiger Zensor-Macht ist verantwortlich 
für den Fake mit den angeblich falschen Entprell-Kondensatoren bei den 
Pollin-Boards.

Er nutzt seine Zensor-Macht, um alle Erwähnungen dieses Fakes zu 
unterdrücken (wohl, weil selbst ihm inzwischen klar geworden ist, wie 
unhaltbar seine damalige Auffassung ist).

Und wenn er das weiterhin tut, wird er das bereuen. Bisher habe ich 
definitiv und nachweislich eine Politik der De-Eskalation betrieben, 
aber irgendwann ist es genug mit der Selbstherrlichkeit der Mods. Es 
kann und darf nicht sein, dass sie ihre Macht dazu nutzen, eigene 
Jugendsünden zu vertuschen. Sie sollten dazu stehen und die Sache 
ENDLICH richtigstellen. Jeder kann irren, das ist doch vollkommen 
normal und nicht ehrenrührig.

Ehrenrührig ist, auf einer völlig idiotischen Behauptung zu bestehen...

Wenn ihr den Krieg wollt, sollt ihr ihn bekommen. Ich langweile mich 
sowieso. Das Absägen eines unsäglich inkompetenten Moderators wäre auch 
eine durchaus nützliche Aktion zum Nutzen der Allgemeinheit. Vermutlich 
sogar deutlich nützlicher als ein neues Buddelschiff.

Um das ganz klar zu stellen: ich bin an einem nützlichen µC.net 
interessiert. Und deswegen will ich den Krieg auch nicht. Aber ihr lasst 
mir keine Wahl. Es gibt einfach Grenzen des Akzeptablen.

von Simpel (Gast)


Lesenswert?

Die Platine in Blasenfolie einwickeln... dann ist sie sicher 
entprellt...

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

spess53 schrieb:
> Also ich kenne das Zitat aus der AppNote AVR042.

Yep,
ciao
gustav

von Stefan F. (Gast)


Lesenswert?

Ich habe das Gefühl, dass der durchaus wichtige Hinweis von HildeK 
untergegangen ist:

Die internen Pull-Up Widerstände sind zu hochohmig, um langfristige 
Funktion des Tasters zu gewährleisten. Ich lasse immer mindestens 1 mA 
fließen, damit habe ich gute Erfahrung gemacht.
1
              Zum IC
2
                o
3
                |   100Ω    Taster
4
        4,7kΩ   |           ____
5
+5V o---[===]---+---[===]----  -------| GND
6
                |
7
                |    1µF
8
                +-----||--------------| GND

Früher, als ich noch dumm war, hatte ich 100 kΩ und 100 nF verwendet und 
mich dann stets gewundert, dass die Taster nach einigen Jahren kaputte 
Kontakte hatten.

Bei den großen Licht-Tastern, die man in Treppenhäusern installiert, 
muss übrigens in der Regel sehr viel mehr Strom fließen, damit sie lange 
halten.

von MaWin (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich lasse immer mindestens 1 mA fließen

Gut, aber deine Schaltung ist schlecht, unsymmetrisch und grosse 
Kondensatoren.

Die http://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29.1 zeigt die 
viel bessere:
1
 VCC
2
  |
3
 4k7
4
  |        IC mit Schmitt-Trigger
5
  +-100k-+--|>o-- 
6
  |      |
7
Taster  100n
8
  |      |
9
 GND    GND

von Peter D. (peda)


Lesenswert?

c-hater schrieb:
> Fake mit den angeblich falschen Entprell-Kondensatoren bei den
> Pollin-Boards

Beitrag "Pollin AVR Board Fehler beim drücken der Taster / Qualität der Bauteile"

von Stefan F. (Gast)


Lesenswert?

MaWin schrieb:
> zeigt die viel bessere:

Ja ist besser.

Eigentlich sollte man allerdings per Software entprellen, wo es geht.

von wendelsberg (Gast)


Lesenswert?

Jim schrieb:
> Bei einem Eingang ok, und bei 15?

45 (fuenfundvierzig) zusaetzliche sinnlose Bauteile.

wendelsberg

von snafu (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Früher, als ich noch dumm war, hatte ich 100 kΩ und 100 nF verwendet und
> mich dann stets gewundert, dass die Taster nach einigen Jahren kaputte
> Kontakte hatten.

... bist du dir sicher, dass es wirklich besser geworden ist mit dir?!
Weil deine Resetschaltung 4.7k/1uF könnte  ein Problem haben, wenn 
"kurz" hintereinander Power-on/off Zyklen folgen, was praktisch gut 
vorstellbar ist.

Wenn der C bzw. die RC-Zeitkonstante zu groß gewählt wird (wofür es 
keinen Grund gibt), dann hat der C nicht mehr genug Zeit sich zu 
entladen zwischen den Power-on/off Zyklen und es erfolgt dann KEIN Reset 
mehr.

Die Lösung ist 50Jahre oder älter bekannt, eine Diode parallel zum C, 
die diesen dann im Power-off Zustand entlädt.

Stefan ⛄ F. schrieb:
> um langfristige
> Funktion des Tasters zu gewährleisten. Ich lasse immer mindestens 1 mA
> fließen, damit habe ich gute Erfahrung gemacht.

Erfahrung ersetz nicht unbedingt notwendiges elektrotechnisches 
Wissen/Verständnis.
Ich bezweifle, das die 1mA irgend etwas mit deiner Beobachtung bzgl. der 
Zuverlässigkeit der eingesetzen Taster zu tun hat!

Der Unsinn, der hier von Dritten, bzgl. Kontaktfreibrennen oft 
formuliert wird, ist im mA Bereich natürlich frei von physikalischer 
Wirklichkeit und nicht denkbar.
Es gibt mehr als einen bekannten Grund, was die Ursache für 
unzuverlässige Taster/Schalter sein kann ...

von Stefan F. (Gast)


Lesenswert?

wendelsberg schrieb:
> Jim schrieb:
> Bei einem Eingang ok, und bei 15?

45 (fuenfundvierzig) zusaetzliche sinnlose Bauteile.

Es sind "nur" 30, denn stärkeren Pull-Up Widerstand sollte man in beiden 
Fällen vorsehen. Wegen EMV und zugunsten der Lebensdauer der Kontakte.

von Stefan F. (Gast)


Lesenswert?

snafu schrieb:
> Weil deine Resetschaltung 4.7k/1uF könnte  ein Problem haben, wenn
> "kurz" hintereinander Power-on/off Zyklen folgen, was praktisch gut
> vorstellbar ist.

Das war jetzt nicht als Reset-Schaltung gedacht, sondern für normale 
Taster.

snafu schrieb:
> Ich bezweifle, das die 1mA irgend etwas mit deiner Beobachtung bzgl. der
> Zuverlässigkeit der eingesetzen Taster zu tun hat!

Dann google mal nach dem Stichwort "Wetting Current". Manche Hersteller 
von Schaltern/Tastern/Relais machen dazu sogar konkrete Angaben im 
Datenblatt.

Kleine Starthilfe:
https://en.wikipedia.org/wiki/Wetting_current
https://www.teradyne.com/File%20Library/Defense-Aero/Technical%20Papers/2011/Paton_The-Test--Usage-and-Maintenance-of-Power-Switching-Subsystems_2011.pdf
https://www.allaboutcircuits.com/textbook/digital/chpt-4/switch-contact-design/
https://omronfs.omron.com/en_US/ecb/products/pdf/en-vx.pdf (Absatz 
"Contact Specifications" und "Using micro loads")

Du magst ja stolz auf dein Fachwissen sein, aber Erfahrung ist auch 
wichtig. Dieses Thema steht leider in fast keinem Lehrbuch.

> Der Unsinn, der hier von Dritten, bzgl. Kontaktfreibrennen oft
> formuliert wird, ist im mA Bereich natürlich frei von physikalischer
> Wirklichkeit und nicht denkbar.

Bei dem Begriff "brennen" stimme ich zu, ansonsten ist das schon 
korrekt.

von snafu (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Das war jetzt nicht als Reset-Schaltung gedacht, sondern für normale
> Taster.

... dann wäre das Problem immer noch beachtenswehrt bzgl. der Erkennung 
von double-clicks, sprich dein C ist einfach zu gross!

Stefan ⛄ F. schrieb:
> Dann google mal nach dem Stichwort "Wetting Current". Manche Hersteller
> von Schaltern/Tastern/Relais machen dazu sogar konkrete Angaben im
> Datenblatt.

... kenne ich doch alles, nur ob 1mA oder x-mA helfen steht in den 
Sternen, das Thema ist viel komplexer bzgl. Kontaktmaterialen und 
Ambientparametern. Die Herstellerangaben diesbezüglich sind auch nur 
guess und nicht mal wirklich educated guess.

Stefan ⛄ F. schrieb:
> Du magst ja stolz auf dein Fachwissen sein, aber Erfahrung ist auch
> wichtig.  Dieses Thema steht leider in fast keinem Lehrbuch

Echtes Wissen bedeutet zu wissen, dass man nichts weiss. Andere mit 
wenig/kein Wissen denken zuerst immer das Gegenteil, warum wohl?!

Erfahrung/Beobachtung ist der abschließende und wichtigste Beweis!
Und auch die Quelle/Ursache grosser Irrtümer, weil subjektbezogen.

von MaWin (Gast)


Lesenswert?

snafu schrieb:
> Ich bezweifle, das die 1mA irgend etwas mit deiner Beobachtung bzgl. der
> Zuverlässigkeit der eingesetzen Taster zu tun hat!

Andere brauchen nicht zweifeln, sondern gucken ins Datenblatt des 
Tasters nach dem Mindeststrom. Bei seriösen Hetszellern wird der 
angegeben.

Ob 10mA, 1mA oder 100uA.

von Stefan F. (Gast)


Lesenswert?

snafu schrieb:
> ... dann wäre das Problem immer noch beachtenswehrt bzgl. der Erkennung
> von double-clicks, sprich dein C ist einfach zu gross!

Rechne mal die Zeitkonstante von 100nF und 4,7 kΩ aus. So schnell kannst 
du nicht klicken. Abgesehen davon war es bloß ein simples Beispiel. Wenn 
du ein Beispiel zeigen kannst, dass allgemeingültig immer passt, dann 
mach das doch bitte.

Ansonsten erkläre doch mal, warum du mich und HildeK zuerst wegen dem 
Hinweis zum Wetting Current kritisierst um direkt danach zu schreiben 
"kenne ich doch alles...". Wolltest du nur schlechte Stimmung machen?

von HildeK (Gast)


Lesenswert?

snafu schrieb:
> Der Unsinn, der hier von Dritten, bzgl. Kontaktfreibrennen oft
> formuliert wird, ist im mA Bereich natürlich frei von physikalischer
> Wirklichkeit und nicht denkbar.
Mag sein, ob oder ob nicht hängt auch stark vom Aufbau des Tasters ab.
Nicht gut ist aber das Entladen eines (größeren) Kondensators mit einem 
kleinen Mikrotaster ohne strombegrenzenden Widerstand. Aber auch dass 
hängt vom Kondensatorwert ab, von dessen ESR, von den 
Zuleitungswiderständen und mehr.

von Stefan F. (Gast)


Lesenswert?

HildeK schrieb:
> Nicht gut ist aber das Entladen eines (größeren) Kondensators mit einem
> kleinen Mikrotaster ohne strombegrenzenden Widerstand.

Deswegen habe ich da 100Ω eingezeichnet.

von snafu (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> kritisierst um direkt danach zu schreiben
> "kenne ich doch alles...". Wolltest du nur schlechte Stimmung machen?

... ich kritisiere selten/niemanden, ich denke aber oft laut nach!
Du musst hier schon wirklich oft gelitten haben, oder wie erklärt sich 
diese einseitige negative Denke?

Stefan ⛄ F. schrieb:
> https://omronfs.omron.com/en_US/ecb/products/pdf/en-vx.pdf (Absatz
> "Contact Specifications" und "Using micro loads")

... hier werden Switches für low load beschrieben mit brauchbaren/guten 
Kontaktmaterialen ...

Das dort verwendete Zuverlässigkeitmodell lässt eine Aussage mit 60% 
Aussagesicherheit/Wahrscheinlichkeit zu, dass einer von 2Mio 
Schaltvorgängen fehlerhaft ist ... unter definierten Randbedingungen.

... und was lerne ich dort? Im Prinzip nichts, es soll dem Anwender nur 
ein besseres Gefühl der Sicherheit geben, sprich eher Marketing!

... die definierten Randbedingungen werden kaum korrelieren mit den der 
Anwender und 60% Aussagesicherheit ist praktisch 50/50!

Worum gehts also, ... die Aussage 1mA löst oder verbessert ein Taster 
Zuverlässigkeitproblem ist allgemein betrachtet unbegründet.

Also besser 5/10mA? nein, wäre auch unbegründet und könnte auch ins 
Gegegenteil führen bzgl. Kontaktmaterialabtragung ...

Schlussfolgerung, die no-name Taster/Schalter aus China kannst du alle 
vergessen, wenn es um Zuverlässigkeit geht, da helfen auch 1mA 
Schaltstrom nicht wirklich ...

Praktisch gehts dann Richtung sealed/Reedkontakt, Hall-Sensor oder Touch 
Switches.

von HildeK (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Deswegen habe ich da 100Ω eingezeichnet.

Ich bin ja bei dir!

von snafu (Gast)


Lesenswert?

HildeK schrieb:
> Nicht gut ist aber das Entladen eines (größeren) Kondensators mit einem
> kleinen Mikrotaster ohne strombegrenzenden Widerstand. Aber auch dass
> hängt vom Kondensatorwert ab, von dessen ESR, von den
> Zuleitungswiderständen und mehr.

... der wichtigste Parameter ist die wirksame Induktivität beim on/off 
Vorgang und die daraus folgende induzierte Spannung!

Daher grosser ESR/Zuleitungswiderstände wären jetzt besser, aber 
ansonsten ganz schlecht und ungewohlt.

Das ganze Thema hat eher wenig mit Mikrotaster/Swichtes zu tun, sondern 
gilt allgemein auch für elektronische Schalter.

Zu allererst gehts um die induzierte Spannung, die gefährdet/killt 
möglicherweise die Halbleiter die da dran hängen.

Beitrag #6249371 wurde von einem Moderator gelöscht.
von HildeK (Gast)


Lesenswert?

snafu schrieb:
> ... der wichtigste Parameter ist die wirksame Induktivität beim on/off
> Vorgang und die daraus folgende induzierte Spannung!

Ja, wenn du eine Induktivität schaltest.
Mit der Induktivität einer 10cm oder 20cm Drahtverbindung (Größenordnung 
1nH/cm) killst du keinen Halbleiter und erst recht keinen mechanischen 
Schalter.

Geprellter schrieb im Beitrag #6249371:
> Denk an die Abstandsregel und den Schundmutz, äh Mundschutz!

Ich bin ihm in der Sache nahe, nicht spatial! :-)

von Peter D. (peda)


Lesenswert?

Stefan ⛄ F. schrieb:
> Bei den großen Licht-Tastern, die man in Treppenhäusern installiert

Die sind dazu gedacht, den Kaltstrom aller Glühlampen auszuhalten und 
für 230VAC ausgelegt. Für 3,3V oder 5V sind sie daher völlig 
unbrauchbar. Manchmal steht im Datenblatt, daß sie ab 24V noch sauber 
schalten können.

Taster für Digitalschaltungen haben vergoldete Kontakte oder Leitgummi 
und können sehr kleine Spannungen und Ströme zuverlässig schalten.

: Bearbeitet durch User
von Karl B. (gustav)


Lesenswert?

Oh Mann,
auch hier wieder Besonderheiten durch "neue" Beleuchtungstechnik.
https://www.theben.de/ocsmedia/optimized/full/o11643v78%20ELPA%208%20-%20Datenblatt.pdf

Dachte, der Treppenlichttaster zieht nur ein bisschen mehr als die 50 mA
(für maximale Glimmlampenlast, ohne, dass Auslösestrom fließt.)

Da fließen keine 6A cos phi 0,3 drüber.
Und halten ewig.
ciao
gustav

von W.S. (Gast)


Angehängte Dateien:

Lesenswert?

Leute,
diese Diskussion hat ja bislang nur Frust und gereizte Stimmung 
gebracht. Wozu bloß?

Nicolas I. schrieb:
> ich habe eine kleine Frage bezüglich Entprellung von Tastern. Das
> Tutorial hab ich mir schon angesehen, das liefert allerdings keine
> Antwort.
> ...
> Also kurz zusammengefasst:
>
> uC mit akt. pullup -------Taster------GND
> Wo hänge ich den Kond. hin, ohne extra einen externen PullUp
> dazuzubauen?

Also:
Erstmal eines: Für einen simplen Taster bzw. "Knackfrosch" in einer 
Folientastatur und in ruhiger und sauberer Umgebung brauchst du 
überhaupt keinen Kondensator. In solcher Umgebung würde sogar der Pullup 
überflüssig sein, sofern der Port an sich einen integrierten Pullup 
besitzt.

Man erkennt das Drück-Ereignis daran, daß der Taster zuvor noch offen 
war und jetzt eben geschlossen ist und das ist der Zeitpunkt, wo man das 
Tastenereignis in seine Programmlogik einspeist und ab da prüft man auf 
das sichere und endgültige Losgelassensein der Taste - und zwar lang 
genug. All die eventuellen Prellereien zwischendurch müssen in dem "lang 
genug" enthalten sein. Das war's - für eine poplige Taste.
SO!

Aber: Es ist anders mit schäbigen (oxidierenden) Kontakten oder mit 
Grob-Kontakten für dicken Strom. Die brauchen einen deutlichen Strom, um 
zu funktionieren. Da brauchst du den Pullup, um je nach Taster ein bis 
viele mA einzuprägen.

Und: Die ruhige und saubere Umgebung kannst du heutzutage vergessen. 
Schon der Betrieb deiner Elektronik an einem Stecker-Schaltnetzteil 
macht dir Probleme, die du nur durch 2 Maßnahmen in den Griff kriegst:

1. ein Pullup, der deutlich niederohmiger ist als die äquivalenten 
60..200kOhm, die von den chipinternen Ports der meisten µC geliefert 
werden. Das ist gegen den 50 Hz Gleichtakt, der an deiner Elektronik 
anliegen kann. So etwa 3k3 .. 22k sind am ehesten angemessen.

2. ein Kondensator über den Kontakt, der einen ausreichenden 
HF-Kurzschluß darstellt. Das ist gegen das zu erwartende Choppernoise 
aus diversen Quellen rings umher - auch die deines Netzteiles. So etwa 
10..22 nF reichen hier völlig aus. Alles was größer ist, macht nur 
Probleme.

Fazit: mit 4k7 .. 22k als Pullup und 10..22nF parallel zum Kontakt 
fährst du bei den üblichsten Kleinsignaltasten und Folientasten am 
besten.

Grobschlächtigere Taster und/oder Taster mit offenliegenden billigen 
Kontakten (siehe Bild) brauchen mehr Strom, um überhaupt benutzbar zu 
sein.
(Ich weiß das! denn an meinem AR7030 ist genau dieser Mist verbaut)

W.S.

von MaWin (Gast)


Lesenswert?

W.S. schrieb:
> Fazit: mit 4k7 .. 22k als Pullup und 10..22nF parallel zum Kontakt
> fährst du bei den üblichsten Kleinsignaltasten und Folientasten am
> besten.

Nein.

W.S. schrieb:
> diese Diskussion hat ja bislang nur Frust und gereizte Stimmung
> gebracht. Wozu bloß?

Wohl weil immer irgendwelche Leute ihren Unsinn als angeblich absolute 
Wahrheit posten.

-> man wählt den Kontaktstrom nach Datenblatt, und nicht irgendwie
-> man baut niemals Kondensatoren (aus welchem Grund auch immer) ohne 
strombegrenzende Widerstände an die Kontakte

von Stefan F. (Gast)


Lesenswert?

W.S.: Sage niemals nie!

Es könnte sein, dass das was du für Unsinn hältst, für andere Sinnvoll 
ist. Du bist nicht das absolute Mass aller Dinge, und auch nicht deine 
Lehrbücher.

Kondensatoren direkt am Kontakt haben einen sehr hohen Entladestrom. 
Dieser kann dabei helfen, die Kontakte Funktionsfähig zu halten (Wetting 
Current). Er kann die Kontakte aber auch schädigen, wenn die 
Energiemenge zu gross ist. Wie viel Energie zu gross ist, hängt wiederum 
vom Taster ab. Mit einem Widerstand kann man den Strom (wenn nötig) 
begrenzen. Nein, so ein Widerstand ist nicht generell zwingend 
notwendig.

Zwingend ist nur, dass wir alle irgendwann sterben.

von W.S. (Gast)


Lesenswert?

MaWin schrieb:
> Nein.

Es wäre allen eher geholfen, wenn du wenigstens versuchen würdest, deine 
Ansichten sachlich und fundiert zu begründen. Ein blödes "nein" ist mir 
z.B. einfach zu doof. Das klingt wie ein bockiges Kind, das nix einsehen 
will.

Herrje, wenn ich dran denke, wieviele abertausende Geräte mit ebenso 
abertausenden von Tasten dran von mir überall in der Welt 
herumwerkeln... und dann kommt mir hier einer daher, der aus simplem 
Trotz nix anderes sagen kann als "nein".


Stefan ⛄ F. schrieb:
> Es könnte sein, dass..

Du bist eher Programmierer, ja? Hast du mal ausgerechnet, was für eine 
Energiemenge bei einer Entladung von 22 nF von 3.3V auf 0 frei wird? Und 
wie der Verlauf der Stromstärke über die ersten 2 µs ist bei einer 
Leitungslänge von 5 cm (und idealem Schalter)? Mach mal, das Posten von 
so einer sachlich fundierten Simulation sollte etwas Klarheit in diese 
Diskussion bringen.

Ich sag's mal überspitzt: Selbst 1000 Ampere bei 3.3V binnen 1 
Femtosekunde gehen jedem Kontakt am A... vorbei.

Also: Herumorakeln kann man natürlich, und auch die Furcht vor dem "sehr 
großen" Entladestrom mag für die Vorstellung des einen oder anderen 
gegeben sein. Was da hilft, ist zum einen der Stift auf dem Papier zum 
Ausrechnen dessen, was da tatsächlich abgeht (oder eben nicht so abgeht, 
wie man es befürchtet) - und zum anderen die Berufserfahrung.

W.S.

von Stefan F. (Gast)


Lesenswert?

W.S. schrieb:
> Hast du mal ausgerechnet, was für eine
> Energiemenge bei einer Entladung von 22 nF von 3.3V auf 0 frei wird?
> ... gehen jedem Kontakt am A... vorbei.

Da meine ich doch auch. Ich kann mir nicht vorstellen, dass normale 
Schaltkontakte durch das bisschen Energie ernsthaft geschädigt werden.
Ging das aus meinem Beitrag nicht klar hervor?

Ich habe schon viele Geräte gesehen, wo die Taster mangels ausreichendem 
Strom kaputt gingen, aber noch kein einziges, dass durch simple 
Parallelschaltung eines kleinen (bis 100nF)  Kondensator Schaden 
genommen hat.

> Was da hilft, ist ... die Berufserfahrung.

Sehe ich acuh so.

> W.S.: Sage niemals nie!

Das wollte ich allerdings eigentlich an MaWin adressieren, nicht an 
dich.

von Ach Du grüne Neune (Gast)


Lesenswert?

Für eine Außenanlage haben wir einen 1uF Elko (12V) ohne 100R Widerstand 
direkt parallel zu einem Resettaster geschaltet. Der Resettaster wird 
aber nur im Fehlerfall gedrückt, also sehr selten.
Da ist ein Freibrennen der Oxidschicht ganz sinnvoll. Wahrscheinlich 
sind 1uF in diesem Fall sogar noch zu wenig.

von HildeK (Gast)


Lesenswert?

Peter D. schrieb:
> Stefan ⛄ F. schrieb:
>> Bei den großen Licht-Tastern, die man in Treppenhäusern installiert
>
> Die sind dazu gedacht, den Kaltstrom aller Glühlampen auszuhalten und
> für 230VAC ausgelegt.

LichtTASTER müssen eigentlich nicht für den Lampenkaltstrom ausgelegt 
sein. Wer hat schon nur einen Taster für die Lampe.
Aber sie sollten die Eltakos richtig schalten - meine tun es leider 
nicht alle, wahrscheinlich doch deshalb, weil es die selben Kontaktsätze 
sind wie in den Ein/Aus-Schaltern und der "Wetting Current" zu klein 
ist.

von Carsten W. (eagle38106)


Lesenswert?

HildeK schrieb:
> LichtTASTER müssen eigentlich nicht für den Lampenkaltstrom ausgelegt
> sein. Wer hat schon nur einen Taster für die Lampe.

Dem muß ich leider widersprechen! Es gab früher tatsächlich 3 Leiter 
Schaltungen für Treppenlicht Automaten, bei denen die Taster in Reihe zu 
den Leuchtmitteln lagen und der Automat parallel zu den Tastern. War aus 
heutiger Sicht völliger Blödsinn und nicht nachtriggerbar. Habe ich in 
alten Installationen mehrfach vorgefunden. Das waren dann uralte 
Automaten mit Quecksilberschalter und Bi-Metall Zeitglied.

Und zu der ganzen "Kondensator oder nicht, das ist hier die Frage" 
Diskussionen möchte ich nur anmerken, daß alles schon wiederholt 
geschrieben wurde: Kondensatoren sind nicht erforderlich. Wenn das doch 
jemand wider besseres Wissen macht, dann meistens schädlich für die 
Lebensdauer der Taster, weil ohne Entladewiderstand angeschlossen.

Fazit: Nun macht mal Schluß und hört auf, den toten Gaul noch weiter zu 
reiten.

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.