Temperaturmessung mit dem R8C/13

Software und Quellcodes für Microcontroller

Software und Quellcodes für Microcontroller

Moderator: Moderatorengruppe

Re: Temperaturmessung mit dem R8C/13

Neuer Beitragvon derguteweka am Mittwoch 28. November 2012, 18:56

Moin,

Menson hat geschrieben:Hab das mal so gemacht - von 0 bis 300mV mit Poti (entspricht von 0 bis 30°C).

Das ist doch Kappes - das entspricht mit deiner Aussenbeschaltung nicht 0-30°C ,sondern -123..-93°C.
Wuerde ich Messungen von 0-300mV meinen, wuerde ich das auch schreiben. Ebenso, wenn mich die ADC Angabe in mV statt "nackig" interessieren wuerde - Du musst mal anfangen, Probleme strukturiert in einfachere Teilprobleme zu zerlegen. Und nicht mehr reinbauen, als unbedingt noetig. Wie willst du sonst die Ursache praezise lokalisieren?
Nach einem kleinen Blick ins kaergliche Datenblatt dieses Wundercontrollers denk' ich auch mal, dass deine 5.000000V Versorgung fuer die AVcc nix bringen wird. Hoechstens Probleme, wenn die nicht exakt synchron zur 5V Versorgung deines Prozessors ein- und ausgeschaltet wird. Was ist denn mit der VREF? Ist das das selbe wie AVcc? Im Datenblatt tauchen die ja in der Table 1-3 getrennt voneinander auf; sind dann aber im Pinout wieder ein Pin...Wie sind die denn auf der kleinen Platine verschaltet? Haste da mal ne Nahaufnahme?

Das sieht mir nach einem stark linearen Anzeigefehler aus. Ich könnte mir vorstellen den damit rauszurechnen:

Code: Alles auswählen
u = u - (u * 0.035);

Jep, oder mit
Code: Alles auswählen
u*=0.965;

sparste noch die Subtraktion. Schoener waers natuerlich, wenn du wuesstest, warum das Ding so daneben liegt.

Gruss
WK
derguteweka
48912
Moderator
 
Beiträge: 1048
Registriert: Freitag 18. August 2006, 15:47

Re: Temperaturmessung mit dem R8C/13

Neuer Beitragvon Menson am Donnerstag 29. November 2012, 08:19

Hallo

Habe gestern Abend den Anzeigefehler mit der Formel:
u = u - (u * 0.035);
rausgerechnet, sodass die Anzeige mit meinem Vergleichstermometer auch einigermaßen übereinstimmte.
Dann hab ich die Schaltung abgeschaltet.

Heute Morgen als ich wieder einschalte, zeigt die Anzeige einen stark abweichenden Wert. Nun hab ich die gestrige Messreihe wiederholt und bin dabei zu einem ganz anderen Ergebnis gekommen. Nicht nur, dass die Werte viel weiter abweichen, sondern nun auch gar nicht mehr linear sind.
Die Formel zur Anzeigekorrektur hab ich natürlich vor der neuen Messreihe wieder rausgenommen.

Hab mir auch noch die Mühe gemacht und eine Art 'Grafik' in die Textdatei geschrieben, sodass man den Unterschied auf einen Blick sieht.

Nun fehlt mir natürlich total der Plan. Der Controller kann ja nicht jeden Tag was anders anzeigen. Der einzige, mir erkennbare Unterschied ist der, dass die Schaltung gestern den ganzan Tag über in Betrieb war. Heute Morgen (Kaltstart) die große Differenz. Es erwärmt sich aber nichts hier. Es fließen nur kleine Ströme, die Netzgeräte sind dafür weit überdimensioniert.

Ich lass den ganzen 'Plunder' nun wieder den ganzen Tag am Laufen. Bin gespannt, ob sich der Anzeigefehler bis zum Abend hin wieder zur gestrigen Abweichung ändert oder nicht. Erklären kann ich mir das so und so nicht.
Hast du eine Erklärung dafür ?

lg, Menson
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Menson
Threadstarter
48913
Bronze Mitglied
 
Beiträge: 37
Registriert: Mittwoch 12. November 2008, 19:35

Re: Temperaturmessung mit dem R8C/13

Neuer Beitragvon Menson am Donnerstag 29. November 2012, 09:11

derguteweka hat geschrieben:Was ist denn mit der VREF? Ist das das selbe wie AVcc? Im Datenblatt tauchen die ja in der Table 1-3 getrennt voneinander auf; sind dann aber im Pinout wieder ein Pin...Wie sind die denn auf der kleinen Platine verschaltet? Haste da mal ne Nahaufnahme?


