Hi ich entprelle meine Tasten normalerweise mit 10k/100nf.
Momentan bastel ich an einem USB interface für alte Joysticks zum
Zocken... Zum Teil können die Dinger ganz schön prellen, daher wollte
ich das auch wieder in Hardware machen. Sind 100nF dafür evtl ein
bisschen zu viel?
Die Entprellung soll nicht in Software gemacht werden, um möglichst
wenig Rechenzeit zu verbrauchen. Ich denke das Software USB verbraucht
genug.
Rechnen?
10K * 100nF = 1ms
Das ist recht wenig, schlechte Taster können um einiges länger prellen.
10ms ist ein gängiger Wert. Sollte auch für Joysticks und schnelle
Spiele reichen.
Also R auf 100k erhöhen.
Basti schrieb:> Die Entprellung soll nicht in Software gemacht werden, um möglichst> wenig Rechenzeit zu verbrauchen
PeDas Entprellreoutinen verbrauchen kaum Rechenzeit. Und du kannst sie
einfach am Ende des USB-Teils anhängen, dann funken sie sicher nicht in
die Übertragung rein.
BTW: Wieviel Rechenleistung hast du überhaupt über?
> daher wollte ich das auch wieder in Hardware machen.> Sind 100nF dafür evtl ein bisschen zu viel?
Nein, ein Kondensator (egal welcher) ist für eine Entprellung zu wenig.
Für eine "richtige" Hardwareentprellung muss mehr her (nämlich hinter
dem RC-Glied ein Schmitttrigger). Wenn du also nur mit Kondensatoren
rumbasteln und dich auf das "Schmitttriggerverhalten" deines uC-Eingangs
verlassen willst, dann probier einfach ein paar unterschiedliche
Kondensatoren aus.
Aber eigentlich ist dein Problem sowieso keines: der USB wird jede ms
einmal bedient, egal wie arg dein Schalter prellt.
Basti schrieb:> Die Entprellung soll nicht in Software gemacht werden, um möglichst> wenig Rechenzeit zu verbrauchen. Ich denke das Software USB verbraucht> genug.
Wieso, kriegst du irgendwie Cash raus, wenn er freie Rechenzeit in einer
leeren Schleife veridlet, statt sie sinnvoll zu nutzen (z.B. um externe
Beschaltung einzusparen, was tatsächlich gleich doppelt Cash bringt)?
Ich nutze den Beitrag gerade mal, um die Profis zufragen, ob ich das mit
der Entprellung richtig verstanden habe: Ist diese eigentlich auch für
ganz normale Kurzhubtaster notwendig? Ich nutze zwar Softwareentprellung
(wäre ja auch schön blöd, wenn ich darauf, allen Warnungen zum Trotz,
verzichten würde), konnte aber auch ohne nie den "Prelleffekt"
nachvollziehen. Meine Taster gehen zudem am Oszilloskop sofort auf 5V
und bleiben dort auch, bis man sie loslässt, dann gehen sie aber auch
wieder ohne Umwege und "Aufflackern" auf 0V und bleiben dort.
Hab ich das Problem falsch verstanden, oder bin ich einfach glücklich
genug, prellfreie Taster erwischt zu haben?
Philipp K. schrieb:> Ich nutze den Beitrag gerade mal, um die Profis zufragen, ob ich das mit> der Entprellung richtig verstanden habe: Ist diese eigentlich auch für> ganz normale Kurzhubtaster notwendig?
Darf ich mit einer Gegenfrage antworten?
Warst du schon mal in einem Neubau, bei dem der Lift wunderbar auf
Tastendrücke reagierte. Und warst du in dem selben Haus 15 Jahre später,
wenn man einen Hexentanz auf genau denselben Tasten aufführen muss um
sie überhaupt irgendwie zur Mitarbeit zu bewegen?
> Hab ich das Problem falsch verstanden, oder bin ich einfach glücklich> genug, prellfreie Taster erwischt zu haben?
Das kann in 5 Jahren alles ganz anders aussehen. Nur weil dein Taster
HEUTE nicht prellt, bedeutet das nicht, dass er es in 5 Jahren nicht
tut. Sie können in 5 Jahren immer noch gut funktionieren, so ist das ja
wiederrum nicht. Können - müssen aber nicht.
Die PeDa Entprellung kostet softwaremässig praktisch nichts. Und kommt
selbst mit meinen stinkigsten Tastern, die ich aus Geräten ausgebaut
habe, die zum Schrott wanderten, problemlos klar.
Ganz abgesehen davon, dass sie in Bedienkonzepte bzw. Hauptschleifen
ganz problemlos reinpasst und eigentlich ein recht gutes 'GUI' Design
vorgibt. Ich bin immer wieder selbst überrascht, wie schnell und
Problemlos man ein paar Tasten im Programm hat.
Vielen Dank für die Antwort, genau so etwas habe ich vermutet. Und wie
gesagt: Ich möchte mir nicht anmaßen, die Sinnhaftigkeit der Entprellung
in Frage zu stellen, das wäre absolut vermessen.
Philipp K. schrieb:> konnte aber auch ohne nie den "Prelleffekt"> nachvollziehen. Meine Taster gehen zudem am Oszilloskop sofort auf 5V> und bleiben dort auch, bis man sie loslässt, dann gehen sie aber auch> wieder ohne Umwege und "Aufflackern" auf 0V und bleiben dort.
Das zeigt eigentlich nur genau eins: Du bist entweder zu blöd, einen
Oszi richtig zu benutzen oder dein Oszi taugt nix.
Warum? Ganz einfach: Jeder (wirklich absolut jeder) mechanische Taster
aus festem Material prellt. Dafür sorgt die böse Physik. Oder
meinetwegen auch Gott, falls du glaubst, daß der das Universum und seine
Gesetze gemacht hat. Ob nun Gott oder die Physik: jeder Körper hat eine
Masse>0 und jeder feste Körper hat eine Elastizität>0. Damit haben wir
alles, was nach den Gesetzen dieses Universums zu einer Schwingung
führen MUSS, wenn man Energie zuführt, was für einer Betätigung des
Tasters unweigerlich erforderlich ist.
Ob dir das nun passt oder nicht, ist dem Universum egal!
c-hater schrieb:> Philipp K. schrieb:>> Das zeigt eigentlich nur genau eins: Du bist entweder zu blöd, einen> Oszi richtig zu benutzen.>
Wahrscheinlich. Da ich das aber niemals im Beruf werde tun müssen und
das ein bloßes Hobby ist, habe ich ja alle Zeit der Welt, mir das
anzueignen. Ich werd heute Abend nochmal nachschauen. Den Sermon hätte
es aber nicht gebraucht, die Existenz des Prellens habe ich ja nicht
angezweifelt.
c-hater schrieb:> Warum? Ganz einfach: Jeder (wirklich absolut jeder) mechanische Taster> aus festem Material prellt. Dafür sorgt die böse Physik. Oder> meinetwegen auch Gott, falls du glaubst, daß der das Universum und seine> Gesetze gemacht hat. Ob nun Gott oder die Physik: jeder Körper hat eine> Masse>0 und jeder feste Körper hat eine Elastizität>0. Damit haben wir> alles, was nach den Gesetzen dieses Universums zu einer Schwingung> führen MUSS, wenn man Energie zuführt, was für einer Betätigung des> Tasters unweigerlich erforderlich ist.
Schon mal was von Dämpfung gehört?
Karl schrieb:> Schon mal was von Dämpfung gehört?
Du bist also der, der das Geheimnis der perfekten Dämpfung kennt, also
der Dämpfung mit der Fähigkeit zur Aufnahme unendlicher Energiebeträge
in unendlich kurzer Zeit.
Warum hast du das noch nicht patentiert? Jeder Hersteller mechanischer
Kontakte in der ganzen Welt würde das Patent sofort lizensieren und
horrende Beträge dafür ausgeben.
Und nicht nur die...
Übrigens: Du solltest nicht deinen Namen verleugnen. Wer das kann, was
du kannst, darf sich auch mit seinem richtigen Namen vorstellen. Aber
ich habe dich auch so erkannt: Hallo Gott!
c-hater schrieb:> Warum? Ganz einfach: Jeder (wirklich absolut jeder) mechanische Taster> aus festem Material prellt. Dafür sorgt die böse Physik.
Nanana.. Also wenn man nur einen hinreichend großen Kondensator parallel
zum Taster schaltet, kommt es beim Schließen zu ner Mikro-Verschweißung
und der Kondensator als solcher sorgt dafür, daß der Pegel bis zum
endgültigen Ruhen der Mechanik nicht wieder in die Nähe des
Umschaltpunktes kommt. Wie lange so ein Taster das mitmacht ist ne ganz
andere Frage.. (ich denk mir grad Karl Heinz mit den Fäusten auf dem
Fahrstuhltaster herumwüten..)
ABer wenn man's schon analog haben will, warum nicht? Geht ja auch.
Vorausgesetzt, der Schmitt-trigger-Eingang ist hochohmig genug oder man
setzt zwischen C (Elko) und Taster nen 33 Ohm.
Fröhliches Tasten!
W.S.
c-hater schrieb:> Das zeigt eigentlich nur genau eins: Du bist entweder zu blöd, einen> Oszi richtig zu benutzen oder dein Oszi taugt nix.
Ich finde diesen Ton völlig unangebracht.
Ich habe eben mal einen neuen Taster getestet und er ist auch prellfrei.
Es ist einer mit Klick und kein super billig Fabrikat.
Daß neue Taster wenig/nicht prellen, erklärt auch die Mißachtung der
Entprellproblematik durch professionelle Programmierer.
Erst wenn die Geräte älter werden, gibt es massiv Probleme.
Peter Dannegger schrieb:> SW-USB verbraucht allerdings 100% CPU-Zeit.> Man muß das Entprellen daher mit den USB-Pausen synchronisieren.
Ich kann dir aus eigener Erfahrung sagen, das V-USB bei einem mega32
15MHz ca. 7%-8% Grundlast erzeugt. Wenn man den ADC 'free running'
laufen lässt mit Interrupterzeugung alle 111µs, so liegt man bei ca.
15% Last. Sobald HID aktiv vom Host genutzt wird, gehts auf max.21%
hoch.
1
Analog-Digital Konverter:
2
Bei 15MHz und Teiler 1/128: 117,2kHz 110,93µs ~9 samples/ms
Jeweils 9 ADC Interrupts ergeben eine hinreichend präzise Millisekunde
zur internen Lastmessung (direkt im mega32)