Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi Taster stören sich gegenseitig


von Felix P. (honiahaka10)


Angehängte Dateien:

Lesenswert?

Hallo!
Ich versuche gerade mehrere Taster mit meinem RasPi einzulesen.
Wenn ich nur einen Taster anschließe, funktioniert alles, positive und 
negative Flanke werden erkannt. Wenn ich allerding weitere Taster 
(insgesamt habe ich 10) anschließe, ohne diese schon an die Pins vom 
RasPi anzuschließen, treten Probleme auf:
Der eigentlich angeschlossene Taster funktioniert weiterhin.
Wenn ich einen anderen Taster betätige, wird allerdings auch hier eine 
positive (keine negative) Flanke eingelesen, obwohl dieser gar nicht an 
den einzulesenden Pin angeschlossen ist!

Ich habe für jeden Taster einen Pulldown-Widerstand von 10kOhm und einen 
Entprellkondensator von 100nF. Wenn ich die Entprell-Kondensatoren 
ausbaue, tritt dieses Problem nicht auf.

Es hat grundsätzlich zwar keinen praktischen Nutzen, ich würde für das 
Projekt allerdings gerne auf Software-Entprellung verzichten, da ich von 
Programmierung Ahnung habe, aber von elektrischen Schaltungen weniger 
und hier natürlich dazulernen möchte.

Für das Einlesen der Flanken verwende ich diesen Code:
http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_GPIO_C.html

Vielen Dank!

: Bearbeitet durch User
von Hubert G. (hubertg)


Lesenswert?

Felix P. schrieb:
> Wenn ich die Entprell-Kondensatoren
> ausbaue, tritt dieses Problem nicht auf.

Dann weist du ja wo das Problem liegt. Oder anders gesagt, du hast das 
Problem der Tastenentprellung mittels Kondensatoren erkannt.

von Peter D. (peda)


Lesenswert?

Felix P. schrieb:
> Wenn ich die Entprell-Kondensatoren
> ausbaue, tritt dieses Problem nicht auf.

Ach mal wieder der Pollin-Board Bug, lange nicht mehr gesehen.

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

von Felix P. (honiahaka10)


Angehängte Dateien:

Lesenswert?

Hubert G. schrieb:
> Dann weist du ja wo das Problem liegt. Oder anders gesagt, du hast das
> Problem der Tastenentprellung mittels Kondensatoren erkannt.
Magst du mir vielleicht auch sagen, wie ich das Problem ohne 
SW-Entprellung lösen kann? :)

Peter D. schrieb:
> Ach mal wieder der Pollin-Board Bug, lange nicht mehr gesehen.
>
> Beitrag "Pollin AVR Board Fehler beim drücken der Taster / Qualität der Bauteile"
Was hat das ganze denn jetzt mit dem Pollin-Board zu tun?
Ich habe meinen Raspberry-Pi über einen T-Cobbler an ein Bread-Board 
angeschlossen und darauf dann meine Schaltung aufgebaut.
(Siehe Bild)

von Hubert G. (hubertg)


Lesenswert?

Hast du dir die Schaltung schon mal angesehen? Mit jedem Tastendruck 
schließt du, bis der Kondensator aufgeladen ist die 3,3V kurz. Der Strom 
wird nur durch den Quell- und Leitungswiderstand begrenzt.
Du musst also einen Serienwiderstand einfügen der den Strom begrenzt und 
die Spannung am Kondensator und I/O erst nach 5msec soweit angestiegen 
ist das der µC ein high erkennt. Viel Spass bei der Dimensionierung.
5msec dauert etwa das Prellen. Die Spannung ab der high erkannt wird 
steht im Datenblatt.
Aber noch was anderes. Ob ein Tastenprellen überhaupt stört, hängt auch 
von der Funktion der Taste ab. Wenn beim ersten high eine Aktion 
gestartet wird und die Taste erst nach beenden der Aktion wieder 
abgefragt wird, dann ist ein Entprellen unnötig.

von Hugo (Gast)


Lesenswert?

