LM75 spielt im Ätzbad verrückt.

Gast #1500256
Lesenswert?

Hallo zusammen!

Ich habe gerade ein kleines Problem mit einem LM75, der einfach nicht 
stabil laufen möchte.
Folgendes zum Aufbau:
Ich habe mir eine kleine Steuerung mit einem atmega8 gebastelt, die über 
Funksteckdosen meinen Belichter (Gesichtsbräuner :-]) sowie meine 
Heizung und den Luftsprudler im Ätzbad regeln soll. (Ätzbad=Ätzgerät I 
von Reichelt mit Natriumpersulflat)
Die Temperatur im Ätzbad wird sowohl auf einem LCD-Display in ° als auch 
per rgb-LED ausgegeben (blau=kalt, grün=bereit, rot=heiß) und über die 
Schaltsteckdosen geregelt.
Die Temperaturmessung mache ich über einen LM75, der mit einem 100nF 
Kerko auf einer Platine in einem mit Quarzsand aufgefüllten Reagenzglas 
(abgedichtet mit Gummistopfen und Silikon) untergebracht ist.
Die Verbindung zum LM75 geschieht über ein ~1m langes einfach 
geschirmtes Kabel.

Der LM75 wird alle 5 Sekunden abgefragt.

Um fehlerhafte Messungen aufzufangen (für mich Temperatur >100 oder 
<10°) habe ich einen Fehlerzähler eingebaut, der zunächst 12 
Fehlversuche ignoriert und die letzte korrekte Temperatur 
wiederherstellt und danach, wenn auch der 13. Versuch fehlschlägt, die 
Heizung aus- und den Alarm anzuschalten, bis wieder ein gültiges Signal 
empfangen wurde.

Das Problem:
Bevor ich die Schaltung fest in ihr Gehäuse eingebaut habe und den 
Sensor "vergossen" habe lief der Test erwartungsgemäß. Auch der Test 
außerhalb der Ätzanlage im fertigen Zustand funktionierte.

Der Fehlerzähler wurde, auch nach dem zusammenbau, nicht benötigt.

Nun steckt das Reagenzglas, gehalten von einem Styropor-Halter, im 
Ätzbad - und läuft nicht mehr zuverlässig. Die Fehlerschaltung ist fast 
durchgängig am greifen. Es gehen im Schnitt immer 2-4 Versuche gut, und 
dann 4-6 schief. Bei einem Testlauf von 19° Raumtemperatur bis zur 
Ätztemperatur 46° waren zudem 3 Alarme zugegen; also 3x war länger als 
eine Minute kein Signal passen.

Die Schaltung macht, wenn wieder ein Signal kommt, zwar normal weiter - 
aber irgendie nervt das total...

Ziehe ich den Sensor aus dem Ätzbad funktioniert er wieder normal. Mein 
erster Verdacht, dass die Heizung / der Sprudler ein so ungünstiges 
elektromagnetisches Feld erzeugen könnte, hat sich nicht wirklich 
bestätigt. Der Fehler tritt auch auf, wenn beide Geräte aus sind.

Hat jemand eine Idee, woran das liegen kann? Was kann in dem Ätzbad den 
Sensor so aus dem Tritt bringen? Das Ätzmittel ist nicht frisch, und hat 
~ 10 Euro-Platinen hinter sich. Kann das gelößte Kupfer den Sensor 
beeinflussen?

Vielen Dank
Matze
Gast #1500274
Lesenswert?

Wackelkontakt? Miss mal auf den Leitungen die Signale durch. Dann weißt 
Du was schief geht. So kann man nur raten. Vielleicht hat es was mit der 
kapazitiven Einkopplung von 50 Hz Brummen zu tun, die über das Wasser 
sicher sehr gut geht.
#1500290
Lesenswert?

Kann viele gründe haben:

Wackelkontakt ausgeschlossen?
MCU geht unkontrolliert in den Reset?
Kabelbruch?
ADC Probleme?
Feuchtigkeitseinschluss?
Signal Probleme?
uvm..


> Das Ätzmittel ist nicht frisch, und hat
> ~ 10 Euro-Platinen hinter sich. Kann das gelößte Kupfer den Sensor
> beeinflussen?

