PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Controller Signal mit Taster geschlossen - Taster durch Transistor ersetzen



schlunzlich
26.11.2021, 23:06
Hallo Leute,

ich habe eine Schaltung, bei der ein Controllersignal (Rechteck) von einem Ausgang zu einem Eingang (selber Controller) durch einen Taster durchgesteuert wird. Den Taster würde ich gerne durch einen Transistor ersetzen, der von einem anderen Controller angesteuert wird.
Wie kann ich das realisieren?

Dazu muss gesagt werden, dass der Eingang einen Pulldown Widerstand besitzt und das Signal durch eine Diode daran gehindert wird, zurück in den Ausgang zu steuern.

Grüße

P.S.: Hier die Schaltung mit den Tastern und dem Controller

35641

Holomino
27.11.2021, 00:29
Was spricht gegen ein schnödes AND-Gatter?

schlunzlich
27.11.2021, 00:38
Was spricht gegen ein schnödes AND-Gatter?

Nichts ;-) aber daran habe ich noch garnicht gedacht...Blöd ist bloß, dass ich schon eine fertige Platine mit einem ARM habe, auf dem die Transistoren drauf sind. Würde also bedeuten, dass ich eine neue Platine machen müsste. Eine Beschaltung mit Transistoren wäre also besser umzusetzen.

Aber danke erstmal für den Tipp!

Searcher
27.11.2021, 05:13
Würde also bedeuten, dass ich eine neue Platine machen müsste. Eine Beschaltung mit Transistoren wäre also besser umzusetzen.


AND Gatter geht auch mit Dioden und einem Widerstand:
https://www.homofaciens.de/technics-base-circuits-logic-gates_ge.htm

Gruß
Searcher

schlunzlich
27.11.2021, 10:53
Ein Problem wäre dann aber, die Taster Version sollte auch parallel funktionieren und das wird dann wohl nicht gehen....

021aet04
27.11.2021, 13:28
Ich würde das eher mit einem Optokoppler lösen. Den OK kannst du einfalch paralell zum Taster schalten.

MfG Hannes

schlunzlich
27.11.2021, 14:12
Hatte ich auch schon überlegt, aber in beiden Fällen muss ich leider meine Platine komplett neu machen...

021aet04
27.11.2021, 15:34
Warum musst du die Platine neu machen. Das kannst du ja zwischen Platine 1 und Platine 2 hängen.

Hast du auch daran gedacht, dass du die Massen mit einander verbinden musst?

MfG Hannes

schlunzlich
27.11.2021, 21:20
Also ich habe noch einen 74AC125 QUAD Buffer rumliegen...das müsste doch auch funktionieren, oder?

Searcher
28.11.2021, 06:32
Also ich habe noch einen 74AC125 QUAD Buffer rumliegen...das müsste doch auch funktionieren, oder?

Mit dem 74AC125 könnte man das Rechtecksignal mit einem µC von einem Controller zu einem anderen ein- oder ausschalten. Wie aber den Taster da noch mit einbringen? Da wäre die Lösung mit Optokoppler naheliegender.

Gruß
Searcher

Moppi
28.11.2021, 07:54
Hallo!


... Taster würde ich gerne durch einen Transistor ersetzen ...

Es kommt drauf an, ob das vom Signalpegel möglich ist.

Wenn man statt dessen einfach einen Transistor einsetzt und die Basis steuert, gehen 0,7V verloren. Wenn aber der Controller, von dem das Signal ausgeht, ein HIGH erzeugt, dessen Pegel hoch genug ist (bspw. 4,7V), sollte der HIGH-Pegel nach dem Transistor noch immer hoch genug sein (bspw. 4V). Theoretisch müsste der Transistor einfach parallel zum Taster geschaltet werden. Wenn da schon eine Diode im Signalweg ist, würden dort auch 0,7V verloren gehen. Wieviel HIGH-Pegel kommt da noch an, wenn 1,4V abgezogen werden? Bei den angenommenen 4,7V blieben noch 3,3V übrig. Wie gesagt, es kommt drauf an, ob das vom Signalpegel möglich ist.

Gruß
Moppi

schlunzlich
28.11.2021, 11:23
Mit dem 74AC125 könnte man das Rechtecksignal mit einem µC von einem Controller zu einem anderen ein- oder ausschalten. Wie aber den Taster da noch mit einbringen? Da wäre die Lösung mit Optokoppler naheliegender.

Gruß
Searcher

Na das ist doch genau das, was ich machen will. Ich habe einen mechanischen Taster und möchte den elektronisch ersetzen. Der Signalweg (Signal ist ein Rechteck) geht vom Ausgang zum Eingang des Controllers und der schaltbare Buffer unterbricht oder schließt den Signalweg, so wie der mechanische Taster es auch macht.

- - - Aktualisiert - - -


Hallo!



