Go Down

Topic: Verkabelung mehrere Buttons an analog-pin(s) (bestehende Schaltung) (Read 2224 times) previous topic - next topic

agmue

Ich verstehe nicht. Nach einem Klick sehe ich das Bild in groß und kann alles bestens sehen/lesen. Funktionieren die verlinkten Bilder bei euch nicht?
Doch, aber man kann sie auch gleich hier auf den Server packen, dann bleiben sie auch. Leider umständlich.





Er schrieb doch, er wolle mit +5V auf die Konstruktion gehen ?
Dann braucht er doch nen Pulldown?
Ich stimme Dir zu! Wenn an 17 die +5V anliegen, dann braucht man eine andere Spannung an 14 und 15, sonst fließt kein Strom. Und ohne Strom kein Spannungsabfall, den man messen könnte. Da bleibt nur ein Widerstand gegen GND. Wenn ich mich nicht verrechnet habe (bitte nachrechnen!), wären 560 Ohm ganz gut:

Widerstand Strom Spannung
 560 0,0089 5,00
 121 0,0073 4,11
 200 0,0057 3,18
 402 0,0039 2,18
1300 0,0019 1,08


Mein Bedürfnis, das ohne weitere Bauteile zu erledigen ist, dass ich eben im Auto möglichst wenig verlötetes Zeug haben will (Vibrationen).
Diese Argumentation kann ich nicht nachvollziehen, da auch der Arduino (welchen verwendest Du?) mit Strom und Kabeln versorgt werden muß. Wie willst Du das bewerkstelligen?
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

rampage-128

[...]Wenn an 17 die +5V anliegen, dann braucht man eine andere Spannung an 14 und 15, sonst fließt kein Strom. Und ohne Strom kein Spannungsabfall, den man messen könnte. Da bleibt nur ein Widerstand gegen GND.
Du sagst "wenn an 17 die +5V anliegen". Gibt es denn noch einen anderen Weg das anzuschließen?


Wenn ich mich nicht verrechnet habe (bitte nachrechnen!), wären 560 Ohm ganz gut:

Widerstand Strom Spannung
 560 0,0089 5,00
 121 0,0073 4,11
 200 0,0057 3,18
 402 0,0039 2,18
1300 0,0019 1,08

Das klingt doch mal nach was :-)
Magst Du mir die Rechnung mal erklären?
Wie genau berechnet man das? Ohmsches Gesetz?


Diese Argumentation kann ich nicht nachvollziehen, da auch der Arduino (welchen verwendest Du?) mit Strom und Kabeln versorgt werden muß. Wie willst Du das bewerkstelligen?
Wenn es nicht ohne zusätzliche Widerstände geht, dann geht es halt nicht anders ... Das ist ja auch dann ok. Ich weiß es halt nicht besser, deshalb hab ich da nochmal nachgehakt.

Ich erkläre aber trotzdem mal (völlig off-topic) warum:

Es mag vielleicht zu empfindlich erscheinen, aber mir sind schon mehrfach Lötstellen (oder die Kabel unmittelbar davor/dahinter) im Auto gebrochen. Das gilt natürlich nur für "freischwingende" Kabel. Da kann man eben Glück oder Pech haben.

Aktuell verwende ich einen Arduino Nano. Für die angeschlossenen Komponenten (derzeit nur ein MCP2515 via SPI) habe ich mit dem 3D-Drucker passende (abgewinkelte) Stecker gedruckt. Dabei werden die pinne in die Platine gelötet und der Stecker sorgt für eine Verteilung von (Zug-)belastungen. Auf Kabel-Seite sind passende Aderendhülsen verpresst. Die Platine vibriert inklusive solcher Stecker als Ganzes da ist ein Brechen von Lötstellen unwahrscheinlich.

StefanBoth

Ich glaube, da hat sich ein Denkfehler
eingeschlichen ?

                 560R             560R 
5V  ----=====-------=====-------  GND
                  2,5 V     |     2,5 V
                                |
                              A0

Stefan

agmue

Ich glaube, da hat sich ein Denkfehler eingeschlichen ?
Ich mache ständig Fehler, kann hier aber keinen entdecken. Die 560R gegen 5V gibt es nicht.

          R1          R2
5V  ----=====-------=====-------  GND
                |
                |
                A0


PullDown-Widerstand R2 = 560 Ohm

Keine Taste gedrückt: R1 ist unendlich, über R2 wird A0 verläßlich auf 0V gezogen.
SOURCE gedrückt: R1 = 0 Ohm, A0 = 5V
MENU UP gedrückt: R1 = 121 Ohm, A0 = R2 * 5V / (R1 + R2) = 4,11V
ENTER gedrückt: R1 = 121 + 200 + 402 + 1300 Ohm = 2023 Ohm, A0 = R2 * 5V / (R1 + R2) = 1,08V

Oder?

