8 analoge Signale zu 4 digitalen machen

OP #2555208
Lesenswert?

Hallo, ;)

ich habe 8 230V Glimmlämpchen einer fremden Schaltung, die ich irgendwie 
auf maximal 4 digitale Eingänge meines AVR schalten muss. Habt Ihr eine 
Idee, wie ich das machen könnte?

Eine galvanische Trennung wäre bei 230V sinnvoll. Dachte da zuerst an 
Phototransistoren, habe da aber gar keine Erfahrung mit. Die Umwandlung 
könnte man mit mit einem 8:3 BCD-Binär-Wandler (kennt ihr einen?) 
machen.

Vielleicht könnt ihr mir da eine Beispielschaltung zum abgucken zeigen 
oder habt sonst noch Tipps für mich.

Vielen Dank im Voraus!

Sebastian
OP #2555237
Lesenswert?

Es ist nicht so, dass ich keine Ahnung hätte. Mein Schaltungsrepertoire 
ist nur sehr begrenzt und ich will die bestmögliche Lösung. Warum sollte 
ich nicht mal die Profis fragen, bevor ich mir Mühe in die falsche 
Richtung mache? Ich habe schon einige Erfahrungen mit AVR, 8051 und ein 
einigen 230V Schaltungen und - du glaubst es nicht - eine eingerostete 
Kommunikationselektronikerausbildung. Mach dir da mal keine Sorgen. ;)

Dennoch sind mir die 230V selbst nicht geheuer und dachte genau aus 
diesem Grund an Phototransistoren, so dass ich nicht einmal das Gehäuse 
der anderen Schaltung öffnen muss.

EDIT: Die fremde Schaltung ist ein Wasserboiler, tief vergraben im 
Keller, deren Temperaturstand ich anhand seiner 8 Glimmlämpchen auslesen 
und über das Netzwerk verschicken möchte.
OP #2555268
Lesenswert?

- Es leuchten mehrere Lampen gleichzeitig (eine symbolisiert das 
"Heizen")
- Im Keller ist es nicht immer dunkel, aber ich kann die Photoelemente 
gut abdichten.
- Die Lampen sind groß genug um trotz Phototransistoren noch abgelesen 
werden zu können.
- 4 Pins, da ich nur noch 4 an meinem AVR-NET-IO frei habe.
Gast #2555287
Lesenswert?

Sebastian B. schrieb:
> - Es leuchten mehrere Lampen gleichzeitig (eine symbolisiert das
> "Heizen")

Dann wird es nicht möglich sein, den Zustand von 8 Anzeigen über 4 
Portpins zu führen.

Was spricht dagegen, ein Schieberegister mit 8 Eingängen (74hc165) vor 
deinen µC zu hängen, so dass du in einem Byte den Zustand deiner 
Anzeigen repräsentierst?
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister

Falls deine Glimmlampen mit 50/100 Hz flackern, müßtest du dich beim 
Auslesen des Zustandes mit der Netzschwingung synchronisieren.
Gast #2555288
Lesenswert?

nimm nen externen opamp (gibts als 4x in einem gehäuse, davon 2 stück), 
schalt jeden der 8 als schmitt-trigger (komparator mit hysterese) und 
stell den schaltpunt gut zwischen hel-dunkel ein, das auslesen erfolgt 
dann einfach der schieberegister.
Kostet minimal (<10€) und sollte recht gut funktionieren...
Gast #2555386
Lesenswert?

So:

  +5V
   |     LPT80
  |< Phototransistor  74HC165  uC
   |                  +-----+  +---
   +------------------|A    |  |
   |                --|B    |  |
  10k               --|C CLK|--|
   |                --|D    |  |
  GND               --|E  LD|--|
                    --|F    |  |
                    --|G OUT|--|
                    --|H    |  |
                      +-----+  +--

Die 10k evemtuell an die Helligkeit deiner Lampen
und der Restumgebungshelligkeit anpassen.
Gast #2555396
Lesenswert?

Ops, was vollkommen vergessen wurde:
Glimmlampen flimmern mit 50 oder 100Hz.
Wenn man Pech hat, "sieht" man genau die Dunkelphase.

Also noch ein Kondensator dran, dann müsste auch noch
ein Schmitt-Trigger dahinter, und weil der invertiert
den Phototransistor an die andere Polarität:

  +5V
   |
  10k
   |          74HC14   +-----+  +---
   +--100k--+---|>o----|A    |  |
   |        |        --|B    |  |
   |       1uF       --|C CLK|--|
   |        |        --|D    |  |
  |< LPT80  |        --|E  LD|--|
   |E       |        --|F    |  |
  GND      GND       --|G OUT|--|
                     --|H    |  |
                       +-----+  +--
Gast #2555450
Lesenswert?

Hans schrieb:
> Na ja, wenn es auch im normalen Betrieb den Zustand "alle Lampen aus"
> gibt wird man mit mehrmals einlesen nicht glücklich.

Das kommt drauf an, ob man es fertig bringt, zeitlich halbwegs 
koordiniert so abzutasten, dass man die Anzeigen innerhalb einer Sequenz 
sicher einmal in der Nähe des Maximums erwischt, wenn man sich dann 
partout nicht synchronisieren möchte.
Gast #2555975
Lesenswert?

Wolfgang schrieb:
> Das kommt drauf an, ob man es fertig bringt, zeitlich halbwegs
> koordiniert so abzutasten, dass man die Anzeigen innerhalb einer Sequenz
> sicher einmal in der Nähe des Maximums erwischt, wenn man sich dann
> partout nicht synchronisieren möchte.

Naja, da reicht sicher 4x Abtasten im Abstand von je 5ms.
Da ist dann mindestens eine Abtastung von min. 0,7*Maximum dabei.

citb
OP #2555991
Lesenswert?

Vielen, vielen Dank für Eure Hilfe! :)

Ich habe eben die Variante mit den Phototransistoren und nem Kondensator 
an einem Digitalpin eines Testboards ausprobiert, mit nem 
Operationsverstärker als Schmitt-Trigger.
=> Scheint wunderbar zu funktionieren - Auch bei Kellerlicht + 
Taschenlampe!!

Werde mir jetzt nen Mehrfach-Schmitt-Trigger-Baustein und einen 74HC165 
(Schieberegister) bestellen.

In der Zwischenzeit muss ich nur noch herausfinden, welche Firmware für 
das AVR-NET-IO am geeignetsten ist (muss bei http bzw, reinen TCP 
Abfragen die Sensordaten verschicken können und ein oder zwei Ausgänge 
schalten können).

So reibungslos hat noch kein Projekt geklappt!

Danke nochmals! :)

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