Abkürzungen

AVRTemp ... Projektbezeichnung; Temperaturmessung mit AVR Mikrokontrollersystem

TMP03 ... Temperatursensor von Analog Devices





Zielbestimmungen

Zur Messung von Temperaturen im Bereich von -40°C bis +100°C gibt es am Markt eine Reihe von billigen, einfach anzusteuernden IC's. Der Baustein TMP03 von AD ist ein Temperatursensor, der die Temperaturwerte in Form des Puls-Pausen-Verhältnisses eines Rechtecksignals zur Verfügung stellt. Zum Anschluss an einen Mikrocontroller ist also lediglich eine Zweidraht-Leitung notwendig (Data, Ground). AVRTemp ist ein auf ein Steckbrett steckbares Modul inklusive Treibersoftware für das an der HTL Mödling verfügbare AVR-Entwicklungssystem.

Musskriterien

  • Messung

    • Messbereich -20° bis +100°C

    • Auflösung 1°C mindestens

  • Hardware

    • AVRTemp-Modul steckbar, sodass durch das Aufstecken die Versorgung über die Versorgungsschienen auf dem Standardsteckbrett erfolgt

    • der Sensor-IC TMP03 von AD wird als SMD-Bauteil direkt auf den PCB gelötet

    • 5V Versorgung über externes Schaltnetzteil

    • Ausgangssignal mit 100 Ohm Serienwiderstand schützen

  • Software

    • nützt einen externen Interrupt (INT0)

    • stellt die Temperatur in der globalen Variablen Temp zur Verfügung

    • verwendet den Timer 1 (16 bit)

  • Test

    • Kalibrierung durch Messung im Bereich 37°C bis 41°C mit handelsüblichem Fieberthermometer

    • Testprogramm zur Anzeige der Temperatur am Display des AVR Entwicklungssystems

  • Dokumentation

    • Erstellen der technischen Dokumentation für Hard- und Software

    • Benutzerhandbuch

Wunschkriterien

  • höhere Auflösung

  • Stromversorgung auch über das AVR Entwicklungssystem möglich


Abgrenzungskriterium

  • AVRTemp hat keine Anforderungen an die Robustheit

  • EMV Verträglichkeit ist nicht gefordert

Produkteinsatz

Anwendungsbereiche

Das Produkt kommt im Schulbetrieb im Laborbereich zum Einsatz. Es stellt daher keine besonderen Anforderungen an die Stabilität und elektrische Kenngrößen. Das Modul wird über Steckerpfosten auf ein Steckbrett aufgesteckt. Zu wenig Pfosten führen zu mangelnder Stabilität und eventuell zu Kontaktproblemen. Zu viele Steckverbindungen erschweren das Stecken und Abziehen des Moduls.

Die Software wird als Modul entworfen und kann über eine Headerdatei eingebunden werden.

Zielgruppen

Zielgruppen sind Lehrer und Schüler, die das Modul für Übungen im Laborbetrieb verwenden.

Produktkonfiguration

Es ist keine Kalibrierung der Temperaturmessung nötig, der Baustein liefert absolute Temperaturwerte. Eine Überprüfung der Temperaturmessung mit einem Handelsüblichen

Produktumgebung

Das Modul AVRTemp wird an den externen Interruptpin eines AVR ATMEGA8 angeschlossen. Stromversorgung erfolgt über ein externes Schaltnetzteil, sodass zusätzlich ein Massesignal zwischen Modul und ATMEGA8 gelegt werden muss.

Schnittstellen

Die Stromversorgung erfolgt über die Stromschienen eines Standardsteckbrettes.

Das Datensignal liegt als Rechtecksignal vor, die genauen Timings sind dem Datenblatt zu entnehmen. Eine Schirmung ist nicht nötig.

Betriebsbedingungen

Der Temperaturbereich von -20° bis +°100°C darf nicht überschritten werden. Die elektrische Leistungsaufnahme liegt unter 1W. Ein Batteriebetrieb ist nicht vorgesehen.

Produktfunktion

/PF001/ Temperaturmessung

  • Messbereich -20°C bis 100°C

  • Auflösung 1°C

/PF101/ Software-Treiber

  • C-Headerdatei

  • init() ... Initialisierung

  • float Temp ... Temperatur

  • externer Interrupt Int0

  • Timer 0 16 bit

/PF201/ Platine

  • SMD-Platine single Layer

  • Abmessung für gute Steckbarkeit auf Standardsteckbrett

  • M50 Stifte mit 1.2mm Durchmesser und 1cm Länge

  • 5V Versorgung über externes Schaltnetzteil

  • Versorgung sieben (50 Ohm, 10uF)

  • Ausgangssignal mit 100 Ohm Serienwiderstand schützen

  • Ausgangssignal über zweipolige Stiftleiste (1...Data, 2...GND) abgreifbar

  • uP fosc = 16Mhz

Produktdaten

Der Software-Treiber liefert die Temperatur als Fließkommazahl.

/PD001/ Der Datentyp ist float.

Produktleistungen

Die Temperaturmessung wird auf eine Zeitmessung zurückgeführt. Die Zeitmessung erfolgt über Interrupts am externen Interrupt-Pin. Die Reaktionszeit des Interrupts ist beim AVR nicht konstant, es kann zu einem Zeitunterschied von bis zu 3 Prozessorzyklen kommen.

/PL001/ Diese Zeitverzögerung ist nicht relevant.

/PL002/ Gemessen wird über drei Perioden. Diese Perioden werden gemittelt und der Mittelwert als Temperaturwert ausgegeben.

Benutzerschnittstelle

Der Treiber wird über ein C-Headerfile eingebunden. Die Quelltexte sind zur Verfügung zu stellen.

Der Treiber wird durch die Kopfzeile

/PB001/ #include AVRTemp eingebunden.

Zur Initialisierung des Interruptsystems und des Timers muß die Funktion

/PB002/ void AVRTempInit(void) in die Systeminitialisierung aufgenommen werden.

Dokumentation

/PD001/ Es ist ein Pflichtenheft,

/PD002/ eine technische Dokumentation für die Hardware und die Software, sowie

/PD003/ ein Benutzerhandbuch zu erstellen.

Qualitäts-Zielbestimmung

An die Qualität der Hard- und Software werden keine Ansprüche gestellt. Die Systemfunktion ist mittels mitgeliefertem Testprogramm, das

/PQ001/ am Display des AVR Entwicklungssystems oder über eine serielle Schnittstelle die aktuelle Temperatur ausgibt zu beweisen.



sehr wichtig

wichtig

weniger wichtig

unwichtig

Robustheit

x




Zuverlässigkeit

x




Korrektheit


x



Benutzungsfreundlichkeit



x


Portierbarkeit




x

Kompatibilität




x

Dokumentation

x




Ergänzungen

Die Software ist am Gnu C-Compiler für AVR Systeme WinAVR zu entwickeln. Alle nötigen Quelltexte müssen zur Verfügung gestellt werden. Der Entwickler überträgt alle Rechte an der Software an die HTL Mödling.