Forum: Mikrocontroller und Digitale Elektronik 2mal16 Analoge eing. erkennen, Geschw. egal, 20-36V


von Board G. (boardgeist)


Lesenswert?

Hallo ihr,
ich habe hier einen Freescale Demoboardhcx512dt.

Mein Problem ist, ich möchte gern, 2 mal 16 analoge Eingänge erfassen. 
Von denen sind einige Schließer und einige Öffner. Es soll einfach nur 
festgestellt werden ob diese Spannung anliegt oder ob es in der Luft 
hängt.

Nun die Frage, mit welchen Anschlüssen frage ich so viele Eingänge ab? 
Kann ich einen ADC benutzen, mit einem IC der mir vorher die Eventuell 
einkommenden Signale auf die richtige Spannung bringt. (Das wär ja dann 
erst DA-Wandlung der Eingänge) und das dann wieder AD gewandelt für den 
µC.

Oder ist es besser einen IIC Anschluss zu realisieren, um die 16 
Eingänge dann abzufragen braüchte ich ja dann eine Matrix aus Dioden 
(habe hier den PCF8574P als IIC Port expander, der tut sein Werk auch 
richtig gut).

Ich brauche ja sowieso einen Analog Multiplexer und Optokoppler, da die 
Spannung einwärts ziemlich hoch ist. Als Multiplexer hat ich mir (hier 
aus anderen Posts) den 74HC4067 rausgesucht.

Am besten wär ein Multiplexer, mit 8 oder 16 eingängen, der es mir 
gleich fertig für meinen eing. ADC als Spannung gibt oder eine IIC 
Schnitstelle hat.

Ich will nicht zu viel schreiben, wird so unübersichtlich, aber ich 
denke ihr wisst was ich möcht.
Hat wer nen Tipp und Zuverlässige Bausteine für einen solchen Betrieb im 
Kopf?

MfG

von Michael U. (Gast)


Lesenswert?

Hallo,

seit wann sind Schließer und Öffner analog?

Wenn ich es richtig verstanden habe, hast Du 16 Punkte, an denen 
entweder eine Spannung gegen einen gemeinsamen GND? anliegt oder eben 
nicht?

Wie groß ist die kleinste (nicht 0V, sondern im aktiven Zustand), wie 
groß die größte Spannung?
Kann der Meßpunkt belastet werden und mit welchen Strom?
Gleich- oder Wechselspannung?

Je nach Spannung und möglicher Last z.B. Diode - Vorwiderstand 
-Optokoppler - PortPin oder Digital-Mux oder Schieberigister oder...

Beschreib das Problem doch mal etwas genauer.

Gruß aus Berlin
Michael

von Board G. (boardgeist)


Lesenswert?

Gern beschreib ichs genauer.

Also es sind 2mal 16 Eingänge, (4x8 je nachdem) die ich abfragen muss ob 
dort eine Spannung anliegt.
Das System dahinter sind Sensoren die z.B. eine Temperatur messen und 
bei überschreitung den Spannungskreis trennen oder schließen.

Meine Aufgabe ist nur, alle 32 Eingänge abzufragen, ob dort etwas 
anliegt.

Die Typische Spannung ist 24V, kann aber von 20 bis 36V variieren. Wenn 
es nützt darf ich auch eine Belastung anlegen, ich glaub aber die 
Sensoren geben schon einen definierten Spannungspegel ab, fals du auf 
einen PullUp-Wiederstand hinauswolltest.
Gleischspannung, bei "aus" sind es 0V/GND.

Ich hat mir gedacht 0/24V -> Optokoppler, Multiplexer -> µC
Nur das mit dem µC, wie ich die Abfragen alle reinbekomme ist mir 
unklar.
Wird wohl am besten sein wenn ich den IIC Bus benutze.

Die Trennung in 2 mal 16 ist nur, weil die ersten 16 Eingänge mir Fehler 
melden und die 2. 16 Befehle vom Benutzer (Reset, tue dies) aber 
Hardwareseitig sind Sie gleich realisiert, auf meiner Seite.

Um die Diodenmatrix wollt ich drumrum, deshalb die Frage nach einem 
fetigen IC.. .