Solange der Sensor kein Kontakt mit der Flüssigkeit hat stört das 
Salzbad nicht.


Mein Tipp: Wenn du ein Oszi hast o.ä. schau dir mal die seriellen 
Signale vom LM75 an. Auch mal Versorgungsspannung prüfen..

lg
Gast #1500293
Lesenswert?

Einen Wackelkontakt kann ich ausschließen. Die Lötpunkte habe ich vor 
dem "versanden" extra 2x geprüft. Zum erneuten messen müsste ich den 
kram auseinanderbröseln... Gar nicht gut :-(
Davon abgesehen, wenn ich am "sichtbaren" Ende des Kabels wackle, dann 
wird es nie untem am Sensor wackenl. Immerhin liegen da 12cm Sand, ~1cm 
Silikon sowie ein 5mm Gumistopfen vor. Außerhalb des Bades kann ich den 
Sensor auf jeden Fall schütteln und bewegen wie ich will; da passiert 
nichts.

Deine andere Idee ist für mich sehr spanisch, bin gerade noch in der 
Lern-Phase. Aber: Ich denke mit dem 50Hz Brummen ist Netzbrummen gemeint 
(?), und das kann doch eigentlich nicht auftreten, wenn ich den Stecker 
gezogen habe...


Gruß
Matze
Gast #1500306
Lesenswert?

@doc:
>Hmm. der ist doch i2c.. warum hast du da überhaupt Fehlmessungen ?

Hatte ich ja vorher auch nicht, ich habe das eigentlich nur als "letzte 
Sicherheit" eingebaut.

>I2C-Takt zu hoch ? - Mach ihn mal ganz langsam.
ganz klein werd. Benutze Bascom und hab keinen Plan, wie ich ihn 
langsamer treiben soll. Hab den I2cdelay schon auf 255.

>Widerstände am Bus zu groß ? - Versuch mal kleinere
Hab 1k3 genommen, noch kleiner?

@Christian
>Kann viele gründe haben:
und ich glaube, keiner davon ist einfach

>Wackelkontakt ausgeschlossen?
ja
>MCU geht unkontrolliert in den Reset?
nein, der läuft weiter - ich bekomme als Wert vom LM75 nur halt blöde 
Werte. Hab gerade mal nachgeschaut. Ich verzichte auf die 0,5°-Schritte 
und runde stattdessen auf. Also wenn das 2. Byte > 128 dann +1°. Als 
Antwort bekomme ich im Fehlerfall abwechselnd 145 und 146° angezeigt. 
Wenn der Sensor nicht angeschlossen ist sind es statisch 145° :-). 
Allerdings sagt mir die 146 doch eigentlich, dass das 2. Byte 
anscheinend klapt.
>Kabelbruch?
Wie den Wackelkontakt, in der Hand funzt er...
>ADC Probleme?
ADC=Analog-Digital-Converter? Der LM gibt mir doch digital, denn müsste 
der kaputt sein...
>Feuchtigkeitseinschluss?
Nein, hab den ohnehin schon trockenen Quarzsand 1 Stunde bei 250° 
gebacken, und danach 12 Stunden abkühlen lassen.
>Signal Probleme?
Ja, das kännte sein, aber wie bekomme ich das raus.
uvm..

>> Das Ätzmittel ist nicht frisch, und hat
>> ~ 10 Euro-Platinen hinter sich. Kann das gelößte Kupfer den Sensor
>> beeinflussen?

>Solange der Sensor kein Kontakt mit der Flüssigkeit hat stört das
>Salzbad nicht.

Nein, Kontakt hat der definitiv nicht...

>Mein Tipp: Wenn du ein Oszi hast o.ä. schau dir mal die seriellen
>Signale vom LM75 an. Auch mal Versorgungsspannung prüfen..
Da muss ich passen, ein Oszi habe ich nicht.

Gruß
Gast #1500308
Lesenswert?

@doc:

>50 Herz Brumm fliegt überall durch den Äther, wenn Deine Kabel lang
>sind, kann das schon eine Antenne abgeben.

