Temperaturanzeige mit PIC18F14K22

In dieses Forum gehören all deine Fragen rund um die Elektrotechnik und im Speziellen zum Bereich der Mikrocontrollertechnik.

Re: Temperaturanzeige mit PIC18F14K22

#16

Ungelesener Beitrag vloki » 17. Aug 2019, 11:37

Deine zusätzliche externe BAT greift natürlich noch früher und begrenzt die Spannung auf einen Wert bevor der interne Schutz wirksam werden muss...

Re: Temperaturanzeige mit PIC18F14K22

#17

Ungelesener Beitrag vloki » 17. Aug 2019, 13:39

vloki hat geschrieben:
17. Aug 2019, 11:37
Deine zusätzliche externe BAT greift natürlich noch früher und begrenzt die Spannung auf einen Wert bevor der interne Schutz wirksam werden muss...
...und bei max 2mA bleibst du damit sogar noch annähernd innerhalb der allgemeinen max. Ratings von VDD +0,3V

Re: Temperaturanzeige mit PIC18F14K22

#18

Ungelesener Beitrag picass » 17. Aug 2019, 17:27

vloki hat geschrieben:
17. Aug 2019, 11:14
Lass den OP doch erst mal ganz weg.
Hab' ich! Nachdem ich die Vorbereitungen zum Wasserplantschen, rsp. dem Erstellen einer Temperaturtabelle mit dazu passenden Bit-Werten des Pics erfolgreich abgeschlossen, und - is klar - nochmal bei 20° C den wichtigen Einstiegspunkt überprüft hatte, schien alles auf perfektem Wege. Die vom Sensor gelieferte Spannung betrug 4,933 Volt, und der Pic zeigte ohne Manipulation dieses Signals etwa durch OPs freundliche 1002 bit auf. Und das entwickelte sich auch weiter hoch freundlich, denn eine micromale Temp-Erhöhung um nur 0,7°C veranlasste den Pic zu einer deutlichen Änderung der Anzeige auf 982. Super.....!
Aber nur solange, bis der Gedanke ans andere Ende der Skala aufkam. Und da hab ich doch mal eben die ominöse Widerstandstabelle des Sensor-Herstellers rausgekramt, und meinen HP41 angeworfen: Na toll, im geplanten obersten Bereich bei 120° C würde eine Temp-Änderung um 1°C eine Spannungsänderung von 5,877 mV bewirken. Und - ach ja - der 10-bit-ADC liefert eine Skala von 4,883 mV Änderungen. Tolle Wurst!

"vloki", Du erinnerst dich evtl. an die irre - wie hieß das noch - hyperbolische Kennlinie des NTC-Sensors? Im Bereich von 20° C höchst genau und differenziert, je näher der aber an seinen obersten Bereich rankommt- sein höchster Wert bei 150° C - , wird der ungenau bis fast zur Beliebigkeit! Da könnte man erst mal dran denken, den Bereich zu kürzen und nur von 20° bis 100° C nehmen. Aber deutlich besser ist das bei 100^ C auch nicht. Eine Alternative zu diesem Sensor gibt es nicht, das Totschlagskriterium ist nun mal der Einbauort, nämlich die Ölablassschraube unten in der Ölwanne eines KFZs und das Gewinde von M14 x 1,5 Steigung.

Jetzt - da der Pic so schön seine Bitwerte offenbart - könnte man sich auf eine Manipulation der Widerstandskennlinie einlassen. Ein Beispiel für eine Berechnung einer Parallelschaltung habe ich irgendwo in meinen Unterlagen gefunden, das gäbe dann irgend so eine S-Kurve etwas in Richtung Linearisierung. Ob das aber auch eine Spreizung, rsp. höhere Auflösung im oberen Bereich ergibt, ist noch ungeklärt.
Grüße, picass

Re: Temperaturanzeige mit PIC18F14K22

#19

Ungelesener Beitrag vloki » 17. Aug 2019, 19:26

Rechne das doch mal mit der ratiometrischen Messung (Spannungsteiler) durch. Ich meine, da könnte es besser aussehen.

z.B. Bei 120° 1023/613*500=834
Und bei 125° 1023/600*500=853.
Das ist dann fast eine Änderung von 4/°C
Dateianhänge
tabelle1.jpg

Re: Temperaturanzeige mit PIC18F14K22

#20

Ungelesener Beitrag vloki » 17. Aug 2019, 19:56

Die Reihenschaltung des Spannungsteilers bewirkt ja automatisch eine Linearisierung das Systems. Die starken Änderungen bei niedrigen Temperaturen werden abgeschwächt und die Geringen bei hohen Temperaturen werden verstärkt...

Re: Temperaturanzeige mit PIC18F14K22

#21

Ungelesener Beitrag vloki » 18. Aug 2019, 10:50

