bidirektionaler 24V I/O

OP #953058
Lesenswert?

Hallo,

ich benötige diverse 24V-Ports, die bidirektional sein müssen. Manche 
werden nur als Ausgang benutzt, andere nur als Eingang (per Software 
definierbar).

Es gibt aber auch welche, bei denen beide Funktionalitäten benötigt 
werden. Z.B. Ein Taster, der eine eingebaute Lampe hat, die zur 
Quittierung dient (siehe Schaltung im Anhang). Drückt man den Taster, so 
wird über ein Spannungsteiler ein 5V-Signal an den AVR gegeben. Während 
der Taster gedrückt ist, leutet die Lampe (bedingt durch die Hardware). 
Der Prozessor muß den Pin dann als Ausgang initialisieren und die Lampe 
leuchten lassen, solange bis ein bestimmter Prozeß abgearbeitet wird. 
Erst danach darf die Lampe wieder ausgehen und der AVR den Prozessorpin 
wieder als Eingang initialisieren.

Gibt es eine "bessere" und eventuell preiswertere Schaltung hierfür? 
Hier die Randbedingungen:

* 24V-Eingang: 10...20mA Strom bei 24V Pegel
  (Mindeststrom wegen den mechanischen Kontakten)

* 24V-Ausgang: 200mA / kurzschlußfest
  (daher der BTS High-Side-Switch von Infineon)
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #953330
Lesenswert?

Diese Schaltung ist ein sogenanntes Flop.

Denn:
wenn das Ding als Eingang funktionieren soll, ist der uC-Pin hochohmig.
Dann kommten 24V herein.
Über den Spannungsteiler werden das 5V.
Diese 5V gehen zum uC und zum BTS !
Dann schaltet der BTS durch und gibt 24V aus.
Damit wird der Zustand "es waren mal 24V da" gemerkt.
Ergo: Flop.

BTW: die Diode nach dem BTS ist unnötig. Der High-Side-Treiber nimmt es 
Dir nicht übel, wenn du an den Ausgang 24V anlegst. Die bidirektionalen 
Eingänge mache ich auch so (nur eben mit 2 Controller- bzw. FPGA-Pins).
OP #953335
Lesenswert?

@Lothar Miller:
oh stimmt. Daran habe ich nicht gedacht.... Spätestens beim 
Versuchsaufbau auf dem Steckbrett hätte ich es gemerkt.

Wie könnte man das Problem umgehen? Wie wird denn das in Geräten 
gemacht, die bidirektionale 24V I/O´s haben? So was gibts ja bereits, 
habe aber über Google nichts gescheites gefunden. Außer ein Spezial-IC 
vom IC-Haus, aber das wird sicherlich recht teuer sein und man ist 
abhängig von einem Hersteller...
Moderator (Firma: Titel) Persönliche Seite #953364
Lesenswert?

>Wie wird denn das in Geräten gemacht, die bidirektionale 24V I/O´s haben?
Ja, machs wie Falk es sagt:
-- ein Pin für den Ausgang:
Der Schaltet mit High die 24V auf den 24V-IO-Pin durch
und mit Low den Ausgang vom BTS ab.
Also ist der 24V-IO-Pin im abgeschalteten Zustand praktisch hochohmig.

-- einen anderen Pin für den Eingang:
Der liest dann einfach den aktuellen Zustand des 24V-IO-Pins ein.
Damit kann z.B. auch schön kontrolliert werden, ob am 24V-IO-Pin 
tatsächlich 24V ankommen, wenn der BTS durchgeschaltet hat. Das ist eine 
Selbstdiagnose, wenn der 24V-IO-Pin als Ausgang verwendet wird.
#3797744
Lesenswert?

Horst H. schrieb:
> Applikationen für kurzschluss feste und zurücklesbare Ausgänge, mit
> Freilaufdiode für indultive lasten, sind hier beschrieben:
> http://www.ichaus.biz/wp1_mikrocontroller

Über den Einsatz dieser fertigen 24V I/O-Bauteile von iC-Haus wird hier 
diskutiert:

> "Multi-I/O-Board/I²C-Portexpander bis 24V mit High-Side Treiber und 
Leistungskontrolle"
> (u.A. als Breakout-Board für BeagleBone, Arduino, Raspberry Pi, ...)
> Beitrag "Re: 12V bidirectional I/O über i2c"

und hier: Beitrag "iC-JX: fertige GPIO / bidirektionale Pegelwandler für 12/24V und High-Side Treiber"
#3797830
Lesenswert?

Man muss mit dem Spannungsteiler ja nicht auf exakt 5V gehen, sondern 
kann auf auf einen kleineren Wert gehen, der vom AVR noch als high 
erkannt wird.

Bsp:
Der AVR erkennt 0,7 V_cc (an den meisten Pins) sicher als high; bei 5V 
also 3,5V.
Spannungteiler 3,9k / 820: 24V -> 3,56V

Die Kenngrößen vom High-Side-Switch kenne ich nicht; wenn das Verhältnis 
V_in_high_min / V_in_low_max kleiner als 5/3,56 ist, kann man den 
AVR-Ausgang (über einen weiteren Spannungsteiler) daran anschließen.

Ist der Eingang des High-Side-Switches negiert, oder das Verhältnis 
V_in_high_min / V_in_low_max größer als 5/3,56, könnte man einen 
Komparator zwischenschalten.

Insgesamt aber eher eine "Bastellösung" mit wahrscheinlich mehr Aufwand 
als die fertigen ICs von ichaus.biz

Grüße
Ladde

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren