Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller Schalter mit Widerständen auswerten


von Sebastian W. (601)


Angehängte Dateien:

Lesenswert?

Hallo,
ich benötige Hilfe ein Steuergerät zu „überlisten“.


### Zu meiner Person ##################################

Ich bin eher Hobbybastler und mga mich gleich mal für den ein oder 
anderen Fehler entschuldigen und um etwas Nachsicht bitten.
(Atmel ATiny und Atmega habe ich schon mal aufgebaut und auch 
prgrammiert. Bei diesem Problem stoße ich jedoch an meine Grenzen und 
bitte euch um Mitilfe)



### Die Aufgabe #######################################

Das Steuergerät wertet die Stellung eines Schalters mit drei Positionen 
aus. Den Schalter möchte ich beibehalten.
Das Signal das dem Steuergerät übergeben wird, möchte ich dann mit einem 
Mikrocontroller schalten.

Das Steuergerät, im folgenden „BCM“ genannt, hat für den besagten 
Schalter den Eingang mit der Pinnbezeichnung 54. Der Schalter gehört zu 
dem Schaltermodul S229 und ist mit S229.2 bezeichnet.
Jeder der Schaltzustände von S229.2 führt zu einem eineindeutigen 
Widerstand über den Schalter.

BCM 415 ist die Signalmasse vom BCM.

Folgende Widerstandswerte konnte ich durch Messung am Schalter 
ermitteln. Gemessen wurde dabei von Pin 3 nach Pin 2 vom Schaltermodul 
S229.
In Ruhestellung = 1500Ohm
In Pos.1 = 150 Ohm
In Pos.2 = 500 Ohm

Daraus ergeben sich für mich folgende Widerstandswerte:
R1 = 1000 Ohm
R2 = 350 Ohm
R3 = 150 Ohm

Von einem Servicetechniker konnte ich in Erfahrung bringen, dass man bei 
einem intakten BCM ohne angeschlossenes Schaltermodul, eine Spannung von 
> 1 V messen muss.
Für die anderen Schalterstellungen soll das BCM folgende Spannungen 
auswerten:
In Ruhestellung = 0,8V - 1,0V
In Pos.1 = 0,45V - 0,65V
In Pos.2 = 0,15V - 0,35V

In meiner Zeichnung habe ich die elektrische Verbindung zwischen S229.2 
und dem BCM Pin 54 getrennt.
Mit einem Mikrocontroller möchte ich nun die Aufgabe vom BCM übernehmen 
und die Schalterstellung von S229.2 ermitteln. Der Mikrocontroller soll 
dann die Ersatzschaltung für den Schalter S229.2 mittels zweier Relais 
übernehmen. Das Ganze angeschlossen an den Pin 54 vom BCM.


### Meine Fragen ######################################

1. Sind die ermittelten Widerstandswerte für R1 bis R3 richtig und ist 
die Ersatzschaltung erst mal korrekt?

2. Wie bekomme ich den Mikrokontroller korrekt angeschlossen 
(Schaltung), um die Schalterstellung von S229.2 zu ermitteln? Das BCM 
muss weiterhin korrekt mit den Schaltern S229.1 und S229.3 arbeiten.

3. Um richtig zu messen muss der Mikrocontroller sicherlich auch mit der 
richtigen Spannung versorgt (5V) und Masse verbunden sein. Wo sollte ich 
das anschließen?



### Schlusswort #######################################

Ich hoffe ich habe die Fragen so gestellt, so dass hier jemand die 
Möglichkeit hat mit zu helfen.
Schonmal Danke, das ihr euch mit meinem Problem beschäftigt.

von Stefan F. (Gast)


Lesenswert?

Da an der Schaltung Gleichspannung anliegt, dann kannst du das ganz 
simpel mit Optokopplern machen. Ersetze einfach jeden Schalter durch 
zwei Optokoppler.

Mit komplexeren Transistorschaltungen würde ich mich gar nicht 
beschäftigen, denn eine Potentialtrennung willst du sicher sowieso 
haben, oder nicht?

von Sebastian W. (601)


Lesenswert?

Hallo Stefan,