Naja, ist ein guter Meter. Was mich einfach nur so wundert ist, dass das 
Problem eigentlich nur im Ätzbad auftritt. Könnte das Salzwasser den 
Effekt verstärken und (trotz der gläsernen Trennung) dem LM den Rest 
geben?
#1500321
Lesenswert?

>>Widerstände am Bus zu groß ? - Versuch mal kleinere
>Hab 1k3 genommen, noch kleiner?

Bei 1m hat man schon eine kleine Kapazität..
Du könntest mal 500 Ohm versuchen..
Falls du zerstörungs sicher Arbeiten willst empfehle ich dazu  eine 5V 
Zener und ne fixxe Diode als schutzmaßnahme.

>>Signal Probleme?
>Ja, das kännte sein, aber wie bekomme ich das raus.
uvm..
Ohne Oszi.. schwer bis unmöglich..
aber du nutzt doch einen MCU... den ADC anklemmen und sampeln? ;)

>>Kabelbruch?
>Wie den Wackelkontakt, in der Hand funzt er...
Nicht unbedingt, da sich ja die Position verändert...

Ich würde die Software und das I2C Modul genauer unter die Lupe nehmen.
Und wenn dann wirklich alle Fehler ausgeschlossen sind das Teil übern 
Eimer zerhaun und nochmal neu aufbauen und Prüfen.

lg

Nachtrag:

>>50 Herz Brumm fliegt überall durch den Äther, wenn Deine Kabel lang
>>sind, kann das schon eine Antenne abgeben.
>
>Naja, ist ein guter Meter. Was mich einfach nur so wundert ist, dass das
>Problem eigentlich nur im Ätzbad auftritt. Könnte das Salzwasser den
>Effekt verstärken und (trotz der gläsernen Trennung) dem LM den Rest
geben?

Ist doch geschirmt oder?
#1500325
Lesenswert?

Wie hast du die Abschirmung des Kabels denn angeschlossen?

Tritt das Problem auch auf, wenn du den Sensor in ein anderes 
Wassergefäß hälst? Wird die Heizung wirklich zweipolig abgeschaltet, 
oder hängt je nach Steckerlage trotzdem noch die Phase bis ins Becken?

Vielleicht mal den Beckeninhalt an der Heizung erden? Das sollte 
eingekoppelte 50Hz definitv beseitigen...

Wirklich sinnvoll ist jetzt der Test mit nem Oszi. Bei den niedrigen 
I2C-Frequenzen könntest du es aber mal mit nem Soundkarten-Oszi-Programm 
versuchen....
Gast #1500327
Lesenswert?

Hallo,
was hängt denn auf der anderen Seite des ATMega noch dran.
(Schaltnetzteil, PC, oder nur eine Batterie?)

Tritt der Fehler auch bei folgenden Bedingungen auf?
- Halten des Sensors in der Hand (wohl eher nicht da beim Schütteln 
nichts aufgetreten ist)
- DTO beim gleichzeitigen Anfassen einer (geerdeten) Wasserleitung?
- Legen des Sensors auf ein (geerdetes) Backblech

Mögliche Ursache ist daß über ein Schaltnetzteil/PC Störungen auf die 
Sensorleitung gelangen, die dann durch geänderte Erdkapazitäten 
verstärkt werden und dadurch das Signal stören.
#1500356
Lesenswert?

>Wirklich sinnvoll ist jetzt der Test mit nem Oszi. Bei den niedrigen
>I2C-Frequenzen könntest du es aber mal mit nem Soundkarten-Oszi-Programm
>versuchen....

Ein Oszi ist sinvoll, aber ein Soundkarten Oszi ist alles andere als 
sinvoll um Spannungen/Störungen in Signalen zu Messen. Man hat keine 
wirkliche VREF und kann nur schätzen wenn das Signal über 10 bis 20Khz 
ist. Über 20Khz ist Es aber so gut wie nicht mehr zu gebrauchen.

Es wäre Sinvoller kurz und knapp auf ner Steckplatine ein MCU aufzubauen 
mit ADC der auf 1MSPS Sampelt. Das ADC Signal vom MCU kann man dann u.a 
fixx in Exel oder dsPIC Works Auswerten und ggf. Aufbereiten. Dabei kann 
man auch einen PIN als Trigger verwenden.
Das schlägt jedes Soundkarten-Oszi um längen :)
Gast #1500373
Lesenswert?

