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)
@ Martin M. (rst)
>Gibt es eine "bessere" und eventuell preiswertere Schaltung hierfür?
Wüsste ich auf die Schnelle nicht.
MFg
Falk
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).
@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...
@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
>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.
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....
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
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"
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.