zu den Optokopplern habe ich gerade gar keine Idee. Optokoppler habe ich 
bisher nur benutzt um potentialfrei digitale Eingänge zu beschalten. 
Analog soll ja mit Optokopplern auch möglich sein.
Ich habe zu diesem Fall aber nichtmal ansatzweise eine Idee wie das 
funktionieren könnte. Nun zweifle ich auch schon ein wenig, ob es an 
meiner Problembeschreibung liegt und deine Antwort auf etwas anderes 
anspielt.

Das Ersatzschaltbild im unteren Teil meiner Zeichnung zeigt zwei Relais. 
Diese lassen sich ja simpel mit dem Mikrocontroller ansteuern (nicht 
eingezeichnet). Die passenden Widerstände bekommen die Werte wie die im 
Schalter. Dann kann durch das Schalten der Relais durch den 
Mikrocontroller der Schalter S229.2 am Eingang von 54 vom BCM simuliert 
werden.

Zum Optokoppler:
Aber ich muss ja irgendwie eine Spannung an Pin2 vom Schaltermodul S229 
anlegen und mit meinem Mikrocontroller messen, was über die Widerstände 
am Schalter S229.2 abfällt.

Vielleicht hast du ja den gleichen Fehler wie ich gemacht und bist davon 
ausgegangen, dass Pin 415 vom BCM eine feste Spannung liefert. BCM 415 
ist Signalmasse. Nur so eine Idee, weil ich die Antwort nicht verstehe.

Das Schaltmodul S229 kann ich nicht öffnen. Ist so gesehen eine Blackbox 
mit 4 Anschlüssen.

von Sebastian W. (601)


Lesenswert?

Je mehr ich drüber nachdenke, kann ich mir nicht vorstellen das BCM 415 
Signalmasse sein soll.

Was sagt ihr dazu?

Würde das überhaupt funktionieren wenn BCM415 Signalmasse ist?

PS.: Ich möchte den Pin 54 am BCM nicht direkt über den Schalter 
ansteuern.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Ich denke schon, dass der Pin 415 Masse sein könnte. Es passt du der 
Angabe der Spannungen je nach Schalter-Position. In diesem Fall und wenn 
keine Potentialtrennung notwendig ist, kannst du einfache NPN 
Transistoren nehmen.
1
                               BCM 54
2
                                 o
3
                                 |
4
                                |~|
5
                                |_|  R3
6
                                 |
7
                     +-----------+
8
                     |           |
9
                   |/           |~|
10
 In 2 o---[===]----|            |_|  R2
11
                   |\>           |
12
                     |    +------+
13
                     |    |      |
14
                     |  |/      |~|
15
 In 1 o---[===]------|--|       |_|  R1
16
                     |  |\>      |
17
                     |    |      |
18
                     |    |      |
19
  GND o--------------+----+------+-------o BCM 415 = GND

Optokoppler eignen sich besser, wenn:

a) Potentialtrennung gefordert ist
b) Der Anschluß BCM 415 nicht = GND ist

Du musst die Ausgangstransistoren nur richtiger herum einbauen. + am 
Kollektor und - am Emitter. Mess einfach nach, wie herum die Polung der 
Spannungn an den Widerständen ist.

von Sebastian W. (601)


Lesenswert?

Hallo Stefan,

danke für die Mühe und die Ascii-Skizze. Alles sehr verständlich.

Die Schalterstellung könnte man auf diese Weise sicherlich gut 
detektieren, dazu müsste ich jedoch das Schaltermodul zerlegen.

Zudem muss ich die Verbindung zwischen dem Schalter S229.2 Pin 2 und dem 
BCM Pin 54 trennen, um an den BCM Pin 54 die Nachbildung des 
widerstandskodierten Schalters anzuschließen.

Ich komme ja nicht an die Anschlüsse zwischen den Widerständen im 
Schalter.
Mir stehen lediglich die vier Anschlüsse vom Scahltermodul zur 
Verfügung.

von Stefan F. (Gast)


Lesenswert?

Du musst das ganze Schaltermodul ausmessen, um die Werte der Widerstände 
zu ermitteln. Dann kannst du es mit Optokopplern (oder Relais) 
nachbilden.