@uwe:
>Wie hast du die Abschirmung des Kabels denn angeschlossen?
An Masse

>Tritt das Problem auch auf, wenn du den Sensor in ein anderes
>Wassergefäß hälst?
Nein, in klarem Wasser funzt es. Damit habe ich auch getestet. Ich habe 
sogar ein Wasserglas direkt neben das Ätzbad gestellt - also vom Kabel 
her fast positionsgleich.

>Wird die Heizung wirklich zweipolig abgeschaltet,
>oder hängt je nach Steckerlage trotzdem noch die Phase bis ins Becken?
Guter Tipp, das prüfe ich morgen. Ist nur eine Funksteckdose. Die trennt 
evtl. nur einpolig.

>Vielleicht mal den Beckeninhalt an der Heizung erden? Das sollte
>eingekoppelte 50Hz definitv beseitigen...
Wie? Mit einem Edelstahldraht einfach von der Erde in´s Becken?

>Wirklich sinnvoll ist jetzt der Test mit nem Oszi. Bei den niedrigen
>I2C-Frequenzen könntest du es aber mal mit nem Soundkarten-Oszi-Programm
>versuchen....
Auch noch nie was mit gemacht...

@Anja:
>was hängt denn auf der anderen Seite des ATMega noch dran.
>(Schaltnetzteil, PC, oder nur eine Batterie?)
Ein altes Netzteil von einer externen Festplatte.

>Tritt der Fehler auch bei folgenden Bedingungen auf?
>- Halten des Sensors in der Hand (wohl eher nicht da beim Schütteln
>nichts aufgetreten ist)
Nein
>- DTO beim gleichzeitigen Anfassen einer (geerdeten) Wasserleitung?
Teste ich
>- Legen des Sensors auf ein (geerdetes) Backblech
Teste ich auch

>Mögliche Ursache ist daß über ein Schaltnetzteil/PC Störungen auf die
>Sensorleitung gelangen, die dann durch geänderte Erdkapazitäten
>verstärkt werden und dadurch das Signal stören.
Und wie würde ich die Störungen minimieren. Habe am atmega nur einen 
100nF Kerko und einen 100µF Elko.

@Robert:
>Wie gross ist der Störeinfluss  des Belichters? Tritt der Fehler auch
>auf, wenn der aus ist?
>(Du hattest nur heizung oder Sprudler erwähnt)
Kein Unterschied. Obwohl der Belichter nur ~10cm von meiner 
Reglerplatine entfernt steht ist dabei kein unterschied.

@Christian :
>Ein Oszi ist sinvoll, aber ein Soundkarten Oszi ist alles andere als
>sinvoll um Spannungen/Störungen in Signalen zu Messen. Man hat keine
>wirkliche VREF und kann nur schätzen wenn das Signal über 10 bis 20Khz
>ist. Über 20Khz ist Es aber so gut wie nicht mehr zu gebrauchen.
Ok.

>Es wäre Sinvoller kurz und knapp auf ner Steckplatine ein MCU aufzubauen
>mit ADC der auf 1MSPS Sampelt. Das ADC Signal vom MCU kann man dann u.a
>fixx in Exel oder dsPIC Works Auswerten und ggf. Aufbereiten. Dabei kann
>man auch einen PIN als Trigger verwenden.
>Das schlägt jedes Soundkarten-Oszi um längen :)
Äh, ja - ich glaube, ich prüfe morgen erst einmal die zweipolige 
Trennung der Heizung vom Netz. Stecker raus bekomme ich definitiv 
leichter hin.

Vielen Dank erstmal.
Gast #1500473
Lesenswert?

Bau mal 10k Pullups direkt an den Sensor, für die SCL und SDA Leitung. 
Ich hatte das gleiche Problem mit dem LM175 und etwa 4m Kabel. Die 
Signale sehen ohne Pullup am Sensor ganz schön bescheiden aus, bei 20KHz 
I2C-Speed lief das überhaupt nicht stabil.
Gast #1500586
Lesenswert?

@whatever:
>Kauf Dir ein Oszi...
Ist eine der nächsten Anschaffungen...

