Forum: Mikrocontroller und Digitale Elektronik Drucktaster mit Mikrocontroller auslösen.


von Cyberschlumpf (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe einen klassischen, alten Hometrainer der über einen 
Bike-Computer verfügt, mit dem man verschiedene Programme einstellen 
kann, Schwierigkeit/Widerstand usw. Zur Bedienung gibt es ein paar 
einfache Druckknöpfe, ähnlich (billig) wie Folientaster. Die Knöpfe 
lösen die Aktion beim Drücken aus, ein Gedrückthalten führt erst nach 
ca. 3 Sekunden zu einer Wiederholung der Aktion.

Mein Vorhaben ist, ich möchte die Knöpfe für "+" und "-" über einen 
Mikrocontroller schalten, also letztendlich über einen Mikrocontroller 
die Schwierigkeit einstellen können.

Ich habe dazu das Gerät geöffnet und verschiedene Messungen an der PCB 
gemacht. Die im Bild mit einem lila Kreis markierten Punkte sind GND, 
die Flächen die die Taster überdecken sind B+C für den einen und E+F für 
den anderen Knopf. (Darüber sieht man in dem Bild nochmal zwei Knöpfe, 
die aber für das Vorhaben nicht relevant sind).

Folgende Messungen haben ich gemacht:

Hometrainer stromlos:
Knopf nicht gedrückt, R(BC) bzw. R(EF) -> 8MOhm
Knopf gedrückt, R(BC) bzw. R(EF) -> 0,2 Ohm

Hometrainer eingeschaltet:
Knopf nicht gedrückt: V(GND,B)==V(GND,E) = 2,7V
Knopf nicht gedrückt: V(GND,C)==V(GND,F) = 1.0V

Knopf gedrückt: V(GND,B)==V(GND,E)==V(GND,C)==V(GND,F) = 1.2V (und somit 
V(B,C) == V(E,F) = 0V)

Ein Freund meinte, dass es sich offenbar um "active low" Druckknöpfe 
handelt, wobei "low" aber dann für ihn überraschenderweise nicht 0V 
sind.

Kann mir bitte jemand sagen, was ich nun machen muss, um den "Knopf 
gedrückt" Zustand über einen Mikrocontroller auszulösen?

Meine laienhafte Idee wäre einen Transistor mit Source an E und Drain an 
F (bzw. B und C) zu löten und dann das Gate über den Mikrocontroller zu 
beeinflussen. Gate=High -> Transistor schaltet durch -> B und C 
verbunden (bzw. E und F).

Würde ich damit mein Vorhaben realisieren können? Brauche ich einen NPN 
oder PNP Transistor dafür? Widerstände auch? Besteht Gefahr für den 
Microcontroller wenn ich zufällig in dem gleichen Moment wo er Gate auf 
High legt auch den Knopf betätige? Da eine Wiederholung der Aktion bei 
gedrücktem Knopf einsetzt müsste ich also den GPIO am Mikrocontroller 
nach einem kurzen Delay wieder auf Low setzen um den Transistor wieder 
nicht leitend zu machen.

Wie man meiner ausführlichen Beschreibung anmerkt, mache ich sowas 
"nicht allzu oft", insofern würde ich mich über eine laienfreundliche 
Erläuterung freuen. Code im Mikrocontroller ist soweit alles realisiert, 
es würde nur noch diese Kleinigkeit fehlen :-) Vielen Dank.

von Joachim B. (jar)


Lesenswert?

normalerweise sollten alle Knöpfe gleich viel bei nicht gedrückt oder 
gedrückt zeigen.

Wie du das beschreibst kann das eine Widerstandskette am ADC sein.

Im Prinzip fällt mir das nur eine potenzialfreie Überbrückung der Taster 
mit einem Photomos Relais ein.

: Bearbeitet durch User
von Cyberschlumpf (Gast)


Lesenswert?

Um Missverständnisse auszuschließen: wenn ich von BC und EF schreibe, 
dann meine ich natürlich auch jeweils den dazugehörigen Knopf. Wenn ich 
den Knopf auf der Platinenposition bei BC drücke bleiben die Werte bei 
EF natürlich davon unberührt und v.v.