Was ich nicht verstehe, ist diese Bemerkung:
Felix P. schrieb:
> gerne auf Software-Entprellung verzichten, da ich von
> Programmierung Ahnung habe,

Sollte das vielleicht heißen "...keine Ahnung habe"?

von Felix P. (honiahaka10)


Lesenswert?

Hubert G. schrieb:
> Hast du dir die Schaltung schon mal angesehen? Mit jedem Tastendruck
> schließt du, bis der Kondensator aufgeladen ist die 3,3V kurz. Der Strom
> wird nur durch den Quell- und Leitungswiderstand begrenzt.
> Du musst also einen Serienwiderstand einfügen der den Strom begrenzt und
> die Spannung am Kondensator und I/O erst nach 5msec soweit angestiegen
> ist das der µC ein high erkennt. Viel Spass bei der Dimensionierung.
> 5msec dauert etwa das Prellen. Die Spannung ab der high erkannt wird
> steht im Datenblatt.
> Aber noch was anderes. Ob ein Tastenprellen überhaupt stört, hängt auch
> von der Funktion der Taste ab. Wenn beim ersten high eine Aktion
> gestartet wird und die Taste erst nach beenden der Aktion wieder
> abgefragt wird, dann ist ein Entprellen unnötig.

Ich glaube ich sollte mir noch mal meine Unterlagen aus dem 2. Semester 
anschauen, ich hab nämlich ehrlich gesagt nicht viel verstanden...
Ich habe jetzt noch einmal eine andere Schaltung gefunden, in der der 
Kondensator richtung 3V gelegt wird und siehe da: Es funktioniert! Wobei 
ich die Schaltung ehrlich gesagt auch nicht 100% verstanden habe...

Hugo schrieb:
> Was ich nicht verstehe, ist diese Bemerkung:
> Felix P. schrieb:
>> gerne auf Software-Entprellung verzichten, da ich von
>> Programmierung Ahnung habe,
>
> Sollte das vielleicht heißen "...keine Ahnung habe"?

Ne das war schon richtig so :)
Ich mache jetzt gerade meinen Master in Elektrotechnik. Meinen Bachelor 
habe ich zwar auch in Elektrotechnik gemacht, allerdings mit Schwerpunkt 
technischer Informatik, sodass ich zwar von Programmieren Ahnung habe, 
aber nur wenig (um nicht zu sagen keine!) Ahnung von elektrischen 
Schaltungen.

SW-ENtprellung zu nutzen fände ich jetzt insofern Witzlos, als dass ich 
dabei nichts dazu lerenen würde, weswegen ich HW-Entprellung verwenden 
möchte. :)

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Felix P. schrieb:
> SW-ENtprellung zu nutzen fände ich jetzt insofern Witzlos, als dass ich
> dabei nichts dazu lerenen würde, weswegen ich HW-Entprellung verwenden
> möchte. :)

Dann probier doch mal die edle HW-Entprellmethode mit einem 1xUm-Taster 
und einem RS-FF.

Beim Tasten einen Kurzschluss auf der Versorgungsspannung zu machen, ist 
nun wirklich barbarisch.

von Peter D. (peda)


Lesenswert?

Felix P. schrieb:
> Was hat das ganze denn jetzt mit dem Pollin-Board zu tun?

Du hast genau den gleichen Schaltungsfehler gemacht. Daß die CPU ne 
andere ist, spielt keine Geige.
In dem Pollin-Thread wird der Fehler auch erklärt:
Beitrag "Re: Pollin AVR Board Fehler beim drücken der Taster / Qualität der Bauteile"

von Dauergast (Gast)


Lesenswert?

Felix P. schrieb:
> Kondensator richtung 3V gelegt

Du meinst also parallel zum Taster? Ja, gute Idee, jetzt stürzt nichts 
mehr ab, aber Du solltest Dir eine große Tüte Ersatztaster auf Halde 
legen.

> SW-ENtprellung zu nutzen fände ich jetzt insofern Witzlos, als dass
> ich dabei nichts dazu lerenen würde, weswegen ich HW-Entprellung
> verwenden möchte. :)