Benutze dir richtigen Worte. In jedem Beitrag stiftest du durch unklare 
bis sinnlose Ausdrücke Verwirrung. Beispiel:

> Die Schalterstellung könnte man auf diese Weise sicherlich
> gut detektieren,

Du willst doch die Schalter nachbilden, was gibt es dann zu detektieren? 
Oder willst den unteren Teil der Schaltung nachbilden und stattdessen 
den Schalterblock beibehalten?

von Sebastian W. (601)


Lesenswert?

> Du musst das ganze Schaltermodul ausmessen, um die Werte der Widerstände
> zu ermitteln. Dann kannst du es mit Optokopplern (oder Relais)
> nachbilden.

> Benutze dir richtigen Worte. In jedem Beitrag stiftest du durch unklare
> bis sinnlose Ausdrücke Verwirrung. Beispiel:

Aber das habe ich doch gemacht und dachte dies in meinem ersten Beitrag 
genau beschrieben zu haben.

>> Die Schalterstellung könnte man auf diese Weise sicherlich
>> gut detektieren

Da ich mir nicht sicher war ob wir aneinander vorbeireden, habe ich mich 
wohl etwas zu vorsichtig ausgedrückt. Ich bitte um Entschuldigung.

> Du willst doch die Schalter nachbilden, was gibt es dann zu detektieren?
> Oder willst den unteren Teil der Schaltung nachbilden und stattdessen
> den Schalterblock beibehalten?

Ich war mir einfach nicht sicher ob du meinen ersten Beitrag richtig 
verstanden hast, oder ob es an mir liegt, dass ich deine Antwort nicht 
verstehe.

Der untere Teil in meiner Skizze ist doch die Nachbildung. Ist in der 
Skizze auch mit "Ersatzschaltung für S229.2" beschrieben. Wenn man sich 
die Zeit nimmt und meinen ersten Beitrag liest, hätte ich gedacht, dass 
wenigstens diese Stelle halbwegs verständlich ist.
Ich habe mich wirklich bemüht mein Problem detailiert zu beschreiben. Es 
führt aber ebenso zu Verwirrung wenn man die Frage nicht richtig liest. 
Beispiel: Du musst das ganze Schaltermodul ausmessen.

### Aus meinem ersten Beitrag #######################################
Folgende Widerstandswerte konnte ich durch Messung am Schalter
ermitteln. Gemessen wurde dabei von Pin 3 nach Pin 2 vom Schaltermodul
S229.
In Ruhestellung = 1500Ohm
In Pos.1 = 150 Ohm
In Pos.2 = 500 Ohm

Daraus ergeben sich für mich folgende Widerstandswerte:
R1 = 1000 Ohm
R2 = 350 Ohm
R3 = 150 Ohm

Wollen wir es bitte nochmal probieren?

von Peter D. (peda)


Lesenswert?

Du kannst die Widerstände direkt an die MC-Pins legen und dann einfach 
zwischen Input und Output-Low umschalten.

von Kredi (Gast)


Lesenswert?

Vorwort:
Ich habe das Gefühl, Du suchst mehr das persönliche Gespräch am Abend 
als eine technische Lösung.

Nachwort + Lösung: Ja , das könntest Du mit einem uC Analogeingang 
auswerten.

von Sebastian W. (601)


Lesenswert?

Gegen persönliche Gespräche habe ich nichts einzuwenden. Erst recht 
nicht wenn diese zur Lösungsfindung beitragen.

Ich versuchs nochmal zu beschreiben. Vielleicht gelingt es mir diesmal 
besser.

Das Schaltermodul S229 ist in sich geschlossen. Und ich habe die 
Widerstandswerte ausgemessen. Von Pin3 zu Pin2 ergeben sich folgende 
Messwerte für den Schalter S229.2.
In Ruhestellung = 1500Ohm
In Pos.1 = 150 Ohm
In Pos.2 = 500 Ohm

Das BCM hat drei für das gesamte Modul relevante Eingänge. Der Schalter 
S229.2 (der um den es geht) ist am Pin 54 vom BCM angeschlossen.