Du sagst "wenn an 17 die +5V anliegen". Gibt es denn noch einen anderen Weg das anzuschließen?
Du könntest auch GND mit 17 verbinden, dann brauchst Du einen PullUp-Widerstand an 5V. Die Rechnung bleibt gleich, der Strom fließt nur andersherum. Die internen PullUps taugen nicht, weil zu hochohmig.

Wie genau berechnet man das? Ohmsches Gesetz?
Genau, Rechnung siehe oben.

Aktuell verwende ich einen Arduino Nano.
Kalte Lötstellen oder gebrochene Kabel sind bei Vibrationen immer ein Thema, da stimme ich Dir ja zu. Nur wenn Du Kabel an den Nano dran bringst, dann kannst Du am Nano auch noch eine Verbindung zwischen A0 und A1 und GND mittels Widerständen zustande bringen. Und immer wieder grüßt der Schrumpfschlauch.

Noch eine wichtige Ergänzung: Ich kenne die internen Widerstände der Lenksäule nicht. Bitte stelle sicher, daß sie die nötige Wärme abgeben können. An R2: 0,0089A * 5V = 0,0445W
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

StefanBoth

Ich mache ständig Fehler, kann hier aber ...
Du übertreibst mal wieder.  :D
Hier war ich ein Depp, weil ich die Tabelle falsch gedeutet hatte. Ich ging zwar von einem
Pulldown von 560R aus, und hab dann die
erste Zeile nicht kapiert. (NUR 560.. nix mit
nem weiteren in Reihe) Und auch jetzt erst
begriffen, dass die Schalter "Normally Closed"
sind ? Oder mach ich da den nächsten Denkfehler ?
Ich stell mich dann mal wieder in die Ecke...
1/4 Std. o.k.? Am besten ich stell da nen Stuhl hin... ::)

Stefan


rampage-128

Danke @agmue! Deine Antworten haben mir sehr weitergeholfen.

Hab mir inzwischen den Schaltplan vom Autoradio besorgt.
Das Autoradio verwendet einen M30879FLAGP als CPU.
Die Fernbedienung ist mehr oder weniger direkt an die Analog-Eingänge an den Pins 92/93.

  • Stecker am Radio
  • Ferrit 600 ohm / 100MHz (Filterung, debouncing?)
  • 1/10W 470 ohm pullup (direkt gegen +5v vom Netzteil)
  • 1/10W 10k ohm in analog in


Scheint also keine große Magic zu sein. Ich hab auch mal die beiden Schaltpläne angehangen. remote_cpu.png zeigt den Anschluss an die CPU, remote_pw.png zeigt den Eingang und teile vom Netzteil.

Brauch ich den Ferrit?
Macht es am Arduino Sinn das genauso zu verkabeln?
Wofür sind die 10k Ohm am analog in?

agmue

Und auch jetzt erst begriffen, dass die Schalter "Normally Closed" sind ?
Die Zeichnung legt das zwar nahe, aber dann wären 14 und 17 direkt miteinander verbunden und ein Druck auf ENTER ohne Wirkung. Das ergibt keinen Sinn.

Scheint also keine große Magic zu sein.
Nee, aber der Schaltplan zeigt andere Dinge, als Du beschrieben hast. An 17 liegt dann doch GND und Du brauchst PullUps, das sind die 470 Ohm (da lag ich mit 560 nah dran :) ), kannst Du so übernehmen.

Wofür sind die 10k Ohm am analog in?
Das sind "Angstwiderstände" zum Schutz der CPU. Damit die Kapazität des AD-Wandlers schnell genug lädt, dürfen die nicht zu groß sein. Das könnte man genau ausrechnen, dazu fehlen mir aber die Daten.

Brauch ich den Ferrit?
Das Thema fängt mit einer sauberen Spannungsversorgung an. Jedes Kabel, das Du quer durchs Auto ziehst, dient als Antenne. Soweit ich das durch Mitlesen hier im Forum verstanden habe, hängen die möglichen Störimpulse auch vom Autotyp ab. Damit habe ich aber keine praktischen Erfahrungen.
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

rampage-128

Die Zeichnung legt das zwar nahe, aber dann wären 14 und 17 direkt miteinander verbunden und ein Druck auf ENTER ohne Wirkung. Das ergibt keinen Sinn.
War zwar nicht an mich, aber die Taster sind natürlich offen und schließen, wenn man sie drückt. Der Plan kommt von Nissan/Infinity, kA was die da für interne Standards für die Symbole haben.  :D


Nee, aber der Schaltplan zeigt andere Dinge, als Du beschrieben hast. An 17 liegt dann doch GND und Du brauchst PullUps, das sind die 470 Ohm (da lag ich mit 560 nah dran :) ), kannst Du so übernehmen.
Ich habe zwar im Eingangspost schon 17 als GND bezeichnet, wusste aber da tatsächlich noch nicht, wie er im Radio umgesetzt ist. Ich ging naiv davon aus, dass da noch ne komplexere Schaltung im Radio vorliegt, und habe in meinem jugendlichen Leichtsinn die einfachste Verkabelung angestrebt, die mein sehr begrenztes Elektronikwissen hergab.


