da es ja momentan noch kein Telemetriemodul zur übermittling von Temperatur gibt(HOTT), wollte ich mich mal dran machen dies zu ändern.

Es gibt zwar diverse andere Module die dies können, allerdings sind dort immer noch GPS,Höhe,Spannung,usw dabei. Ich, so wie bestimt viele andere, brauche aber nur die Temperatur.
In meinem Fall hätte ich gern die Temperatur meines Motors beim Flug im Auge.
(Bitte keine Kommentare wie " ein gut eingestellter Motor wird nicht zu heiss". Dafür muss er aber erst mal gut eingestellt sein)
Die benötigten Protokollspezifikationen zur Komunikation mit Hott so wie einen Programmierer habe ich bereits.

Nur bei der hardware komme ich gerade nicht weiter.
Meine Idee war einen Temperatursensor mit dem Arduino zubauen, und diese so ermittelten Werte, über die Hott Schnittstelle zu senden.
Die originalen Temperaturfühler scheinen ja NTC´s zu sein(optisch jedenfalls. Wenn es keine sind, habe ich schon den ersten Fehler gefunden)
Also habe ich mir NTC´s wie einige Widerstände beim grossen C bestellt (von 10kohm bis 200kohm. Alle NTC´s sind in Glas gekappselt und bis 200grad).
Nun gings ersteinmal daran nur die Temperatur zu messen, allerdings ohne grossen Erfolg.

Nach dem Aufbau des Spannungsteilers und kopie diverser Sketches, stoße ich nun auf das Problem, dass bei ca 80grad schluss ist. Obwohl ich mit ca 200 grad den Heissluftföhn drauf halte??:dknow:
Verwendet habe ich
-einen 10kohm Widerstand
-einen 10kohm NTC mit einem Betafaktor:25/85 3470 http://www.produktinfo.conrad.com/da...103F3473SY.pdf
-Arduino mit 5V (über usb)
Hier mal der sketch:
#include <math.h>
float temperatur =0; //Variable zum Zwischenspeichern der Temperatur
void setup()
{
Serial.begin(9600);
}
void loop()
{
temperatur = temp(analogRead(0));
Serial.println(temperatur);
Serial.println(analogRead(0));
delay(1000);
}
float temp(int rawadc)
// Hilfsfunktion zur Umrechnung auf Grad Celsius
{
int r1 = 10000; // Wert des Festen Wiederstandes des sabbungsteiler
int r2 = 10000; // Wiederstand des Thermristors bei 25grad
int b = 3470; // Fixwert aus Datenblatt
float r_akt; // Aktueller Wiederstand
float temp; //Temporäre Variable
float ergebnis; //
float tn = 20; //Basistemperatur in Grad Celsius
// Wiederstand Therm ausrechnen
//Widerstand auf Temperatur umrechnen
tn = tn+273.15; // Basitemperatur auf Kelvin umrechnen
r_akt = ((4.64/(4.64/1023*rawadc))*r1)-r2; //Aktuellen Widerstand ermitteln
temp = b*tn/(b+log10((r_akt/r2))*tn);
temp = temp - 273.15; //Ergebnis in Grad Celsius umwandeln
ergebnis =temp;
return ergebnis;
}
Brauche ich hier vieleicht noch eine Op oder ähnliches??
Da ich auf dem Bereich der Elektronik noch ein recht grosser Newbee, bin würde ich mich über eure Tipps sehr freuen.
Also bis denn
Gruß
Christian

Kommentar