Ich bastel grade ein Thermometer und dazu würde ich gerne einen ntc nehmen weil die doch recht robust und trotzdem billig sind. Jetzt ist das hinterlistige Teil natürlich nicht linear. Gurgel liefert eine Seite die angeblich eine Schaltung und Werte liefert ( http://www.electronicdeveloper.de/MesstechnikNTCLinearR.aspx ) allerdings wollen die jetzt plötzlich Geld. An sich kann das ja aber nur eine ganz einfache Formel sein, leider findet sich nur kram um den Widerstand an sich zu linearisieren (und nicht die Ausgangsspannung eines teilers). Vlt. Weiß hier ja jemand die Formel dazu? Danke für eure hilfe :)
Naja. zu jedem NTC gehoert eine Formel, ueblicherweise eine exponentialfunktion. Die rechnet man dann eben mit dem Controller durch. Der Teiler ist etwas Zeug rundrum, dann kann man nach der Temperatur als Funktion des ADC aufloesen.
Die Idee an der linearisierung mit zwei Widerständen ist eben, dass man NICHT die Expo auf dem uC fahren muss....
Wie üblich bei kostenpflichtigen Angeboten im Netz sind die das Geld nicht wert. Ein per simplem Widerstand linearisierter NTC ist natürlich nicht linear, sondern nur weniger unlinear. Der Restfehler kann berechnet werden. http://en.tdk.eu/blob/531110/download/3/pdf-applicationnotes.pdf
Max D. schrieb: > Ich bastel grade ein Thermometer und dazu würde ich gerne einen ntc > nehmen weil die doch recht robust und trotzdem billig sind. Und was machst du mit dem NTC? Du wertest ihn irgendwie über einen µC aus oder (Spannungsteiler, C laden über den NTC. usw.)? Wo ist also dein Problem die Linearisierung über Software zu machen?
Wenn ich mit zwei Widerständen eine (nahezu) lineare Spannung an meinen adc krieg, dann wäre es doch blöd da in Software rumzurechnen.
http://www.preis-ing.de/index.php/de/extras/alle-berechnungen/automatisches-erzeugen-einer-ntc-tabelle?points=32&unit=0.1&resolution=8+Bit&circuit=pulldown&resistor=10000&r25=10000&beta=3480&tmin=-10&tmax=50 http://www.electronicdeveloper.de/MesstechnikNTCLinearR.aspx
:
Bearbeitet durch User
> Die Idee an der linearisierung mit zwei Widerständen ist eben, dass man
NICHT die Expo auf dem uC fahren muss....
Dazu sollte man sich ueberlegen :
- wie oft braucht man diesen Wert ? 0.1Hz, 1Hz, 5Hz
- Wie genau braucht man die Temperatur ?
- Darf kalibriert werden, sonst Produktestreueung einbeziehen
Nicht vergessen : ein NTC hat auch noch eine Langzeit Drift, gemaess
Datenblatt
Man kann die Exponentialfunktion, resp, den NTC plus Spannungsteiler
durch ein Polynom approximieren. Eine Taylorentwicklung. Den Fehler kann
man sich fuer jeden Grad plotten lassen, und dann waehlen.
Man kann die Temperatur als Funktion des ADC Wetes als Tabelle mit N
Stuetzstellen hinterlegen, und dazwischen interpolieren. Auch hier kann
man den Fehler rechnen und optimieren.
Torben K. schrieb: > http://www.preis-ing.de/index.php/de/extras/alle-b... > http://www.electronicdeveloper.de/MesstechnikNTCLinearR.aspx Der erste link ist nützlich :) Der zweite ist der aus meinem ersten Post, der will Geld :(
Max D. schrieb: > Wenn ich mit zwei Widerständen eine (nahezu) lineare Spannung an meinen > adc krieg, dann wäre es doch blöd da in Software rumzurechnen. Nein, Linearisierung über Tabelle ist mit einem µC die einfachste Lösung. Nur, wenn man ohne µC messen will, macht die Linearisierung Sinn. Man nimmt dann einfach den Widerstand, den der NTC genau in der Mitte des angedachten Messbereichs hat, als Serien- widerstand, und lebt mit dem Restfehler.
Moin, Max D. schrieb: > Wenn ich mit zwei Widerständen eine (nahezu) lineare Spannung an > meinen > adc krieg, dann wäre es doch blöd da in Software rumzurechnen. Das seh' ich genau anders. Durch diese "Linearisierung" mit Widerstaenden wird das "Nutzsignal" des NTC, also die Widerstandsaenderung kleiner. D.h. jegliche Stoerungen werden darauf bezogen groesser. Also: In SW umrechnen. Dafuer ist ein µController ja da. Mit ein bisschen Hirnschmalz geht das sogar in Integerarithmetik und ohne Division. Gruss WK
Ich denk ich nehm, dann den tabellengenerator aus dem link und optimier die table in den flash rein. Das Ding prophezeit mir ~1 Grad Genauigkeit in meinem Bereich, dass ist also besser als so ein billiger ntc bringen kann, also vollauf genug. Und der mega hat nen hw multiplizierer, also sind die Multiplikationen fast geschenkt ^^
Max D. schrieb: > Und der mega hat nen hw multiplizierer, also sind die Multiplikationen > fast geschenkt ^^ Weil du ja 100000 mal pro Sekunde die Tempweratur messen musst.
Es schadet nicht sich ein paar Gedanken zu dem Ressourcenverbrauch zu machen, auch wenn es vlt. nich 100 % entscheidend ist. Mit deiner Einstellung nehm ich gleich nen arduino und Wunder mich dann auf dem halben weg wieso der jetzt schon voll ist.
Der Thread ist zwar schon alt, aber die Frage immer noch neu. Zumindest für mich. Meine Lösung: https://www.youtube.com/watch?v=beVNphAA0l0 http://www.afug-info.de/download
Natürlich geht Linearisieren auch mit µC, wenn der Temperaturbereich nicht allzu groß ist. Für ein Thermometer sollte das überhaupt kein Problem sein. Der Restfehler spielt dabei keine Rolle. Die meisten Thermometer haben keine Nachkommastellen.
Bei mir funktioniert die Seite ohne Geld. Siehe screenshot. https://www.electronicdeveloper.de/MesstechnikNTCLinearR.aspx Hier mal ein Beispiel in dem ich den systematischen Fehler simuliere. Das ist die Abweichung von einer Geraden umgerechnet in Grad Celsius. Das Simulationsprogramm LTspiceXVII kanst du hier herunterladen. Programm http://ltspice.analog.com/software/LTspiceXVII.exe Anleitungen https://www.analog.com/en/design-center/design-tools-and-calculators/ltspice-simulator.html Der Parameter B steht im Datenblatt des NTC-Widerstandes. B und der Widerstand bei 25°C haben Toleranzen. Die kommen dann noch als Fehler dazu. Um die wegzubekommen muss das verbaute Exemplar bei mindestens zwei genau bekannten Temperaturen vermessen werden.
Klaus R. schrieb: > Helmut S. schrieb: >> Bei mir funktioniert die Seite ohne Geld. > > Bei mir auch. Ursprungsthread entstand vor 3 Jahren. Möglicherweise war das Geschäftsmodell nicht erfolgreich. Daß das Angebot dennoch kostenlos bestehen blieb, ist allerdings ein netter Zug vom Seitenbetreiber.
Die beste Linearisierung erhält man, wenn man entweder einen fast unendlich grossen Widerstand in Reihe oder eine fast unendlich kleinen Widerstand parallel schaltet. ;-)
Elektrofan schrieb: > Die beste Linearisierung erhält man, wenn man > entweder > einen fast unendlich grossen Widerstand in Reihe > oder > eine fast unendlich kleinen Widerstand parallel schaltet. ;-) Nein. Das wären die schlechtesten Lösungen.
Von Ulrich Maassen gibt ein Polynom Makerprogramm. Schaltflaeche "Testeingabe" aktivieren und im Grafikfeld per Maus Messpunkte setzen.Danach einfach die Schaltflaechen Lin,Log,Parabolic etc nacheinander "ausprobieren" um zu sehen welche der dabei entstehende Kurve den Messpunkteverlauf am besten wiedergibt. Die Funktion der Kurve kann man dann unter "Result" ablesen. Als Beispiel habe ich die x-Achse mit 100 (Grad)Einheiten und die y-Achse mit 1000 (Ohm)Einheiten genommen und willkuerlich NTC-Werte gesetzt.Das Polynom 4.Order kommt dem Messpunkteverlauf recht nahe. Meine Werte sind natuerlich uebertrieben daneben deswegen die relativ "komplexe" lange Formel... Wie dem auch sei: Probieren und sich freuen wenn es hilft das Problem zu beseitigen oder eine Schnute ziehen und sich sagen: wieder so ein Scheiss der nichts bringt?
Toxic schrieb: > Von Ulrich Maassen gibt ein Polynom Makerprogramm. > Schaltflaeche "Testeingabe" aktivieren und im Grafikfeld per Maus > Messpunkte Jede halbwegs brauchbare Tabellenkalkulation kann das. Ein Polynom ist allerding eher selten die passende Lösung, wenn es über die 3. Ordnung hinaus geht. Das äußert sich in unpassendem Verhalten zwischen den Stützstellen (bei geringer Stützstellenzahl) und unsinnigem Verhalten bei Extrapolation.
Wolfgang schrieb: > Toxic schrieb: >> Von Ulrich Maassen gibt ein Polynom Makerprogramm. >> Schaltflaeche "Testeingabe" aktivieren und im Grafikfeld per Maus >> Messpunkte > > Jede halbwegs brauchbare Tabellenkalkulation kann das. > > Ein Polynom ist allerding eher selten die passende Lösung, wenn es über > die 3. Ordnung hinaus geht. Das äußert sich in unpassendem Verhalten > zwischen den Stützstellen (bei geringer Stützstellenzahl) und unsinnigem > Verhalten bei Extrapolation. Zum Thema Polynom-Bestimmung gab es hier mal eine größere Diskussion. Beitrag "PolynomMaker - Funktion für nichtlineare Bauelemente finden"
Helmut S. schrieb: > Zum Thema Polynom-Bestimmung gab es hier mal eine größere Diskussion. > > Beitrag "PolynomMaker - Funktion für nichtlineare Bauelemente finden" Den Thread kannte ich gar nicht - es handelt sich aber um das gleiche Programm. Das Programm hatte ich hochgeladen,weil unter ulrich-maassen.de kein Download-button mehr fand.Aber das hat sich nun - dank Helmut - erledigt. Hier der Original-Link: http://www.serialcominstruments.com/math.php
Für meinen NTC gibt es alle 5Kelvin einen Widerstandswert. Die Punkte habe ich in ein Koordinatensystem gezeichnet und so für jedes Grad den entsprechenden Spannungswewrt ermittelt und auf den Bereich von 0 bis 1023 angepasst. In dem Sketch gibt das dann ganz viele if-Bedingungen, hier die für +10Grad: if (analogRead(aussen)>= 475 && analogRead(aussen) <= 482) { lcd.setCursor(5, 0); // Erste Zeile lcd.print("+10 "); } LG old.
MaWin schrieb: > Ein per simplem Widerstand linearisierter NTC ist natürlich nicht > linear, sondern nur weniger unlinear. Helmut S. schrieb: > Bei mir funktioniert die Seite ohne Geld. Siehe screenshot. Das lässt sich auf eine Spannungsquelle mit einem Serienwiderstand umrechnen. LG old.
Aus der W. (Firma: oldeuropesblogs.blogspot.de schrieb:
>In dem Sketch gibt das dann ganz viele if-Bedingungen,
Warum erfindet man immer wieder für ein und die
selbe Sache, immer wieder neue Begriffe? Man könnte
doch einfach Programm sagen und es so lassen.
Bei Händys hießen die Programme irgendwann Apps
und nun heißen sie auf einmal Sketch.
Günter Lenz schrieb: > Warum Weil der Begriff "Sketch" eine Bezeichnung für ein Arduino-Programm ist und Jeder sofort bescheid weiß wofür das gedacht ist. Für meinen NTC wirft der Onlinerechner übrigens 49K raus. Ich hatte ohne groß nachzudenken etwa 58K gewählt. LG old.
Toxic schrieb: > NTC-FakeResult.jpg p.s. Gerade erst gesehen ... Das Bild ist ein schönes Beispiel, warum ein Polynom 4. Ordnung Mist ist. Oberhalb von 85 °C kann man die Kurve direkt in die Tonne treten.
Aus der W. schrieb: > Für meinen NTC gibt es alle 5Kelvin einen Widerstandswert. > Die Punkte habe ich in ein Koordinatensystem gezeichnet … Graph anbei. LG old.
Toxic schrieb: > Von Ulrich Maassen gibt ein Polynom Makerprogramm. Oh klasse! Leute, hat sich denn in den letzten 3 Jahren seit Erscheinen dieses Threads noch nicht die altbekannte Steinhart-Hart-Formel herumgesprochen? Die funktioniert bei einer passenden Dreipunkt-Kalibrierung über den gesamten Temperaturbereich, der hier zur Debatte steht. Ich glaub, hier ist vor gefühlten 100 Jahren diese ganze Formelei schon x-mal gepostet worden. W.S.
W.S. schrieb: > Ich glaub, hier ist vor gefühlten 100 Jahren diese ganze Formelei schon > x-mal gepostet worden. > > W.S. Sorry - wusste ich nicht. Ich werde von nun an vor jedem Posting erstmal eine Stunde lang googeln um mich zu vergewissern,dass nicht schon irgendwer vor 1000 Jahren in Hintertupfingen etwas aehnliches gepostet hat.☹️
Toxic schrieb: > Sorry - wusste ich nicht. Unwissenheit und Ahnungslosigkeit sind keine positiven Qualitätsmerkmale. W.S.
Aus der W. schrieb: > Weil der Begriff "Sketch" eine Bezeichnung für ein > Arduino-Programm ist und Jeder sofort bescheid weiß > wofür das gedacht ist. Das Gegenteil ist der Fall: solche szenespezifischen Spezialbegriffe dienen der Abgrenzung der Insider vom Rest der Menschheit. Es soll also gerade niemand ausserhalb der Arduinofans wissen was gemeint ist. Georg
Aus der W. schrieb: > Graph anbei. Wenn du jetzt auch noch die Wertetabelle postest, könnte man gucken, wie sich das ggf. mathematisch beschreiben lässt, so dass die Umsetzung der Spannung in eine Temperatur nicht in eine If-Orgie ausartet. Aus den Werten des NTC würde man sogar direkt die drei Parameter für die Steinhart-Hart-Formel (z.B. mit Excel oder LibreOffice) bekommen und hätte damit, im Gegensatz zu einem hochgradigen Polynom, eine adäquate Beschreibung.
Man kann sich aus bekannten NTC-Kenngrößen eine Tabelle erzeugen lassen (oder selber messen). Die Rechnung wird dann zu einem "Dreizeiler" Sogar Online-Rechner mit Code-Generator gibt es dafür: http://www.sebulli.com/ntc/index.php?lang=de&points=32&unit=0.01&resolution=8+Bit&circuit=pulldown&resistor=10000&r25=10000&beta=3999&tmin=-10&tmax=50
Aus der W. schrieb: > anbei. Ich hab's befürchtet. ;-( In dem Format lassen sich die Daten leider nur etwas mühsam in ein Tabellenkalkulationsprogramm einlesen, um per Modellierung Parameter zu bestimmen. Aber glücklicherweise braucht man bei einem adäquaten Modell lange nicht so viele Stützstellen.
Wolfgang schrieb: > Ich hab's befürchtet. Macht nichts, funktioniert auch so. Wolfgang schrieb: > If-Orgie Das juckt den Arduino nicht im geringsten. Ich hatte schon überlegt hier im Forum diesbezüglich nachzufragen. Aber aufgrund der Foren-Erfahrungen habe ich mir das verkniffen. Die If-Orgie ist definitiv der schnellere Weg. LG old.
Aus der W. schrieb: > Wolfgang schrieb: >> Ich hab's befürchtet. > > Macht nichts, funktioniert auch so. Über die Genauigkeit soll man sich allerdings keinen Illusionen hingeben. Die Temperaturwerte in deine Tabelle liegen z.T. über 0.5K neben der Kurve. Da das offensichtlich statistische Fehler sind, deutet das auf zu geringe Auflösung deines Referenztermometers bzw. ungleichmäßiger Temperaturangleich während der Kalibriermessung hin. Bevor man die kritiklos übernimmt, lohnt sich ein bisschen Qualitätskontrolle.
Wolfgang schrieb: > Über die Genauigkeit soll man sich allerdings keinen Illusionen > hingeben. Für jemanden der 1 GradC genau messen will offenbar ausreichend. Max D. schrieb: > Das Ding prophezeit mir ~1 Grad Genauigkeit in meinem Bereich,
Aus der W. schrieb: > Wolfgang schrieb: >> If-Orgie > > Das juckt den Arduino nicht im geringsten. > > Ich hatte schon überlegt hier im Forum > diesbezüglich nachzufragen. > Aber aufgrund der Foren-Erfahrungen habe ich mir das verkniffen. > Die If-Orgie ist definitiv der schnellere Weg. Bei einem Dutzend vielleicht noch. Aber danach ist eine Tabelle deutlich einfacher, wartbarer, lesbarer, wiederverwendbarer.
Wolfgang schrieb: > deutet das auf zu > geringe Auflösung deines Referenztermometers bzw. ungleichmäßiger > Temperaturangleich während der Kalibriermessung hin. Noch schlimmer, ich habe gar keines verwendet, sondern die Werte aus dem Datenblatt vom Hersteller genommen. Auch die Spannung habe ich nicht gemessen. Das habe ich LTspice überlassen. LG old.
Michael B. schrieb: > Für jemanden der 1 GradC genau messen will offenbar ausreichend. Für 1°C Genauigkeit ist der Aufwand völlig überzogen. Quick & Dirty ;-) Mit einer derart hoch aufgelösten Tabelle kommt man bei ordendlichen Werten locker auf 1/10K
A. S. schrieb: > Bei einem Dutzend vielleicht noch. Aber danach ist eine Tabelle deutlich > einfacher, wartbarer, lesbarer, wiederverwendbarer. Da kann ich nichts zu sagen weil ich es nur so machen kann, wie ich es eben kann. LG old.
Aus der W. schrieb: > Jeder sofort bescheid weiß wofür das gedacht ist. Genau: https://www.duden.de/rechtschreibung/Sketch
Moin, Aus der W. schrieb: > Da kann ich nichts zu sagen weil ich es nur so machen kann, > wie ich es eben kann. Da wuerd' ich auch sagen: Wenns so funktioniert, warum nicht? Unterstuetzt wird diese These ja auch dadurch, dass man kein Geld fuer nicht benoetigtes Flash auf dem µC zurueckbekommt. Und auch kein Geld bekommt oder zahlen muss, je nach dem Quotient aus der Groesse von .text und .data sections im Flash. Und die Temperatur ja auch nicht zigtausendmal pro Sekunde gemessen werden muss. Mich taet' noch interessieren, wie's zu der im Temperatur/Spannungs-Diagramm gezeigten Schaltung mit insgesamt 4 weiteren Widerstaenden um den NTC rum kam - ist da irgendwie Ueberlegung dahinter oder hat's irgendwann mal einfach funktioniert und das war dann halt grad die aktuelle Beschaltung? Gruss WK
Dergute W. schrieb: > Mich taet' noch interessieren, wie's zu der im > Temperatur/Spannungs-Diagramm gezeigten Schaltung mit insgesamt 4 > weiteren Widerstaenden um den NTC rum kam Schaltplan anbei. LG old.
Aus der W. schrieb: > Kennlinie_Temperatur.png Dergute W. schrieb: > Mich taet' noch interessieren, wie's zu der im > Temperatur/Spannungs-Diagramm gezeigten Schaltung mit insgesamt 4 > weiteren Widerstaenden um den NTC rum kam - ist da irgendwie Ueberlegung > dahinter oder hat's irgendwann mal einfach funktioniert und das war dann > halt grad die aktuelle Beschaltung? Ziel der Beschaltung ist, eine möglichst lineare Abhängigkeit zwischen Spannung und Temperatur zu bekommen. Also gibt man halbwegs vernünftige Werte für die 4 Widerstände vor, bastelt dann in einer Tabellenkalkulation eine Tabelle mit dem Zusammenhang Temperatur-Messspannung, rechnet dort eine Gerade durch und summiert die Abweichung zwischen Gerade und Datentabelle als Fehlermaß auf. Dann lässt man die Tabellenkalkulation per Optimierung die Widerstände suchen (z.B. Solver Add-in in Excel oder LibreOffice). .... et Voilá, schon hat man die Beschaltung.
Wolfgang schrieb: > Ziel der Beschaltung ist, eine möglichst lineare Abhängigkeit zwischen > Spannung und Temperatur zu bekommen. Das war mir total egal da die Spannungswerte an zwei NTCs verglichen werden. Diese Widerstände dienen im Wesentlichen dazu die Luftfeuchtigkeit außen korrekt hereinzurechnen. In diesem Frühjahr habe ich mir ein Display eingebaut. Die Temperaturanzeige habe ich mit der "If-Orgie" realisiert. Aus der W. schrieb: > Für meinen NTC wirft der Onlinerechner übrigens 49K raus. > Ich hatte ohne groß nachzudenken etwa 58K gewählt. Mit dem Wissen aus diesem Thread könnte ich den Quellwiderstand für die NTCs umrechnen und linear mappen. Vielleicht mache ich das mal wenn ich Lust und Zeit dazu habe und mich das keine Anzeigegenauigkeit kostet. Zur Displayanzeige im Bild: 1.Zeile: Außentrmperatur +7Grad Celsius, Außenfeuchte 58% 2.Zeile: Errechnete Lüftungsdauer zwischen +2 und +12Grad 21Minuten, Smilie bedeutet Wäschetrockner darf benutzt werden, bis +18Grad Außentemperatur dürfte man Außen-Luft in den Keller lassen. Für Dauerbetrieb des Lüfters ist es "zu kalt" LG old.
Aus der W. schrieb: > Da kann ich nichts zu sagen weil ich es nur so machen kann, > wie ich es eben kann. erlaubst Du ein Beispiel?
1 | int DigToTemp(int dig) |
2 | {
|
3 | struct {int C; int dig;} Ntc[]= |
4 | {
|
5 | {43, 200}, |
6 | {42, 208}, |
7 | {41, 219}, |
8 | {40, 235}, |
9 | ...
|
10 | {-23, 1011} |
11 | {-24, 1023} |
12 | |
13 | };
|
14 | int i; |
15 | |
16 | for(i=0; i<countof(Ntc); i++) /* countof(x) --> sizeof(x)/sizeof(x[0]) */ |
17 | {
|
18 | if(dig <= Ntc[i].dig) {return Ntc[i].C;} |
19 | }
|
20 | /* was immer auch im Fehlerfall, wenn dig > 1023 oder so */
|
21 | return -273; |
22 | }
|
A. S. schrieb: > {41, 219}, > {40, 235}, Was würde er denn bei 227 anzeigen? Ich verstehe auch den Zusammenhang Deiner Zahlen mit der Tabelle nicht. 200cV entspricht +37Grad. LG old.
Aus der W. schrieb: > Was würde er denn bei 227 anzeigen? Bei 227 ist dig zum ersten mal bei dem Eintrag {40, 235} kleiner oder gleich /Ntc[i].dig/ Es wird also 40 aus der Funktion raus kommen.
Wolfgang schrieb: > Bei Also muss ich, genau wie bei der "IF-Orgie", die Zwischenwerte aus der Tabelle ermitteln und eintragen? Aus der W. schrieb: > if (analogRead(aussen)>= 475 && analogRead(aussen) <= 482) > { > lcd.setCursor(5, 0); // Erste Zeile > lcd.print("+10 "); > } Der Tabellenwert für +10Grad ist 479cV. LG old.
Aus der W. schrieb: > Also muss ich, genau wie bei der "IF-Orgie", die Zwischenwerte > aus der Tabelle ermitteln und eintragen? Welche Zwischenwerte? In dem Array müssen die Umschaltpunkt drinstehen, also jeweils der höchste ADC-Wert, der zu dem Temperaturwert gehört.
Aus der W. schrieb: > Also muss ich, genau wie bei der "IF-Orgie", die Zwischenwerte > aus der Tabelle ermitteln und eintragen? Naja, der Vorteil wäre, dass die Zahlen in einer Tabelle untereinander stehen, und nicht über 70 ifs verteilt sind. Ich habe jetzt Fantasiezahlen verwendet, da am Handy getippt. und ja, man könnte auch die Spalte mit den Temperaturen weglassen, wenn man wirklich einen Eintrag für jede Temperatur hat. Ist mit 2 Spalten (hoffentlich) verständlicher und besser zu kontrollieren. Und wenn man interpoliert, würde es u.U. ein wenig komplexer (weil man dann ggf. 2 Stützpunkte braucht, den davor und den danach.)
A. S. schrieb: > Und wenn man interpoliert Wenn man eine Wertetabelle hat ist Interpolation eigentlich selbstverständlich, sonst verschenkt man den grössten Teil der vorhandenen Information. Kost ja fast garnix. Georg
A. S. schrieb: > Naja, der Vorteil wäre Ich habe Dir mal meine aktuelle .ino Datei angehangen. Für mich ist das übersichtlich und ich verstehe jeden Schritt darin. A. S. schrieb: > int DigToTemp(int dig) So Etwas kenne ich schon gar nicht. A. S. schrieb: > struct {int C; int dig;} Ntc[]= warum deklarierst Du C und dig nicht vor dem void Setup? Bevor ich mich mit for, struct und return befassen muss, finde ich es interessant, die Analogschaltung mal auf linearisiert umzurechnen und zu sehen wie linear die Kennlinie wird. Bei der Feuchte habe ich ja erfolgreich gemappt und das sind nur wenige Schritte, siehe Zeilen 60 bis 68. Edit: Och nee, in der Codeansicht fehlen ja noch immer die Zeilennummern. LG old.
Aus der W. schrieb: > warum deklarierst Du C und dig nicht vor dem void Setup? Weil das alles nur in DigToTemp() gebraucht wird.
Also das Resultat der Linearisierung ist leider nicht so genau wie erhofft. Siehe Anhang. Ich lasse das wie es ist, mit den Einzelwerten. Vorerst noch mit if. Bei der struct-Sache blicke ich noch nicht richtig durch. LG old.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.