Ich wollte damit nur beschreiben, dass sich die Knöpfe identisch 
verhalten.

Gibt es noch eine Kombination, die ich nachmessen sollte um mehr 
Klarheit zu schaffen?

von Cyberschlumpf (Gast)


Lesenswert?

Wäre das hier ein passendes Bauteil? Panasonic AQY212EH

https://asset.conrad.com/media10/add/160267/c1/-/en/000504846DS01/datenblatt-504846-panasonic-aqy212eh-photomos-relais-1-st-1-schliesser-60-vdc-60-vac-550-ma-polzahl-4.pdf

D.h. ich würde einfach nur Pin 1 mit gemeinsamen GND zwischen dem MC 
Board und dem Hometrainer verbinden, 2 mit dem Steuerpin am 
Mikrocontroller und 3 und 4 mit den Anschlüssen E und F?

Und dieses Modell mit 60V/550mA würde passen?

Die ganzen Diagramme auf den hinteren Seiten des Datenblattes sagen mir 
nichts. Sind diese für meinen Anwendungsfalls relevant?

Zum Testen ob das prinzipiell so funktioniert, dass wenn ich E und F 
verbinde ein Tastendruck simuliert wird: Kann ich einfach mit einem 
Widerstand die beiden Kontakte E und F verbinden? Die Erwartung wäre, 
dass dadurch ein Tastendruck ausgelöst wird? Welchen Widerstand sollte 
ich dann bei den gegebenen Spannungen wählen um auf der sicheren Seite 
zu sein? 220 Ohm, 4.7k, 10k, egal?

von Michael Holm (Gast)


Lesenswert?

Also ich glaube nicht, dass da eine Widerstandskette verschaltet ist. 
Ich glaube eher, es ist eine Tastaturmatrix. Zumindest die Leiterbahnen 
B und F versorgen ja auch nochmal ein paar der nicht relevanten Taster 
im oberen Bereich des Fotos.
Wie viele Taster sind denn überhaupt auf der Platine drauf?
und was für Bauteile sind da noch drauf? An deinen lila Markierungen 
scheinen ja z.B. auch noch (recht kleine ) zweibeinige Bauteile 
eingelötet zu sein. Sind das LEDs oder Widerstände oder Kondensatoren?

von Joachim B. (jar)


Lesenswert?

Michael Holm schrieb:
> Also ich glaube nicht

ich glaube auch nicht, brauche ein Schaltbild, notfalls selbst gemalt!
Aus Prosa werde ich eh nicht schlau.

von Cyberschlumpf (Gast)


Angehängte Dateien:

Lesenswert?

Es sind insgesamt 4 grössere Drucktasten in einer 2x2 Anordnung (wir 
betrachten gerade die unteren beiden) und über den 4 Tasten gibt es noch 
eine Reihe von Tasten für die verschiedenen Trainingsprogramme. Für mein 
Vorhaben sind nur die unteren beiden von Interesse.

Die beiden lila markierten Bauteile sind LEDs, korrekt. Die Taster 
selber sind durch die LED durchscheinend. Im Inneren scheint eine Art 
"Zunge" zu sein. Ich vermute daher, dass damit durch das Drücken einfach 
die beiden Kontakte gebrückt werden.

Einen Schaltplan habe ich leider nicht und habe schon alles versucht 
einen zu bekommen, leider erfolglos. Ich wollte die Platine nicht mehr 
als unbedingt notwendig auseinanderbauen, damit mir am Ende nicht alles 
auseinander fällt.

von michael_ (Gast)


Lesenswert?

Schalte den Tastern REED-Relais parallel.
Da hast du dann auch schöne Potentialtrennung.

von Cyberschlumpf (Gast)


Lesenswert?

So eines hier?

https://www.conrad.de/de/p/mes1a05-reed-relais-1-schliesser-5-v-dc-0-5-a-10-w-sip-4-504599.html

D.h. dann gemäß Datenblatt würde ich dann an 1 und 7 kommen "E" und "F" 
und and "3" und "5" dann GND und der GPIO des MC?