Was meinst du mit 'kleiner Platine'? Die vom R8C/13 oder die vom AD586?
In beiden fällen ist nichts miteinander verschaltet - jeder Pin für sich.
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Menson
Threadstarter
48914
Bronze Mitglied
 
Beiträge: 37
Registriert: Mittwoch 12. November 2008, 19:35

Re: Temperaturmessung mit dem R8C/13

Neuer Beitragvon Menson am Donnerstag 29. November 2012, 09:41

derguteweka hat geschrieben:Das ist doch Kappes - das entspricht mit deiner Aussenbeschaltung nicht 0-30°C ,sondern -123..-93°C.
Wuerde ich Messungen von 0-300mV meinen, wuerde ich das auch schreiben. Ebenso, wenn mich die ADC Angabe in mV statt "nackig" interessieren wuerde


Doch, das stimmt schon, weil ich ja per Code die Referenzspannung von 1.235V abziehe. Das DVM hängt an Pin2 und Pin3 des Temp.Sensors.
Wenn ich was anderes Messen soll, dann musst du mir auch sagen was. Ich bin ja, wie du weist, nicht vom Fach. Deshalb kann ich deine "nackig"-Deffinition auch nicht zuordnen.

lg, Menson
Menson
Threadstarter
48915
Bronze Mitglied
 
Beiträge: 37
Registriert: Mittwoch 12. November 2008, 19:35

Re: Temperaturmessung mit dem R8C/13

Neuer Beitragvon derguteweka am Donnerstag 29. November 2012, 17:23

Moin,

Menson hat geschrieben:In beiden fällen ist nichts miteinander verschaltet - jeder Pin für sich.

Oha - das war mir entgangen. Ich dacht,' das waere eine komplette, fertige uController-Platte und nicht nur ein Adapter. Dann wuerd' ich doch mal sagen: Gehe in dich und lies das Datenblatt. Und wenn da sowas steht wie:
Datasheet hat geschrieben:This pin is to stabilize internal power supply.
Connect this pin to Vss via a capacitor (0.1 μF).
Do not connect to Vcc.
Power supply input pins for A/D converter. Connect the
AVcc pin to Vcc. Connect the AVss pin to Vss. Connect a
capacitor between pins AVcc and AVss.


Dann heisst das: ganz arg Obacht geben. Und das heisst weiterhin: Die Kondensatoren dicht an den Chip. Dicht heisst: Leitungslaenge << 1cm. Die Kondensatoren auch 0603 SMD oder kleiner. Am besten direkt neben den Prozessorpins aufloeten. Alle Masseanschluesse ganz kurz und direkt auf eine grosse Masseplane fuehren.
Jetzt kann ich den Post vom Kollegen anders vom 28.11. 1:26h verstehen.
Ich trau' mich kaum zu fragen: Ist die Adapterplatine doppelseitig? Wenn nicht: schlecht! Nimm in Zukunft doppelseitige und nimm die Unterseite komplett als Masse.

Wenn du 10-100nF Kondensatoren erst ueber ein paar 10cm Draht anschliesst, dann wirken die bei hohen Frequenzen nicht mehr wie Kondensatoren, sondern wie Spulen (durch die langen Draehte). Das ist viel wichtiger als irgendwelche 5.000000 V Referenzspannungen zu nehmen. Genauso wie die verschiedenen Massepins des Chips - die sollen moeglichst direkt verbunden werden und nicht ueber ein paar 100nH parasitaere Induktivitaet von nem Meter Klingeldraht.

Bevor Masse und Block-Cs nicht halbwegs sitzen, bringts nicht viel, irgendwo mit Software weiterzumachen. Deshalb nur ganz kurz: Wenn ich "nackige" ADC Werte sag, dann mein' ich direkt den 10bit Integer-Wert aus dem Register im Prozessor. Direkt beduetet: Nicht nach float gewandelt, nicht mit irgendwas multipliziert, nicht durch irgendwas geteilt und nicht durch irgendwelche Funktionen geschleust, die den Wert veraendern koennen - und schon garnicht irgendwelche Referenzspannungen abgezogen, dazuaddiert oder sonstwie verwurstelt. Sondern direkt aufs Display mit dem Wert aus dem ADC Register. So wie ich's mit dieser Zeile Code vom 27.11. 18h51 ausgedrueckt habe:
Code: Alles auswählen
lcd_integer(ad_in(6))