@Kurt:
>Bau mal 10k Pullups direkt an den Sensor, für die SCL und SDA Leitung.
>Ich hatte das gleiche Problem mit dem LM175 und etwa 4m Kabel. Die
>Signale sehen ohne Pullup am Sensor ganz schön bescheiden aus, bei 20KHz
>I2C-Speed lief das überhaupt nicht stabil.
Ok, dafür muss ich den Kram natürlich auch wieder auseinanderzupfen. 
Wäre aber eine Möglichkeit. Aber macht das bei einem Meter schon einen 
Unterschied, wo der Pull-Up hängt?

@Bensch:
>> Als Antwort bekomme ich im Fehlerfall abwechselnd 145 und 146° >>angezeigt.

>Das soll dein Fehler sein? Dann liegt das Problem nicht an deiner
>Elekronik, sondern irgendwo hinter deinen Augen....
Ist das jetzt konstruktiv? Wenn ich einen Denkfehler mache, dann bitte - 
aber welchen. Wo die 145 herkommt verstehe ich ja auch nicht. Den 
Wechsel 145,146,145,146 interpretiere ich so, dass das 2. Byte (also 
eigentlich die +0,5 die ich als +1 nutze) ankommt.

@whatever:
>Poste mal die Schaltpläne!
Hänge ich mal an, aber viel ist da wohl nicht zu erkennen :-)
Zur Info: Der 100nF Kerko und der 100µF Elko sind nicht in der Regelung 
zu sehen. Die habe ich direkt an die Pins vom atemga angelötet.

Gruß
Matze
Angehängte Dateien:
Gast #1500615
Lesenswert?

> Ist das jetzt konstruktiv? Wenn ich einen Denkfehler mache, dann bitte -
aber welchen. Wo die 145 herkommt verstehe ich ja auch nicht. Den
Wechsel 145,146,145,146 interpretiere ich so, dass das 2. Byte (also
eigentlich die +0,5 die ich als +1 nutze) ankommt.

Denke schon...
Wenn du so schöne Werte kriegst, liegt der Fehler vermutlich nicht an 
der Übertragung zum uC, das Schwanken ist systembedingt- aber das weisst 
du ja sicher....
Also würd ich mal ins Programm schauen.
Im übrigen heisst es nicht "das 2. Byte", sondern vermutlich "das 2. 
Bit".
Gast #1500630
Lesenswert?

>>was hängt denn auf der anderen Seite des ATMega noch dran.
>>(Schaltnetzteil, PC, oder nur eine Batterie?)
>Ein altes Netzteil von einer externen Festplatte.
Also vermutlich ein Schaltnetzteil

>>Mögliche Ursache ist daß über ein Schaltnetzteil/PC Störungen auf die
>>Sensorleitung gelangen, die dann durch geänderte Erdkapazitäten
>>verstärkt werden und dadurch das Signal stören.
>Und wie würde ich die Störungen minimieren. Habe am atmega nur einen
>100nF Kerko und einen 100µF Elko.

Das hilft leider nicht gegen Gleichtaktstörungen.
Da helfen nur (Y-)Kondensatoren gegen ein Metall-Gehäuse
(das sowohl ATMega als auch den Sensor umschließt),
oder Gleichtaktdrosseln in der Stromzuführung.

Versuche mal ein lineares Netzteil ob das Problem dann weg ist.
Falls ja kannst Du ja mal versuchen ob die Störungen sich beseitigen 
lassen wenn an beiden Enden der Sensorleitung kleine Filterkondensatoren 
zwischen Signal bzw. Takt und Masse gelegt werden.

Ich weiß leider nicht was der I2C-Bus als maximale Kapazität verträgt.
Das Dilemma ist: um die Störung wegzukriegen muß die Kapazität größer 
sein als die Leitungskapazität (ca 50-100pF bei 1m Kabel). Die Kapazität 
darf aber nicht so groß sein daß das Signal weggefiltert wird. Auf jeden 
Fall hilft ein möglichst niederohmiger Pull-up-Widerstand. (Was halt 
deine Bausteine so laut Datenblatt vertragen).
Ich würde so mit 470pF bis 1nF als Filterkapazitäten starten.
Bei 2 Signalleitungen brauchst du dann 4 Stück. (2 am Sensor und 2 am 
ATMega).
Gast #1500640
Lesenswert?