Könnte ich denn so einen Test mit einem einfachen Widerstand wie oben 
machen oder wäre davon eher abzuraten?

von Joachim B. (jar)


Lesenswert?

michael_ schrieb:
> Schalte den Tastern REED-Relais parallel.
> Da hast du dann auch schöne Potentialtrennung.

ist möglich aber braucht mehr Strom als ein Photomos

Cyberschlumpf schrieb:
> Könnte ich denn so einen Test mit einem einfachen Widerstand wie oben
> machen oder wäre davon eher abzuraten?

hääää????
du kannst jeden sinnvollen Test machen, der Widerstand den ein Taster 
gedrückt darstellt ist wie hoch?

von michael_ (Gast)


Lesenswert?


von MaWin (Gast)


Lesenswert?

Cyberschlumpf schrieb:
> Hometrainer eingeschaltet:
> Knopf nicht gedrückt: V(GND,B)==V(GND,E) = 2,7V
> Knopf nicht gedrückt: V(GND,C)==V(GND,F) = 1.0V
>
> Knopf gedrückt: V(GND,B)==V(GND,E)==V(GND,C)==V(GND,F) = 1.2V (und somit
> V(B,C) == V(E,F) = 0V)

Sieht nach Multiplexauswertung aus. Genaueres zeigt dir ein Oszilloskop.

Immerhin weisst du, welcher Tasteranschluss positiver als der andere 
ist, also reichen 2 billige Optokoppler statt teurer PhotoMOS-Relais.

von Joachim B. (jar)


Lesenswert?

MaWin schrieb:
> welcher Tasteranschluss positiver als der andere
> ist, also reichen 2 billige Optokoppler statt teurer PhotoMOS-Relais.

ach
und Spannung, Strom und CTR ist egal?
ja wer weiss wie kann sparen, war schon immer so!

von Cyberschlumpf (Gast)


Lesenswert?

Joachim B. schrieb:
> michael_ schrieb:
>> Schalte den Tastern REED-Relais parallel.
>> Da hast du dann auch schöne Potentialtrennung.
>
> ist möglich aber braucht mehr Strom als ein Photomos

Welcher Wert im Datenblatt

https://asset.conrad.com/media10/add/160267/c1/-/en/000504599DS01/datenblatt-504599-mes1a05-reed-relais-1-schliesser-5-vdc-05-a-10-w-sip-4.pdf

sagt mir, wieviel Strom der MC zum Schalten liefern müsste?
Wäre das "Rated-Voltage"/"Coil Resistance", also 5V/500Ohm = 0.01A, 
somit OK?
>
> Cyberschlumpf schrieb:
>> Könnte ich denn so einen Test mit einem einfachen Widerstand wie oben
>> machen oder wäre davon eher abzuraten?
>
> hääää????
> du kannst jeden sinnvollen Test machen, der Widerstand den ein Taster
> gedrückt darstellt ist wie hoch?

Ist das nicht der Widerstand den ich gemessen und ganz oben gelistet 
habe? Im gedrückten Zustand 0,2 Ohm, im offenen Zustand 7 MOhm? Die 
gemessenen Spannungen an E/F und GND sind ja auch beide exakt gleich 
hoch. Daher ja meine Vermutung, dass ich das im Grunde für einen Test 
auch einfach kurz brücken könnte. Allerdings hab ich im Hinterkopf, dass 
ein Widerstand dazwischen, angeraten wäre. Daher die Frage, was ich dann 
nehme. Wenn er im gedrückten Zustand 0.2 Ohm hat, dann reicht offenbar 
auch ein sehr geringer Widerstand und selbst 220 Ohm sind dann schon 
viel zu viel?

von Cyberschlumpf (Gast)


Lesenswert?

Brauche ich, auch wenn ich eines der vorgeschlagenen Bauteile (PowerMOD, 
Reed-Relais) verwende, eine Freilaufdiode beim Abschalten des 
Steuersignals, wie hier beschrieben? 
https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern
Oder ist das bei diesen Bauteilen schon integriert?