Es kommt drauf an, ob das vom Signalpegel möglich ist.

Wenn man statt dessen einfach einen Transistor einsetzt und die Basis steuert, gehen 0,7V verloren. Wenn aber der Controller, von dem das Signal ausgeht, ein HIGH erzeugt, dessen Pegel hoch genug ist (bspw. 4,7V), sollte der HIGH-Pegel nach dem Transistor noch immer hoch genug sein (bspw. 4V). Theoretisch müsste der Transistor einfach parallel zum Taster geschaltet werden. Wenn da schon eine Diode im Signalweg ist, würden dort auch 0,7V verloren gehen. Wieviel HIGH-Pegel kommt da noch an, wenn 1,4V abgezogen werden? Bei den angenommenen 4,7V blieben noch 3,3V übrig. Wie gesagt, es kommt drauf an, ob das vom Signalpegel möglich ist.

Gruß
Moppi

Da ist ein Problem. Theoretisch ist das so, wie du schreibst, aber in der Praxis sieht das Signal wenn ich den Transistor nach der Diode einfüge, nicht so aus, wie erwartet. Oder ich habe es nicht richtig verschaltet?!

- - - Aktualisiert - - -

So ich habe das jetzt mal simuliert mit und ohne Diode und da sehe ich genau das Verhalten, bloß verstehe ich es nicht. Vielleicht kann mir jemand auf die Sprünge helfen.

mit Diode davor
35644

ohne Diode davor
35645

Und im letzten Fall, sieht es so aus, wie ich das auch haben will, warum funktioniert die andere Variante nicht?

021aet04
28.11.2021, 11:55
Die Anhänge funktionieren nicht.

Ich vermute, dass du die Schaltung nicht ganz verstanden hast. Das kann zu einer Funktion führen, dass du nicht haben willst.


Die Leitungen an den Dioden werden nacheinander mit VCC (z.B. 5V) belegt.
Die Leitungen mit den Pulldown Widerständen werden danach kontrolliert.

Ist die jeweilige Taste nicht betätigt, ist die Leitung low (mit dem Pulldown).
Ist die jeweilige Taste betätigt, ist die Leitung high.


Wenn du eine bestimmte Taste von einer externen Steuerung "betätigen" willst, muss du den Zustand der Leitung mit den Dioden auch mit einbeziehen.

Als Beispiel du hast die Leitung mit R4880 dauerhaft auf high.
Die Steuerung steuert die 4 Leitungen mit den Dioden nacheinander durch.
Du betätigst dadurch die Tasten der linken Spalte. Ist das gewollt?



MfG Hannes

schlunzlich
28.11.2021, 12:16
Jetzt sollten die Anhänge funktionieren...dann sieht man besser, was ich gemacht habe....

schlunzlich
28.11.2021, 14:35
Die Anhänge funktionieren nicht.

Ich vermute, dass du die Schaltung nicht ganz verstanden hast. Das kann zu einer Funktion führen, dass du nicht haben willst.


Die Leitungen an den Dioden werden nacheinander mit VCC (z.B. 5V) belegt.
Die Leitungen mit den Pulldown Widerständen werden danach kontrolliert.

Ist die jeweilige Taste nicht betätigt, ist die Leitung low (mit dem Pulldown).
Ist die jeweilige Taste betätigt, ist die Leitung high.


Wenn du eine bestimmte Taste von einer externen Steuerung "betätigen" willst, muss du den Zustand der Leitung mit den Dioden auch mit einbeziehen.

Als Beispiel du hast die Leitung mit R4880 dauerhaft auf high.
Die Steuerung steuert die 4 Leitungen mit den Dioden nacheinander durch.
Du betätigst dadurch die Tasten der linken Spalte. Ist das gewollt?



MfG Hannes

Den letzten Teil deiner Erklärung verstehe ich nicht ganz...kannst du das nochmal näher erklären?

021aet04
28.11.2021, 18:10
Ich habe ein Bild gezeichnet, damit ist es vielleicht verständlicher.
35646

Die Schaltung entspricht genau deinen Plan.
Eine kleine Erklärung zum Plan.
Out1-Out 4 sind die Ausgänge der Steuerung.
In1-In3 sind die Eingänge um den Zustand der Taster/Schalter zu lesen.
An den Kreuzungen zwischen Out und In sind jeweils Taster/Schalter montiert.

Du siehst, dass bei jedem Eingang 4 Taster angeschlossen sind. Die Frage ist, wie wird erkannt, welche Taste betätigt ist.

Es ist immer 1 Ausgang high und die anderen low, also z.B. Out1=high, Out2-Out4=low.
Beim Beispiel schreibe ich nur, welcher Ausgang high ist.

