Ich bin neu hier und muss mich erst einmal hier einfuchsen, seht mir bitte Fehler nach wenn etwas nicht regelkonform ist. Ich bemühe mich nicht derartig aufzufallen.
Zu meinem Projekt: Ich möchte die Wicklungstemperatur einer Drehstromlima permanent messen und den Generator notfalls abschalten wenn eine zuvor festgelegte Grenztemperatur erreicht worden ist.
Das ist an sich kein Problem. Aber: Der NTC soll nicht außen auf der Lima (auf dem Gehäuse ) aufliegen, dort mißt man nicht die reale Wicklungstemperatur. Vielmehr möchte ich einen kleinen NTC auf die Wicklungs kleben und mit Silikon Doppelader dann zum Arduino eine Verbindung herstellen.
Meine Frage : Wenn der NTC auf der Wicklung aufliegt, dann könnte es doch ein Problem geben mit der Induktion in die Meßleitung bzw in den NTC. In diese metallischen Bestandteile wird sicherlich eine Spannung induziert oder sehe ich das falsch?
Was sagt Ihr dazu? Wie könnte ich die Wicklungstemperatur alternativ auslesen? Die Suche hier ergab vorab kein ähnliches Thema.
Hallo
Also generell werden NTC ja auch in Motor Wicklungen von Drehstrommotoren als Motorschutz eingebaut.
Natürlich werden da auch Spannungen in die Messeleitung induzierte. Es sind ja aber Wechselspannungen die muss man halt wieder rausfiltern. In der Industrie werden dazu Auswerterelais verwendet die speziell dafür gemacht sind.
Es gibt auch sogenannte Bimetall-Kontakte die mit an die Wicklung verbaut werden.
Ich denke mal sowas einfach mit einen Arduino messen wollen wird nicht so einfach sein.
Zuerst möchte ich mich bei Dir für Deinen Beitrag bedanken!
Und ja, ich kenne das mit dem einwickeln eines Sensors in die Wicklungen bestimmter e-Maschinen.
Ich aber möchte die Temperatur einer Drehstrom-Lima messen. Würde ich Deiner Thoerie folgen, dann müßte ich ja die Wicklungen der Lima komplett neu wickeln lassen um einen Sensor einzuwickeln, was das Ganze unrentabel macht.
Daher habe ich nun eine Möglichkeit gefunden (so glaube ich jedenfalls) ohne herkömmlichen Sensor in den Wicklungen und ohne Induktionsspanung die Temperatur der Wicklung in gewissen Grenzen erfassen zu können.
Ich kämpfe gerade mit einem sehr einfachen Code. Und mit dem MLX90614 .
Obwohl es eine sehr einfache Angelegeheit ist , bekomme ich das Teil nicht zum laufen. Es sind nur 4 Adern und ein relativ einfacher Code, aber es funktioniert nicht . Ich bekomme einfach keine Werte angezeigt.
Am Code kann es meiner Meinung nach nicht liegen.
Im seriellem Fenster wird alles schön angzeigt nur die Werte nicht. Irgendwie gibt es ein Problem und ich weiß nicht wo ich noch suchen soll.
Für alle anderen Leser:
Ich verwende einen Uno oder einen Nano beide ergeben das selbe Ergebnis. Ich kann einfache Sketche hochladen, zB. Blink Aber wenn ich den I2C-Skanner laufen lasse nur um mal zu sehen ob er den einzigen Baustein der dran hängt zu finden, dann findet der nichts. Keine Adresse! Dabei ist es ja wohl nicht zu schwer SCL und SDA richtig aufzustecken. Ich habe übrigens beim UNO beide Möglichkeiten versucht A4 und A5 auch.
Die VIN kann bei diesem Modell 5V sein da auf der Platine eine Regler verbaut ist dessen Ausgangsspannung habe ich mit einem Multimeter überprüft -passt 3,3V am Bauteil selbst.
Hallo,
na ja , bei deiner Eingangsfrage ging es um Induktionspannungen die in den Sensor hauen können. Das habe ich versucht zu beantworten. Und nein Du sollst die Wicklung Deiner Lima nicht abwickeln, das war ein Beispiel wie das sonst gemacht wird.
Wenn Du letztlich ein Problem mit der I2C Verbindung des MLX90614 zum Uno hast dann ist das ja ein völlig andere Fragestellung. Wie bereits gesagt wenn der I2c Scanner nichts findet dann sollte es sich um ein Hardwareproblem handeln.
Hast Du den MLX schon mal an der laufenden LIma betrieben , ist der eventuell schon im Himmel ?
Nein, ich habe zunächst erst einmal ein Bord genommen und die Schaltung verdrahtet. 4 Adern sind ja keine wirkliche Aufgabe.
Dann habe ich mir einen passenden Sketch im Web gesucht und diesen mit den passenden Bibliotheken hochgeladen. Ich wollte eigentlich das Ding erst einmal testen. Die mechanische Ausführung wäre dann der Zweite Teil gewesen. Ich muss ja dabei auch auf Vieles achten, auch auf die Induktionsspannung und den Öffnungswinkel des Sensors.
Ich habe inzwischen im Web einiges zu diesem Sensor gefunden. Es ist wohl wirklich nicht so einfach diesen zum laufen zu bekommen.
Ist wohl auch was für richtige Neerds. Es werden Änderungen an einigen Bibliotheken empfohlen. Und Änderungen an twimaster.cpp
bin nicht der erste der damit (zu) viel Zeit verplempert..
Also möglicherweise gibt es ja mehrere Hersteller für diesen Sensor
Ich habe ihn hier gekauft
An einen ESP32 angeschlossen.
Diesen Demo-Sketch auf den ESP32 geflasht
// demo-code for the thermopile contactless temperature-sensor
// MLX90614 tested on a ESP32 esp32-coreversion 2.0.9
// Adafruit_MLX90614_Library@2.1.3
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
unsigned long MyTestTimer = 0; // Timer-variables MUST be of type unsigned long
const byte OnBoard_LED = 2;
// on ESP32 you can define the I2C-Pins yourself
#define I2C_SDA 25
#define I2C_SCL 26
void setup() {
Serial.begin(115200);
while (!Serial);
Serial.println("Setup-Start");
PrintFileNameDateTime();
// call Wire.setPins with I2C pin-numbers as parameters
Wire.setPins(I2C_SDA, I2C_SCL);
if ( !mlx.begin() ) {
Serial.println("Error connecting to MLX sensor. Check wiring.");
Serial.println("microcontroller freezed with while(true)");
while (true);
};
}
void loop() {
// non-blocking blinking of LED
BlinkHeartBeatLED(OnBoard_LED, 250);
// non-blocking delayed code-execution
// check if more than 1002 milliseconds have passed by
// since last intervall
if ( TimePeriodIsOver(MyTestTimer, 1002) ) {
// if 1002 REALLY have passed by
Serial.print("Emissivity of MLX90614-Sensor = ");
Serial.println(mlx.readEmissivity());
Serial.print("Ambient = ");
Serial.print(mlx.readAmbientTempC());
Serial.print("°C\tObject = ");
Serial.print(mlx.readObjectTempC());
Serial.println("°C");
Serial.print("Ambient = ");
Serial.print(mlx.readAmbientTempF());
Serial.print("°F\tObject = ");
Serial.print(mlx.readObjectTempF());
Serial.println("°F");
Serial.println();
}
}
void PrintFileNameDateTime() {
Serial.println( F("Code running comes from file ") );
Serial.println( F(__FILE__) );
Serial.print( F(" compiled ") );
Serial.print( F(__DATE__) );
Serial.print( F(" ") );
Serial.println( F(__TIME__) );
}
// easy to use helper-function for non-blocking timing
boolean TimePeriodIsOver (unsigned long &startOfPeriod, unsigned long TimePeriod) {
unsigned long currentMillis = millis();
if ( currentMillis - startOfPeriod >= TimePeriod ) {
// more time than TimePeriod has elapsed since last time if-condition was true
startOfPeriod = currentMillis; // a new period starts right here so set new starttime
return true;
}
else return false; // actual TimePeriod is NOT yet over
}
void BlinkHeartBeatLED(int IO_Pin, int BlinkPeriod) {
static unsigned long MyBlinkTimer;
pinMode(IO_Pin, OUTPUT);
if ( TimePeriodIsOver(MyBlinkTimer, BlinkPeriod) ) {
digitalWrite(IO_Pin, !digitalRead(IO_Pin) );
}
}
und funktioniert
Hier die Ausgabe auf dem seriellen Monitor
Bei den höheren Tempretauren habe ich die Hand über den Sensor gehalten.
Klar meine Handoberfläche ist wärmer.
Ich habe dann die Abfragerate auf 2 millisekunden hochgedreht. Funktioniert auch.
In dem Link den du angeben hast steht was von dass die Probleme mit der I2C-Kommunikation hatten. Nun I2C ist ein Bus-System, dass für kurze Strecken auf Platinenleiterbahnen entwickelt wurde. Kurz heißt hier kleiner 0,5 m.
Über die Länge der Busleitungen habe ich auf die schnelle nichts gefunden im Text
Kenne den Sketch und habe ihn auch getestet. Ich denke es liegt an der Hardware. Ich habe mir nun aus einer anderen Quelle diesen Sensor nachgeordert und werden dann berichten. Dazu auch mehrere ESP32 mal sehen. Was mich interessiert:
Der Sensor kommt auf einer Platine. Stifte anlöten und Steckverbinder drauf - fertig. Meine Verbindungslängen ca 10cm.
Aber welche Spannung hast Du verwendet? 3.3V beim ESP , sicherlich.
Bei Uno kann man ja 5V abgreifen. Das habe ich auch gemacht. Hintergund ist der , dass auf dem Bord eine Spannungsstabilisierung auf 3.3V statt findet. Habe ich gemssen. Aber ich denke ich werde die neuen Sensoren von vornherein nur mit 3.3V verwenden.
Da fehlt aber noch das wichtigste.
Der Scheibenwischer der die Optik sauber hält!
Oder ist deine Lima eine Reinraumlima?
In der Umgebung wirst du da nicht lange Spass dran haben.
Haste dazu schon mal Versuche gemacht?
Also ab wie viel Staub werden die Messwerte wirklich falsch?
Setzt sich Staub bei einem E-Motor mit Lüfterrad wirklich auf dem Sensor ab?
Mir erscheint ein Anlegefühler auch die bessere Variante. Auch wenn der dann nicht
die exakte Oberflächentemperatur der Wicklung misst.
Es geht ja um eine Abschaltung wenn ein Grenzwert überschritten wird.
Keine Ahnung ob ein Versuch bis zur Wicklungszerstörung möglich ist
um mal die Temperaturen zu erfassen.
Hättest du denn im Motor an der Wicklung so viel Platz, dass du den Sensor auf die Wicklung kleben und dann auch noch die unmittelbare Sensorumgebung mit etwas wärmeisolierendem abdecken kannst ?
Dur das Einpacken des Sensors müsste der bis auf weniger als 1 Grad die gleiche Temperatur wie die Wicklung haben.
Den Ärger hab ich jeden Tag mit 6 Pyrometern die zur berührungslosen Temperatur(messung)regelung eingesetzt werden. Die versiffen mit der Zeit und driften ordentlich weg.
Man sollte sich vorher mal etwas mit IRTempmessung befassen um zu verstehen was da passiert. Ist eine sehr komplexe Geschichte.
Dann würde man erfahren, das die Abstrahlung der zu messenden Objekte nicht gleich sind.
Das variiert je nach Oberfläche Material etc. . Nicht umsonst wird bei IR Tempmessungen mit Korrekturfaktoren gearbeitet die aber auch nur eine Annäherung sind.
Sprich was da an Temperatur angezeigt wird, ist irgendeine Zahl in der Nähe der wirklichen OberflächenTemp wenn du Glück hast. Mal mehr mal weniger. Wen man mit dem Zahlenwert nur 2 gleiche Oberflächen vergleichen will, kann man das machen, aber auch mehr nicht. das ist noch lang keine genaue Messung.
Wir haben auch noch 2 Flir A70 im Einsatz an den Anlagen. Und ja die Optik muss sehr sauber sein sonst kannst du alles vergessen.
Das Problem ist die digitale hörigkeit, sobald da eine Anzeige dran ist, die einem suggeriert das Teil hätte jetzt diese und jene Eigenschaften dann wird das geglaubt. Auf die Idee das mal zu hinterfragen kommt heute keiner mehr. Ist ja alles digital und toll.
Mal davon ab, wenn man den Ladestrom einer Lima begrenzen will, um die Lima zu schützen oder was auch immer, macht man das auf elektronischem Weg in dem man den Strom begrenzt.
Ich überhole öfter mal Drehstromlimas, daher weis ich was da drin an Siff anfällt.
Das ist keine Umgebung für IR.
Ja, Dein Hinweis ist nicht uberechtigt. Ich kann aber versichern, dass diese Lima nicht in einem Auto verbaut ist und weil das so ist fehlen hier auch kühlende Fahrtwinde mit entsprechenden Partikeln. Ich werde dennoch hin und wieder die Linse reinigen müssen. Aber das geht relativ einfach da dies nicht verbaut ist.
Hast Du gewuß, dass Eisenpakete teilweise mit einem gummiartigen Kleber in das Gehäuse eingeklebt werden?
Das Problem welches ich angehen möchte ist die reale Oberflächentemperatur der Wicklung zu ermitteln. Im Inneren der Wicklungen wird diese sicherlich noch höher liegen.
Bisher habe ich nur einen 10k Außenfühler auf dem Gehäuse mit einer M4 Schraube und einem passenden Kabelschuh befestigt. Die Wärme die dort angezeigt wird ein Wert der auch nur langsam dort entsteht. Zu langsam!