mikrocontroller.net

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


Autor: Martin M. (rst)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Martin M. (rst)

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

Wüsste ich auf die Schnelle nicht.

MFg
Falk

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht 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).

Autor: Martin M. (rst)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Martin M. (rst)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: Horst H. (horst_h44)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Manfred Heidener (manfred8534)
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Michael L. (nightflyer88)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: L. K. (ladde)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.