Out1=1 (das weiß die Steuerung, weil dieser Ausgang von der Schaltung geschalten wird)
Jetzt wird der Zustand von In1-In3 gelesen. Die Taster, die möglich sind, sind S1-S3.
ist keine Taste gedrückt sind In1-In3 low (wegen den Pulldown Widerständen).
Jetzt drücke ich z.B. S1 => In1 ist jetzt ebenfalls high
Wenn ich z.B. S4 drücke hat das keine Auswirkung, weil S4 eine Spannung an Out2 benötigt.
Wenn du z.B. S1 und S4 drückst, hast du an der Kathode von D2 eine Spannung (Out1 => D1 => S1 => S4)

Jetzt schaltet Out2 ein => es wird wieder In1-In3 gelesen => Die Taster S4-S6 sind aktiv => ist einer dieser Taster betätigt, führt der jeweilige In das high Potential

Das macht die Steuerung für jeden Ausgang, danach wird wieder von vorne begonnen.


Jetzt überlege einmal wenn du ein high Signal auf z.B. In1 gibst, was passiert?

Wenn du das nicht verstehst, kann ich ein kleines Programm schreiben, damit es anschaulicher ist.

MfG Hannes

schlunzlich
28.11.2021, 21:40
Ich habe ein Bild gezeichnet, damit ist es vielleicht verständlicher.
35646

Die Schaltung entspricht genau deinen Plan.
Eine kleine Erklärung zum Plan.
Out1-Out 4 sind die Ausgänge der Steuerung.
In1-In3 sind die Eingänge um den Zustand der Taster/Schalter zu lesen.
An den Kreuzungen zwischen Out und In sind jeweils Taster/Schalter montiert.

Du siehst, dass bei jedem Eingang 4 Taster angeschlossen sind. Die Frage ist, wie wird erkannt, welche Taste betätigt ist.

Es ist immer 1 Ausgang high und die anderen low, also z.B. Out1=high, Out2-Out4=low.
Beim Beispiel schreibe ich nur, welcher Ausgang high ist.

Out1=1 (das weiß die Steuerung, weil dieser Ausgang von der Schaltung geschalten wird)
Jetzt wird der Zustand von In1-In3 gelesen. Die Taster, die möglich sind, sind S1-S3.
ist keine Taste gedrückt sind In1-In3 low (wegen den Pulldown Widerständen).
Jetzt drücke ich z.B. S1 => In1 ist jetzt ebenfalls high
Wenn ich z.B. S4 drücke hat das keine Auswirkung, weil S4 eine Spannung an Out2 benötigt.
Wenn du z.B. S1 und S4 drückst, hast du an der Kathode von D2 eine Spannung (Out1 => D1 => S1 => S4)

Jetzt schaltet Out2 ein => es wird wieder In1-In3 gelesen => Die Taster S4-S6 sind aktiv => ist einer dieser Taster betätigt, führt der jeweilige In das high Potential

Das macht die Steuerung für jeden Ausgang, danach wird wieder von vorne begonnen.


Jetzt überlege einmal wenn du ein high Signal auf z.B. In1 gibst, was passiert?

Wenn du das nicht verstehst, kann ich ein kleines Programm schreiben, damit es anschaulicher ist.

MfG Hannes

Ich glaube, wir haben hier ein Missverständnis?! Wie diese Matrix funktioniert, ist mir völlig klar, also Digital.
Es geht ja darum die Taster, die ja vorhanden sind, mit Transistoren zu ersetzen. Und wenn du die beiden Simulationen von mir siehst, ist denke ich klar, wo es hingehen soll. Ich habe jetzt nur die offenen Taster weggelassen (die ja eigentlich die Steuerung übernehmen).
Oder bin ich wieder auf dem Holzweg? Mein Problem sind die Dioden, die verhindern sollen, dass es bei einer manuellen Steuerung und bei gleichzeitigem Drücken von zB. zwei Tastern, eine Fehlbedienung auftritt.
Da muss ich vielleicht noch dazu sagen, dass die Ausgangssignale vom Controller auch für eine Anzeige verwendet werden!

siehe Bild
35647

Edit: Es geht einfach darum die Signale der Matrix mit einem Transistor durchzusteuern, was ja auch mit der Variante ohne Dioden bzw. mit überbrückten Dioden funktioniert! Aber da habe ich halt das Problem, dass die Anzeige und LEDs nicht so angesteuert werden, wie bei der manuellen Steuerung.

Edit2: Ich glaube, ich habe jetzt eine Lösung. Ich habe den Basiswiderstand von 1k auf 156k erhöht und damit funktioniert es.

siehe hier die Simulation dazu und ich habe es auch schon in real ausprobiert, funktioniert. Eine Erklärung dazu wäre aber auch noch cool.
35648

Ich denke mittlerweile das es an Spannungsverhältnissen für den Transistor liegt und durch den Widerstand entsteht ein Teiler, der die Spannung entsprechend einstellt. Ist aber auch nur Halbwissen ;-)