von michael_ (Gast)


Lesenswert?

Beim Reed, ja.

von Peter D. (peda)


Lesenswert?

Cyberschlumpf schrieb:
> Und dieses Modell mit 60V/550mA würde passen?

Ja, die sind o.k. und man braucht nicht auf die Polung des Ausgangs zu 
achten. Den Vorwiderstand für die LED so dimensionieren, daß ~5..10mA 
fließen.

von Cyberschlumpf (Gast)


Lesenswert?

michael_ schrieb:
> Beim Reed, ja.

"Ja, ist es integriert", oder "Ja, brauchst Du"?

von Joachim B. (jar)


Lesenswert?

Cyberschlumpf schrieb:
> sagt mir, wieviel Strom der MC zum Schalten liefern müsste?
> Wäre das "Rated-Voltage"/"Coil Resistance", also 5V/500Ohm = 0.01A,
> somit OK?

ja und einige Controller können das auch pro Port ABER in Summe bei mehr 
Relais und GPIO darf der Summenstrom über VCC und GND nicht 
überschritten werden, der µC oder SoC will ja auch noch was abbekommen 
zum Arbeiten.

Cyberschlumpf schrieb:
> Allerdings hab ich im Hinterkopf, dass
> ein Widerstand dazwischen, angeraten wäre.

aus dem Zusammenhang gerissen ergibt das keinen Sinn, ein Taster darf, 
sollte möglichst keinen Widerstand haben bei gedrückt! Sonst kann ja 
kaum sicher gedrückt erkannt werden.

Ein Widerstand ist sinnvoll um Ports zu schützen fals die mal aktiv 
einen gedrückten Taster mit Strom beschicken wollen um einen Kurzschluß 
zu verhindern und den Port überlasten.

Taster nach VCC Port ist low, GND und peng! VCC Kurzschluß!

Es kommt also wie immer auf ALLES an.
Einige Taster brauchen auch einen Mindeststrom um ihre Kontakte selber 
zu reinigen!

Peter D. schrieb:
> Den Vorwiderstand für die LED so dimensionieren, daß ~5..10mA
> fließen.

aber ein Raspi ist mit 3mA besser dran, vor allem wenn alle GPIO genutzt 
werden, bei 5-10mA ist GND und VCC überlastet, sie max. Werte! der GPU.

Der AQV252g testet auch mit 3mA bis 1A also wozu mehr Strom durch die IR 
Diode prügeln?

Natürlich schafft ein Optokoppler mit CTR 25% bei 3mA nur sicher 0,75mA 
am Transistor, reicht i.d.R. aber wer dort was schalten will kommt damit 
nicht weit.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

hier hatte ich mal eine ähnliche Aufgabenstellung:

Beitrag "Tasten einer Tastatur schalten mit FET?"

von Cyberschlumpf (Gast)


Lesenswert?

Vielen Dank für die vielen hilfreichen Antworten. Ich denke ich weiss 
nun, wie ich vorgehe.Ich werden den PhotoMOS verwenden. Eine 
Überbrückung der beiden Taster-Kontakte hat, wie schon erwartet und 
erhofft, sich so verhalten, als hätte ich den Taster gedrückt. Nun 
versuche ich dies also über den PhotoMOS auch zu realisieren.

von michael_ (Gast)


Lesenswert?

Cyberschlumpf schrieb:
> michael_ schrieb:
>> Beim Reed, ja.
>
> "Ja, ist es integriert", oder "Ja, brauchst Du"?

Schau ins Datenblatt.
Oder messen. Es gibt mit und ohne.

von Frank G. (frank_g53)


Lesenswert?

Cyberschlumpf schrieb:
> Eine
> Überbrückung der beiden Taster-Kontakte hat, wie schon erwartet und
> erhofft, sich so verhalten, als hätte ich den Taster gedrückt.

Ich nehme für solche Aufgaben gerne den CD4066 Analogschalter.

von michael_ (Gast)


Lesenswert?

Geht aber nicht, wenn es potentialgetrennt sein soll.
Bei einer Matrix.

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.