µC (Arduino) und Umgang mit Thermoelementrauschen

Wir haben kürzlich ein Arduino zusammen mit einem Breakout-Board MAX31856 verwendet, um die Temperatur eines Typ-J-Thermoelements zu messen und sie dann als KTY xxx über einen digitalen Topf (MCP4261) zu replizieren.

All diese Leute kommunizieren also über SPI und es ist alles in Ordnung, bis wir den Induktionsmotor starten, in dem das Thermoelement montiert ist (wahrscheinlich in den Stator eingegossen, kenne die genaue Position nicht) ... dann geht alles durch die Leitung EMI...

Ich denke (eigentlich ganz offensichtlich ...), dass das Thermoelement keinen elektrischen Kontakt mit dem Stator hat, aber sobald wir den Motor auch ohne Last laufen lassen, wird der Arduino zurückgesetzt oder gibt einfach völlig falsche Messwerte aus (normalerweise höher als real).

Jetzt ist die Frage: Wie soll ich damit umgehen? Ich habe die +12-V-Arduino-Versorgung bereits über DC / DC isoliert, aber es kann auch eine Erdungsschleife entstehen, wenn das Thermoelement irgendwo geerdet ist ...

Geht meine einzige Option über ein optogekoppeltes SPI und eine isolierte Versorgung des MAX31856?

Danke für die Hilfe!

Markus


Um auf einige der Kommentare zu antworten:

  • Ja, der Motor wird von einem Wechselrichter betrieben, der seine Energie von einem Batteriepack bezieht (es ist eine EV-Anwendung). Dieser Akku ist durch einen isolierten DC/DC von der +12-V-Versorgung isoliert, und das Arduino ist noch einmal durch einen weiteren isolierten 12-V-/12-V-DC/DC isoliert (hat bei anderen EMI-Problemen sehr geholfen).

  • Das Arduino wird nicht mehr wirklich zurückgesetzt (seit wir seine Versorgung isoliert haben), aber es gibt falsche Messungen. Zum Beispiel: Wir legen einen Schwellenwert fest, über dem ein Lüfter abschaltet, und wenn wir den Motor beschleunigen, schaltet sich der Lüfter kurzzeitig ein, da das Thermoelement ein EMI-Rauschen aufnimmt, das einen falsch hohen Messwert liefert. Wenn wir dann den Gashebel loslassen, hört es einfach auf ... Das Arduino mit einer Batterie zu versorgen, führt zu den gleichen Ergebnissen ...

  • Das Thermoelement ist nicht über ein Twisted Pair von den Motorklemmen mit dem Arduino verbunden, aber das können wir ändern. Der Weg im Inneren des Motors liegt jedoch nicht in unserer Hand ...

Wahrscheinlich Rauschen von EMI, versuchen Sie, eine 0,1-uF-Kappe über die Thermoelementleitungen direkt am MAX-Chip zu legen.
Außerdem wird dieser Motor von einer völlig separaten Versorgung betrieben? Das Thermoelement sollte in keiner Weise mit dem Motor geerdet werden, da dies effektiv dazu führen würde, dass es nicht funktioniert. Ihre einzige Rauschquelle sollte also EMI sein.
Wenn der Arduino zurückgesetzt wird, liegt das Problem wahrscheinlich an seiner Versorgung, nicht am Thermoelement. Können Sie auf die Details aller Verbrauchsmaterialien eingehen, die Sie in Ihrem System verwenden?
Ist Ihr Thermoelement über ein geschirmtes Twisted-Pair-Kabel angeschlossen? Ist das Motorgehäuse geerdet? "Ich habe die +12-V-Arduino-Versorgung bereits über DC / DC isoliert, aber es kann auch eine Erdungsschleife entstehen, wenn das Thermoelement irgendwo geerdet ist ..." - nicht, wenn es richtig isoliert ist. Versuchen Sie, das Arduino mit einer Batterie zu versorgen - wird es immer noch zurückgesetzt oder gibt es "völlig falsche" Messwerte?

Antworten (1)

Ich nehme an, der Motor wird auch von einem VFD betrieben, der notorisch laut ist.

Versuchen Sie, den T / C-Leitungen einen Widerstandswert hinzuzufügen, vielleicht 100 Ohm, und erhöhen Sie die Datenblattkondensatoren um eine Größenordnung (auf 1 uF X7R und 100 nF X7R).

Geben Sie hier die Bildbeschreibung ein

Halten Sie die Widerstände physikalisch klein, damit der Temperaturunterschied zwischen den Enden minimal ist. Idealerweise könnten Sie ein Paar kleinerer (0805 oder 1206 ist in Ordnung) SMT-Widerstände zwischen dem Anschlussblock und dem Chip pfropfen. Sie können es mit bedrahteten Widerständen testen, die an der Klemmleiste hängen, aber der Temperaturfehler wird größer als nötig sein.

Eine geerdete Abschirmung (an der Leiterplatte) an den Thermoelementdrähten und allen Thermoelement-Verlängerungskabeln kann ebenfalls hilfreich sein.

Hallo Spero. Werde auf jeden Fall versuchen, die 1µF / 100nF-Kappen hinzuzufügen. Ich bin nur neugierig auf die Auswirkung auf das vom Thermoelement kommende µV ... Ich weiß, dass der Tk-Eingang wahrscheinlich eine superhohe Impedanz hat, aber werde ich dabei nicht etwas Spannung verlieren?
Ganz zu schweigen davon, dass der Bias-Strom des Chips sehr niedrig ist, es gibt jedoch eine gewisse Wechselwirkung mit der Unterbrechungserkennung (optional). 100 Ohm ist niedrig genug, es sollte minimal sein.