Ich habe nun vor den Eingang 54 am BCM über die Ersatzschaltung zu 
steuern. Dafür habe ich unter das BCM auch die Ersatzschaltung 
angedeutet. Der Widerstand R1.1 entspricht dem vom R1 im Schalter 
S229.2, der Widerstand R2.1 dem von R2, R3.1 = R3.
Der Eingang 54 am BCM ist dann mit dem Widerstandsnetzwerk der 
Ersatzschaltung verbunden und nicht mehr über den Schalter S229.2.

Durch Schalten der zwei Relais REL1 und REL2 lässt sich der 
Widerstandskodierte Schalter S229.2 exakt nachbilden.

Soweit sollte das alles kein Problem sein.

An dieser Stelle komme ich nicht weiter:
Ich möchte den Pin2 vom Schalter S229 mit dem Mikrokontroller auswerten. 
Der ist ja nun nicht mehr am BCM Pin 54 angeschlossen.

Für die Schalterstellungen von S229.2 soll das BCM folgende Spannungen 
ausgewertet haben:
In Ruhestellung = 0,8V - 1,0V
In Pos.1 = 0,45V - 0,65V
In Pos.2 = 0,15V - 0,35V

Die Messung kann doch vorher nur an Pin 54 vom BCM erfolgt sein.
Aber wo kommt die Spannung her, wenn BCM 415/57 Signalmasse sein soll.
Demzufolge müssten das BCM am Pin 54 ja eine Spannung geliefert haben.
Diesen Teil verstehe ich nicht.
Ich bin Anfangs davon ausgegangen, dass es sich bei Pin 54 am BCM nicht 
um die Signalmasse handelt und die drei Eingänge am BCM die Spannung 
messen die dort hinter dem jeweiligen Widerstandsnetzwerk anliegt.

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Sebastian W. schrieb:
> Ich habe mich wirklich bemüht mein Problem detailiert zu beschreiben. Es
> führt aber ebenso zu Verwirrung wenn man die Frage nicht richtig liest.

1. Formuliere Deine Fragen so, das man sie verstehen kann.
2. Beantworte Nachfragen eindeutig.

Du hast ein Schaltermodul, ein Steuergerät und einen Mikrocontroller. 
Soll jetzt der Mikrocontroller die Tastenbetätigungen abhören

oder

Soll der Controller die Eingabe zum Steuergerät simulieren?

von Stefan F. (Gast)


Lesenswert?

Ich weiss immer noch nciht, wass du machen willst. Mir fallen spontan 
vier Grundsätzliche Aufgaben ein. Bitte wähle eine:


a) Du willst den Schalterblock durch eine Elektronik mit µC ersetzen, 
also die Schalter und Widerstände simulieren.

b) Du willst die Steuerung, an die der Schalterblock angeschlossen ist, 
durch eine eigene Schaltung mit µC ersetzen.

c) Du willst einen Mikrocontroller an die bereits vorhandene und 
beizubehaltende Schaltung anschließen, und damit die Zustände der 
Schalter zusätzlich erfassen.

d) Du willst die Innenschaltung der Schalterbox herausfinden, 
insbesondere die Widerstandwerte. Schaltplan ist ja schon vorhanden.

Bitte wählen Sie jetzt a, b, c oder d. Und bitte keine Sätze mehr, die 
nützten gar nichts, wenn wir nicht wissen, worauf es hinaus laufen soll.

von raspi bastler (Gast)


Lesenswert?

ersetz die schalter doch durch micro relais, z.b. diese:
https://www.reichelt.de/Reedrelais-Magnete/DIP-7212-L-5V/3/index.html?&ACTION=3&LA=2&ARTICLE=15184&GROUPID=3291&artnr=DIP+7212-L+5V
Die sollten sich mit freilaufdiode direkt von einem uC schalten lassen. 
Galvanisch getrennt und einfach.

von Sebastian W. (601)


Lesenswert?

@Stefan US: Es ist a und c
a) ich möchte den Schalterblock durch eine Elektronik mit µC ersetzen,
also die Schalter und Widerstände simulieren.

Genau das soll mit der Ersatzschaltung passieren. Die ist soweit 
vollkommen klar. Inkusive Anschaltung über Mikrokontroller.