@Robert:
>kann es sein, daß der Kerko Mikrofonieeffekte einfängt und diese auf die
>leitung führt? Ersetz den mal durch einen MKT Typ.

Hallo Robert,
ich habe noch nicht erlebt daß durch Mikrofonieeffekte ein Digitalpegel 
gekippt wäre. Bei einem empfindlichen Analogsensor mit Auflösungen unter 
1 mV würde ich mir da Sorgen machen nicht jedoch bei einer Digitalen 
Schnittstelle.
Gast #1500646
Lesenswert?

>> Ist das jetzt konstruktiv? Wenn ich einen Denkfehler mache, dann bitte -
>>aber welchen. Wo die 145 herkommt verstehe ich ja auch nicht. Den
>>Wechsel 145,146,145,146 interpretiere ich so, dass das 2. Byte (also
>>eigentlich die +0,5 die ich als +1 nutze) ankommt.

>Denke schon...
>Wenn du so schöne Werte kriegst, liegt der Fehler vermutlich nicht an
>der Übertragung zum uC, das Schwanken ist systembedingt- aber das weisst
>du ja sicher....
>Also würd ich mal ins Programm schauen.
>Im übrigen heisst es nicht "das 2. Byte", sondern vermutlich "das 2.
>Bit".
Am Programm ist hier nicht viel zu finden
1
I2creceive &H91 , X
2
Waitms 20
3
I2creceive &H91 , Y
4
If Y > 128 Then Y = 0 Else X = X + 1
Ok, ob es wirklich das 2. Byte ist vermute ich tatsächlich nur. Wenn 
ich den Sensor nicht angeschlossen habe bekomme ich durchgängig 145, was 
in hex 91, also die Adresse, ist.

@Anja:
>>Und wie würde ich die Störungen minimieren. Habe am atmega nur einen
>>100nF Kerko und einen 100µF Elko.
>Das hilft leider nicht gegen Gleichtaktstörungen.
Ok.

>Da helfen nur (Y-)Kondensatoren gegen ein Metall-Gehäuse
>(das sowohl ATMega als auch den Sensor umschließt),
Das geht vom Aufbau her ja nicht.

>oder Gleichtaktdrosseln in der Stromzuführung.
Ok, das hötz sich einfacher an :-)

>Versuche mal ein lineares Netzteil ob das Problem dann weg ist.
Ja.

>Falls ja kannst Du ja mal versuchen ob die Störungen sich beseitigen
>lassen wenn an beiden Enden der Sensorleitung kleine Filterkondensatoren
>zwischen Signal bzw. Takt und Masse gelegt werden.

>Ich weiß leider nicht was der I2C-Bus als maximale Kapazität verträgt.
>Das Dilemma ist: um die Störung wegzukriegen muß die Kapazität größer
>sein als die Leitungskapazität (ca 50-100pF bei 1m Kabel). Die Kapazität
>darf aber nicht so groß sein daß das Signal weggefiltert wird. Auf jeden
>Fall hilft ein möglichst niederohmiger Pull-up-Widerstand. (Was halt
>deine Bausteine so laut Datenblatt vertragen).
>Ich würde so mit 470pF bis 1nF als Filterkapazitäten starten.
>Bei 2 Signalleitungen brauchst du dann 4 Stück. (2 am Sensor und 2 am
>ATMega).
Wenn ich nicht ganz verkehrt liege ist die max. Buskapazität 400pF...

@helmi:
>Bei deiner LM75 beschaltung ist es dem Zufall ueberlassen welchen Pegel
>A0..2 einnehmen. Lege die mal auf ein festes Potential (VCC oder GND je
>nach deiner I2C Addresse). Sieht so aus als ob du dir da Stoerungen
>einfaengst.
Ok, denn zerfletter ich den Sensor jetzt wirklich nochmal.

Gruß
Gast #1500662
Lesenswert?