Und dann Werte aus dem gesamten Eingangsspannungsbereich - also wenn der ADC von 0-5V geht, dann auch Spannungen am ADC einspeisen im Bereich 0-5V und nicht nur 0-0.3V. Dabei bleiben ja 4.7V Bereich ungenutzt...

Na,denn: Frohes Loeten und ruhige Hand...
Gruss
WK
derguteweka
48916
Moderator
 
Beiträge: 1048
Registriert: Freitag 18. August 2006, 15:47

Re: Temperaturmessung mit dem R8C/13

Neuer Beitragvon Menson am Donnerstag 29. November 2012, 17:48

Hallo

Ja klar, kurze Bahnen ist immer ein gutes Argument. Auf der Platine - aber auf der Steckplatte eben schlecht hinzubekommen :wink:

Damals bei der Uhr hat es auch auf der Steckplatte geklappt. Ansonst hätte ich niemals eine Platine hergestellt.
Übrigens die Uhr läuft heute noch prima. Geht gut genau, obwohl im Freien unterm Flugdach - Sommer und Winter.

Naja, werd halt weiter 'Wursteln' - wenn ichs hinbekomm is gut, wenn nicht muss auch gut sein.

Danke jedenfalls für deine guten Ratschläge. So einiges hab ich ja trotz allem wieder lernen können. :hf:

lg, Menson
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Menson
Threadstarter
48917
Bronze Mitglied
 
Beiträge: 37
Registriert: Mittwoch 12. November 2008, 19:35

Re: Temperaturmessung mit dem R8C/13

Neuer Beitragvon derguteweka am Donnerstag 29. November 2012, 18:13

Moin,

Menson hat geschrieben:Naja, werd halt weiter 'Wursteln' - wenn ichs hinbekomm is gut, wenn nicht muss auch gut sein.

Naja, ich wuerd versuchen, ueber den Chip eine oder mehrere kleine Bruecken aus Draht zu legen, damit die verschiedenen Massepins sowie die Kondensatoren zu den +Vccirgendwas verbinden. Vor allem dieser Ivcc Pin scheint mir wichtig. Mit Glueck haut's dann besser hin. Bei der Uhr hast du ja den Analogteil des Controllers nicht gebraucht, von daher hast du damals auch schon Massel gehabt - auf der Platine sind ja auch keine Block-Cs da, wo sie gebraucht wuerden :mrgreen:
Und ganz allgemein - wenn du dir den Spass an der µControllerprogrammierung nicht nehmen lassen willst und weitere Projekte aufbauen - ich wuerde langfristig mal einen andern, weniger exotischen Controller nehmen. Vielleicht irgendwelche AVRs, ATMegas; die gibts auch im guten alten DIL-Gehaeuse; Toolchain fuer lau, etc.pp. Damit wursteln viel mehr Leute rum, d.h. wenn was klemmt, ist die Chance viel groesser, dass jemand anderes das schon gefixt hat oder zumindest weiss, was los ist.

Gruss
WK
derguteweka
48919
Moderator
 
Beiträge: 1048
Registriert: Freitag 18. August 2006, 15:47

Re: Temperaturmessung mit dem R8C/13

Neuer Beitragvon Menson am Sonntag 2. Dezember 2012, 08:44

Hallo

Nun hab ich mir die Mühe gemacht und das ganze auf eine Platine verlegt. Mit kurzen Leiterbahnen und viel Masse. So nahe wie ich möchte komm ich aber mit den Abblock-Kondis nicht ran. Jedenfalls aber besser als auf der Steckplatte.
Fazit: Die Abweichungen sind wesentlich geringer und auch (soweit bisher getestet) schön linear. Jedenfalls messe ich nun mit dem DVM den gleichen Wert was auch das LCD anzeigt.
Sogar die Genauigkeit dürfte nun auch ausreichen. Bin erstmal zufrieden mit dem Ergebnis. :hf:

Jetzt brauch ich aber mal ne Pause, bevor ich das ganze versuche auch noch der bestehenden Uhr hinzuzufühgen. :sm12:

Vielen Dank für die Hilfe !!!
lg, Menson
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Menson
Threadstarter
48938
Bronze Mitglied
 
Beiträge: 37
Registriert: Mittwoch 12. November 2008, 19:35

Re: Temperaturmessung mit dem R8C/13

Neuer Beitragvon derguteweka am Montag 3. Dezember 2012, 17:00

Moin,

Merci fuers Feedback - dann war das wohl der richtige Weg mit den Block-Cs.

Gruss
WK
derguteweka
48953
Moderator
 
Beiträge: 1048
Registriert: Freitag 18. August 2006, 15:47

Vorherige

Zurück zu Software

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste