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
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.
Hmm. der ist doch i2c.. warum hast du da überhaupt Fehlmessungen ?
I2C-Takt zu hoch ? - Mach ihn mal ganz langsam.
Widerstände am Bus zu groß ? - Versuch mal kleinere
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
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
50 Herz Brumm fliegt überall durch den Äther, wenn Deine Kabel lang
sind, kann das schon eine Antenne abgeben.
Hast du die Vorschläge von oben schon alle probiert ?
@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ß
@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?
>>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?
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....
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.
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)
Gruss
Robert
>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 :)
@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.
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.
> 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....
@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
@Robert:
>kann es sein, daß der Kerko Mikrofonieeffekte einfängt und diese auf die>leitung führt? Ersetz den mal durch einen MKT Typ.
Habe ich nicht da, werde mir mal ein paar bestellen.
> 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".
>>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).
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.
Gruss Helmi
@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.
>> 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ß
>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.
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.
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ß
> 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.
@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
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)
@Matze (Gast)
Das Layout ist so Ok. So kritisch ist der LM75 nicht. Ich habe den schon
mal mit 10m Kabel betrieben , kein Problem.
Dein Problem war die nicht beschalteten Addressleitungen.
@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
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 ------------
Hea,
ich denke 145° ist auch ausserhalb der Specs beim LM75
Hängt ein Adresspin an Masse = 0, an Vcc = 1, offen = something wicked
happens...
Grüße
dr_seltsam