Früher[tm] hätte man inzwischen dazugelernt, daß HW-Entprellung meistens 
Gagge ist ... würde man zumindest von einem Studenten erwarten :)

von Soul E. (Gast)


Lesenswert?

Wenn Du mit einem Kondensator entprellen willst, dann nimm einen 
RC-Tiefpass. Der kommt in Deinem Studium auch irgendwann dran.

Widerstand nach Plus, Taster nach Masse. Dann Widerstand in Reihe 
zwischen Taster und Kondensator, Kondensator direkt zwischen 
Controllepin und Masse.

Reihenwiderstand und Kondensator wählst Du so aus, dass
a) der Reihenwiderstand 10x kleiner ist als der Widerstand nach Plus
b) Das Produkt aus Reihenwiderstand und Kondensator ungefähr 40 ms ist

von Hubert G. (hubertg)


Lesenswert?

Felix P. schrieb:
> SW-ENtprellung zu nutzen fände ich jetzt insofern Witzlos, als dass ich
> dabei nichts dazu lerenen würde, weswegen ich HW-Entprellung verwenden
> möchte. :)

Wenn du die Problematik und den notwendigen Aufwand der HW-Entprellung 
verstanden hast, wirst du festgestellt haben das SW-Entprellung 
effizienter und einfacher ist.

von Felix P. (honiahaka10)


Lesenswert?

soul e. schrieb:
> Wenn Du mit einem Kondensator entprellen willst, dann nimm einen
> RC-Tiefpass. Der kommt in Deinem Studium auch irgendwann dran.
>
> Widerstand nach Plus, Taster nach Masse. Dann Widerstand in Reihe
> zwischen Taster und Kondensator, Kondensator direkt zwischen
> Controllepin und Masse.
>
> Reihenwiderstand und Kondensator wählst Du so aus, dass
> a) der Reihenwiderstand 10x kleiner ist als der Widerstand nach Plus
> b) Das Produkt aus Reihenwiderstand und Kondensator ungefähr 40 ms ist

RC-Tiefpass kommt tatsächlich für mich nicht mehr dran, mag sein, dass 
der kurz mal angesprochen wurde, aber nicht weiter. Den gab es in 
Regelungstechnik zu hauf, das Modul habe ich in technischer Informatik 
leider nicht gehabt. Aber danke, ich werde mich dann mal damit 
auseinandersetzen! :)

Hubert G. schrieb:
> Wenn du die Problematik und den notwendigen Aufwand der HW-Entprellung
> verstanden hast, wirst du festgestellt haben das SW-Entprellung
> effizienter und einfacher ist.

Ja, das habe ich schon verstanden, ich möchte es trotzdem wenigstens 
einmal mit HW hinbekommen :)
Wenn ich über das Wochenende immer noch nicht funktioniert hat, bzw. ich 
es immer noch nicht verstanden habe, werde ich Montag mal meinen 
Professor nach Tips fragen.

von Soul E. (Gast)


Lesenswert?

Zum Lernen und Verstehen spricht nichts dagegen, beides mal gemacht zu 
haben.

von Dan N. (dan1824)


Lesenswert?

Wolfgang schrieb:
> 1xUm-Taster

Hallo Wolfang, lese gerade mit und frage mich, was das 1xUm bedeutet.

Sucht man danach findet man zwar viele Taster, aber keine wirkliche 
Erklärung.

Du kannst das sicher schnell aufklären.

Danke ;)

von nemesis... (Gast)


Lesenswert?

Felix P. schrieb:
> Ich mache jetzt gerade meinen Master in Elektrotechnik.

Das halte ich nicht aus. Was lassen die eigentlich für Leute
auf die Gesellschaft los? Du solltest doch wohl gelernt haben
wie man an Informationen kommt und wie man die umsetzt.
Du willst doch wohl nachher im Job nicht dir auch wieder
vom Forum helfen lassen?

von Dan N. (dan1824)


Lesenswert?

nemesis... schrieb:
> Das halte ich nicht aus. Was lassen die eigentlich für Leute
> auf die Gesellschaft los? Du solltest doch wohl gelernt haben
> wie man an Informationen kommt und wie man die umsetzt.
> Du willst doch wohl nachher im Job nicht dir auch wieder
> vom Forum helfen lassen?

