- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Temperatursensor bis 150°C gesucht

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    73
    Anzeige

    E-Bike
    Bist du dir sicher das 140°C ausreichen werden? an meinen Verbrenner hab ich schon gut über 200°C gemessen. Und meistens läuft der mit 140-160°C.
    Gemessen wird da am Zylinderkopf in den Kühlrippen, mit einen NTC und an der Funke angezeigt (Telemetrie). Obwohl ich die Messung der Glühkerze per Infrarot aussagekräftiger finde.

    Falls du nicht rechnen willst, wie wäre es mit einer Tabelle? 70-140 sind ja nur 70 Werte, 256 sind ja problemlos möglich.

    P.S. den Umstieg von Bascom auf C habe ich auch wegen der rechnerrei gemacht, und nie bereut. So schlimm fand ich das auch nicht, mit der Einarbeitungszeit.

  2. #12
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.308
    NTC mit Parallel- und, je nach Widerstandsbereich, Reihenwiderstand. Messbrücke, OP und an den ADC des uC.
    Oder einen PT1000 .... ebenfalls Brücke und OP.

    Gruss
    Harry
    Ich programmiere mit AVRCo

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Danke nochmals für die ganzen Antworten
    hier gibt es noch etwas Lesestoff
    die Seite habe ich mir gefühlt schon 100 mal angeschaut und gelesen. Trotzdem Danke.
    Leider sind nur recht wenig Sensoren mit einer so hohen Temperatur dabei...

    Ich seh schon.. Ich sollte wohl eher früher als später auf C umsteigen.

    Bist du dir sicher das 140°C ausreichen werden?
    Nur als gegenfrage: Hasst du ein Auto mit Verbrenner? Ich besitze nämlich ein Flugzeug. Ich glaube da gibt es große Temperatur Unterschiede. Schließlich hat man ja nicht nur den Fahrt bzw Flugwind sondern auch noch einen riesen Rotor der ordentlich für Durchzug sorgt.
    Im Internet habe ich öfters gelesen das die Temperatur die 130-140°C nicht überschreiten sollte.

    Ich habe mir deshalb die Idee in den Kopf gesetzt die Temperatur zu messen, da ich derzeit dabei bin meinen Nitro Motor auf Benzin-Öl Gemisch umzubauen und da öfters drüber geschrieben wird, das es anschließend Thermische Probleme gibt. Bei Flugzeugmotoren ließt man aber eher selten davon und in der Regel gibt es viele Leute die von einem Jahrelangen Benzin Betrieb berichten können.

    Wie müsste ich dann diese Tabelle bestimmen? Einfach die Widerstandswerte berechen, die bei den Temperaturen auftreten und diese nur noch einem ADC Wert zu ordnen?

    MfG
    Martin

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    73
    Ja habe ein Auto, da hab ich das mit dem Flugzeug wohl überlesen.

    Tabelle ist ganz einfach. Es wird jeden ADC wert eine Temperatur zugeordnet. Ich glaube bei Bascom sind 255 Werte möglich. Da war irgendwas mit looktab oder ähnlich...

    Läuft der Motor dann mit Zünd- oder Glüh-Kerze? Bei ersterer könnte man ja den Wiederstand der Kerze messen. Der Wiederstand sollte sich ja mit der Temperatur ändern. Ob das geht weiß ich aber nicht.

    Willst du einen elektronischen Vergaser bauen, der bei zu hoher Temperatur das Gemisch einfettet?

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Hallo Tomy83,
    naja, mit dem Flugzeug das stand ja bisher nirgendwo. Bisher hatte ich ja nur geschrieben das es sich um einen Modellbau Motor handelt.
    Ah ok. Ja, mit lookup habe ich schon mal gearbeitet. Dann werde ich mir mal einen "schönen" NTC heraussuchen.

    Der Motor wird nach dem Umbau mittels Zündkerze betrieben. Benzin und Glühkerze würde nicht funktionieren. Es gibt aber extra für kleine Motoren und für Motoren die man umbauen möchte, Zündkerzen mit dem selben Gewinde wie bei den Glühkerzen. Die Zündanlage bekommt dann vorne an der Kurbelwelle noch einen Sensor um den Zündzeitpunkt zu bestimmen. Der Vorteil von Benzin mit Zündung: Der Motor läuft ruhiger wegen dem exakten Zündzeitpunkt und der Automatischen Zündzeitpunktverstellung je nach Drehzahl und der Motor braucht etwa nur noch die halbe Menge an Sprit. Zudem ist ein Benzin-Öl Gemisch wesentlich preiswerter als Nitro Suppe.
    Janein. Ich werde einfach nur das Gas Servo über den Controller laufen lassen. Also ehr in Richtung, wenn zu Heiß, dann weniger Gas. Ein elektronischer Vergaser wäre natürlich Top, aber dann müsste ich vermutlich auch die Luftmasse messen, da sich diese im Flug oder je nach Flugplatz ändert.

    MfG
    Martin
    PS: Solltest du weitere Infos über den umbau haben wollen, kann ich dir diese per PN geben. Hier gehts ja eigentlich um die Temperaturmessung

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    73
    Danke für dein Angebot, aber ich befürchte mir würde die Zeit zum Umbau fehlen. Dann lieber gleich Brushles, macht im Car mehr Sinn.
    Könnte man die Luftmenge den nicht auch aus Kückenstellung und Drezahl bestimmen? Diese Werte hast du ja schon. O.K. Ist offtopic.

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Allesklar.
    Ich glaube nicht das das funktioniert. Wenn das Drosselkücken ja verstellt wird, dann ändert sich ja nicht nur der Luftdurchsatz sondern auch die Benzinzufuhr. Das würde bedeuten das bei einer geringeren Luftmasse das Gemisch sofort anfettet.
    Der Luftmassenmesser misst ja eigentlich nur die Luftmasse bzw. früher einfach den Luftdurchsatz und stellt dann die Drosselklappe bzw. die Nadelstellung nach, so das bei jeder Luftmasse immer das gleiche Luft Benzin Gemisch angesaugt werden kann.
    Wenn man das umsetzten könnte wäre das natürlich optimal, da man dann nicht mehr so viel "ausprobieren" müsste, da sich das Gemisch je nach Flughöhe immer etwas verändert.

    Ich habe mittlerweile auch ein schönes Tool zum erstellen der Tabelle gefunden:
    http://www.preis-ing.de/index.php/de...min=0&tmax=200
    Ist zwar für C aber die Tabelle bleibt ja gleich.
    Einzige Frage, wie groß lege ich den Widerstand aus. Ich hab mal von dem halben Ohm-Wert des NTCs im Messbereich gelesen. Also den Widerstand den der Sensor bei mir bei etwa 100°C hätte. Stimmt die Tabelle dann noch oder muss ich etwa doch selber arbeiten ?

    MfG
    Martin

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    15.09.2012
    Beiträge
    73
    schönes Tool.
    Wenn ich daml mit den Werten ein bischen rumspiele, dann würde ich lieber einen wesentlich größeren Wiederstand nehmen(z.B. 5x). Das erhöt die Auflösung.

    Ich würde trotz aller Mathematik den Sensor nochmal abgleichen. Im Eiswasser sind ja immer 0°C, das sollte dann auch stimmen.

    Den Fall Drahbruch/Kurzschluß im Programm zu berücksichtigen wäre vielleicht keine schlechte Idee. Nicht das der µC das Gas zu macht, obwohl nur der Sensor spinnt.

    OT: das mit dem Gemisch einstellen hat mich schlußendlich zu den Brushless-Motoren getrieben(Zweitwagen). Das macht dann mehr Spaß als Frust

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    07.01.2010
    Ort
    Deutschland
    Beiträge
    739
    Ich glaube aber auch das das Tool die Widerstände bei 25°C verwendet.
    für mich macht es glaube ich mehr Sinn den 2. Widerstand so zu wählen, das er in der Richtung von dem NTC bei etwa 100° liegt. Somit müsste ich im Umfeld von 100° doch relativ genau sin oder ?
    Temperaturen unter 70° sind ja nicht wichtig, da diese nur am Anfang auftreten.

    Die Idee mit dem Drahtbruch und dem Kurzschluss ist echt gut ! Werde ich mit einbauen. Danke

    MfG
    Martin

  10. #20
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    48
    Beiträge
    456
    Ich hab bei meiner Heizungssteuerung genau diese Aufgabe so gelöst:

    Hier lasse ich genau 0.88mA durch den KTY-81 und kann damit exakt sagen, nach Tabelle, welcher Widerstand anliegt. Der µC hat im EEPROM eine Stützpunkttabelle welche R auf Temperatur abbildet (aus dem Datenblatt abgetippt). Liegt die Spannung zwischen 2 Stützpunkten wird linear interpoliert. So komme ich mit einem MAX1270 (ok, teuer *hust* aber 12 Bit) auf unter 1°C Genauigkeit. Mit dem eingebauten ADC geht das ganze auch aber die Auflösung ist etwas schlechter.

    Klicke auf die Grafik für eine größere Ansicht

