"Themoelement" aus R8C Wettbewerb

Postby toomuchcoffee23 » Thu Feb 03, 2011 12:00 am

Hallo,

die Formel dient zur Rundung da die urprüngliche Programmversion nur ganze Zahlen ausgibt. Betrachtet man die letzten 2 Bit, gilt folgendes:
11 --> .75
10 --> .5
01 --> .25
00 --> .0
"+2" bedeutet binär +10 bzw. auf den Messwert umgerechnet +0,5°C. Das erzeugt einen Übertrag auf das nächsthöhere Bit in den Fällen 10 und 11, also bei umgerechnet 0,5°C und 0,75°C. Teilt man nun (ganzzahlig!) durch 4, resultiert der gerundete Messwert.
toomuchcoffee23
 
Posts: 49
Joined: Fri Jan 03, 2014 1:52 pm

Postby mr. teflon » Fri Feb 04, 2011 12:00 am

Hallo,

aha, dass ist ja clever. Danke für die gute verständliche Erklärung. Wieder etwas gelernt.

Tschau
Mr. Teflon
mr. teflon
 
Posts: 146
Joined: Fri Jan 03, 2014 1:48 pm

Postby mr. teflon » Tue Feb 08, 2011 12:00 am

Hallo,

ich habe jetzt die bekannte Funktion so abgewandelt das man den MAX6675 mit voller Messwertauflösung nutzen kann und zur Anzeige bringt. Ich habe die Zerlegung und Darstellung allgemein gehalten, damit kann man die Funktion auch für andere "Sachen" mit Kommastellen verwenden. Ich hoffe ich kann damit zumindestens einen Bruchteil von dem wiedergeben was ich aus dem Forum gelernt & erhalten habe. Danke nochmal.

Tschau
Mr. Teflon
Attachments
MAX6675-full.txt
(3.75 KiB) Downloaded 34 times
mr. teflon
 
Posts: 146
Joined: Fri Jan 03, 2014 1:48 pm

Postby mr. teflon » Tue Feb 08, 2011 12:00 am

toomuchcoffee23
Für Erweiterungen hätte ich noch folgende Ideen:
Den Temperaturwert würde ich gerne über die serielle Schnittstelle ausgeben, und zwar über die vorhandene UART1 und nicht UART0 wie in den Beispielen hier. Die Temperaturmessung würde ich dann gerne über Interrupt jede Sekunde aufrufen, damit die Ausgabe eine zeitliche Zuordnung bekommt. Außerdem wäre es schön, die Grenzwerte im Flash speichern zu können, damit diese beim nächsten einschalten immer noch gelten. Wo sollte ich am besten zu diesen Themen nachlesen bzw. welche Beispiele sollte ich mir anschauen?


Hallo,

ist die Frage noch aktuell?
Mit gesammelten Funktionen für die UART Ausgabe kann ich dienen. Die Grenzwerte kannst Du im Programm als Variable fest hinterlegen beim Programmstart gleich oben bei der Variablendefinition. So mache ich das jedenfalls bis jetzt, wenn ich irgendwelche Startwerte benötige.
mr. teflon
 
Posts: 146
Joined: Fri Jan 03, 2014 1:48 pm

Postby mr. teflon » Thu Mar 03, 2011 12:00 am

Hallo,

noch ein Hinweis zum auslesen der MAX6675, weil mich ein Problem damit mehrere Tage (eigentlich Wochen) Zeit gekostet hat.
Zwischen den Auslesezyklen muß eine Pause von 200ms sein. Ob das die nachfolgende Befehlskettendauer schon erledigt oder noch künstliche Wartezeiten eingebaut werden müssen kommt aufs eigene Programm an.

Tschau
Mr. Teflon
mr. teflon
 
Posts: 146
Joined: Fri Jan 03, 2014 1:48 pm

Previous

Return to Das R8C-Projekt

Who is online

Users browsing this forum: No registered users and 1 guest