Schaltungstipp

Schleifengespeistes Thermoelement-Temperaturmesssystem mit ARM Cortex-M3

Seite: 2/4

Anbieter zum Thema

Kommunikation

  • Der 16 Bit PWM-Ausgang wird mit dem OP193 extern gepuffert. Er steuert einen externen NPN-Transistor (BC548). Indem man die Spannung UBE dieses Transistors steuert, lässt sich der Strom, der durch einen Lastwiderstand mit 47,5 Ω fließt, auf den gewünschten Wert einstellen. Dies sorgt am 4/20-mA-Ausgang für eine Genauigkeit von besser als ±0,5°C in einem Bereich von –200 bis 350°C (siehe Testergebnisse).
  • Der interne D/A-Wandler liefert die 1,2-V-Referenz für den OP193. Alternativ könnte man die 1,2-V-Präzisionsreferenz ADR3412 verwenden. So ließe sich eine höhere Genauigkeit über die Temperatur erzielen. Diese externe Referenz nimmt ähnlich viel Strom auf wie der interne D/A-Wandler (~50 μA).

Die 4/20-mA-Schleife wird von der 16 Bit-PWM-Schaltung im ADuCM360 gesteuert. Das Tastverhältnis der PWM-Schaltung wird über die Software eingestellt, um die Spannung über dem 47,5-Ω-Widerstand RLOOP zu steuern. Dies wiederum stellt den Schleifenstrom ein. Eine Seite von RLOOP ist mit der Masse vom ADuCM360 verbunden. Die andere Seite von RLOOP ist mit „Loop“-Masse verbunden. Daher fließt der Strom für die Bauteile ADuCM360, ADP1720, ADR3412 und OP193 plus den Strom für den gefilterten PWM-Ausgang durch RLOOP.

Die Spannung an der Verbindung zwischen R1 und R2 kann wie folgt ausgedrückt werden:

UR12 = (URLOOP + UREF) × R2 / (R1 + R2) − URLOOP

Nach dem Einschwingen der Schleife:

UIN = UR12

Da R1 = R2:

UIN = (URLOOP + UREF)/2 − URLOOP = UREF/2 − URLOOP/2

URLOOP = UREF – 2 UIN

Der maximale Strom fließt bei UIN = 0. Dann ist URLOOP = UREF, da der maximale Strom UREF/RLOOP oder ≈24 mA beträgt. Bei UIN = UREF/2 fließt kein Strom.

Die Impedanz des Verstärkers OP193 bei UIN ist hoch und lädt den PWM-gefilterten Ausgang nicht. Der Verstärkerausgang variiert nur um einen kleinen Teil von etwa 0,7 V.

Die Leistungsfähigkeit bei den Endwerten (0 bis 4 mA und 20 bis 24 mA) ist unkritisch; daher braucht der Operationsverstärker keine gute Leistungsfähigkeit bei der Versorgungsspannung.

Die absoluten Werte von R1 und R2 sind ebenfalls unkritisch. Allerdings ist ein genaues Matching von R1 und R2 wichtig.

ADC1 wird für Temperaturmessungen verwendet. Daher ist dieser Schaltungstipp direkt auf den ADuCM361 mit nur einem A/D-Wandler anwendbar. Das Board EVAL-CN0319-EB1Z enthält die Option zur Messung der Spannung an dem mit VR12 bezeichneten Punkt. Dazu wird ein Eingangskanal von ADC0 am ADuCM360 verwendet. Diese ADC-Messung kann als Rückkopplung für die PWM-Steuerungssoftware verwendet werden, um die 4/20-mA-Stromeinstellung einzustellen.

Programmierung, Debugging und Test

  • Der UART dient als Kommunikationsschnittstelle zum Host-PC. Dieser wird zur Programmierung des On-Chip Flash-Speichers verwendet. Er wird auch als Debug-Port und zur Kalibrierung des gefilterten PWM-Ausgangs verwendet.
  • Über zwei externe Schalter lässt sich das Bauteil in die Flash-Betriebsart schalten. Indem man SD auf „Low“ hält und den RESET schaltet gelangt der ADuCM360 statt in die normale Anwenderbetriebsart in die Boot-Betriebsart. In der Boot-Betriebsart lässt sich der interne Flash-Speicher über die UART-Schnittstelle wiederprogrammieren.

Code-Beschreibung

Der zum Testen der Schaltung verwendete Quellcode kann von den ADuCM360 und ADuCM361 Produktseiten als Zip-Datei heruntergeladen werden. Der Quellcode nutzt die mit dem Beispielcode zur Verfügung gestellten Funktionsbibliotheken.

Bild 2 zeigt die Liste von Source Files, die in diesem Projekt beim Betrachten mit den μVision4 Tools von Keil verwendet wurden.

Temperaturmonitor: ADC1 wird für Temperaturmessungen am Thermoelement und am Widerstandstemperatursensor verwendet. Dieser Teil des Codes ist vom Referenzdesign CN-0300 kopiert. Dort findet man auch mehr Informationen.

(ID:42475400)