Die Abfragezeit darf in Sekundenbereich liegen, is alles nicht so wild.

Wenn ich noch was unklar Beschrieben hab, frag nur :)

Berlin is sche, war mal in Werder im Urlaub und hab mir die City 
angeschaut, nur U-Bahn fahren war.. nich so toll.

MfG

von Karl H. (kbuchegg)


Lesenswert?

> Die Typische Spannung ist 24V, kann aber von 20 bis 36V variieren.
> Wenn es nützt darf ich auch eine Belastung anlegen, ich glaub aber
> die Sensoren geben schon einen definierten Spannungspegel ab, fals
> du auf einen PullUp-Wiederstand hinauswolltest.
> Gleischspannung, bei "aus" sind es 0V/GND.

Spannungsteiler aus 2 Widerständen und ab damit an einen
µC Port Pin.
Dazu brauchst du keinen ADC

> Ich hat mir gedacht 0/24V -> Optokoppler, Multiplexer -> µC

Optopkoppler anstelle der Spannungsteiler ist auch ok.
Dann bist du im Falle des Falles auf der sicheren Seite.

> Nur das mit dem µC, wie ich die Abfragen alle reinbekomme ist
> mir unklar.

Wieviele (digitiale) µC Pins hast du denn zur Verfügung?

> habe hier den PCF8574P als IIC Port expander, der tut sein
> Werk auch richtig gut).

Wenn du damit umgehen kannst, dann passt der doch.
Kommen halt die Signale per Spannungsteiler auf diesen
Baustein (eigentlich Baustein_e_, du brauchst ja 4 davon um
32 Eingangsleitungen zu realisiern). Ob ich mir das allerdings
antun würde, weis ich nicht so genau. 4 Stück parallel-seriell-
Schieberegister kaskadiert und gut ists.

von Board G. (boardgeist)


Lesenswert?

o.k. anders, würd auch nich so viel lesen wollen:

geg: rechts-
µC Freescale xdt512, spi, sci(in berieb und voll), IIC (in berieb), ADC.

geg links-
24V(20-36V) analog eingänge, 32 an der zahl.

ges: möglichkeit diese abzufragen, alle 32, nicht zeitgleich und nicht 
schnell aber sicher.

1. Gedanke 0/24V (x32) -> Multiplexer(4x8) -> Optokoppler -> 0/5V -> 
PCF8574P -> IIC-Bus - µC

würde das so klappen?

gibt es die Möglichkeit nach dem Optokoppler anders an den µc zu gehen, 
aber wenn ich z.B. nur Empfangen könnte, waär das senden der 
Adresse(welche der 4x8 Bits ich abfragen will) an den Multiplexer ja 
unmöglich... .

MfG

---
Edit: oh Karl Heinz hat sich den text angetan.. meinst du das mit dem 
Spannungsteiler reicht... direkt an den µc.. bist ja mutig :)

Da nehm ich mal den Optokoppler, sonst bekomm ich hier eine drauf.

Kannst du mir eine Typenbezeichnung von so einem 
Parallel-Seriell-Schieberegister posten das ich mir das Datenblatt 
anschauen kann?

Wie realisiere ich dann, welche bits ich Abfrage, nehm ich 4x den 
PCF8574P hat ja jede 8-Bit-Bank eine Adresse, wenn ich 1 Schieberegister 
habe was mir alles nacheinander gibt, woraus sehe ich, was ich abfrage?

von Karl H. (kbuchegg)


Lesenswert?

Board Geist wrote:
>
> 1. Gedanke 0/24V (x32) -> Multiplexer(4x8) -> Optokoppler -> 0/5V ->
> PCF8574P -> IIC-Bus - µC


Anders rum: Zuerst die Signale mit einem Optokoppler auf 0/5V bringen.
Hast du die erst mal auf normalen Pegeln ist der Rest ein Kinderspiel.

0/24V                 0/5V
Quelle -> Optokoppler  ---+
                          +---->
Quelle -> Optokoppler  -------->  PCF8574P -> µC
                          +---->
Quelle -> Optokoppler  ---+