Kannst Du mir helfen und mir ein Beispiel nennen?

Ich finde leider nur Unmengen an Angeboten für Taster, aber nicht was 
1xUm bedeutet.

von Hubert G. (hubertg)


Lesenswert?

Dan N. schrieb:
> Ich finde leider nur Unmengen an Angeboten für Taster, aber nicht was
> 1xUm bedeutet.

Da ist ein Umschalter in der Taste, also drei Anschlüsse. Macht aber nur 
Sinn mit einem RS-FlipFlop. Das bedeutet zusätzlichen HW-Aufwand.

von W. M. (thematsche)


Lesenswert?

nemesis... schrieb:
> Felix P. schrieb:
>> Ich mache jetzt gerade meinen Master in Elektrotechnik.
>
> Das halte ich nicht aus. Was lassen die eigentlich für Leute
> auf die Gesellschaft los? Du solltest doch wohl gelernt haben
> wie man an Informationen kommt und wie man die umsetzt.
> Du willst doch wohl nachher im Job nicht dir auch wieder
> vom Forum helfen lassen?

Ja, geht mir auch so.

Gibts eigentlich einen Pisatest fuer Unis... ;)

Vielleicht ist es aber auch nur ein Trollversuch.
Weil, dass man noch sagt, dass man den Master in Elektrotechnik macht,
schaut schon nach Provokation aus.

Ich hoff's halt... ;)

von Dan N. (dan1824)


Lesenswert?

Hubert G. schrieb:
> Da ist ein Umschalter in der Taste, also drei Anschlüsse. Macht aber nur
> Sinn mit einem RS-FlipFlop. Das bedeutet zusätzlichen HW-Aufwand.

Ich danke Dir!!! ;)

von Joachim B. (jar)


Lesenswert?

Felix P. schrieb:
> Ne das war schon richtig so :)
> Ich mache jetzt gerade meinen Master in Elektrotechnik. Meinen Bachelor
> habe ich zwar auch in Elektrotechnik gemacht, allerdings mit Schwerpunkt
> technischer Informatik, sodass ich zwar von Programmieren Ahnung habe,
> aber nur wenig (um nicht zu sagen keine!) Ahnung von elektrischen
> Schaltungen.

mal ehrlich, +3,3V ohne Strombegrenzung auf einen Port zu schalten ist 
keine besonders gute Idee,

1. wenn der Port mal auf out und low gestellt wird (reicht ja ein 
falsches Programm ein falsches Kernelupdate oder ein Absturz) dann hat 
der Port an +3,3V kaum eine Überlebenschance.

Üblicherweise und sicherer klemmt man an 3,3V (oder 5V vom Arduino oder 
anderen Atmel AVR) einen Vorwiderstand (es gibt eingebaute pullups die 
man einschalten kann, nur manchmal sind die zu hochohmig so das 
Störimpulse immer noch wirken können).

Den Vorwiderstand wählt man dann so niederohmig wie man braucht und aber 
den Strom so weit begrenzt das selbst ein Port auf low keinen Schaden 
nimmt, 2mA 5mA 10mA.

Der Taster schaltet dann bei Betätigung auf low und dann fragt man eben 
die NULL statt die EINS ab.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Joachim B. schrieb:
> 1. wenn der Port mal auf out und low gestellt wird (reicht ja ein
> falsches Programm ein falsches Kernelupdate oder ein Absturz) dann hat
> der Port an +3,3V kaum eine Überlebenschance.
Halb so wild.
So ein IC hält dank des Bahnwiderstandes der Mosfet im IO-Treiber einen 
(1) solchen Kurzschluss locker dauerhaft aus. Meist ist das auch bei 
mehreren kurzgeschlossenen Pins problemlos.

Ich habe auf diese Art auf jeden Fall noch nie ein IC kaputt bekommen. 
Und einmal hatte ich sogar einen 16-Bit Bus eines CPLDs auf Masse 
verdrahtet und eine '1' ausgegeben. Der wurde dann recht schnell gut 
warm, hat aber nach Korrektur tadellos weiter funktioniert. Und auch 
eine Test über mehrere Tage führte zu keinem Defekt.