>Bei deiner LM75 beschaltung ist es dem Zufall ueberlassen welchen Pegel
>A0..2 einnehmen. Lege die mal auf ein festes Potential (VCC oder GND je
>nach deiner I2C Addresse). Sieht so aus als ob du dir da Stoerungen
>einfaengst.

Erscheint mir auch als wahrscheinlichste Fehlerursache.
(da sieht man mal wieder wie wichtig Schaltpläne sind).

Falls das nichts helfen sollte kannst Du ja immer noch filtern.
Ggf. am ATMega Datensignal anfangen. Allerdings hast Du bei 400 pF
Gesamtkapazität nur wenig Spielraum. Das Kabel und die 3 übrigen ICs 
haben ja auch schon bis zu 120pF Gesamtkapazität.
Da geht maximal so 270pF noch als Filter.
Gast #1500674
Lesenswert?

Ausserdem solltest Du bei 1m Kabel die I2C-Leitungen an beiden Enden per 
Pull-Up terminieren, also einmal im Steuergerät und einmal beim LM75.

Dazu beim LM75 noch ein kleiner Elko parallel zu den 100nF, vielleicht 
so ab 10uF aufwärts. Evtl. beim LM75 vor den Kondensatoren noch einen 
Serienwiderstand in VCC einbauen, vielleicht so etwa 10 bis 22 Ohm.
Gast #1500811
Lesenswert?

Ok, ich habe jetzt einen Elko und 2 Pull-Up´s mit eingeplant. Außerdem 
sind nun die Adressleitungen auf 0.
Elko in 10µF habe ich da. Wie groß sollte ich die Pull-Up´s 
dimensionieren? Wie auf der Steuerungsseite 1k3 oder eher größere?

Anbei der neue Schaltplan und das Board, falls da noch jemand einwände 
zu hat ehe ich es ätze :-)

Gruß
Angehängte Dateien:
Gast #1500880
Lesenswert?

> Dazu beim LM75 noch ein kleiner Elko parallel zu den 100nF, vielleicht
> so ab 10uF aufwärts.
Die sind ganz gut mit 100nF bedient. Wenn dann max. einen 1uF extra. Es 
sei denn, deine VCC ist eher ein Sinus mit großer Amplitude.

Geh mit dem Adressground nicht über das PAD. geh direkt vom Kondensator 
ab.

Es wäre besser die VCC Leitung vom Kondensator so kurz wie möglich zu 
machen. Also dreh den Chip mal etwas, damit das eine kurze Leitung wird.
Gast #1500899
Lesenswert?