Das sind "Angstwiderstände" zum Schutz der CPU. Damit die Kapazität des AD-Wandlers schnell genug lädt, dürfen die nicht zu groß sein. Das könnte man genau ausrechnen, dazu fehlen mir aber die Daten.
Ok ich vermute mal das brauche ich dann auch nicht. :-D
Aber wogegen schützen die? Gegen falsches anschließen? Statische Entladungen? Induktive Ströme?


Das Thema fängt mit einer sauberen Spannungsversorgung an. Jedes Kabel, das Du quer durchs Auto ziehst, dient als Antenne. Soweit ich das durch Mitlesen hier im Forum verstanden habe, hängen die möglichen Störimpulse auch vom Autotyp ab. Damit habe ich aber keine praktischen Erfahrungen.
Ok die 5V kommen vom Android bzw. später von einem aktiven USB-Hub. Das sollte passen. Das müsste ja dann so gehen. Aber im schlimmsten Fall dürfte sich das ja nur durch "Fehlerkennungen" bemerkbar machen.


Noch eine wichtige Ergänzung: Ich kenne die internen Widerstände der Lenksäule nicht. Bitte stelle sicher, daß sie die nötige Wärme abgeben können. An R2: 0,0089A * 5V = 0,0445W
Das dürfte schwierig werden. Es gibt keine genauere Dokumentation dazu und ich "kann" das Bedienteil nicht ausbauen (Airbag). Kann ich nun anhand der 5V vom radio davon ausgehen, dass die Widerstände das abkönnen? Oder muss ich da noch andere Vorkehrungen treffen? Eventuell "Angstwiderstände" oder einen Verbraucher? :-D

agmue

  • Ground (17)

  • 17 an +5V

Ich habe zwar im Eingangspost schon 17 als GND bezeichnet,
Da hast Du uns aber schön verwirrt, ich habe immer nur auf die +5V geschaut. Nun wird eben GND daraus, auch gut.

Die Sache mit der Wärme hat sich durch den Schaltplan und den dort verwendeten Widerstand erledigt.

Aber wogegen schützen die? Gegen falsches anschließen? Statische Entladungen? Induktive Ströme?
Auf dem Basteltisch: Ausgang auf LOW und Du schließt versehendlich 5V an, dann begrenzt ein 220 Ohm Widerstand den Strom auf den maximal zulässigen Wert -> Angst- oder Schutzwiderstand.
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

rampage-128

Da hast Du uns aber schön verwirrt, ich habe immer nur auf die +5V geschaut. Nun wird eben GND daraus, auch gut.
Meine Spezialität :smiley-twist:


Die Sache mit der Wärme hat sich durch den Schaltplan und den dort verwendeten Widerstand erledigt.
Jetzt verwirrst Du mich :D
Meinst Du jetzt den 10k ohm? Oder den 470 ohm pullup?

Edit: Nur nochmal um sicher zu gehen: Das Radio ist nicht mehr im Auto ... die LFB wird direkt an den Arduino angeschlossen. :D


Auf dem Basteltisch: Ausgang auf LOW und Du schließt versehendlich 5V an, dann begrenzt ein 220 Ohm Widerstand den Strom auf den maximal zulässigen Wert -> Angst- oder Schutzwiderstand.
220 ohm? Wie wo was?

agmue

Jetzt verwirrst Du mich :D
Meinst Du jetzt den 10k ohm? Oder den 470 ohm pullup?
Kann ich auch!

Die 470 Ohm sind kleiner als die von mir vorgeschlagenen 560 Ohm, dann müssen die internen Widerstände die Ströme und die damit verbundene Wärmeleistung vertragen können.

220 ohm? Wie wo was?
Immer das Ohmsche Gesetz: 5V / 0,02A = 250 Ohm der nächste Wert aus der Tabelle ist 220 Ohm
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

rampage-128

Sooo ich habe dann mal experimentiert.
Es funktioniert bestens mit den Pullup-Widerständen von 470 Ohm!

Vielen Dank für eure Hilfe!

Hier mal die gemessenen Werte (Näherungsweise).

ButtonRInputU(v)
SOURCE000v
MENU UP1272101v
MENU DOWN3044162v
VOICE5886203v
ENTER11378304v
----
VOL DOWN000v
VOL UP1272101v
PHONE3054162v
BACK5886203v

StefanBoth


agmue

Dem schließe ich mich an :)

Die Widerstandswerte könnte man als vorbildlich bezeichnen.
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

DJTOMCAT

Hallo Rampage, ich habe gerade so ein ähnliches Problem mit der LFB vom Citroen Xsara , diese ist ähnlich aufgebaut mit 3 Kabeln. Sprich ich brauche 2x Analog Pins und 1x GND bzw 5V :)

Wäre es möglich deinen Sketch hier zu posten ?


Grüße
Björn

Go Up