@ Raspi: Genau diese habe ich für solche Anwendungen schon verbaut. Mit 
Diode und ohne Wechslerkontakt. In der Zeichnung als REL1 und REL2 
beschrieben. Dieser Teil ist vollkommen klar.

c) Ich möchte einen Mikrocontroller an die bereits vorhandene und
beizubehaltende Schaltung anschließen, und damit die Zustände der
Schalter "zusätzlich" erfassen.

Ich möchte das Signal vom Schalter mit dem Mikrokontroller erfassen, 
jedoch nicht zusätzlich. Sondern ausschließlich mit dem Mikrokontroller.


Warum das ganze?:
Der Eingang 54 vom BCM wird dann mittels der Ersatzschaltung beschaltet.
Die Widerstandswerte sind bekannt. Die Relasis in der Ersatzschaltung 
werden vom Mikrokontroller angesteuert. Über den Mikrokontroller lese 
ich den widerstandskodierten Schalter aus und entscheide per Software 
was ich dem Steuergerät mit Hilfe der Ersatzschaltung übergebe. (Wie in 
der Zeichung angedeutet ist die elektriesche Verbindung zwischen dem Pin 
2 vom Schalter und dem Steuergerät getrennt.)
So könnte über den Mikrokontroller das Signal vom Schalter verzögert an 
das Steuergerät gegeben werden. Oder der Mikrokontroller simuliert dem 
Steuergerät einen betätigten Schalter, ohne das dieser tatsächlich 
gedrückt wurde. Die Kontrolle über den Schalter hat dann der 
Mikrokontroller.

von Stefan F. (Gast)


Lesenswert?

a und c gleichzeitig ergibbt für mich keinen Sinn.

Wenn ich dei Schalter durch einen µC simuliere, warum will ich dann den 
Zustand der simulierten Schalter wieder erfassen?

Wenn ich den Lichtschalter einschalte, weiss ich, dass das Licht an ist. 
Dazu brauche ich keinen extra Sensor. (Vorausgesetzt die Lampen sind 
heile).

> Ich möchte das Signal vom Schalter mit dem Mikrokontroller erfassen,
> jedoch nicht zusätzlich. Sondern ausschließlich mit dem Mikrokontroller.

Also doch nicht c. Und auch nicht a.

Ja was denn nun? Kannst du das eventuell auf Englisch oder Chinesisch 
klarer formulieren?

von Codemuncher (Gast)


Lesenswert?

Steht doch nun exakt da was er vor hat... Ging aus dem ersten Beitrag 
noch nicht so klar hervor. Aber die Fragen hat ja noch keiner 
beantwortet.
1. Ja, die Widerstandswerte passen so.
2. Die kleinen Spannungen am BCM sind ungewöhnlich. Ist BCM 415 wirklich 
Signalmasse? Wird vielleicht Strom gemessen?
3. Zuerst 2. klären.

Schöner Vergleich mit dem Lichtschaltet. Aber a und c passt perfekt zum 
Schaltplan Skizze. Lies mal im letzten Beitrag was der MC machen soll. 
Steht da ganz klar geschrieben. Der soll den Schalter simulieren. 
Vielleicht zeitversetzt oder über eine andere Logik vom MC.

von Uwe (Gast)


Lesenswert?

Hi,
deine Nachbildung sollte so passen.
Zum Messen der Taster muss der µC-GND an 3/BCM415.
An 2 über einen weiteren R(zb.1,5K) speist du 5 Volt ein.
Diesen Knoten(2) kannst du dann mit dem ADC messen und deine Relais 
beeinflussen. Wo ist das Problem?

Viel Erfolg, Uwe

von Sebastian W. (601)


Lesenswert?

Hi Uwe,

> Zum Messen der Taster muss der µC-GND an 3/BCM415.

ok, dann sollte ich - so wie es Codemuncher geschrieben hat - vorher 
durch messen nochmal sicher stellen, dass es sich bei 3/BCM415 wirklich 
um die Signalmasse handelt. Das war die spontane Aussage von einem 
Servicetechniker, der sich aber nach eigenen Angaben nie wirklich mit 
dem BCM vertraut gemacht hat.

> An 2 über einen weiteren R(zb.1,5K) speist du 5 Volt ein.
> Diesen Knoten(2) kannst du dann mit dem ADC messen und deine Relais
> beeinflussen.

