Optokoppler themperaturstabil?

Gast #3649637
Lesenswert?

Hallo,

ich habe einen Optokoppler:

http://www.conrad.de/ce/de/product/140234/Fototransistor-Optokoppler-Avago-Technologies-HCPL-817-30DE-DIP-4-SMD-Ausfuehrung-DC-FotoTX-Koppler-1-Kanal/SHOP_AREA_14738?)

Zu Testzwecken habe ich auf der Eingansgseite ein Poti und einen 
Widerstand (in Reihe). Wenn ich das Pott verstelle, so verstellt sich 
auch die Kollektor-Emitterspannung dementsprechend - soweit kein 
Problem.
Wenn ich aber nun den Optokoppler mit Kältespray besprühe, dann ändert 
sich die Kollektor-Emitterspannung sehr stark.
Wie bekomme ich es hin, dass der Optokoppler temperaturstabil wird?
Brauche stabile Spannung im Bereich von 0°C bis 40°C.
D.h. wenn ich das Poti auf einer Position eingestellt lasse, dann soll 
am Ausgang des Optokopplers immer annähernd die gleiche Spannung messbar 
sein unabhängig von der Temperatur. Toleranzen von 5% wären OK.

Danke für jede Art von Hilfe!
Gast #3649669
Lesenswert?

Hallo,


>Seite 4 ist interessant!

Das ist (leider) nur die 'Operating Temperature', d.h. in welchem 
Temperaturbereich der Optokoppler arbeitet, d.h. aber (leider) nicht 
dass er in diesem Bereich temperaturstabil arbeitet!

>Was soll's denn werden?

Ich möchte auf der Eingangsseite ein R2R Widerstandsnetzwerk über einen 
Mikrocontroller steuern um einen 'Widerstand' einzustellen.
Der Widerstand soll dann galvanisch getrennt auf der Ausgangsseite 
'erscheinen' und ein Poti ersetzen.

Wie gesagt bräuchte das temperaturstabil, Toleranzen von ca. 5% bis 
evtl. 10% wären OK.
#3649688
Lesenswert?

@Mr.Burns (Gast)

>Ich möchte auf der Eingangsseite ein R2R Widerstandsnetzwerk über einen
>Mikrocontroller steuern um einen 'Widerstand' einzustellen.
>Der Widerstand soll dann galvanisch getrennt auf der Ausgangsseite
>'erscheinen' und ein Poti ersetzen.

Tja, schöne Idee, doch funktioniert das so leider nicht. Erstens ist es 
eher aufwändig, ein Poti elektronisch nachzubilden, das Ganze galvanisch 
getrennt erst recht.

Meistens ist das Poti an einem Gerät aber nur an einem Spannungsteiler 
dran und man muss nicht das Poti nachbilden sondern kann mit einer 
Steuerspannung arbeiten. Sowas ist DEUTLICH einfacher. Man erzeugt ein 
PWM Signal, das kann man leicht mittels Optokoppler übertragen. 
Auf der Empfängerseite nimmt man dann einen einfachen CMOS-Puffer ala 
74HC04 und danche einen RC-Tiefpass, welcher die PWM zu einer 
Gleichspannung glättet. OPV hinten dran und fertig ist die galvanisch 
getrennte Steuerspannung.
Gast #3649692
Lesenswert?

Hi,

in meine Fall kann ich aber nicht sagen was noch um dem Poti drumherum 
ist. Habe schonmal mit einem R2R Widerstandsnetzwerk probiert und dann 
damit in den Optokoppler rein. Funktioniert auch soweit, blos das das 
ganze so temperaturabhängig ist kann ich nicht gebrauchen.
#3649701
Lesenswert?

@ Mr.Burns (Gast)

>in meine Fall kann ich aber nicht sagen was noch um dem Poti drumherum
>ist.

Wieso? Soll das für beliebige Geräte funktionieren?
Wenn es für ein spezielle gerät funktionieren soll, kann man ganz 
einfach die Spannung über dem Poti messen und nachdenken.
#3649703
Lesenswert?

>ist. Habe schonmal mit einem R2R Widerstandsnetzwerk probiert und dann
>damit in den Optokoppler rein. Funktioniert auch soweit, blos das das
>ganze so temperaturabhängig ist kann ich nicht gebrauchen.

Tja, dann musst du halt das Ganze anders machen. Daten per UART und 
Optokoppler übertragen, auf der Empfängerseite sitzt ein kleiner uC, der 
die Daten empfängt und entsprechend den R2R DAC schaltet. Voll digital 
ohne Temperaturprobleme und rein ohmsch/passiv!
Gast #3649706
Lesenswert?

Hi,

ich kann halt nicht reingucken in das Gerät ist son China-Teil, 
zugeklebt.
Mit geht es um die Temperatur - den Widerstand bekomme ich schon hin 
über R2R.
Wie aber bekomme ich den Optokoppler unabhängiger von der Temperatur.
Ausgangsseitig ist das doch ein 'normaler' Transistor.
Da muss es doch was geben zur Temperaturstabilisierung.
Gast #3649714
Lesenswert?

* Nimm ein Digital-Poti und steuer die Datenleitungen über Optokoppler 
an.
* Nimm nen richtigen DAC (dein R2R wird eh nicht besser als 8 Bit) auf 
der anderen Seite und steuer die Datenleitungen an
* Nimm einen Digital-Isolator (ADUMxxx) und bilde auf der andern Seite 
per PWM die Spannung nach.
* Wenn du wirklich analog frickeln willst, musst du den optischen 
Empfänger in die Gegenkopplung nehmen. IL300 wäre ein Ansatz.
Gast #3649728
Lesenswert?

