Hallo, ich möchte gerne 20 analoge Schalter (DG4599EDL-T1-GE3) parallel mit einem Arduino ansteuern. Ich möchte also mit einer logischen 0/1 am Steuereingang alle 20 Schalter parallel entweder im Schaltzustand 1 oder 2 betreiben. Dazu habe ich 2 Fragen: 1.) Laut Datenblatt (https://www.vishay.com/docs/75778/dg4157e.pdf) benötigt der Eingangsstrom zum steuern des Schaltzustandes (I_INH bzw. I_INL) 1 bzw. -1 uA. Also für 20 Bauteile dann 20uA. Dafür sollten die ca. 20mA des digitalen Ausgangs des Arduinos doch ausreichen, um alle Bauteile parallel zu schalten oder sehe ich das falsch? 2.) Ich würde gerne überprüfen, welcher Schaltzustand vorliegt bzw. sicherstellen, dass das umschalten auch funktioniert hat. Allerdings möchte ich dazu nicht in das System eingreifen. Könnte man für so etwas passive Hall Sensoren verwenden? Also quasi schauen ob ein Strom fließt (Zustand 1) oder nicht (Zustand 2)? Vielen Dank schonmal für die Antworten
Mike S. schrieb: > Laut Datenblatt (https://www.vishay.com/docs/75778/dg4157e.pdf) benötigt > der Eingangsstrom zum steuern des Schaltzustandes (I_INH bzw. I_INL) 1 > bzw. -1 uA. Der DG4157E wird in CMOS Technologie gefertigt. MOSFETs werden mit Spannung angesteuert. Der Eingangsstrom ist nur ein parasitärer Effekt.
Mike S. schrieb: > Könnte man für so etwas passive Hall Sensoren verwenden? Nein > Also quasi schauen ob ein Strom fließt (Zustand 1) oder nicht (Zustand 2)? Welchen Strom willst du dazu anschauen? Hall-Sensoren messen Magnetfelder. Hast du dir schon einmal ausgerechnet, wie groß das durch deine zu erwartenden Ströme erzeugte Magnetfeld in Relation zum Erdmagnetfeld ist. Was passiert, wenn du den Sensor bewegst?
Mike S. schrieb: > Dafür sollten die ca. 20mA des digitalen Ausgangs des Arduinos doch > ausreichen, um alle Bauteile parallel zu schalten oder sehe ich das falsch? Wie oft willst du die Schalter umschalten? Wie schnell soll das gehen? Mike S. schrieb: > 1.) > Laut Datenblatt (https://www.vishay.com/docs/75778/dg4157e.pdf) benötigt > der Eingangsstrom zum steuern des Schaltzustandes (I_INH bzw. I_INL) 1 > bzw. -1 uA. Das ist der statische Leckstrom. Du brauchst aber einen Strom, um die Eingangkapazität (und die Leiterbahnkapazität und sonstige parasitäre Kapazitäten) umzuladen. Aber gut: bei diesem Baustein ist die Control pin capacitance mit 1pF tatsächlich angenehm niedrig. Da überwiegt die Leitungskapazität. Wenn du dann nur 1x pro Minute machst und/oder dir die Umschaltzeit egal ist, dann brachst du nichts weiter machen. Wenn du aber 1000000 mal pro Sekunde möglichst gleichzeitig alles Schalter umschalten willst, dann brauchst du ausreichend Strom, um halbwegs steile Schaltflanken zu bekommen. Mike S. schrieb: > Ich würde gerne überprüfen, welcher Schaltzustand vorliegt Den gibts doch du selber mit deinem µC vor... > bzw. sicherstellen, dass das umschalten auch funktioniert hat. Was müsste denn passieren, dass das Umschalten nicht funktioniert? Warum erwartest du, dass ein elektronischer Schalter nicht umschaltet? Warum meinst du, dass ein wesentlich komplexerer Kontrollmechanismus zuverlässiger funktioniert? > Allerdings möchte ich dazu nicht in das System eingreifen. Du greifst mit deinen Schaltern doch eh' schon ein. > Könnte man für so etwas passive Hall Sensoren verwenden? Also quasi > schauen ob ein Strom fließt (Zustand 1) oder nicht (Zustand 2)? Wieviel Strom soll denn da überhaupt fließen? Mike S. schrieb: > ich möchte gerne 20 analoge Schalter (DG4599EDL-T1-GE3) parallel mit > einem Arduino ansteuern. Nur zur Sicherheit: dir ist schon klar, dass solche Halbleiterschalter keine Relais sind? Der "Laststromkreis" braucht Potentialbezug zum Arduino. Die beiden Massen müssen miteinander verbunden werden. Darfst/Kannst du das machen? Und dann muss die zu schaltende Spannung natürlich im Bereich zwischen 0V und Vcc sein...
:
Bearbeitet durch Moderator
Mike S. schrieb: > Ich würde gerne überprüfen, welcher Schaltzustand vorliegt bzw. > sicherstellen, dass das umschalten auch funktioniert hat. Was soll der Quatsch. Du als Programmierer weißt doch am besten, ob Du den Portpin auf 0 oder 1 gesetzt hast. Da muß man schon extrem chaotisch programmieren, daß man den Zustand zurück lesen muß. Ist aber auch kein Hexenwerk, ich kenne keine MCs, deren Portpins nur write-only sind.
Lothar M. schrieb: > Wie oft willst du die Schalter umschalten? Wie schnell soll das gehen? Eine schnelle Taktfrequenz spielt keine Rolle. Es soll hin und wieder mal umgeschalten werden. Vielleicht noch ein paar mehr Infos zum Projekt: Es soll ein kleines Uni Projekt realisiert werden. Die Multiplexer sollen im 1:2 Betrieb genutzt werden. Dabei ist der Pin A, wenn man es auf die Pin aus dem Datenblatt bezieht, eine Art Bus und Pin B_0 und B_1 sind baugleiche Steuergeräte, zwischen welchen gewechselt werden soll. Allerdings bevor eine Übertragung stattfindet (Man muss sich also keine Gedanken über Timing etc machen als Vereinfachung). Unsere konkrete Aufgabe ist es geeignete Multiplexer zu finden und mit einem Arduino parallel zu verschalten. Lothar M. schrieb: > Was müsste denn passieren, dass das Umschalten nicht funktioniert? > Warum erwartest du, dass ein elektronischer Schalter nicht umschaltet? > Warum meinst du, dass ein wesentlich komplexerer Kontrollmechanismus > zuverlässiger funktioniert? Das ist leider auch Teil der Aufgabenstellung. Kann aber sicherlich auch in SW realisiert werden.
Mike S. schrieb: > eine Art Bus und Pin B_0 und B_1 sind baugleiche Steuergeräte, zwischen > welchen gewechselt werden soll. Da fließt also eigentlich kein nennenswerter Strom. Dann vergiss Hall-Sensoren. Das einzige, was du zur Überwachunge machen kannst, ist ein Komparator, der die Pegel vor und hinter dem Schalter vergleicht. Und Alarm schlägt, wenn der Schalter eingeschaltet sein sollte und die Pegel unterschiedlich sind. Aber nach ganz kurzem Nachdenken kommt man schnell darauf, dass das technisch gesehen absoluter Overkill ist. Das ist, wie wenn du für ein Bild von deiner Katze einen Nagel in die Wand schlägst und dann mit einer Kamera laufend kontrollierst, ob das Bild immer noch an der richtigen Stelle hängt. Und das obwohl zigmillionen andere Bilder ganz ohne Kamera problemlos an der Wand halten...
Es gibt auch 3-fach Mux, z.B. TMUX4053, da reichen 7 ICs für 20 Signale. Die Signale dürfen auch negativ oder größer als der Logikpegel sein.
Peter D. schrieb: > Es gibt auch 3-fach Mux, z.B. TMUX4053, da reichen 7 ICs für 20 Signale. > Die Signale dürfen auch negativ oder größer als der Logikpegel sein. Ja auch schon gesehen, wir haben uns für dieses entschieden, weil der On-Widerstand mit 0,86 Ohm sehr klein ist, sodass der Bus nicht beeinflusst wird (Hoffentlich)
:
Bearbeitet durch User
Mike S. schrieb: > Dafür sollten die ca. 20mA des digitalen Ausgangs des Arduinos doch > ausreichen, um alle Bauteile parallel zu schalten Ja. Mike S. schrieb: > Könnte man für so etwas passive Hall Sensoren verwenden? Nein. Selbst der (maximale) vom DG4599 geschaltete Strom ist zu gering für diese Sensorart, da ist ja das Erdmagnetfeld stärker (je nach Drehung der Platine). Ausserdem funktioniert so ein DG4599 einfach, da muss man nichts überprüfen, das ist ja kein mechanisches Relais. Wenn der kaputt ist, ist dein Arduino auch kaputt und man kann sowieso nichts mehr machen.
Lothar M. schrieb: > Warum erwartest du, dass ein elektronischer Schalter nicht umschaltet? Spätestens wenn er einmal durchlegiert, tut er das nicht (mehr) ;-)
Mike S. schrieb: > Ja auch schon gesehen, wir haben uns für dieses entschieden, weil der > On-Widerstand mit 0,86 Ohm sehr klein ist, sodass der Bus nicht > beeinflusst wird (Hoffentlich) Was ist denn das für ein Hochleistungsbus, bei dem es auf ein paar Ohm ankommt?
Mike S. schrieb: > DG4599EDL-T1-GE3 SC70-6, wie ich das hasse. Zum Löten brauchst Du ein Mikroskop. Und 3 Tage vorher keinen Kaffee trinken und gut ausschlafen.
Peter D. schrieb: > SC70-6, wie ich das hasse. Immerhin kein BGA oder WLCSP. Die Teile sind halt alle für automatische Fertigung. Ein Fabrikbesitzer wird sagen: bedrahtet wie ich das hasse, das muss jemand per Hand reinstecken.
Peter D. schrieb: > SC70-6, wie ich das hasse. > Zum Löten brauchst Du ein Mikroskop. Und 3 Tage vorher keinen Kaffee > trinken und gut ausschlafen. Hab zumindest einen Adapter fürs Breadbord. Aber ja um das anlöten kommt man da trotzdem nicht herum.
Mike S. schrieb: > Es soll ein kleines Uni Projekt realisiert werden. Die Multiplexer > sollen im 1:2 Betrieb genutzt werden. Dabei ist der Pin A, wenn man es > auf die Pin aus dem Datenblatt bezieht, eine Art Bus und Pin B_0 und B_1 > sind baugleiche Steuergeräte, zwischen welchen gewechselt werden soll. > Allerdings bevor eine Übertragung stattfindet (Man muss sich also keine > Gedanken über Timing etc machen als Vereinfachung). > Unsere konkrete Aufgabe ist es geeignete Multiplexer zu finden und mit > einem Arduino parallel zu verschalten. Was ist das für ein Bus? CAN? Da kannst Du doch auf dem Bus mithören. CAN-Controller (entweder im Prozessor integriert oder per SPI angebunden) und passende Transceiver existieren. So lange dann auf dem aktiven Zweig gültige Pakete empfangen werden, ist alles in Ordnung. Die CAN-Controller kann man alle auch in den Listen-only Modus stellen, wo sie dann wirklich nur noch zuhören und keine ACKs verschicken. Zwei Probleme hättet Ihr dann aber noch, wenn es CAN ist: 1. die Terminierung. Jeder Bus muss ja an beiden Enden mit einem Terminierungswiderstand abgeschlossen werden. Beim nicht aktiven Steuergerät ist das aber nicht der Fall, der Bus wäre einseitig offen. Ihr müsstet dann über einen zweiten Multiplexer einen Abschlusswiderstand auf das unbenutzte Segment schalten, damit das Steuergerät immer einen intakten Bus sieht. 2. die ACKs. Wenn ein Busteilnehmer ein Paket schickt, muss mindestens ein anderer da sein, der dieses Paket bestätigt. Ansonsten kommt es zu einem Busfehler. Könnt Ihr einfach lösen, indem Ihr den CAN-Controller auf dem nicht ausgewählten Segment vom Listen-Only in den normalen Modus schaltet. Dann wird der alle empfangenen Pakete bestätigen, und das Steuergerät ist happy. fchk
Frank K. schrieb: > Zwei Probleme hättet Ihr dann aber noch, wenn es CAN ist: > 1. die Terminierung. Jeder Bus muss ja an beiden Enden mit einem > Terminierungswiderstand abgeschlossen werden. Beim nicht aktiven > Steuergerät ist das aber nicht der Fall, der Bus wäre einseitig offen. > Ihr müsstet dann über einen zweiten Multiplexer einen > Abschlusswiderstand auf das unbenutzte Segment schalten, damit das > Steuergerät immer einen intakten Bus sieht. > 2. die ACKs. Wenn ein Busteilnehmer ein Paket schickt, muss mindestens > ein anderer da sein, der dieses Paket bestätigt. Ansonsten kommt es zu > einem Busfehler. Könnt Ihr einfach lösen, indem Ihr den CAN-Controller > auf dem nicht ausgewählten Segment vom Listen-Only in den normalen Modus > schaltet. Dann wird der alle empfangenen Pakete bestätigen, und das > Steuergerät ist happy. Danke für die Hinweise. Wir wissen tatsächlich zu diesem Zeitpunkt noch nicht, um welche Art von Bus es sich handelt. Aber schätze mal, dass es ein CAN oder LIN sein wird.
Mike S. schrieb: > Wir wissen tatsächlich zu diesem Zeitpunkt noch nicht, um welche Art von > Bus es sich handelt. Aber schätze mal, dass es ein CAN oder LIN sein wird. Irgendwie ist das grade in Mode... Mir fallen da diese beiden Threads ein: - Beitrag "CAN Switch / Relais ?" - Beitrag "Analoger Multiplexer"
Lothar M. schrieb: > Irgendwie ist das grade in Mode... > > Mir fallen da diese beiden Threads ein: > - Beitrag "CAN Switch / Relais ?" > - Beitrag "Analoger Multiplexer" Haha ja, den Beitrag haben wir auch gelesen und haben uns gefragt, ob es vielleicht ein Kommilitone gewesen sein könnte. Aber unser Projekt ist eigentlich ganz simpel. Naja die gesammelten Infos sollten uns genügen, Danke an alle.
Wolfgang schrieb: > Der Eingangsstrom ist nur ein parasitärer Effekt. So kann man das nicht sagen. Es muss eine gewisse Ladungsmenge auf die Gates der beiden beteiligten CMOS-Transistoren, damit diese umschalten. Was parasitär ist, wäre der konstante Leckstrom der danach auch noch fließt.
Mike S. schrieb: > Danke für die Hinweise. Wir wissen tatsächlich zu diesem Zeitpunkt noch > nicht, um welche Art von Bus es sich handelt. Aber schätze mal, dass es > ein CAN oder LIN sein wird. Das solltet Ihr aber. Ansonsten könnt Ihr ja gar nicht den geeigneten Alalog-Multiplexer aussuchen. Ihr wisst dann ja gar nichts über Spannungspegel, Geschwindigkeiten, Wellenwiderstand bei differentiellen Leitungen usw usw. Analoge Multiplxer können nur Signale schalten, die sich innerhalb ihrer Spannungsversorgung (entweder Vcc<Vsig<0 bei nur positiven Signalen oder Vcc<Vsig<Vee bei bipolaren Signalen) befinden. Auch dafür braucht Ihr zwingend die Information. Für CAN kann Euer Multiplexer bereits eng werden. Normalerweise liegen auf CAN_H und CAN_L Pegel zwischen 1.5V und 3.5V an. Bei CAN kommt es aber wie bei allen differentiellen Bussen primär auf die Spannungsdifferenz an und nicht auf die absoluten Pegel (solange die im sogenannten Common Mode Range bleiben). Ein CAN-Transceiver würde also bei CAN_H=-3V und CAN_L=-5V (Differenz=+2V) problemlos einen dominanten Zustand erkennen - die Transceiver haben da einen Bereich mindestens von -7V bis +12V, mache sogar noch mehr. Beachtet das. fchk
Jürgen S. schrieb: > So kann man das nicht sagen. Es muss eine gewisse Ladungsmenge auf die > Gates der beiden beteiligten CMOS-Transistoren, damit diese umschalten. Das ist ein dynamischer Effekt und der beim Umladen fließende Strom ist deutlich höher als die angegebenen 1µA.
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.