: Bearbeitet durch Moderator
von Peter D. (peda)


Lesenswert?

nemesis... schrieb:
> Was lassen die eigentlich für Leute
> auf die Gesellschaft los?

Ein Ton ist das wieder mal hier im Forum.
Warum muß man immer gleich grantig werden, wenn jemand nicht schon alles 
Wissen mit der Muttermilch eingesogen hat?

von Andreas (Gast)


Lesenswert?

Der Ton ist völlig berechtigt. Wenn jemand "einen Master in 
Elektrotechnik" macht und noch nicht mal weiß, was ein Taster 1xUM ist, 
der hat wohl seine Berufswahl völlig falsch getroffen.

Der Begriff war mir bereits mit 13 bei meinen ersten 
Elektronikbasteleien geläufig.

von Hubert G. (hubertg)


Lesenswert?

Andreas schrieb:
> Der Begriff war mir bereits mit 13 bei meinen ersten
> Elektronikbasteleien geläufig.

Ich kenne das von einigen Studierten in meiner Umgebung. Theoretisch 
topfit, bei Basteleien glaubt man sie haben zwei linke Hände.
Also Ruhe bewahren, es wird schon noch.

von Der Andere (Gast)


Lesenswert?

Peter D. schrieb:
> Ein Ton ist das wieder mal hier im Forum.

Felix P. schrieb:
> RC-Tiefpass kommt tatsächlich für mich nicht mehr dran, mag sein, dass
> der kurz mal angesprochen wurde, aber nicht weiter.

Wenn man einen Batchelor in E Technik hat und auf Master studiert sollte 
das schon soweit verstanden sein, dass man eine Schaltung aus einem 
Kondensator, einem Widerstand und einem Schalter/Taster selbst 
analysieren kann.
Es braucht dazu ja  nicht mal eine DGL oder gar irgendwas mit Fourier 
oder Laplace Transformation, sondern nur qualitativ die Überlegung was 
passiert wenn ich den Taster schliesse.

Insofern ist mir bei der Aussage des TOs auch die Spucke weggeblieben.

von Joachim B. (jar)


Lesenswert?

Lothar M. schrieb:
> Halb so wild.
> So ein IC hält dank des Bahnwiderstandes der Mosfet im IO-Treiber einen
> (1) solchen Kurzschluss locker dauerhaft aus. Meist ist das auch bei
> mehreren kurzgeschlossenen Pins problemlos.
>
> Ich habe auf diese Art auf jeden Fall noch nie ein IC kaputt bekommen.

versuche es mit einem Raspberry PI Erfolg garantiert, das Datenblatt vom 
SoC BCM2835sagt was von ca. 50mA zusätzlich an allen Ports als Quelle 
oder Senke, das ist nicht üppig, Strombegrenzung wie beim AVR findet 
auch nicht statt, man kann locker pro Port mehrere mA verballern bis der 
SoC aufgibt.

von asdf (Gast)


Lesenswert?

Joachim B. schrieb:
> versuche es mit einem Raspberry PI Erfolg garantiert,

???

von Joachim B. (jar)


Lesenswert?

asdf schrieb:
> ???

Lothar M. schrieb:
> Meist ist das auch bei
> mehreren kurzgeschlossenen Pins problemlos.
>
> Ich habe auf diese Art auf jeden Fall noch nie ein IC kaputt bekommen.

Joachim B. schrieb:
> versuche es mit einem Raspberry PI Erfolg garantiert

von Rasputin (Gast)


Lesenswert?

Joachim B. schrieb:
> asdf schrieb:
>> ???

Der asdf will (vermutlich) sagen, dass er den Satz "versuche es mit 
einem Raspberry PI[!] Erfolg garantiert[.]" nicht versteht, weil ein 
Satzzeichen zwischen PI und Erfolg fehlt und er so bei mir auch, beim 
ersten mal lesen, nur ein Fragezeichen hinterlassen hat.

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.