@whatever:
>Warte doch mit der Schaltung bis Du das Oszi hast. Das wird dann sehr
>aufschlussreich bei der Fehlersuche sein!
So bald werde ich noch keines haben :-(

@Plan:
>Die sind ganz gut mit 100nF bedient. Wenn dann max. einen 1uF extra. Es
>sei denn, deine VCC ist eher ein Sinus mit großer Amplitude.
Maximal 1µF - ich hab noch 0,47µF da.

>Geh mit dem Adressground nicht über das PAD. geh direkt vom Kondensator
>ab.
>Es wäre besser die VCC Leitung vom Kondensator so kurz wie möglich zu
>machen. Also dreh den Chip mal etwas, damit das eine kurze Leitung wird.
Ok, hab ihn mal etwas gedreht.

Ich hab die Masse auch noch unter dem LM und an der Datenleitung 
vorbeigeführt. Sinnvoll oder sinnlos?

Gruß
Matze
Angehängte Dateien:
Persönliche Seite #1500959
Lesenswert?

Hallo,


Da ich im Moment selbst mit dem LM75 arbeite und trotz fliegendem Aufbau 
auf Lochraster (siehe Foto) keine Probleme habe glaube ich  nicht 
unbedingt das es am Layout liegt.
Mein Aufbau:
2*4,7k Pullup (nicht direkt am LM75)
a0..2 an +5V (Layout technisch einfacher), dadurch ändert sich die 
Basisadresse des LM75 auf $FE.
Das alles ist mit mehreren losen Litzen (mit Zwischenverbindungen)am STK 
500 angeschlossen.
den LM lese ich ca. alle <1Sek. aus und die Anzeige steht absolut still.

Ich programmiere zwar ASM, trotzdem ein Auszug aus meinem Code.
1
tempe:  rcall  i2c_start    ;LM75 Adresse und Adresszeiger auf 0 (Temperaturregister)
2
    ldi    temp,LM75    ;LM75 schreiben
3
    rcall  i2c_wByte
4
    brts  err1
5
    clr    temp      ;Adresspointer auf Temperaturregister (Adr.0)
6
    rcall  i2c_wByte
7
    brts  err1
8
    rcall  i2c_start    ;Gleich noch ein Start hinterher
9
    ldi    temp,LM75+1    ;LM75 lesen
10
    rcall  i2c_wByte
11
    brts  err1
12
    rcall  i2c_rByte_ACK  ;Temperatur lesen (High)
13
    push  temp      ;erst noch LOW holen
14
    rcall  i2c_rByte_NACK  ;(LOW)
15
    rcall  i2c_stop    ;I2C-Bus freigeben
16
;----------------------------------------------------------------
17
;Das Temperaturregister des LM75. Die 9 Bits liegen linksbündig in einem 16-Bit Register.
18
;Vorzeichen (DB8) beachten! DB0 = 1/2 Grad (.0 oder .5)
19
;-----------------------------------------------------------------
20
; <---------   High   ---------->|<------------ Low ------------>
21
;|DB8|DB7|DB6|DB5|DB4|DB3|DB2|DB1|DB0| X | X | X | X | X | X | X |
22
; <---------  temp1  ----------->|<------------ temp ----------->
23
;-----------------------------------------------------------------
24
    pop    temp1      ;High-Byte nach temp1, Low-Byte ist in temp
25
    lsl    temp      ;Kommastelle (DB0) ins Carry
26
    rol    temp1      ;Vorzeichen (DB8) ins Carry, Kommastelle -> Temp1
27
    clr    temp      ;Die X im Lowbyte löschen
28
    rol    temp      ;DB8 -> Temp
29
;-------------------------------------------------------------------
30
;Jetzt sieht das ganze so aus, 
31
; <----------   Low    ----------->|<------------ High ------------>
32
;|DB7|DB6|DB5|DB4|DB3|DB2|DB1| DB0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |DB8|
33
; <-----------  temp1  ----------->|<------------ temp ------------>
34
;-------------------------------------------------------------------
35
err1:  ret

Gruss Jürgen

edit: einen (SMD0805) 100 nF habe ich nah am LM75, ist von den Litzen 
verdeckt.
Angehängte Dateien:
Gast #1501171
Lesenswert?

@Jürgen:
Ok, also schließe ich das Layout grundsätzlich aus. Am Code kann es fast 
gar nicht liegen - da ist ja nichts, was falsch gemacht werden kann...

@Helmut Lenzen:
>Dein Problem war die nicht beschalteten Addressleitungen.
Ich habe das jetzt mal geändert. Das ist die plausibelste Quelle für den 
Fehler. Muss nur noch warten, bis das Silikon trocken ist...

Ich denke aber, dass das sein könnte. Wie ich schrieb steckt das 
Reagenzglas in einem Styropor-Halter (also einfach ein Block der 
Schlitze für die Küvette und ein passendes Loch für das Reagenzglas 
hat).
Vielleicht ist gerade dieses Styropor (und die damit verbundene 
elektrostatische Aufladung) das Problem.

Sobald ich es erneut testen kann gebe ich bescheid.

@Uwe:
>Wird die Heizung wirklich zweipolig abgeschaltet,
>oder hängt je nach Steckerlage trotzdem noch die Phase bis ins Becken?
Jepp, trennt nur einseitig. Hab aber zufällig die richtige Seite 
getroffen :-)

Gruß
Matze
Gast #1501263
Lesenswert?

So, ich konnte es nicht mehr abwarten.
Danke an alle, besonders @Helmi für den Adress-Hinweis. Das war es.
Den Fehler mache ich nie wieder. Bisher habe ich die Adress-Pins nur 
nach 1 geschaltet (wenn erforderlich) und die 0 schlicht ignoriert. Das 
passiert mir nicht noch einmal...

Nochmal, vielen Dank!

Gruß
Matze


------------  Problem gelößt, Thread kann zu ------------

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