Hallo zusammen, habe an meinen cc2431 einen temperatur-sensor, nun möchte ich mir gerne diese an meinem lcd ausgeben lassen. so habe die möglichkeit den temperatursensor als input für meinen adc anzugeben. habe ich auch gemacht. so jetzt bekomme ich einen hex-wert der mit der temperatur nichts zu tun hat. deshalb wollte ich den wert über die geradengleichung berechnen. also: temp = m * adc-wert + t m = (temp1 - temp2) / (adc1 - adc2) t = temp1 - m * adc blöd daran ist nur das ich keine vergleichswerte habe und auch keine möglichkeit sie durch geräte heraus zu finden. deshalb wollte ich fragen ob mir von euch jemand diese werte zukommen lassen könnte. gruß, jimbo
Welcher Temperatursensor? Welche Schaltung? Meine Glaskugel ist gerade beim TÜV . . .;-) MFG Falk
oh tut mir leid mhh, welcher sensor das ist weiß ich leider nicht. hier der link zum datenblatt. http://www.chipcon.com/index.cfm?kat_id=2&subkat_id=12&dok_id=240 dort das pdf "cc2430 data sheet". interessant sind hier die seiten. S.17 -> sensor werte, fehler usw. S.125 ist die schaltung. mehr hab ich leider auch nicht
Ich glaube du hast den falsch Link geschickt. In CC2430_Data_Sheet_rev2p0.pdf ist nur die Beschreibung des Prozessors drin. Zur Lösung des Problems bräuchte man schon die Beschreibung des Development boards. MfG Falk
Der Prozessor scheint einen Onboard-Temperatur-Sensor zu haben...(zumindest stand das in der Beschreibung, die ich nur überflogen habe, unter dem Link...
> blöd daran ist nur das ich keine vergleichswerte habe
Wieso hast du keine Vergleichswerte
Nimm ein Glas kaltes Wasser, Eiswürfel rein und warten
bis die Hälfte davon geschmolzen ist. Öfter mal umrühren.
Schon hast du deinen Vergleichswert für 0°C
Setze einen Topf auf den Herd und bringe Wasser zum kochen.
100°C
Was für Celsius gut genug war, wird wohl auch für dich gut
genug sein.
Du kannst ja dann immer noch Mutters Fieberthermometer
auspacken und mal schaun wie gut deine Werte waren.
Frag doch mal beim Hersteller an, die werden doch mal ein Application Note oder sowas dafür haben...
guten morgen, sorry! hier der link zum dk. http://www.chipcon.com/index.cfm?dok_id=244&kat_id=6 dann CC2430DK/.../... User Manual. ich habe das cc2430dk zu kbuchegg: ist schon ne gute idee aber für die formle brauche ich auch die adc werte und ich glaube nicht das ich meinen chip da reinlegen kann ;-) oder wie soll ich das verstehen. gruß, jimbo
>ich glaube nicht das ich meinen chip da reinlegen kann ;-)
Dann solltest du dir ein Thermometer besorgen...
du sorry ich versteh das nicht ganz. wie bekomme ich die adc werte zu den, mit thermometer gemessenen werten. gruß, jimbo ps.: vorherige antwort war nicht gehässig gemeint.
Max Dm wrote: > blöd daran ist nur das ich keine vergleichswerte habe und auch keine > möglichkeit sie durch geräte heraus zu finden. deshalb wollte ich fragen > ob mir von euch jemand diese werte zukommen lassen könnte. Steht doch alles im Datenblatt: 7.9 Analog Temperature Sensor Peter
@ Max Dm Du machst es einem aber nicht leicht. Die gesuchte Tabelle ist in CC2430_Data_Sheet_rev2p0.pdf Seite 18, nicht 17! Un dort sthet doch, was du wissen willst. -40C = 0,648V 0C = 0,743V 120C = 1,039V -> 2,44 mV/K (steht direkt im Datenblatt) Daraus ergibt sich die Temperaturgleichung Theta = 0,743 + (V_ADC-0,743) * 2,44mV/K wobei du V_ADC (ADC Eingangsspannung) vorher noch berechnen musst V_ADC = ADC_value * Vref / 4096 (wend die Messung als 12 Bit MEssung durchgeführt wird) Das ganze ist dann aber nur auf +/- 14C (!!!!) genau, weils eben ein Ultrabilligsensor ist. Ohne Kalibrierung ist das kaum brauchbar. Entweder Kalibrierung (Dein Board auf zwei konstante Temperaturen heizen, dann messen) oder gleich nen kalibrierten, externen digitalen Sensor nehmen. LM75, LM74, und tausend andere. MFG Falk
>wie bekomme ich die adc werte zu den, mit thermometer gemessenen werten.
Du musst die Spannung, die dein Thermosensor liefert mit dem ADC.
Da bekommst du einen bestimmten Wert, der der vom Thermometer
angezeigten Temperatur entspricht.
Jetzt nimmst du dein Board und das Thermometer und gehst vor die Tür (da
sollte es momentan etwas kühler sein.
Jetzt misst du wieder die Temperatur per ADC und liest sie am
Thermometer ab. Es bietet sich an, nicht sofort zu messen, weil beide
Gerätschaften sich erst auf die neue Umgebungstemperatur einstellen
müssen.
Jetzt hast du zu zwei ADC-Werten die entsprechenden Temperatur-Werte.
Einfach geht es nur, wenn man einen Blick ins Datenblatt wirft...
> ist schon ne gute idee aber für die formle brauche ich auch die > adc werte Was hindert dich daran, den Sensor auf eine bestimmte bekannte Temperatur zu temperieren (daher Eiswasser und kochendes Wasser) und bei der bekannten Temperatur einfach mal den ADC Wert direkt auszugeben? Dann hast du bei 2 bekannten Temperaturen die jeweiligen ADC Werte und kannst die Koeffizienten für deine lineare Gleichung berechnen. Das hat sogar Alex kapiert.
mhh ok ist wirklich nicht so kompliziert. Einfach geht es nur, wenn man einen Blick ins Datenblatt wirft... ja das stimmt, hier habe ich ja temperatur und spannung. bloß ich bekomme von meinem adc den wert 0x5c = 92 so jetzt wüßte ich aber nichts damit anzufangen wenn ich mir die tabelle auf seite 17 aus dem data sheet anschaue. gruß, jimbo
Max Dm wrote: > bloß ich bekomme von meinem adc den wert 0x5c = 92 so jetzt wüßte ich > aber nichts damit anzufangen wenn ich mir die tabelle auf seite 17 aus > dem data sheet anschaue. Du hast Dich wohl noch nie mit der Funktionsweise von ADCs beschäftigt. Uin = Uref / 2^Auflösung * ADC-Wert Bzw. unter Kapitel ADC sollte alles nötige stehen. Peter
>Du hast Dich wohl noch nie mit der Funktionsweise von ADCs beschäftigt.
Oder dem Inhalt des Datenblattes...
hallo peter, danke! nein hab ich noch nicht, aber es gibt ja immer ein erstes mal. probiere das gleich aus. gruß, jimbo
hallo irgendein rahul. doch habe mich sehr wohl mit dem datenblatt beschäftigt. sehr ausgiebig sogar, aber nicht unbedingt mit adc's. ich möchte mich nochmal bei allen für die hilfe bedanken, aber auf solche antworten kann ich verzichten. also nochmals danke irgendein rahul!!!
>ps.: vorherige antwort war nicht gehässig gemeint.
Meine schon... SCNR
Um noch mal nachzutreten: Deine Shift-Taste scheint einen Schaden zu
haben...
sag mal hast du eigentlich irgendein problem. ich frage hier um hilfe und du gibst dumme antworten. geh doch in einen anderen thread und nerv die leute da, oder auch sonst wo. mal ehrlich bist du mit dem falschen fuß aufgestanden oder was soll das.
Die Erfahrung zeigt nur, dass jene Leute, die bei ihren Postings eine gewisse Sorgfalt ausser acht lassen, es meistens auch in ihren Programmen nicht allzu genau nehmen.
Wenn jemandem die Grundlagen fehlen, wird er komischerweise immer schnell patzig, wenn man ihm diesen Mangel vor Augen führt. Das gilt nicht nur in diesem Fall. Also nicht zu persönlich nehmen.
na ja, ich dachte das wäre eine normale frage. ich habe noch soviel andere sachen um die ohren, das ich mich jetzt nicht stunden mit diesem thema auseinander setzen wollte. wenn ich dabei den eindruck erweckt habe das ich mich nicht vorher ausgiebigst damit beschäftigt habe, dann stimmt das auch. tut mir leid, dachte das sei schnell zu lösen. aber das ist noch lange kein grund irgend welche dofen antworten zu geben, meiner meinung nach (nicht auf dich bezogen) und deshalb zu sagen das ich keine sorgfallt auf meine programmierung lege find ich schon etwas unfair. es ist nur so das man doch nicht bei jeder kleinigkeit von null anfangen muss. ist gibt wohl komplexere aufgaben die noch genug zeit in anspruchen nehmen. gruß, jimbo
zu irgendein rahul. ich weiß nicht wer jetzt von uns beiden angefangen hat patzig zu werden. ja grundlagen fehlen mir mit adc's, sonst denke ich das ich nicht unbedingt ein anfänger bin. aber jetzt ist es auch genung! danke nochmal, werd mich jetzt damit auseinander setzen. gruß, jimbo
@Karl heinz Buchegger > Was hindert dich daran, den Sensor auf eine bestimmte > bekannte Temperatur zu temperieren (daher Eiswasser > und kochendes Wasser) und bei der bekannten Temperatur > einfach mal den ADC Wert direkt auszugeben? Die Tatsache, dass der Sensor im Controller sitzt un der ein wenig wasserscheu ist. UNd es ist auch kein Hummer, also kochendes Wasser ist auch icht so doll ;-) @Max Dm > bloß ich bekomme von meinem adc den wert 0x5c = 92 so jetzt wüßte ich > aber nichts damit anzufangen wenn ich mir die tabelle auf seite 17 aus > dem data sheet anschaue. Es ist Seite 18!!!! Und wie gesagt, man muss die Referenzspannung kennen. Ich nehme aml an sie ist 3.3V und der ADC arbeitet im 8 Bit Modus. V_ADC = ADC * Vref / 256 = 92 * 3,3 /256 = 1,185 V Uuups, ich merke gerade, dass ich einen grösseren Fehler in meiner Gleichung habe. Peinlich. Man solls halt immer gelcih richtig machen. OK, hier die richtige Gleichung. Theta = -305,1 C + 409 C/V * V_ADC = -305,1 + 409 * 1,185 = 179 C Hmmm, haut nicht ganz hin, also ist die Referenz anders. Auch Wenn mans als 10/12 Ergebnis rechnet funktioniert es nicht. MfG Falk =
> Die Tatsache, dass der Sensor im Controller sitzt un der ein wenig > wasserscheu ist Dann pack ihn wasserdicht in einen Plastiksack ein. Wo ein Wille ist, ist auch ... > UNd es ist auch kein Hummer, also kochendes Wasser ist > auch icht so doll ;-) Ist ein Argument. Dann nimm irgendeine andere Temp. Schlimmstenfalls Körpertemperatur. Sollte doch bei den meisten Menschen 37 Grad sein und kann mit einem Fieberthermometer einfach kontrolliert werden.
> Ist ein Argument. Dann nimm irgendeine andere Temp. > Schlimmstenfalls Körpertemperatur. Sollte doch bei > den meisten Menschen 37 Grad sein und kann mit einem > Fieberthermometer einfach kontrolliert werden. Das ist aber jetzt nicht nett. Du empfiehlts also, den Controller ind den A**** zu schieben? ;-) MFG Falk
>Das ist aber jetzt nicht nett. Du empfiehlts also, den Controller ind >den A**** zu schieben? ;-) Wenn's schön macht...(und funktioniert?!)
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.