Bisher konnte ich mir nicht vorstellen das BCM415 die Signalmasse sein 
soll. Konnte das bis jetzt auch noch nicht messen, da ich hierfür 
einiges zerlegen muss. Bin aber dran.
Von vorn herein habe ich gedacht, dass an 3/BCM 415 die Spannung 
anliegt.

Wenn ich das richtig verstanden habe, würde jeder der Eingänge am BCM 
eine Spannung ausgeben und über einen internen Widerstand im BCM mittels 
ADC messen.

Bei dieser Betrachtungsweise hatte ich bedenken, dass sich die an Pin 2 
angelegte Spannung für die Messung, über die beiden anderen Schalter auf 
die Eingänge 53 und 2 vom BCM auswirkt. Diese Eingänge vielleicht sogar 
zerstört.

Die Spannungen scheinen mir zudem sehr klein.
Das Kabel zwischen Schalter und Steuergerät ist gut 2 Meter lang und in 
einem ungeschirmten Kabelbaum mit vielen anderen Kabeln verlegt.
Mir fehlt die Erfahrung und das Fachwissen, um das korrekt 
einzuschätzen.

Das ist das einzige das ich noch zum Eingang 3 am BCM weiss:
Von einem Servicetechniker konnte ich in Erfahrung bringen, dass man bei
einem intakten BCM ohne angeschlossenes Schaltermodul, eine Spannung von
> 1 V messen muss.
Für die anderen Schalterstellungen soll das BCM folgende Spannungen
auswerten:
In Ruhestellung = 0,8V - 1,0V
In Pos.1 = 0,45V - 0,65V
In Pos.2 = 0,15V - 0,35V

1. Würde sich eine solche Messung mit dem Vorschalg von Uwe decken? 
Widerstand und Spannung müssten halt angepasst werden?

2. Besteht mit dieser Schaltung keine Gefahr für die anderen beiden 
Eingänge am BCM?

Vielen Dank für die Mühe mir zu helfen.

von Nosnibor (Gast)


Lesenswert?

Wenn der Schaltplan vom Schaltergehäuse stimmt (drei Widerstände + zwei 
Schalter), dann ist die Nachbildung mit drei Widerständen und zwei 
Relais auf jeden Fall korrekt, und es kann vollkommen egal sein, welcher 
Anschluß Masse ist oder irgendwelche Spannungen führt, denn die Relais 
sorgen für Potenzialtrennung.

Außerdem kann auch egal sein, wie das Steuergerät den Widerstand mißt. 
Üblich ist aber, durch einen internen Pullup-Widerstand einen 
Spannungsteiler daraus zu machen, und dann die Spannung mit einem ADC zu 
messen. Bei den hier angegebenen Widerständen und Spannungen sieht mir 
das aus wie 600 Ohm Pullup nach 1,2V.

Um die Schalterstellung mit einem eigenen Controller zu erfassen, würde 
ich genauso vorgehen: an einen Analogeingang und Pullup dazu, z.B. 
3,3kOhm nach 5V. Die Masse des Controllers muß dann natürlich mit BCM415 
verbunden sein. An dieser Stelle haben wir dann keine Potenzialtrennung 
mehr, also aufpassen, wie der Controller versorgt wird!

Nachtrag: OK, wenn das Kabel von Anschluß 3 der Schalterbox nach BCM415 
lang ist, hat es einen endlichen Widerstand, an dem der Meßstrom des 
Controllers (1...2mA) einen Spannungsabfall hervorruft, der sich zu den 
anderen Schaltersignalen addiert. Pro Ohm Kabelwiderstand macht das 2mV; 
der BCM-Eingang scheint +/-100mV Toleranzbereich zu haben, den wir also 
ab 50Ohm überschreiten würden. Es ist unwahrscheinlich, daß das Kabel 
einen so hohen Widerstand hat; alles unter 10Ohm sollte OK sein.

von Sebastian W. (601)


Lesenswert?

Danke für eure Mühe und die super Erklärungen. Werde das ganze mal auf 
einer Steckplatine aufbauen und testen.

Das hat mir sehr geholfen.

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.