Ups,
jetzt bin ich aber selbst verblüfft, wie verdammt gut das wird ;-)
sensor.png
Dateianhänge
temp_sens.ods
(24.38 KiB) 4-mal heruntergeladen

Re: Temperaturanzeige mit PIC18F14K22

#22

Ungelesener Beitrag vloki » 18. Aug 2019, 12:02

Falls nur der Bereich zwischen 20 und 120°C angezeigt werden soll,
könnte man das mit zwei Geraden von 20..90 und 90..120 abbilden
und auf die Lookuptable verzichten.
Also piecewise linear - keine Ahnung wie man dazu auf deutsch sagt.
Aber dich reizt ja auch das Programmieren ;-)

Re: Temperaturanzeige mit PIC18F14K22

#23

Ungelesener Beitrag picass » 18. Aug 2019, 19:03

Schwitz......jetzt hatte ich mit Mühen deine Anregungen von gestern versucht, umzusetzen, und nu' sind da schon wieder zwei neue, von denen ich den letzten Beitrag nicht auf Anhieb gerafft habe.
Zu den gestrigen Anregungen: da habe ich erst mal den Fall grob berechnet, dass zwei Widerstände in Reihe unter Verzicht auf die Stromquelle einfach in die 5-Volt-Versorgung gehängt werden und zwar der 500 Ohm -R nach "oben", also an + 5 Volt.
Nach der angegebenen Formel, rsp. einem schlichten Dreisatz würde dann zwar "oben" und "unten" nicht gerade wenig an Bits verschenkt, aber es verblieben in dem als kritisch angesehenen Bereich zwischen 110° und 120° C immer noch 4,1 Bits für jedes Grad Temp. Verteilt über den gesamten Tempbereich (20-120) im Schnitt sogar 5,5 Bit pro Grad. Das sollte für eine saubere Unterscheidung ausreichen. Weiter bin ich noch nicht gekommen, es ist Sonntag, meine Frau legt Wert auf Sonntägliches wie Spazierengehen - ausgiebig - und Gemeinsames, das regnerische Wetter macht müde, und dann musste ich noch das Handbuch für den HP41 studieren, um den,rsp. mich fitt fürs Programmieren zu machen, damit der Formelarbeit abnimmt.
Die schon fast als Gerade geratene gelbe Kurve sieht ja echt gut aus. Gilt die für den oben angesprochenen Fall, zwei R's einfach in die Versorgungsspannung zu hängen, oder ist da doch wieder die Stromquelle inbegriffen?
Über die letzte Anregung - das lineare p. - muss ich mal Grübeln.....
Grüße, picass

Re: Temperaturanzeige mit PIC18F14K22

#24

Ungelesener Beitrag vloki » 18. Aug 2019, 19:24

picass hat geschrieben:
18. Aug 2019, 19:03
Die schon fast als Gerade geratene gelbe Kurve sieht ja echt gut aus. Gilt die für den oben angesprochenen Fall, zwei R's einfach in die Versorgungsspannung zu hängen, oder ist da doch wieder die Stromquelle inbegriffen?
Über die letzte Anregung - das lineare p. - muss ich mal Grübeln.....
Grüße, picass
Jo, weil ich über genau die Problemstellung noch nie nachgedacht habe, fällt mir eben alles Stück für Stück ein ;-)

Die gelbe Kurve wäre in der Tat dein Sensor mit einem 500 Ohm Vorwiderstand an Vdd.

Das mit den zwei Geraden liefe auf einfache lineare Berechnungen für die zwei Bereiche hinaus.
Ober und unterhalb wäre dann die Anzeige <20 oder >120.
(Die Berechnung ist natürlich in Assembler nicht unbedingt einfacher als eine Lookup Tabelle)

PS:
Die Kurven kommen aus einem Libre-Office-Calc Dokument (ods -> open document spreadsheet Format)
Excel sollte das aber auch öffnen können. Habe mich vor vielen Jahren von MS Produkten verabschiedet und benutze die nur noch im Notfall.

Re: Temperaturanzeige mit PIC18F14K22

#25

Ungelesener Beitrag picass » 19. Aug 2019, 16:18

