I2C Bus beeinflusst Temperaturmessung

Gast #5910419
Lesenswert?

Hallo ich habe folgendes Setup:

Einen Arduino Mega2560 der als Slave in einem I2C Bus fungiert und über 
den SPI Bus 5 Thermoelemente ausliest (MAX6675).

Einen Arduino Mega2560 der als Master.


Folgendes Problem:

Das Auslesen der Temperaturen am Slave direkt mit Serial.println(..);
funktioniert sehr gut. Sobald ich jedoch den Master an den Strom stecke 
der über die SDA,SCL und den Ground PIN mit dem Slave verbunden ist, 
kriege ich ein dauerhaftes Offset von ca. -1 bis -3 C° in der Messung 
oder auch komplett verfälschte Messungen.

Ich habe festgestellt, dass sich dieser Fehler reduziert wenn ich die 
Groundverbindung zwischen Master und Slave auflöse. Stecke ich danach 
noch SDA und SCL aus habe ich keinen Messfehler mehr.

Daraus schließe ich das der I2C Bus die Messung zu beeinflussen scheint, 
größtenteils über den Ground.

Die Frage ist wie ich das jetzt beheben soll? Der Arduino Mega hat nur 
zwei Groundpins wo ich einen eben für die Sensoren und den anderen für 
den I2C Bus benutze.

Wie kann das überhaupt sein? Es kann doch nicht sein das der I2C Bus 
solch negative Auswirkungen hat, das macht ihn ja fast vollkommen 
unbrauchbar.
Gast #5910459
Lesenswert?

Nils schrieb:
> Die Frage ist wie ich das jetzt beheben soll? Der Arduino Mega hat nur
> zwei Groundpins wo ich einen eben für die Sensoren und den anderen für
> den I2C Bus benutze.

Ich verstehe dein Problem nicht.

Deine Sensoren werden doch über den MAX6675 per I2C ausgelesen.

Damit ist Sensoranachluss und I2C Anschluss doch dasselbe.

Und wie soll ein I2C ohne Master funktionieren

Nils schrieb:
> Das Auslesen der Temperaturen am Slave direkt mit Serial.println(..);
> funktioniert sehr gut. Sobald ich jedoch den Master an den Strom stecke
> kriege ich ein dauerhaftes Offset

Wie wäre es mit einem Schaltplan ?

GND, SCL, SDA müssen natürlich verbunden sein, und wenn VCC nicht für 
beide derselbe ist, muss man mit Fehlströmem über die 
Eingangsschutzdioden rechnen.
#5910506
Lesenswert?

Nils schrieb:

> Einen Arduino Mega2560 der als Slave in einem I2C Bus fungiert und über
> den SPI Bus 5 Thermoelemente ausliest (MAX6675).
>
> Einen Arduino Mega2560 der als Master.

Also 2 Arduinos.

> Ich habe festgestellt, dass sich dieser Fehler reduziert wenn ich die
> Groundverbindung zwischen Master und Slave auflöse. Stecke ich danach
> noch SDA und SCL aus habe ich keinen Messfehler mehr.
>
> Daraus schließe ich das der I2C Bus die Messung zu beeinflussen scheint,
> größtenteils über den Ground.

Kann sein, aber das ist eher ein Dreckeffekt eines anderen Fehlers.

> Die Frage ist wie ich das jetzt beheben soll? Der Arduino Mega hat nur
> zwei Groundpins wo ich einen eben für die Sensoren und den anderen für
> den I2C Bus benutze.

Zeig uns einen Schaltplan deines Aufbaus und aussagekräftige Bilder vom 
realen Aufbau.

> Wie kann das überhaupt sein? Es kann doch nicht sein das der I2C Bus
> solch negative Auswirkungen hat,

Hat er nicht, du hast irgend ein Masseproblem. Wie sieht deine 
Stromversorgung aus? Billiges Steckernetzteil aus China?
Gast #5910710
Lesenswert?

Habe das Problem halbwegs einkreisen können. Es schien an einer 
fehlerhaften Steckverbindung zu einem der Temperatursensoren zu liegen. 
Ich werde jetzt eine Platine machen damit alles ohne den Kabelwust 
funktioniert und falls es dann nicht klappt melde ich mich nochmal.

Zu:

"Thermospannungen sind sehr klein, die lassen sich leicht stören. Der
Anschluß sollte über geschirmte Ausgleichsleitung erfolgen, und der
Sensor muß von Erde isoliert sein."

Sorry ich bin kein Etechnikprofi. Was versteht man unter einer 
geschirmten Ausgleichsleitung und muss von Erde isoliert sein?

Die Kabel sind doch alle standardmäßig mit nem Kunststoffmantel 
isoliert.
Gast #5910730
Lesenswert?

Nils schrieb:
> Ich werde jetzt eine Platine machen damit alles ohne den Kabelwust
> funktioniert

Na das kann ja nach den bisherigen Erfahrungen lustig werden.

Nils schrieb:
> und falls es dann nicht klappt melde ich mich nochmal.

Es klappt sicher nicht. Kannst dich gleich melden, und das
war nicht als Spässle gemeint.

Aber es gibt jede Menge Leute die hauen erst mal eine ganze
Menge Geld in die Tonne und erst dann lassen sie sich hier
beraten.

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