Jeder PCF8574P ist für 8 Eingangsleitungen zuständig.
Du brauchst keinen Multiplexer, es sei denn du willst
Optokoppler einsparen. Allerdings kannst du dir dann
den PCF8574P wiederrum sparen:


   Quelle -------+
                 v
   Quelle ----> Multiplexer --> Optokoppler -> µC
                 ^     ^                        |
   Quelle -------+     |                        |
                       |     Steuerleitungen    |
                       +------------------------+

>
> würde das so klappen?
>
> gibt es die Möglichkeit nach dem Optokoppler anders an den µc zu gehen,
> aber wenn ich z.B. nur Empfangen könnte, waär das senden der Adresse an
> den Multiplexer ja unmöglich... .

Du hängst ja die Steuerleitungen für den Multiplexer nicht über
einen Optokoppler an den µC :-)


Irgendwie hab ich das Gefühl, du stehst gehörig auf der Leitung.


von Board G. (boardgeist)


Lesenswert?

Ich dank dir.

Das hört sich gut an, also 2 16er Multiplexer, Optokoppler und 2 
PCF8574P und schon klappt alles

Gibt es Multiplexer die eine 16er Bank auf 2 8er legen, ich find nur 
16er Multiplexer die jeden Pin einzeln abfragen, was ja Unsinnig ist, 
wenn ich mit meinem PCF 8 auf einmal rausbekomme.

Aber die Idee mit nur 2 PCF`s statt 4 gefällt mir gut, schon aus 
Platzgründen.

Würde ja meinem BUS mit 32 Anfragen belasten, anstatt 4.

MfG

von Karl H. (kbuchegg)


Lesenswert?

Board Geist wrote:
> Ich dank dir.
>
> Das hört sich gut an, also 2 16er Multiplexer, Optokoppler und 2
> PCF8574P und schon klappt alles

Du passt nicht auf:
Entweder Mulitplexer oder PCF8574P.

Wozu beides? Ist doch nur höherer Aufwand und bringt
keinen Vorteil (ausser dass die Ansteuerung komplizierter
wird).

>
> Gibt es Multiplexer die eine 16er Bank auf 2 8er legen, ich find nur
> 16er Multiplexer die jeden Pin einzeln abfragen, was ja Unsinnig ist,
> wenn ich mit meinem PCF 8 auf einmal rausbekomme.
>
> Würde ja meinem BUS mit 32 Anfragen belasten, anstatt 4.
>
> MfG

von Board G. (boardgeist)


Lesenswert?

Über was für ein Bus-System bekomme ich denn dann die Daten in meinen 
µC.

Gibt es i/o Pins die ich direkt abfragen kann. Aber was frag ich dich 
das(mein Prob.), ich dank dir nochmal, falls ich solche Pins nicht hab 
nehm ich einfach IIC-Bus.

schenen Tag!

von Karl H. (kbuchegg)


Lesenswert?

Board Geist wrote:
> Über was für ein Bus-System bekomme ich denn dann die Daten in meinen
> µC.

Wenn du einen Multiplxer nimmst: gar keinen.
Der Multiplexer wird an die vorhandenen Portpins angeschlossen
und gut ists.

Wenn du die PCF nimmst: über IIC

>
> Gibt es i/o Pins die ich direkt abfragen kann.

Da ich den freescale µC nicht kenne, kann ich das nicht sagen.
Aber ich geh mal schwer davon aus, dass der 3 oder 4 Portpins
zur freien Verwendung besitzt an die man einen Multiplxer
anschliessen kann.

von Board G. (boardgeist)


Lesenswert?

Ich habe mir den Multiplexer 4097 rausgesucht, davon brauche ich 2 aber 
es werden weniger Abfragen als bei single 16er.

Nur den Optokoppler, da finde ich nichts ordentliches. Die Seite von 
Conrad ist unübersichtlich und andere Seiten bieten keine große 
Übersicht.

Gibt es soetwas wie eine Übersicht solcher Bauteile oder weiß jemand 
einen Optokoppler der mir aus den 0/(20-36V) Pegel einen 0/5V Pegel 
erzeugt. Eine Last habe ich nicht, schnell muss er auch nicht sein und 
bidirektional schon gar nicht.

soetwas wie der HCPL7840 OPTOKOPPLER wär gut, nur für mehr Spannung auf 
der einen Seite.

MfG

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.