Du bereitest dir ja echt viele Arbeiten und Mühen, allein das Erstellen der 3 Kurven mit dem Ausfüllen der Werte in den Tabellen! Echt toll.
Jedenfalls hast du mich überzeugt, dass der Ausweg aus dem Dilemma der kaum zu differenzierenden Anzeige bei den hohen Temps über einen schlichten Vorwiderstand zu suchen ist. Deine vorgeschlagene Auswahl von 500 Ohm liegt auch perfekt in demjenigen Temp-Bereich, welcher das Ziel allen Gestrampels ist. Das Erreichen von 70° C der Öltemperatur gilt als mehrheitsfähiger Punkt, welcher nach dem Kaltstart eines Motors signalisiert: ab jetzt darf der M belastet werden.
Dieser Vorwiderstand schneidet ja irgendwie die Extreme der Kurven ab, egalisiert also und verkleinert damit den Bereich der Auswertung. Damit will ich sagen, es wird in diesem Fall nicht mehr der gesamte Bereich von 0 bis 5 Volt ausgenutzt, sondern nur ein Teil davon. Also denke ich prompt wieder drüber nach, wie der Bereich wieder zu vergrößern oder aber besser auszunutzen wäre. Ersteres liefe auf das Einschalten von OPs hinaus, wobei ich bislang keine glückliche Hand hatte.
Frag nicht warum, aber das hat sich gerade eben geändert. Gerade konnte ich einem Opa335 doch ausrechenbares Verhalten abringen. Lieber nicht hinterfragen, warum.... Zweites wäre dann, den ADC des Pics mit Referenzspannungen "unten" und/oder "oben" zu versorgen. Irgendwie wirds schon werden.
Seit 4 Tagen liegt die zweite Schaltung beim Zoll in Frankfurt! Die erwarte ich sehnlichst, um endlich von den fliegenden Verdrahtungen weg zu kommen. Libre-Office ist installiert, nach dem Betrachten der Tabelle, die ich gestern erst nicht beachtet hatte, wirds natürlich klarer.
Grüße, picass

Re: Temperaturanzeige mit PIC18F14K22

#26

Ungelesener Beitrag vloki » 20. Aug 2019, 09:17

picass hat geschrieben:
19. Aug 2019, 16:18
Du bereitest dir ja echt viele Arbeiten und Mühen, allein das Erstellen der 3 Kurven mit dem Ausfüllen der Werte in den Tabellen...
Kann ich bestimmt noch mal gebrauchen. z.B. für ein Unterkapitel mit Beispielen in "Analoge Signale" meiner MC Einführung.

Re: Temperaturanzeige mit PIC18F14K22

#27

Ungelesener Beitrag picass » 20. Aug 2019, 09:21

Wie auch immer...., ganz herzlichen Dank für deine Unterstützung.
Hallelujah, die zweite Platine hat den Zoll in Frankfurt hinter sich, nun ist "Platine in Sicht".
Grüße, picass

Re: Temperaturanzeige mit PIC18F14K22

#28

Ungelesener Beitrag picass » 20. Aug 2019, 10:43

Editieren ging nicht mehr, daher...
Wenn ich jetzt mit meinen fliegenden Verdrahtungen keinen Bock geschossen hatte, dann scheint die Einfügung eines Vorwiderstandes von 500 Ohm - wie heißt das doch heute ? - voll der Bringer zu werden. Die Auflösung im oberen Temp-Bereich sollte erhöht werden, was passabel passiert, und Überlegungen zum Strecken/Stauchen des Eingangsspannungsbereiches sind auch obsolet.
Bei exakt 20,0° C ergaben sich: 4,91 V // 2.552 O Sensor // 986 bit Anzeige
Für den Bereich von 120° C wurden Widerstände benutzt, gefordert ca. 112 O, genommen 109 O, damit ergaben sich:
Bei theoret. 120° C dann : 0,21 V // 109 O // 44 bit Anzeige.

Der Spannungsteiler aus 500 O Vor-R und Sensor hängt dabei an der Stromquelle mit knapp 2 mA. Würde perfekt so passen, kein OP-Gefummel nötig, Überspannungs-Prob siehe oben gelöst.......... jetzt fehlt nur noch die zweite Platine zur Verifizierung.
Grüße, picass

Re: Temperaturanzeige mit PIC18F14K22

#29

Ungelesener Beitrag vloki » 20. Aug 2019, 13:44

Als kleine Ergänzung zum Thema und als Merker für mich selbst,
hier noch ein Link zu einer schönen Abhandlung von Sprut:
https://www.sprut.de/electronic/temeratur/temp.htm

Re: Temperaturanzeige mit PIC18F14K22

#30

Ungelesener Beitrag picass » 21. Aug 2019, 10:25

Wenn die Platine – es war jetzt die zweite – erst mal aus dem Zoll raus ist, geht es blitzschnell. Und um zu honorieren, wurde auch sofort bestückt. Erst mal zur Vorstellung Bilder der beides P‘s. Auf der Anzeigenplatine ist kaum was zu sehen, die meisten Bausteine sitzen hinten in Form von SMD-R‘s. Auf der Hauptplatine sieht man die seit dem Platinen-Entwurf eingeführten Änderungen. So wurde die Stromquelle temperatur-stabilisiert, die „Überspannungs-LED“ und der Heilsbringer – der 499 Ohm – Vor-R zugefügt. Getestet wurde nur die Stromversorgung,..... und die auf 2 mA berechnete und mit "nächstliegenden Normwerten" bestückte Stromquelle liefert…..
1,994 mA !
Grüße, picass
Dateianhänge
hauptplatine.jpg
anzeige-p.jpg

Antworten