Forum: Mikrocontroller und Digitale Elektronik bidirektionaler 24V I/O


von Martin M. (rst)


Angehängte Dateien:

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)

von Falk B. (falk)


Lesenswert?

@ Martin M. (rst)

>Gibt es eine "bessere" und eventuell preiswertere Schaltung hierfür?

Wüsste ich auf die Schnelle nicht.

MFg
Falk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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).

von Martin M. (rst)


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...

von Falk B. (falk)


Lesenswert?

@Martin M. (rst)

>Wie könnte man das Problem umgehen? Wie wird denn das in Geräten
>gemacht, die bidirektionale 24V I/O´s haben?

Du brauchst zwei IOs am AVR. Einer Eingang, einer Ausgang.

MFG
Falk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.

von Martin M. (rst)


Lesenswert?

daran habe ich auch schon gedacht. Ich werde wohl nicht drum herum 
kommen.

Dann muß ich halt ein paar Schieberegister ergänzen (Port-Expander mit 
SPI), denn sonst reichen die Prozessorpins nicht....

von Horst H. (horst_h44)


Lesenswert?

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

von Manfred H. (manfred8534)


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"

von Alexander S. (esko) Benutzerseite


Lesenswert?


von Michael L. (nightflyer88)


Angehängte Dateien:

Lesenswert?

hatte das Problem auch schon, und habe es so gelöst. Jedoch ist mein 
bidirektionaler Pegelwandler für 3.3V <> 8V, sollte aber auch mit 24V 
kein Problem sein.

von L. K. (ladde)


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

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.