Wenn es unbedingt analog sein soll, könnte man evtl. 2 gleiche 
Optokoppler nehmen, und die Differenz auswerten?  ABER jeder übliche 
Transistor, jeder C, jeder Widerstand hat einen TK, der auch weglaufen 
kann...
Gast #3649859
Lesenswert?

Mr.Burns schrieb:

> Mit geht es um die Temperatur - den Widerstand bekomme
> ich schon hin über R2R. Wie aber bekomme ich den
> Optokoppler unabhängiger von der Temperatur.

Bekommen Fragesätze ein Fragezeichen?
Fragesätze bekommen ein Fragezeichen!

Abgesehen davon: Warum - zum Teufel - willst Du erst das
R-2R-Netzwerk und dann einen Optokoppler verwenden?
Nimm doch erst 10 Optokoppler (oder wieviele auch immer)
und dann das R-2R-Netzwerk!
Gast #3649998
Lesenswert?

Hi,

danke schonmal.

>Warum - zum Teufel - willst Du erst das
>R-2R-Netzwerk und dann einen Optokoppler verwenden?

Das R2R Netzwerk wollte ich nehmen um aus 4 Bit (oder evtl. 8 Bit) eines 
Ports des Mikrocontrollers ein analoges Signal zu bekommen. Den 
Optokoppler brauche ich, um galvanisch zu trennen.
Ich könnte den Optokoppler auch weglassen und den Ausgang des R2R 
Netzwerks direkt da anlöten, wo das Poti sitzt. Ich weiß aber nicht ob 
das nicht evtl. den Schaltkreis wo das Pott drinsitzt beschädigt. 
Schließlich ist das R2R Netzwerk ja kein 100% gleichwertige Ersatz für 
das Poti - Oder? Habe Bedenken dass evtl. dann vom R2R Ströme in die 
Schaltung in der das Poti ist fließen und da evtl. was beschädigen.
Oder denke ich da falsch?
#3650041
Lesenswert?

@ Mr.Burns (Gast)

>Das R2R Netzwerk wollte ich nehmen um aus 4 Bit (oder evtl. 8 Bit) eines
>Ports des Mikrocontrollers ein analoges Signal zu bekommen.

Klar.

> Den
>Optokoppler brauche ich, um galvanisch zu trennen.

Hier leigt das Problem. Ein digitales Signal kann man sehr leicht 
galvanisch it einem Optokoppler trennen, ein analoges ist sehr 
aufwändig! Erst Recht, wenn es ein Widerstandswert sein soll! Also 
anders herum!
Digital trennen, dann Analogwert draus machen!

>Ich könnte den Optokoppler auch weglassen und den Ausgang des R2R
>Netzwerks direkt da anlöten, wo das Poti sitzt. Ich weiß aber nicht ob
>das nicht evtl. den Schaltkreis wo das Pott drinsitzt beschädigt.
>Schließlich ist das R2R Netzwerk ja kein 100% gleichwertige Ersatz für
>das Poti - Oder?

Dieses Problem löst deine galvanische Trennung auch nicht, sondern nur 
einen möglichen Potentialversatz zwischen Steuerschaltung und Gerät.

> Habe Bedenken dass evtl. dann vom R2R Ströme in die
>Schaltung in der das Poti ist fließen und da evtl. was beschädigen.

Wenn du den R2R richtig aufbaust, können da keine Ströme reinfließen.
D.h. aber, man muss etwas anders herum denken als beim normalen R2R DAC, 
denn der gibt ja eine Spannung aus. Du willst aber den Widerstand 
verändern. Im Zweifelsfall baust du einen binär gewichteten DAC mit 
einfachen Open Drain Transistoren und passenden Widerständen, welche 
gegen GND schalten, dann ist das idiotensicher.
Gast #3650432
Lesenswert?

Hallo Falk,

danke für die Antwort.

>Im Zweifelsfall baust du einen binär gewichteten DAC mit
>einfachen Open Drain Transistoren und passenden Widerständen, welche
>gegen GND schalten, dann ist das idiotensicher.

Hört sich ganz gut an.
Habe den R2R Baustein von Bourns:

http://www.bourns.com/pdfs/r2r.pdf

Ich habe einen Attiny2313 und würde den gerne dafür nutzen und mit PortB 
einen 8Bit DAC aufbauen.
Ich weiß aber nicht, wie ich das in AtmelStudio 6 programmieren muss.
Ich weiß man muss mit PORTX UND DDRX arbeiten, aber ich weiß nicht, wie 
man den PortB in den Tristate-Modus bekommt und dann eine 1 oder 0 
ausgibt um den Pin einmal hochohmig und dann auf low zu schalten.

Wer kann mir da helfen?

Danke!
Gast #3650478
Lesenswert?

Hallo,

habe das mal so gemacht:

  while(1)
  {
    // PortB Bit 0 auf Tristate (hochohmig) setzen
    PORTB &= ~(1<<PB0);  // B0 auf 0
    DDRB  &= ~(1<<DDB0); // B0 auf 0

    _delay_ms(5000);      // 5s warten

    // PortB Bit 0 auf Ausgang setzen und auf low ziehen
    DDRB  |= (1<<DDB0); // B0 auf 1 (Richtung: Ausgang)
    PORTB &= ~(1<<PB0); // B0 auf 0 (Auf Low ziehen)

    _delay_ms(5000);      // 5s warten
  }

Am Pin0 des PortB wäre dann das MSB des R2R Netzwerks angeschlossen.

Wäre das so korrekt?

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