Name:	KTY-81.png
Hits:	11
Größe:	9,1 KB
ID:	30708

    Code:
    const sensorvalues_flash t_kt81_110[] PROGMEM =
        {   // r       t
            {  490, -55},
            {  515, -50},
            {  567, -40},
            {  624, -30},
            {  684, -20},
            {  747, -10},
            {  815,   0},
            {  886,  10},
            {  961,  20},
            { 1000,  25},
            { 1040,  30},
            { 1122,  40},
            { 1209,  50},
            { 1299,  60},
            { 1392,  70},
            { 1490,  80},
            { 1591,  90},
            { 1696, 100},
            { 1805, 110},
            { 1915, 120},
            { 2023, 130},
            { 2124, 140},
            { 2211, 150},
        };
    
    const sensorvalues_flash t_kt81_210[] PROGMEM =
        {   // r       t
            { 1383, -20},
            { 1408, -18},
            { 1434, -16},
            { 1459, -14},
            { 1485, -12},
            { 1511, -10},
            { 1537,  -8},
            { 1563,  -6},
            { 1590,  -4},
            { 1617,  -2},
            { 1644,   0},
            { 1671,   2},
            { 1699,   4},
            { 1727,   6},
            { 1755,   8},
            { 1783,  10},
            { 1812,  12},
            { 1840,  14},
            { 1869,  16},
            { 1898,  18},
            { 1928,  20},
            { 2002,  25},
            { 2078,  30},
            { 2155,  35},
            { 2234,  40},
            { 2314,  45},
            { 2395,  50},
            { 2478,  55},
            { 2563,  60},
            { 2648,  65},
            { 2735,  70},
            { 2824,  75},
            { 2914,  80},
            { 3005,  85},
            { 3098,  90},
            { 3192,  95},
            { 3287, 100},
        };
    Um den langsammen Zugriff auf den Flash zu reduzieren, nutze ich eine binäre Suche, so brauche ich nur log(n)/log(2) zugriffe statt n:
    Das bedeutet, statt 37 Versuchen beim kt81_210 brauche ich nur log(37)/log(2) = 6.
    Code:
    avr::units::temperature
    convert(sensor_t s, avr::units::resistor r)
    {
        sensorvalues t1, t2;
    
        const sensorvalues_flash* current = &t_kt81_210[0];
        switch (s)
        {
        case kt81_210: current = &t_kt81_210[0]; break;
        case kt81_110: current = &t_kt81_110[0]; break;
        }
    
        // binary search without recursion
        unsigned char st = 0;
        unsigned char en;
        unsigned char m;
        switch (s)
        {
        case kt81_210: en = sizeof(t_kt81_210)/sizeof(sensorvalues_flash)-2; break;
        case kt81_110: en = sizeof(t_kt81_110)/sizeof(sensorvalues_flash)-2; break;
        default:
            return 0.0_celcius;
        }
    
        sensorvalues_flash tmp;
        while (en-st>1)
        {
            m = st + (en-st)/2;
            memcpy_P(&tmp, &current[m], sizeof(sensorvalues_flash));    t1 = tmp;
            if (r > t1.r) // if we use at sometime a NTC, we need to adjust this
            {
                // right side
                st = m;
            }
            else
            {
                // left side
                en = m;
            }
        }
    
        // read the best matching lines
        memcpy_P(&tmp, &current[st+0], sizeof(sensorvalues_flash));    t1 = tmp;
        memcpy_P(&tmp, &current[st+1], sizeof(sensorvalues_flash));    t2 = tmp;
    
        // interpolate
        resistor dr = t2.r-t1.r;
    
        float f = static_cast<float>((r-t1.r)/dr);
        return t1.t+(t2.t-t1.t)*f;
    }
    Hier wird eingelesen. vom ADC wird dann in Volt gewandelt. Über R=V/I wird dann R berechnet, welcher dann über die obige convert Funktion in Temperatur umgewandelt wird.
    sys.configuration.adc_constant_current[avr::free_7-active_adc] enthält den exakt gemessenen Konstantstrom welcher über das Menü angepasst werden kann. (Messung per Scopemeter)

    Code:
            tmp = (uint16_t(in[0]) << 8) | uint16_t(in[1]);
            tmp = tmp >> 4; // shift the last 4 zero bits out
            sys.max1270_select.on();
    
            // fill the sensor structure
            sys.sensor.dt = sys.dt;
    
            using namespace avr::units;
            voltage v((float(tmp)/(1<<12))*5.0f);
            resistor r = v/sys.configuration.adc_constant_current[avr::free_7-active_adc];
    
            // prevent short spikes
    
            if (abs(tmp-sys.sensor.raw[avr::free_7-active_adc]) < 10 || first[active_adc])
            {
                first[active_adc] = false;
                sys.sensor.raw[avr::free_7-active_adc] = tmp;
                sys.sensor.temperature[avr::free_7-active_adc] =
                    convert(sys.configuration.adc_sensor_type[avr::free_7-active_adc],r);
            }
    Geändert von schorsch_76 (23.09.2015 um 20:37 Uhr)

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Temperatursensor
    Von im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 7
    Letzter Beitrag: 02.01.2010, 22:13
  2. Temperatursensor für den RP6 gesucht
    Von Pyrgo im Forum Robby RP6
    Antworten: 5
    Letzter Beitrag: 05.08.2008, 17:41
  3. RTC, mit Temperatursensor und 4 Alarmzeiten? Gesucht .. ^^
    Von bluelight_electronic im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 28.12.2005, 19:37
  4. Temperatursensor
    Von franzl im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 09.08.2005, 22:39
  5. Digitaler Temperatursensor gesucht
    Von Rofo88 im Forum Sensoren / Sensorik
    Antworten: 5
    Letzter Beitrag: 12.11.2004, 18:36

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen