Ich habe zwei Bauteile (Modellbahn) die auf mechanische Aktionen einen Eingang auf 0V ziehen. Ein weiteres Bauteil (Arduino) dessen Anschluss erwartet auf 0V gezogen zu werden, intern mit Pull-Up auf 5V. Jetzt würde ich gern die zwei ersten Bauteile in einer UND Logik miteinander verbinden. Also der Pin am Arduino soll nur auf 0V gezogen werden, wenn beide Bauteile auf 0V ziehen. Ist es möglich, dazu zwei p-Kanal Mosfets in Reihe zu schalten. Und jeweils am Gate eins der Bauteile anzuschließen. Somit würde eine Verbindung zu 0V nur zustande kommen, wenn beide Gates Richtung 0V gehen. Habe ich da einen Gedankenfehler oder ist das so möglich?
Andre schrieb: > Ist es möglich, dazu zwei p-Kanal Mosfets in Reihe zu schalten. Und > jeweils am Gate eins der Bauteile anzuschließen. Somit würde eine > Verbindung zu 0V nur zustande kommen, wenn beide Gates Richtung 0V > gehen. Nein, das geht so nicht. Aber die gewünschte Funktion ist nichts anderes als eine ODER-Funktion. Am Besten gleich ein CMOS-ODER-Gatter nehmen, oder ein NOR-Gatter plus Inverter (auch mit NOR), oder 2 Inverter und ein NAND Gatter, u.v.m. Nachtrag: Wenn du unbedingt mit MOSFETs arbeiten möchtest: 3x N-Kanal (1x NOR, 1x Inverter) + 4 Pull-Up-Widerstände.
:
Bearbeitet durch User
Man nimmt ganz einfach zwei der Arduino-Eingänge, und verknüpft die in der SW entsprechend ...
Nutze die De Morganschen Theoreme aus, dann geht das sogar mit nur zwei Dioden und einem bipolaren NPN Transistor.
Ach Du grüne Neune (Gast) >Nutze die De Morganschen Theoreme aus, dann geht das sogar mit nur zwei >Dioden und einem bipolaren NPN Transistor. Das macht aber nicht 1x 0V aus 2x 0V ...
Ach, ich habe mich verzettelt. Die Schaltung soll genau umgekehrt sein. Sorry, mein Fehler.
Jens G. schrieb: > Das macht aber nicht 1x 0V aus 2x 0V ... Ja, ich hab's auch gerade gemerkt. Jetzt könnte man tatsächlich noch den P-MOSFET am Ausgang anschließen. Den Pull Down an der Basis habe ich, im Eifer des Gefechts, auch vergessen. Aber das werden dann auch schon wieder mehr Bauteile, als man eigentlich haben will. Jens G. schrieb: > Man nimmt ganz einfach zwei der Arduino-Eingänge, und verknüpft > die in der SW entsprechend ... Ja, das ist dann wohl doch das Einfachste.
Am Arduino lässt sich leider kein weiterer Eingang verwenden. Ich habe es nochmal aufgezeichnet. Da ich glaube mich missverständlich ausgedrückt. Gewollt ist, das der Anschluss am Arduino auf 0V gezogen wird, wenn beide Modelbahn-Bauteile ihren Ausgang mit 0V verbinden. Da beide P-Mosfets am Gate weniger Spannung als an der Source haben, sollte der DS-Widerstand Richtung 0Ohm gehen womit am Arduino Anschluss doch nahezu 0V anliegen sollten. Wenn das nicht funktioniert, könnt ihr mir bitte erklären, worin mein Gedankenfehler liegt?
Ein P-Kanal-MOSFET wird mit einer negativen Spannung relativ zu seinem Source-Anschluss angesteuert.
Eberhard H. schrieb: > Ein P-Kanal-MOSFET wird mit einer negativen Spannung relativ zu seinem > Source-Anschluss angesteuert. Die Source liegt doch bei 5V und das Gate bei 0V. Somit liegt das Gate doch relativ negativ zur Source um 5V. Oder nicht?
Andre schrieb: > Eberhard H. schrieb: >> Ein P-Kanal-MOSFET wird mit einer negativen Spannung relativ zu seinem >> Source-Anschluss angesteuert. > > Die Source liegt doch bei 5V und das Gate bei 0V. Somit liegt das Gate > doch relativ negativ zur Source um 5V. Oder nicht? Mit dem Widerstand an Source folgt hier Source dem Gate um die Threshold-Spannung, ist also immer entsprechend höher und wird nie zu 0V. Deshalb klappt deine Idee nicht. Wenn Bauteil 1 und Bauteil 2 aber 5V aktiv treiben und nicht nur nach GND (0V) schalten), reichen auch 2 Dioden und ein Pull-Down-Widerstand, eben die ODER-Schaltung.
Ok. Es liegt also am PullUp an der Source. Schade und Danke für die Erklärung. Die Bauteile 1 und 2 haben intern ein PullUp zu 5V und ziehen über N-Mosfet Richtung 0V (GND).
Eberhard H. schrieb: > Am Besten gleich ein CMOS-ODER-Gatter nehmen Z.B. https://cdn-reichelt.de/documents/datenblatt/A200/SN74AHC1G32_ENG_TDS.pdf
Andre schrieb: > Gewollt ist, das der Anschluss am Arduino auf 0V gezogen wird, wenn > beide Modelbahn-Bauteile ihren Ausgang mit 0V verbinden. Problem der Schaltung ist, dass du einen Sourcefolger gebaut hast. Die liefern dann keine 0V. Jeder erhöht den LOW-Pegel um UGS. Das wäre die Lösung: Eberhard H. schrieb: > Wenn Bauteil 1 und Bauteil 2 aber 5V aktiv treiben und nicht nur nach > GND (0V) schalten), reichen auch 2 Dioden und ein Pull-Down-Widerstand, > eben die ODER-Schaltung. Oder du brauchst halt noch einen Inverter, also einen dritten Transistor.
Andre (Gast) >Am Arduino lässt sich leider kein weiterer Eingang verwenden. Pech. >Ich habe es nochmal aufgezeichnet. Da ich glaube mich missverständlich >ausgedrückt. >image.jpg Egal ob Du p-Kanal oder n-Kanal nimmst, oder npn oder pnp, der PullUp/Down gehört in die Drainleitung (nicht in Source, womit die Spannungsverstärkung deutlich kleiner 1 wäre). Auserdem ist solch eine Schaltung dann immer invertierend. D.h., Du mußt grundsätzlich noch eine zusätzliche Transistorstufe zum nochmaligem Invertieren nachschalten. Da Du letztlich ein OR bauen willst, sind zwei serielle p-Kanal mit drainseitigem PullUp (unten) und nachfolgender Inverterstufe (im einfachsten ein n-Kanal mit PullUp im Drain) schon mal (als eine Variante) richtig.
:
Bearbeitet durch User
Andre schrieb: > Die Bauteile 1 und 2 haben intern ein PullUp zu 5V und ziehen über > N-Mosfet Richtung 0V (GND). Dann klappt das mit 2 Dioden als ODER auch nicht. Es bleibt jedoch noch eine analoge Lösung, im einfachsten Fall mit 3 Widerständen. Hierzu sollte man den Wert der Pull-Up-Widerstände bei BAUTEIL1 und BAUTEIL2 einigermaßen kennen. Dann könnte die sehr einfache Schaltung z. B. wie im Anhang ausschauen. R3 ist der offensichtlich bereits vorhandene Pull-Up-Widerstand beim Arduino-Board. Die ATmegas haben CMOS-Eingänge mit ca. 0,5V Hysterese @5V. Pegel < 2V bzw. > 3V erfüllen also die LOW/HIGH-Bedingungen. Wenn die Pull-Up-Werte bei BAUTEIL1 (R4) und BAUTEIL2 (R5) stark von 10 kOhm abweichen, muss man ggf. die Werte von R1 bis R3 anpassen.
Eberhard H. schrieb: > Dann klappt das mit 2 Dioden als ODER auch nicht. Doch schon. Der PU am Arduinoeingang muss halt zu einem PD und im Wert ggf. angepasst werden. Wie dimensionieren hängt halt davon ab, was diese 'Bauteile' für einen PU haben.
Jens G. schrieb: > Egal ob Du p-Kanal oder n-Kanal nimmst, oder npn oder pnp, der > PullUp/Down gehört in die Drainleitung (nicht in Source, womit die > Spannungsverstärkung deutlich kleiner 1 wäre). Danke, verstanden. Eberhard H. schrieb: > Dann klappt das mit 2 Dioden als ODER auch nicht. > > Es bleibt jedoch noch eine analoge Lösung, im einfachsten Fall mit 3 > Widerständen. > Hierzu sollte man den Wert der Pull-Up-Widerstände bei BAUTEIL1 und > BAUTEIL2 einigermaßen kennen. > > Dann könnte die sehr einfache Schaltung z. B. wie im Anhang ausschauen. > > R3 ist der offensichtlich bereits vorhandene Pull-Up-Widerstand beim > Arduino-Board. > > Die ATmegas haben CMOS-Eingänge mit ca. 0,5V Hysterese @5V. > Pegel < 2V bzw. > 3V erfüllen also die LOW/HIGH-Bedingungen. > > Wenn die Pull-Up-Werte bei BAUTEIL1 (R4) und BAUTEIL2 (R5) stark von 10 > kOhm abweichen, muss man ggf. die Werte von R1 bis R3 anpassen. Cool, ich denke ich habe es verstanden. Wenn nur ein Bauteil auf GND zieht, habe ich den Spannungsteiler von 10k und 12k. Wenn beide auf GND ziehen habe ich den Spannungsteiler zwischen 10k und 6k (2x12k parallel). Und somit nur bei beiden ein Low am Arduino. HildeK schrieb: > Doch schon. Der PU am Arduinoeingang muss halt zu einem PD und im Wert > ggf. angepasst werden. Wie dimensionieren hängt halt davon ab, was diese > 'Bauteile' für einen PU haben. Ok, das kann ich noch nicht ganz nachvollziehen. Ich vermute das jeweils einer der Beiden Bauteile den Arduino Eingang oben hält. Und wenn beide gegen Masse schalten, bleibt der Spannungsteiler zwischen Arduino PullUp und 50k PullDown. Aber dann wäre am Arduino Pin kein Low. Aber Danke. Ihr habt zum verstehen viel geholfen.
Andre schrieb: > Ok, das kann ich noch nicht ganz nachvollziehen. > > Ich vermute das jeweils einer der Beiden Bauteile den Arduino Eingang > oben hält. Und wenn beide gegen Masse schalten, bleibt der > Spannungsteiler zwischen Arduino PullUp und 50k PullDown. Aber dann wäre > am Arduino Pin kein Low. Deine Quellen haben einen OC-Ausgang mit einem Pullup in unbekannter Höhe. Einigermaßen niederohmig wäre von Vorteil. Der Arduino hat m. W. normalerweise keinen eingebauten PU, sondern eher einen per SW konfigurierbaren - gut, ich hab keinen zur Hand, um nachzuschauen. Zur Not müsste man den entfernen, auf jeden Fall in der SW deaktivieren. Wenn dann beide "Bauteile" auf LOW sind, dann wird der 50k den Arduino-Eingang auf LOW ziehen.
HildeK schrieb: > Problem der Schaltung ist, dass du einen Sourcefolger gebaut hast. Die > liefern dann keine 0V. Ich bin der Meinung, dass die Schaltung laufen kann, wenn an beide Gate noch ein Widerstand nach +5V kommt und die FETs bei -4V UGS sicher schalten. Ich würde das einfach mal zusammenlöten und messen.
Ich glaub am einfachsten ist es ein NOR Gate und einen kleinen N-Kanal MOSFET zu nehmen.
H. B. schrieb: > Ich glaub am einfachsten ist es ein NOR Gate und einen kleinen N-Kanal > MOSFET zu nehmen. Und warum dann nicht gleich einen SN74LVC1G32? So wären wir wieder bei 22.11.2020 14:35.
H. B. schrieb: > Ich glaub am einfachsten ist es ein NOR Gate und einen kleinen > N-Kanal MOSFET zu nehmen Da sowieso zwei Transistoren eingeplant sind, kann man die UND-Funktion auch nur mit Dioden bewerkstelligen. Dann benötigt man keinen ODER-Schaltkreis mehr und hat noch zusätzlich die Möglichkeit die Schaltung mit weiteren Dioden bequem zu erweitern, ohne dabei einen weiteren Eingang vom Arduino verwenden zu müssen.
Eberhard H. schrieb: > H. B. schrieb: >> Ich glaub am einfachsten ist es ein NOR Gate und einen kleinen N-Kanal >> MOSFET zu nehmen. > > Und warum dann nicht gleich einen SN74LVC1G32? > > So wären wir wieder bei 22.11.2020 14:35. Meine Schaltung hat den Vorteil, dass man auch einen µC mit anderer I/O Spannung als 5V (z.B. 1,8V) damit ansteuern kann.
H. B. schrieb: > Meine Schaltung hat den Vorteil, dass man auch einen µC mit anderer I/O > Spannung als 5V (z.B. 1,8V) damit ansteuern kann. ...und meine Schaltung ist sogar noch besser, weil sie sowohl Eingangs- als auch Ausgangssignale zwischen 3,3V und ca. 12V verarbeiten kann. Dank des offenen Kollektors.
Manfred schrieb: > Ich bin der Meinung, dass die Schaltung laufen kann, wenn an beide Gate > noch ein Widerstand nach +5V kommt und die FETs bei -4V UGS sicher > schalten. Dann hast du für LOW am Ausgang eben irgendwas bei 3-4V. Und keine 0V. Wenn schon so, dann mit PNP, aber es fehlen dann noch immer 1.2-1.3V zu einen ordentlichen LOW. Oder mit einem pMOS mit extrem niedrigem G-S-Threshold. > Ich würde das einfach mal zusammenlöten und messen. Tu es und berichte.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.