-
Die vorliegende Erfindung bezieht
sich auf eine elektronische Schaltung zum automatischen Kompensieren
von von Stück
zu Stück
auftretenden Fehlern bei einem Sensor und mit den Merkmalen des
Gattungsbegriffs des Anspruchs 1.
-
Sensoren wie z. B. Winkelpositionssensoren
finden bekanntermaßen
Verwendung für
verschiedenartige Zwecke einschließlich Drosselklappenpositionssensoren
zur Bestimmung der Winkelposition einer Drosselklappe in einem Drosselventilgehäuse. Beispiele
solcher Sensoren sind veröffentlicht
in
US 4,893,502 A und
US 5,332,965 A .
Solche Sensoren dienen allgemein zum Ermitteln der Winkelposition
des Drosselklappenventils in dem Drosselventilkörper, um die der Brennkammer
eines Verbrennungsmotors zugeführte
Brennstoffmenge zu steuern.
-
Solche Drosselklappenpositionssensoren,
wie z. B. die in
US
4,893,502 A und
US
5,332,956 A dargestellten, sind typischerweise Variationen
von Stück
zu Stück
unterworfen, was es erforderlich macht, jeden einzelnen Sensor entweder
seitens des Drosselventilherstellers, wie im Fall von
US 4,893,502 A , oder des
Sensorherstellers,wie im Fall von
US 5,332,965 A , zu eichen. Bei der in
US 4,893,502 A offenbarten
Ausführungsform
ist ein ringförmiger
Magnet unmittelbar an dem Drosselklappenschaft angebracht. Ein Magnetwiderstandselement
(MRE) ist innerhalb eines modifizierten Drosselventilkörpers angeordnet
mit einem festen Luftspalt gegenüber
dem ringförmigen
Magneten. Eine Verstärkungsschaltung
mit variablem Verstärkungsfaktor
dient dazu, den Sensor mittels Potentiometer oder variabler Widerstände zu eichen.
Wie dem Fachmann bekannt, kann das Aus gangssignal solcher Potentiometer
mit der Temperatur oder Zeit variieren. Wegen des verhältnismäßig weiten
Arbeitstemperaturbereichs eines solchen Sensors, der in der Umgebung
eines Verbrennungsmotors Verwendung findet, driften solche Potentiometer
und beeinträchtigen
die gesamte Eichung der Einheit. Der in
US 5,332,965 A offenbarte
Sensor wird mechanisch eingestellt, und deshalb ist die Eichung nicht
einer Abdrift unterworfen wie im Fall von
US 4,893,502 A . Indessen
sind solche mechanischen Einstellungen zeitaufwendig und lästig, was
die Gesamtarbeitskosten für
die Herstellung des Produkts vergrößert.
-
Eine elektronische Schaltung wie
im Gattungsbegriff des Anspruchs 1 angegeben, ist aus einer jeden der
Schriften EP 0 078 592 A2, GB 2 221 039 A und
US 4,873,655 A bekannt. In
jedem Fall werden die von einem Sensor erhaltenen Ausgangssignale
mit vorausgehend gespeicherten Eichwerten für den betreffenden Sensor verglichen,
um kompensierte Ausgangssignale zu erhalten. Während jedoch
EP 0 078 592 voraussetzt, daß der Sensor
praktisch linear ist, erfordern GB 2 221 039 A und
US 4,873,655 A eine verhältnismäßig komplizierte
Schaltungstechnik einschließlich
eines Mikroprozessors sowie eine verhältnismäßig große Menge Speicherplatz. Zusätzlich ist
im Falle von
US 4,873,655
A , sollte ein Fehler in den gespeicherten Eichwerten auftreten,
beispielsweise aufgrund eines Speicherfehlers oder eines Überspannungszustandes,
oder ein Fehler aufgrund eines Abdriftens des Sensorausgangssignals über die
Zeit, eine komplizierte Reprogrammierung erforderlich, wofür die Sensoranordnung
sogar auszubauen und zu ihrem Hersteller zu senden sein mag.
-
Von daher ist es die Aufgabe der
vorliegenden Erfindung, eine Kompensationsschaltung der im Gattungsbegriff
des Anspruchs 1 angegebenen Art zu schaffen, die weniger kompliziert und
billiger als bekannte solche Schaltungen ist, die ein vergleichbares
Ergebnis liefern.
-
Dies wird gemäß vorliegender Erfindung auf
die im Anspruch 1 angegebene Weise erreicht. Davon ausgehend geben
die Unteransprüche
bevorzugte Ausführungsbeispiele
oder Weiterentwicklungen an.
-
Indem die gespeicherten Eichwerte
jeweils ein Empfindlichkeitskorrekturwert und ein Versetzungskompensationswert
sind und diese Werte multipliziert bzw. unmittelbar zu den Sensorausgangssignalen
hinzuaddiert werden, um so die Empfindlichkeit wie auch die Versetzung
des Sensors über
einen vorbestimmten Bereich des Sensorausgangssignals zu kompensieren,
erfordert die erfindungsgemäße Schaltung
wesentlich weniger Komponenten und Speicherplatz als vergleichbare
herkömmliche
Schaltungen. Des weiteren kann die Sensoranordnung, sollte ein Fehler
in den gespeicherten Eichwerten entstehen, an Ort und Stelle leicht
wieder geeicht werden, lediglich durch Eingabe eines neuen Versetzungseichwerts
und/oder eines neuen Empfindlichkeitseichwertes, und dies kann bei
einem jeden lokalen Servicecenter geschehen. Die vorliegende Erfindung
kann gewünschtenfalls
ohne Verwendung eines Mikroprozessors im Betriebsmodus verwirklicht
werden und dementsprechend ohne Erfordernis von A-D- und D-A-Umsetzern.
-
Nachfolgend wird ein bevorzugtes
Ausführungsbeispiel
der Schaltung nach der vorliegenden Erfindung im einzelnen beschrieben
unter Bezugnahme auf die begleitenden Zeichnungen. Darin ist
-
1 ein
Blockdiagramm einer elektronischen Kompensationsschaltung nach der
vorliegenden Erfindung,
-
2 eine
graphische Wiedergabe der Ausgangsspannung eines Winkelpositionssensors
in Abhängigkeit
von einer Winkelpo sition, wobei ein Sensor mit und ohne die in 1 dargestellte elektronische
Schaltung gezeigt ist,
-
3 ein
schematisches Diagramm der in 1 dargestellten
elektronischen Schaltung,
-
4 ein
schematisches Diagramm einer Test-Schnittstelle nach der vorliegenden
Erfindung,
-
5 ein
Blockdiagramm einer Testeinrichtung zum Bestimmen der Kompensationswerte
gemäß vorliegender
Erfindung,
-
6 ein
Blockdiagramm einer einen Teil der in 5 gezeigten
Testeinrichtung bildenden PC-Schnittstelle,
-
7 eine
Tabelle beispielhafter Werte gemessener und idealer Werte bei einer
Mehrzahl vorbestimmter Eichpunkte,
-
8 eine
graphische Darstellung der gemessenen Werte als Funktion von in 7 dargestellten Idealwerten,
-
9 und 10 jeweils ein Flußdiagramm
der Software für
die in 5 gezeigte Testeinrichtung
(und)
-
11 – 13 jeweils ein Flußdiagramm
von Software für
die elektronische Schaltung nach der vorliegenden Erfindung.
-
Die in den 1 und 3 gezeigte
elektronische Schaltung 300 dient zur automatischen Kompensation irgendwelcher
Fehler in dem Ausgangssignal aufgrund der Elektronik, von Stück zu Stück auftretenden
Variationen des Magneten oder der Temperatur. Die elektronische
Schaltung 300 enthält
einen elektronischen Speicher 306, wie zum Beispiel einen
elektrisch löschbaren
Festwertspeicher (EEPROM) zum Speichern vorbestimmter Kompensationswerte
für die
Kompensation des Sensorausgangssignals. Die Kompensationswerte werden
bestimmt durch Vergleichen der Sensorausgangssignale bei vorbestimmten
Eichpunkten, wie z. B. Winkeln, mit Idealwerten. Die Abweichung
zwischen den aktuellen Werten und den Idealwerten dient zur Bestimmung
der Kompensationswerte, wie weiter unten genauer beschrieben. Die
Kompensationswerte werden in dem elektronischen Speicher 306 gespeichert
und dienen zur automatischen Kompensation des Sensoraus gangssignals.
Wie weiter unten genauer beschrieben, erfolgt die Kompensation der
Ausgangssignale unter Softwaresteuerung, was eine mechanische Einstellung
des Sensors erübrigt
und eine automatische Eichung ergibt.
-
Ein wichtiger Gesichtspunkt der Erfindung
besteht darin, daß die
elektronische Schaltung 300 es erlaubt, die Kompensationswerte
seitens des Sensorherstellers zu bestimmen und in dem Speicher 306 zu
speichern. Auf diese Weise setzt der Endverbraucher, wenn die Sensoren
einmal zu ihm versandt wurden, diese einfach ein.
-
Bei derartigen Sensoren treten verschiedene
Fehlerquellen auf. Genauer gesagt können solche Sensoren eine Hall-Sonde
aufweisen, die typischerweise On-Chip-Operationsverstärker enthält. Solche
Operationsverstärker
sind häufig
Versetzungsfehlern unterworfen, die von Stück zu Stück variieren können. Zusätzlich können von
Stück-zu-Stück-Variationen
in der magnetischen Flußverteilung
der in Verbindung mit derartigen Hall-Sensoren verwendeten Magnete
eine Empfindlichkeitseinstellung der Hall-Sonde gegenüber dem
Magneten erfordern. Des weiteren sind solche Sensoren auch Fehlern
aufgrund einer Temperaturänderung
unterworfen.
-
Die elektronische Schaltung 300 nach
der vorliegenden Erfindung kompensiert solche Fehler automatisch
und erübrigt
so eine mechanische Einstellung. Obgleich die elektronische Schaltung 300 in
Verbindung mit einem Winkelpositionssensor erörtert wird, sind die Grundlagen
der Erfindung auf praktisch jeden Sensor anwendbar, welcher ein
analoges Ausgangssignal liefert.
-
Weiterhin sind die Prinzipien der
vorliegenden Erfindung, obgleich die elektronische Schaltung anhand verschiedener
diskreter elektronischer Bauteile erörtert wird, wie unten be schrieben,
auch auf andere elektronische Bauteile anwendbar, welche im wesentlichen
die gleichen Grundfunktionen erfüllen.
Beispielsweise könnte
die gesamte oder ein Teil der unten beschriebenen und dargestellten
elektronischen Schaltung in die Gestalt einer anwendungsspezifischen
integrierten Schaltung (ASIC) gebracht werden. All solche Ausführungsbeispiele
sollen innerhalb des breiten Umfangs der Erfindung liegen.
-
Beziehen wir uns auf 1, so enthält die elektronische Schaltung 300 einen
Analog-Digital-Umsetzer (ADC) 302, beispielsweise einen
Zwölfbit-Serien-ADC-Modul
mit der Bezeichnung LTC 1298, wie er von Linear Technology,
Inc. hergestellt wird und im einzelnen in LTC1286/LTC1298 MICROPOWER
SAMPLING TWELVE BIT A/D CONVERTERS IN SO-8 PACKAGES von Linear Technology,
Inc., Seiten 6–140
bis 6–162,
beschrieben ist, die hierbei durch die Bezugnahme in die Offenbarung
einbezogen wird. Ein Eingang des ADC 302 ist der Ausgang
des Sensors, beispielsweise einer Hall-Sonde. Die Hall-Sonde ist
vorzugsweise ein lineares Element, beispielsweise ein Allegro-Modell
Nr. 3506, welches ein verhältnismäßig lineares
Ausgangssignal über den
nützlichen
Ausgangsbereich der Hall-Sonde liefert, wie in 2 gezeigt und unten beschrieben. Ein
Temperatursensor, beispielsweise ein Thermistor 330 (3) kann gleichfalls an dem
AC 302 angebracht sein. Die analogen Temperatur- und Sensorsignale
werden durch den ADC 302 digitalisiert unter Steuerung
eines Mikrocontrollers 304, beispielsweise eines Motorola-Modells
mit der Typenbezeichnung 68HC705J2, HCMOS Microcontroller, wie es
im einzelnen in HC05 MC68HC705J2 TECHNICAL DATA von Motorola, Inc.,
Copyright 1991, beschrieben ist, das hiermit durch Bezugnahme
in die Offenbarung einbezogen wird. Der Mikrocontroller 304 vergleicht
die digitalisierten Sensorausgangssignale aus dem ADC 302 mit
Kompensationswerten aus dem elektronischen Speicher 306,
beispielsweise einem Modell Nr. 93C46 CMOS EEPROM von Micro-Chip Technology,
Inc., wie es im einzelnen in MICROCHIP 93C06/46 256 BIT/1K 5B CMOS
SERIAL EEPROM von MICROCHIP TECHNO-LOGY, INC., COPYRIGHT 1994,
beschrieben ist, das hiermit durch Bezugnahme in die Offenbarung
einbezogen wird. Die Abweichungen zwischen den aktuellen Werten
aus dem ADC 302 und den gespeicherten Kompensationswerten
aus dem elektronischen Speicher 306 werden von dem Mikrocontroller 304 dazu
verwendet, kompensierte Ausgangswerte zu erzeugen, die auf einen
Digital-Analog-Umsetzer (DAC) 308 gegeben werden. Der DAC 308 kann
ein Maxim-Modell Nr. MAX539, 12-Bit-DAC sein, wie er im einzelnen
im MAXIM 5V, LOW-POWER, VOLTAGE OUTPUT, SERIAL 12-BIT DAC'S
MAX531 MAX538/MAX539 von Maxim Integrated Products, Copyright 1994,
beschrieben ist, das hiermit durch Bezugnahme in die Offenbarung
einbezogen wird. Der CAC 308 wiederum liefert ein kompensiertes
analoges Ausgangs-Spannungssignal VOUT.
-
Die elektronische Schaltung 300 enthält eine
Testschnittstelle 310, die es erlaubt, die Kompensationswerte
zu bestimmen, beispielsweise seitens des Sensorherstellers, und
sie in den elektronischen Speicher 306 einzuprogrammieren.
Die Testschnittstelle 310 ist mit dem Symmetriepunkt (Balance)
der elektronischen Schaltung 300 durch zwei Kabel 312 und 314 verbunden.
Das Kabel 312 verbindet die Testschnittstelle 310 mit
dem Mikrocontroller 304, während das Kabel 314 die
Testschnittstelle 310 mit dem elektronischen Speicher 306 verbindet.
Die Kabel 312 und 314 erlauben eine Serienkommunikation
zwischen der elektronischen Schaltung 300 und der Testschnittstelle 310,
um die Kompensationswerte zu bestimmen. Genauer gesagt wird, wie weiter
unten noch genauer beschrieben wird, in einem Eichmodus der Winkelpositionssensor
an einer vorbestimmten Zahl von Eichpunkten (z. B. Winkelpositionen)
getestet. Dann werden die Ausgangssignale aus dem Sensor bei den
vorbestimmten Eichpunkten mit den Idealwerten für jeden Punkt verglichen, um
die Abweichung der tatsächlichen
Werte von den Kompensationswerten festzustellen. Diese Abweichungen
dienen zur Bestimmung der Kompensationswerte für einen jeden einzelnen Sensor.
Die Kompensationswerte werden der Reihe nach in den elektronischen
Speicher 306 einprogrammiert. Sind die Kompensationswerte
in den elektronischen Speicher 306 einprogrammiert, so
kann die Testschnittstelle 310 von der elektronischen Schaltung 300 abgekuppelt
werden.
-
2 ist
eine graphische Darstellung der automatischen Kompensation der elektronischen
Schaltung 300. Im einzelnen ist das Ausgangssignal des
Sensors als Bruchteil der Versorgungsspannung VS entlang der vertikalen
Achse als Funktion eines beispielhaften Winkel-Arbeitsbereichs,
beispielsweise 90°,
aufgetragen. Die Kurve 316 stellt das Ausgangssignal des
Sensors ohne Kompensation über
den beispielhaften Arbeitsbereich des Sensors dar, während die
Kurve 318 das Ausgangssignal einer Sensoranordnung wiedergibt,
welche die elektronische Schaltung 300 nach der vorliegenden
Erfindung enthält.
Die Kurve 318 entspricht den Idealwerten.
-
Obgleich die Ausgangssignalkurve
für einen
typischen Sensor nicht genau linear ist, wie in 2 dargestellt, kann sie doch Schritt
für Schritt
durch Linearabschnitte angenähert
werden, um die ideale Kurve 318 aufgrund der Sensorwerte
entlang der Kurve 316 zu erhalten. Auf diese Weise ist
die elektronische Schaltung 300 geeignet, eine automatische
Kompensation des Sensorausgangssignals herbeizuführen. Die Bestimmung der Kompensationswerte
wird weiter unten im einzelnen beschrieben.
-
Ein schematisches Schaltbild für die elektronische
Schaltung 300 aus 1 ist
in 3 dargestellt, während ein
schematisches Schaltbild für
die Testschnittstelle 310 in 4 wiedergegeben
ist. Beziehen wird uns auf 3,
so wird von einem Oszillatorschaltkreis 320, beispielsweise
einem Keramik-Resonator
AVX KYOCERA, KBR-4.00-MKS TR, wie in einem Datenblatt mit dem Titel
KBR-MKS SERIES CERAMIC RESONATORS, P14 BY AVX KYOCERA beschrieben,
welches hiermit durch Bezugnahme einbezogen wird, ein Oszillatorsignal
für den
Mikrocontroller 304 bereitgestellt. Der Oszillatorschaltkreis 320 ist
mit den Oszillator-Kontaktstiften OSC1 und OSC2 des Mikrocontrollers 304 verbunden,
zusammen mit einem parallelgeschalteten Widerstand 322,
um einen Parallel-Resonanzschaltkreis zu bilden, zur Lieferung beispielsweise
eines 4 MHz-Oszillatorsignals an den Mikrocontroller 304.
-
Der Mikrocontroller 304 enthält einen
8-Bit-Anschluß PA[7
: 0] und einen 6-Bit-Anschluß PB[5
: 0], wobei alle Bits mit Hilfe von Datenrichtregistern innerhalb
des Mikrocontrollers 304 als Eingangs- oder Ausgangsanschlüsse programmierbar
sind. An einen Anschluß Bit
PC[3] wird ein Eichmodussignal gegeben, das als Eingangs-Bit programmiert
wird. Das Eichmodussignal tritt an einer Testeinrichtung 402 (5) in Form der Testschnittstelle 310 (4) auf. Wie weiter unten
noch genauer erörtert
werden wird, wird das Eichmodussignal dann freigegeben, wenn die
Testeinrichtung 402 Verwendung findet, um die in den Speicher 306 einzuschreibenden
Kompensationswerte zu bestimmen. Im einzelnen wird der Anschluß PB[3]
normalerweise von einem Hochziehwiderstand 324 zwischen
dem Anschluß Bit
PB[3] und der 5V-Spannungsversorgung VCC des Sensors auf hohes Niveau
gezogen. Normalerweise also befindet sich der Eingang Bit PB[3]
auf hohem Niveau. Während
des Eichmodus zieht das Eichsignal den Anschluß Bit PB[3] nach unten, um
den Mikrocontroller 304 wissen zu lassen, daß das System
sich im Eichmodus befindet.
-
Ein "SENSOR IN"-Signal, wie zum Beispiel
von einer analogen Hall-Sonde, wird auf einen Kanal CH0 des ADC 304 gegeben,
welcher einen Zweikanal-Multiplex-Eingang an den Anschlüssen CH0
und CH1 aufweist. Das Ausgangssignal des Thermistors 330 wird
mittels eines Operationsverstärkers 326 und
eines damit in Reihe liegenden Widerstandes 328 auf den
anderen Kanal, CH1, gegeben. Das Ausgangssignal des Operationsverstärkers 326 liegt
an dem zweiten Eingang CH1 des ADC 304 an.
-
Der ADC 302 ist ein Zweikanal-Bauelement
und kommuniziert mit dem Mikrocontroller 304 über eine Synchron-Halbduplex-4-Leiter-Serienschnittstelle.
Genauer gesagt enthält
die Serienschnittstelle ein Taktsignal CLK, ein Chipwählsignal
CS, ein digitales Dateneingangssignal DIN und ein digitales Datenausgangssignal DOUT,
die auf die Anschlüsse
Bit PA[3], Bit PA[1], Bit PA[2] und Bit PA[0] gegeben werden. Die
Anschlüsse
Bit PA[3], Bit PA[2] und Bit PA[1] sind als Ausgänge ausgelegt, während der
Anschluß Bit
PA[0] als Eingang ausgelegt ist.
-
Die Datenübertragung zwischen dem Mikrocontroller 304 und
dem ADC 302 wird durch eine abfallende Flanke des Chipwählsignals
CS eingeleitet. Das Taktsignal CLK synchronisiert die Datenübertragung
in beiden Richtungen. Nach Übergang
des Chipwählsignals
CS auf niedriges Niveau erwartet der ADC 302 ein Startbit
an dem Dateneingabekontakt DIN. Die erste auf den Dateneingabekontakt
DIN gegebene logische Eins, nachdem das Chipwählsignal CS auf niedriges Niveau
gegangen ist, bildet das Startbit. Die nächsten drei nach dem Startbit
aufgegebenen Bits dienen zur Bereitsetzung des ADC für die Auswahl
eines der Eingangssignale an den Eingängen CHO und CH1 zur Umwandlung
und Spezifizierung, ob das bedeutendste Bit (MSB) oder das unbedeutendste
Bit (LSB) zuerst an dem Datenaungabekontakt DOUT ausgegeben wird. Nachdem
das Startbit und drei Bereitsetzungsbits auf den Dateneingabekontakt
DIN gegeben wurden, beginnt der Umwandlungsvorgang. Alle zusätzlichen
auf den Dateneingabekontakt DIN gegebenen Bits werden außer Acht
gelassen bis zum nächsten
Chipwähl-CS.
-
Die Datenübertragung zwischen dem Mikrocontroller 304 und
der Testschnittstelle 310 wird in gleicher Weise gehandhabt.
Im einzelnen finden vier Signale, nämlich ein Datenausgabesignal
COMPOUT, ein Dateneingabesignal COMPIN, ein Taktsignal EXCLK und
ein Chipwählsignal
EPCS Verwendung zur Steuerung der Serienkommunikation zwischen der
Testschnittstelle 310 und dem Mikrocontroller 304.
Die Signale COMPOUT, EXCLK, EPCS und COMPIN werden von Hochziehwiderständen 328, 330, 332 und 334 auf
hohes Niveau gezogen.
-
Die Signale COMPOUT und COMPIN dienen
zur Quittierung und Datenkommunikation zwischen dem Mikrocontroller 304 und
der Testschnittstelle 310. Das Signal COMPIN tritt am Anschluß Bit PB[5]
des Mikrocontrollers 304 auf, der als Ausgang ausgelegt
ist. Das Signal COMPIN dient auch zum Lesen von seriellen Daten
von dem Datenausgabekontakt DO, wenn sich das System nicht im Eichmodus
befindet. Das Signal COMPOUT von der Testschnittstelle 310 gelangt
an den Kontakt Bit PB[4] des Mikrocontrollers 304 und an den
Takteingang des Speichers 306. Das Signal COMPOUT dient
zum Einschreiben in den Speicher 306 wie auch zum Quittieren
bei dem Mikrocontroller 304. Das Chipwählsignal EPCS aus der Testschnittstelle 310 dient
dazu, die Übertragung
der Umwandlungswerte aus dem ADC 302 zu der Testausrüstung 402 (5) zu gestatten zur Bestimmung
der Kompensationswerte, wenn das Chipwählsignal EPCS inaktiviert ist,
und dazu, die Kompensationswerte in den Speicher 306 einschreiben
zu lassen, wenn das Chipwählsignal
EPCS aktiviert ist. Das Taktsignal EXCLK gelangt an den Dateneingabekontakt
DI des Speichers 306 und den Anschluß Bit PA[7] des Mikrocontrollers 304,
um die Bit-für-Bit-Übertragung
des 12-Bit-Ausgangssignals des ADC 302 zu steuern, wenn
die Testeinrichtung 402 digitalisierte Sensor- und Thermistorwerte
aus dem Mikrocontroller 304 liest, und steuert das Bit-für-Bit-Einschreiben
in den Speicher 306. Ein Startbit wird bestimmt, wenn sich der
Dateneingabekontakt DI und die Chipwählkontakte CS an dem Speicher 306 das
erste Mal in bezug auf den Takteingang CLK auf hohem Niveau befinden.
-
Wie oben erörtert, werden die Werte aus
dem Sensor durch die in dem Speicher 306 gespeicherten Korrekturwerte
korrigiert. Die kompensierten Werte werden durch den DAC 308 unter
Steuerung seitens des Mikrocontrollers 304 in Analogform
umgewandelt. Im einzelnen enthält
der DAC 308 einen Chipwählkontakt CS,
einen Dateneingabekontakt DI, einen Datenausgabekontakt DOUT und
einen Taktkontakt CLK, die von dem Mikrocontroller 304 gesteuert
werden. Diese Kontakte sind mit den Anschlußkontakten PA[4], PA[6], PA[5] und
PA[0] des Mikrocontrollers 304 verbunden und alle als Ausgänge ausgelegt.
Der Datenausgabekontakt DOUT an dem DAC 308 gestattet es
den digitalen Daten aus dem DAC 308, von dem Mikrocontroller 304 zurückgelesen
zu werden. Das analoge Ausgangssignal des DAC 308 tritt
an einem Ausgabekontakt VOUT auf und gelangt über einen
Widerstand 336 zu einem externen Schaltkreis (nicht gezeigt).
-
An einen Bezugseingang REFIN des
DAC 308 wird eine Bezugsspannung geliefert, beispielsweise aus
einem Operationsverstärker 338 und
einem Paar in Reihe liegender Widerstände 340 und 342,
die einen Spannungsteiler bilden. Die Bezugsspannung dient zum Einstellen
des vollen Ausgangssignalbereichs des DAC 308.
-
Zur Sicherstellung einer einwandfreien
Arbeitsweise des Mikrocontrollers 304 wird ein Unterbrechungsabfragekontakt
IRQ auf hohes Niveau gebracht und im besonderen unmittelbar mit
der 5V-Spannungsquelle VCC verbunden, da das System keine Unterbrechungen
zu melden hat. Der Mikrocontroller 304 wird über seinen
Rückstellkontakt
RESET zurückgestellt.
Der Kontakt RESET wird normalerweise von einem zwischen der Spannungsquelle
VCC und dem Kontakt RESET liegenden Hochziehwiderstand 344 auf
hohes Niveau gezogen. Um eine Fehlarbeitsweise des an den Kontakt RESET
gelieferten Signals zu verhindern, ist zwischen den Kontakt RESET
und Masse ein Kondensator 346 geschaltet. Der Mikrocontroller 304 wird
mit Hilfe eines zwischen dem Kontakt RESET und Masse liegenden Druckknopfs 348 rückgestellt.
Normalerweise liegt der Kontakt RESET auf hohem Niveau. Wird der
Druckknopf RESET 348 betätigt, so wird der Kontakt RESET
auf niedriges Niveau gebracht, um dem Mikrocontroller 304 eine
erzwungene Rückstellung
anzuzeigen. Zur Stabilisierung der Versorgungsspannung für den Mikrocontroller 304 sind
zwischen die 5V-Sensorstromquelle VCC und die Sensormasse mehrere
Kondensatoren, 350, 352, 354, 356, 358 und 360,
geschaltet.
-
Das schematische Schaltbild für die Testschnittstelle 310 ist
in 4 gezeigt. Um zwischen
der Testschnittstelle 310 und der elektronischen Schaltung 300 eine
elektrische Isolation herzustellen, finden mehrere optische Isolatoren 362, 364, 366, 368, 370 und 372 Verwendung,
welche die Verbindungen zwischen der Testschnittstelle 310 und
der elektronischen Schaltung 300 isolieren. Die Signale
mit dem Zusatz _.TSET geben eine Verbindung mit der Testeinrichtung 402 (5) an, während die Signale mit dem Zusatz
_.PCB eine Verbindung mit der elektronischen Schaltung 300 (3) anzeigen.
-
Ein jeder der optischen Isolatoren 362, 364, 366, 368, 370 und 372 enthält eine
Leuchtdiode (LED) und einen Phototransistor. Die Anoden der Leuchtdioden
sind mit der Spannungsquelle VCC über Strombegrenzungswiderstände 374, 376, 378, 380, 382 und 384 verbunden.
Die Kathode einer jeden Leuchtdiode empfängt das jeweilige Signal, wie
weiter unten noch beschrieben wird. Wenn im Betrieb die Signale
an den Kathoden der Leuchtdioden auf niedriges Niveau gebracht werden,
so senden die Leuchtdioden Licht aus, welches von den Phototransistoren
registriert wird. Die Emitter der Phototransistoren liegen an Masse.
Die Kollektoren empfangen die verschiedenen Signale, wie oben erörtert. Wie
weiter unten noch genauer erörtert wird,
werden die Kollekturen normalerweise auf hohes Niveau gezogen, wohingegen
sie auf niedriges Niveau gelangen, wenn Licht von den Leuchtdioden
wahrgenommen wird. Genauer gesagt wird ein CALIBRATE_TSET-Signal
aus der Testschnittstelle 310 auf die Anode der Leuchtdiode
gegeben, welche den optischen Isolator 262 bildet. Der
Kollektor des Phototransistors empfängt das Eichsignal CALIBRATE,
welches, wie oben beschrieben, an den Anschluß PB[3] des Mikrocontrollers 304 gelangt.
-
Wie oben beschrieben dienen die Signale
COMPIN, COMPOUT, EXCLK und EPCS zur Bildung einer Serienkommunikationsschnittstelle
zwischen dem Mikrocontroller 304 und der Testeinrichtung 402 aus
den 5 und 6. Die Signale COMPOUT_TSET,
EXCLK_TSET und EPCS_TSET aus der Testeinrichtung 402 (5) werden auf die Kathoden
der die optischen Isolatoren 364, 366 und 368 bildenden
Leuchtdioden gegeben. Die Kollektorausgänge der optischen Isolatoren 364, 366, 368 werden
mit Hochziehwiderständen 382, 384 und 386 hochgezogen.
Wie oben erwähnt,
liegen die Emitteranschlüsse
der Phototransistoren in Verbindung mit den optischen Isolatoren 364, 366 und 368 an
Masse. Auf diese Weise liegen die Kollektoren der optischen Transistoren
in Verbindung mit den optischen Isolatoren 364, 366 und 368 bei
normalem Betrieb auf hohem Niveau. Gehen die Signale COMPOUT_TSET,
EXCLK_TSET und EPCS_TSET auf niedriges Niveau, so gehen auch die
Kollektorausgänge
der mit den optischen Isolatoren 364, 366 und 368 verbundenen
Phototransistoren auf niedriges Niveau. Die Kollektoren der mit
den optischen Isolatoren 364, 366 und 368 verbundenen
Phototransistoren sind mit einem Paar von in Reihe geschalteten
NICHT-Gattern NOT 388, 390, 392, 394, 396 und 398,
beispielsweise des Typs 74HC14, verbunden, die als Puffer zum Puffern
des Ausgangssignals der optischen Transistoren in Verbindung mit
den optischen Isolatoren 364, 366 und 368 dienen.
-
Um eine Isolation der Testschnittstelle 310 vom
Symmetriepunkt (balance) der elektronischen Schaltung 300 zu
erreichen, wenn sich das System nicht im Eichmodus befindet, werden
die Signale COMPOUT_TSET, EXCLK_TSET, EPCS_TSET und COMPIN_PCB auf
ein Vierfach-Dreizustandselement, beispielsweise vom Typ 74C 244,
gegeben. Im besonderen wird das vom Ausgang des NICHT-Gatters 390 erhaltene
Signal COMPOUT an einen Eingang 1A2 gegeben, während das
Signal COMPIN vom Anschluß Bit PB[5]
des Mikrocontrollers 304 (3)
auf den Eingang 1A4 des Dreizustandselements 400 gegeben
wird. Ebenso werden die Signale EXCLK und EPCS von den Ausgängen der
NICHT-Gatter 394 und 398 auf die Eingänge 1A3 und 2A1 des
Dreizustandselements 400 gegeben.
-
Das Dreizustandselement 400 ergibt
noch eine weitere Isolationsschnittstelle zwischen der Testschnittstelle 310 und
der elektronischen Schaltung 300. Im besonderen werden
die Signale COMPOUT_PCB, EXCLK_PCB und EPCS_PCB von den Ausgängen 1Y2, 1Y3 und 2Y1 des
Dreizustandselements 400 an den Mikrocontroller 304 (3) gegeben, wie oben erörtert. Die
Signale EPCS_TSET und COMPIN TSET von den Ausgängen 2Y1 und 1Y4 des
Dreizustandselements 400 werden durch die optischen Isolatoren 370 und 372 in
gleicher Weise isoliert, wie oben erörtert, und an die Testausrüstung 402 gegeben.
-
Das Dreizustandselement 400 wird
gesteuert durch Pufferbereitsstellungssignale BUFEN1_TSET und BUFEN2_TSET
aus der Testeinrichtung 402. Wie weiter unten noch genauer
erörtert
wird, wird das Dreizustandselement 400 im Eichmodus aktiviert,
um die Serienkommunikations-Steuersignale zwischen der Testeinrichtung 402 und
der elektronischen Schaltung 300 über die oben erwähnten optischen
Isolatorschaltkreise zu verbinden. Bei anderen Zuständen als
dem Eichmodus bildet das Dreizustandselement 400 eine elektrische Isolation
zwischen der elektronischen Schaltung 300 und der Testschnittstelle 310.
-
Die Testeinrichtung 402 ist
in 5 dargestellt. Sie
enthält
eine Stromversorgung 404, die eine 5V-Gleichspannung für den Sensor
liefert. Die Stromversorgung 404 kann ein Hewlett-Packard-Modell Nr. E3620
A sein. Die Versorgungsspannung wird von einem Dauerübereinstimmungstester
(Continuing Conformance Tester) 406, beispielsweise einem
solchen mit der Bezeichnung S/N 95015 von Altech Control Systems, überwacht.
Der Dauerübereinstimmungstester 406 überwacht
die Spannung aus der Spannungsquelle 404, um sicherzustellen,
daß sie
sich innerhalb geeigneter Grenzen befindet. Wie weiter unten noch
beschrieben, enthält
der Dauerübereinstimmungstester 406 einen
PC 418 und verschiedene Periphergeräte, wie in 6 gezeigt. Im Eichmodus führt der
Dauerübereinstimmungstester 406 den
Sensor 43 (5)
zu vorbestimmten Eichpunkten, hier durch Abfrage eines Absolutpositionscodierers 408,
beispielsweise eines solchen mit der Bezeichnung M25G-F1-L8192-G-XD2-CR-E-C25-X-5
von BEI Motion Systems Company, Positions Controls Division. Durch
Abfrage des Absolutpositionscodierers 408 ist der Dauerübereinstimmungstester 406 in
der Lage, eine Fehlerspannung an eine Motorsteuerung 410,
beispielsweise eine solche mit der Bezeichnung SC401-01-T1 von Pacific
Scientific Motor & Control
Division, zu liefern, die proportional der Abweichung von dem erforderlichen
Winkel ist. Die Motorsteuerung 410 treibt einen Servomotor 412,
zum Beispiel einen solchen mit der Bezeichnung R21KENT-TS-NS-NV-00 von Pacific
Scientific Motor & Control
Division. Der Servomotor 412 treibt seinerseits einen Servoantrieb 414,
zum Beispiel einen solchen mit der Bezeichnung RH-100-CC-SP von
Harmonic Drive Systems, Inc., der wiederum den Sensor 43 zu
einem vorbestimmten Eichpunkt bringt. Der Sensor 43 kann
in einer Kammer angeordnet werden, in welcher die Temperatur für alle Eichpunkte
auf einen vorbestimmten Wert eingestellt wird. Die Kammer 416 kann
aus einem Ofen mit der Bezeichnung Versa 10 von Tenney
Engineering Inc. bestehen.
-
Wie oben erwähnt, steuert die Motorsteuerung 410 die
Arbeitsweise des Servomotors 412 und über diesen den Servoantrieb 414,
um dem Sensor 43 vorbestimmte Eichwinkel zu vermitteln.
Eine positive Spannung aus dem Dauerübereinstimmungstester 406 veranlaßt den Servomotor 412,
sich im Uhrzeigersinn zu bewegen, während eine negative Spannung
dem Servomotor 412 eine Bewegung im Gegenuhrzeigersinn
vermittelt. Die Sensorspannung wird bei einem jedem Eichpunkt abgelesen.
Nachdem alle diese Eichablesungen erfolgt sind, wird die Abweichung
zwischen den an den Eichpunkten gemessenen Werten (d. h. den tatsächlichen
Werten) und den Idealwerten für
eine jede Sensorposition bestimmt. Dann werden Kompensationswerte in
den Speicher 306 eingeschrieben.
-
Wie oben erwähnt, ist der Dauerübereinstimmungstester 406 mit
einem PC, 418 (6),
ausgerüstet, der
mindestens einen Mikroprozessor des Typs 80486 DX oder
einen ähnlichen
enthalten sollte. Zusätzlich
zu dem PC 418 kann der Dauerübereinstimmungstester 418 ein
digitales Voltmeter 420 zum Messen der Spannung des Sensors
und der Stromquelle 404 wie auch eine Bedienerschnittstelle
enthalten, die eine Tastatur 422 und einen Monitor 424 aufweist.
Des weiteren kann der Dauerübereinstimmungstester 406 ein
Bandsicherungssystem 426 und einen Drucker 428 ebenso
wie eine Anzeigetafel 430 zur Lieferung einer Anzeige des Zustands
des Systems enthalten.
-
Wie oben erwähnt ist die in 5 gezeigte Testeinrichtung 402 über die
Testschnittstelle 310 mit der elektronischen Schaltung 300 verbunden.
Wie unten noch genauer beschrieben wird, dient die den PC 418 als Teil
des Dauerübereinstimmungstesters 406 enthaltende
Testausrüstung 402 dazu,
mit dem Mikrocontroller 304 zu kommunizieren, um die Kompensationswerte
für den
Sensor über
einen vorbestimmten Arbeitsbereich zu bestimmen. Die Softwaresteuerung
für den
PC 418 ist in den 9 und 10 dargestellt.
-
Ein Schlüsselaspekt der Erfindung ist
das Verfahren zur Bestimmung der Eichwerte. Wie oben erwähnt, bringt
die Testeinrichtung 402 den Sensor 43 zu verschiedenen
vorbestimmten Eichpunkten und bestimmt bei jedem dieser Punkte den
Sensorausgangswert. Diese bei einer vorbestimmten Temperatur, beispielsweise
25°C, aufgenommenen
Eichpunkte werden nacheinander mit Idealwerten verglichen. Die Abweichung
zwischen den tatsächlichen
Werten und den Abweichungswerten (müßte wohl heißen: Idealwerten) dient
zur Bildung eines Kompensationswerts, der in den Speicher 306 eingeschrieben
wird. Das Verfahren zur Bestimmung des Kompensationswerts ist am
besten verständlich
unter Bezugnahme auf die 7 und B. Im besonderen wird die Ausgangsspannung
des Sensors bei einer vorbestimmten Zahl von Eichwinkeln gemessen.
Die Eichwinkel wie auch die anderen in 7 und 8 dargestellten
Werte sind beispielhaft. Es versteht sich, daß praktisch jede Zahl Eichwinkel
und Werte innerhalb des Umfangs der vorliegenden Erfindung liegt. Beziehen
wir uns zunächst
auf 7, so wird die Sensorausgangsspannung
bei 8 Eichwinkeln θ0–θ7 gemessen, die für Erörterungszwecke beispielsweise
zwischen 14,4° und
92,4° gewählt wurden.
Die jeweiligen Eichwinkel werden je nach der Verwendung des Sensors
variieren. Die Sensorausgangsspannung wird bei jedem der Eichwinkel θ0–θ7 gemessen und entlang einer X-Achse aufgetragen,
wie in 8 gezeigt. Dann
werden die tatsächlichen
oder gemessenen Werte mit den Idealwerten für einen jeden der entlang einer
Y-Achse nach 8 aufgetragenen
Eichwinkel θ0–θ7 verglichen.
-
Wie oben erwähnt wird die Sensorausgangsspannung über den
gesamten Arbeitsbereich des Sensors, wie in 2 dargestellt, als linear angenommen.
So also wird das Ausgangssignal zwischen den einzelnen Eichwinkeln θ0–θ7 als linear angenommen. Damit werden die
Kompensationswerte durch Bestimmen der Neigung m und der y-Verlagerung
b des Linienabschnitts 432 (25)
(müsste
wohl heißen: Δ32 (8)) für jeden der Eichwinkel θ0–θ7 bestimmt. Die Neigung m und die y-Verlagerung
b zwischen den einzelnen Eichwinkeln θ0–θ7 wird bestimmt und in den Speicher 306 eingeschrieben,
um mittels des analogen Eingangssignals eine automatische Kompensation
der gemessenen Werte zu erreichen. Im besonderen mißt das System die
tatsächlichen
Werte X des Sensorausgangssignals. Da man annimmt, daß die Idealwerte
mit den tatsächlichen
Werten in linearer Beziehung stehen, werden die tatsächlichen
Werte mit der Neigung m multipliziert und wird die y-Verlagerung
b hinzuaddiert, um einen Idealwert zu erhalten. Da die Kompensationswerte
aus Neigung m und y-Verlagerung b zwischen den einzelnen Eichwinkeln
variieren, bestimmt der Mikrocontroller 304 zunächst die
spezielle für
die Korrektur zu verwendende Neigung m und y-Verlagerung b. Dies
geschieht durch Vergleichen der gemessenen Ausgangsspannungen mit
den idealen Spannungen zur Bestimmung der für die Korrektur jeweils zu
verwendenden Neigung und y-Verlagerung. Nimmt man beispielsweise,
unter Bezugnahme auf 7,
an, daß von
dem Sensor der Wert 1,4 gemessen wurde, so vergleicht das System
diesen gemessenen Wert 1,4 mit den Idealwerten und stellt fest,
daß der
Eichwinkel zwischen 20,4 und 34,8 lag. Unter diesen Umständen finden,
da angenommen wird, daß die
Kompensationswerte zwischen aufeinanderfolgenden bestimmten Eichwinkeln
linear sind, die Neigungskompensationswerte und die y-Verlagerungs-Kompensationswerte
in Verbindung mit dem Winkel 20,4 Verwendung.
So also wird in einem solchen Beispiel die Spannung von 1,4 (unter
Verwendung der in 7 beispielhaft
angegebenen Daten) mit dem Wert 1,448 multipliziert. Dann wird von
dem betreffenden Wert die y-Verlagerung b von –0,862 subtrahiert, um eine
ideale Spannung in diesem Bereich zu erhalten.
-
In den 9 und 10 ist ein Flußdiagramm
für die
Testeinrichtung 402, im besonderen den PC 418, zur Bestimmung
der Kompensationswerte dargestellt. Ein Flußdiagramm für den Erhalt eines kompensierten
Ausgangswerts für
den Sensor mittels des Mikrocontrollers 304 ist in den 11 – 13 wiedergegeben.
Beziehen wir uns zunächst
auf die 9 und 10, so startet das System
durch Einstellen des Eichmodus und im besonderen durch Erzeugen
eines aktiven Eichsignals niedrigen Niveaus, das beim Schritt 440
auf die Testschnittstelle 310 und im besonderen auf den
optischen Isolator 362 gegeben wird. Ist der Eichmodus
eingestellt, so veranlaßt
die Testeinrichtung 402 eine Quittierung bei dem Mikrocontroller 304.
Im besonderen wird beim Schritt 442 das Signal COMPOUT auf niedriges
Niveau gebracht und das Dreizustandselement 400 in Bereitschaft
gesetzt durch Setzen der BUFEN1_TSET- und BUFEN2_TSET-Signale. Das
Signal COMPOUT wird auf den optischen Isolator 364 gegeben
und zeigt dem Mikrocontroller 304 an, daß die Testeinrichtung 402 bereit
ist, eine Bestimmung der Kompensationswerte in oben beschriebener
Weise einzuleiten. Die Aktivierungssignale für das Dreizustandselement 400,
BUFEN1_TSET und BUFEN2_TSET werden auf den Kontakt 1G bzw. 2G des
Dreizustandselements 400 gegeben. Diese Signale sind aktiv
auf niedrigem Niveau, um das Dreizustandselement 400 zu
aktivieren. Nachdem das Signal COMPOUT auf niedriges Niveau gebracht
und das Dreizustandselement 400 aktiviert wurde, wartet
das System im Schritt 444 eine bestimmte Zeitdauer, beispielsweise
10 Millisekunden, um festzustellen, ob der Mikrocontroller 304 bereitsteht.
Nach der Zeitdauer von 10 Millisekunden liest das System das Signal
COMPIN_TSET vom Ausgang des optischen Isolators 372 als Teil
der Quittierung zwischen dem Mikrocontroller 304 und dem
PC 418. Wurde das Si gnal COMPIN_TSET nicht auf niedriges Niveau
gebracht, so kehrt das System zu Schritt 446 zurück und erwartet eine Quittierung vom
Mikrocontroller 304. Wurde das Signal COMPIN_PCB vom Mikrocontroller 304 nach
unten gezogen, so wird vom PC 418 am Ausgang des optischen Isolators 372 das
Signal COMPIN_TSET gelesen. Befindet sich das Signal COMPIN_TSET
auf niedrigem Niveau, so setzt der PC 418 das Signal COMPOUT_TSET
im Schritt 448 hoch und wartet eine bestimmte Zeitdauer, beispielsweise
1 Millisekunde. Daraufhin zieht der PC 418 im Schritt 450 das Signal
COMPOUT nach unten und wartet 1 Millisekunde. Danach prüft der PC
418 den Zustand des Signals COMPIN aus dem Mikrocontroller 304.
Befindet sich das Signal COMPIN auf niedrigem Niveau, so kehrt das
System zurück
zu Schritt 450. Wurde das Signal COMPIN von dem Mikrocontroller 304,
wie im Schritt 452 festgestellt, nach oben gezogen, so setzt der
PC 418 im Schritt 454 das Signal COMPOUT hoch, um den Mikrocontroller 304 wissen
zu lassen, daß die
Quittierung vollendet ist. Nach Vollendung der Quittierung schreitet
das System zum Schritt 456 fort und liest die digitalisierte Sensorausgangsspannung
am Anschluß Bit
PB[5] des Mikrocontrollers 304 auf der Leitung COMPIN.
Im besonderen wird die Sensorausgangsspannung durch den ADC 302 unter
Steuerung durch den Mikrocontroller 304 digitalisiert.
Der digitalisierte 12-Bit-Wert wird am Anschluß Bit PB[5] Bit für Bit bereitgestellt
und unter Steuerung durch das Taktsignal EXCLK serienmäßig dem
PC 418 übermittelt.
Zusätzlich
zur Messung der Sensorspannung im Schritt 456 mißt das System die Thermistorspannung.
Im besonderen setzt der Mikrocontroller 304 während des
Lesens der digitalisierten Sensorspannung den ACD 302 bereit,
das analoge Signal am Kanal 0 (CHO) zu digitalisieren. Beim
Lesen der Thermistorspannung setzt der Mikrocontroller 304 den
ADC 302 bereit, die Thermistorspannung auf Kanal 1 (CH1)
zu lesen. Nachdem im Schritt 456 die digitalisierte Sensorspannung
und Thermistorspannung gelesen wurden, beginnt das System, den Sensor
durch die vorbestimmten Eichwinkel, beispielsweise θ0–θ7 (7),
hindurchzuführen.
Im besonderen veranlaßt
das System im Schritt 458 ff die Testanordnung 402, den
Sensor auf einen jeden der Eichwinkel θ0–θ7 zu bringen. Zunächst, beim ersten Eichwinkel θ0, wird die Testausrüstung 402 bereitgesetzt,
den Sensor beim Schritt 460 auf den Winkel θ0 und
das Signal COMPOUT auf niedriges Niveau zu bringen. Danach, im Schritt
462, stellt das System fest, ob der Mikrocontroller 304 bestätigt hat,
daß der
Sensor mit dem ersten Eichwinkel θ0 geeicht
wird, durch Feststellung, ob der Mikrocontroller 304 das
Signal COMPIN hochgezogen hat. Falls nicht, kehrt das System zum
Schritt 462 zurück
und wartet darauf, daß das
Signal COMPIN vom Mikrocontroller 304 nach oben gezogen
wird. Geht das Signal COMPIN hoch, so bringt der PC 418 im Schritt
464 das Signal COMPOUT auf hohes Niveau. Nachdem das Signal COMPOUT
im Schritt 464 auf hohes Niveau gebracht wurde, erwartet das System
im Schritt 466 eine Bestätigung
seitens des Mikrocontrollers 304 durch Feststellung, ob
das Signal COMPIN auf niedriges Niveau gebracht wurde. Falls nicht,
kehrt das System zum Schritt 466 zurück und erwartet eine Bestätigung durch
den Mikrocontroller 304. Wurde das Signal COMPIN auf niedriges
Niveau gebracht, so bringt der PC 418 im Schritt 468 das Signal
COMPOUT auf niedriges Niveau. Wurde das Signal COMPOUT auf niedriges Niveau
gebracht, so erwartet das System eine Bestätigung seitens des Mikrocontrollers 304 durch
Feststellung, ob die Leitung COMPIN in Schritt 470 auf hohes Niveau
gebracht wurde. Falls nicht, erwartet das System eine Bestätigung durch
den Mikrocontroller 304 und kehrt zu Schritt 468 zurück. Bestätigt der
Mikrocontroller 304 den PC 418, indem er das Signal COMPIN
auf hohes Niveau bringt, so bringt der PC 418 im Schritt 472 das
Signal COMPOUT auf hohes Niveau. Danach werden in den Schritten
474 und 476 die tatsächlichen
Sensorwerte gelesen. Das erste Mal innerhalb des Zyklus wird I auf
Null gesetzt und danach im Schritt 478 schrittweise vergrößert. Im
Schritt 480 bestimmt das System, ob I kleiner als die Gesamtzahl
der erforderlichen Ablesungen ist. Wie oben angegeben, können bei
den Eichwinkeln θ0–θ7 acht beispielhafte Ablesungen erfolgen. Sind
weniger als alle Ablesungen erfolgt, so kehrt das System zu 10 zurück und berechnet in den Schritten 482,
484, 486 und 488 die Neigung und Verlagerung der tatsächlichen
Messungen gegenüber
den Idealwerten, wie oben beschrieben. Die Schritte 460 bis 488
erfolgen wiederholt, bis die Neigungen m und y-Verlagerungen b für sämtliche
Eichwinkel θ0–θ7 ermittelt wurden. Sind für einen
bestimmten Sensor alle Berechnungen erfolgt, so schreitet das System
zum Schritt 490 fort, um das Einschreiben der Kompensationswerte
in den Speicher (EEPROM) 306 (3) einzuleiten. Im besonderen wird im
Schritt 490 das Signal COMPOUT auf hohes Niveau gebracht. Dieses
Signal wird auf den Dateneingang DIN des Speichers 306 gegeben
und dient zur Einleitung eines Schreibvorgangs im Speicher 306 in
der oben beschriebenen Weise. Zusätzlich wählt das System den Speicher 306 aus,
indem es das Signal EPCS auf hohes Niveau bringt, welches wiederum
auf den Chipwählkontakt
CS des Speichers 306 gegeben wird. Des weiteren wird der
Eichmodus deaktiviert, indem das Eichsignal CALIBRATE auf hohes
Niveau gebracht wird. Danach prüft
das System im Schritt 492, ob der Chipwählkontakt CS des Speichers 306 aktiviert
wurde, da dieser Kontakt auch unter der Steuerung des Mikrocontrollers 304 und
im besonderen des Anschlusses Bit PB[0] steht. Befindet sich das
Chipwählsignal EPCS
für den
Speicher 306 nicht auf hohem Niveau, so wartet das System
im Schritt 490, bis das Chipwählsignal
EPCS hoch ist. Geht das Chipwählsignal
EPCS hoch, so wird der Eichmodus dadurch in aktiviert, indem das
Eichsignal CALIBRATE im Schritt 494 auf niedriges Niveau gezogen
wird. Zusätzlich
steht der Speicher 306, wie oben erörtert, zum Schreiben bereit.
In den Schritten 496, 498, 500 und 502 schreibt das System alle Eichpunkte
und im besonderen die Neigungen m und y-Verlagerungen b aller Eich punkte θ0–θ7 in den Speicher 306 ein. Wie oben
erwähnt,
erfolgt die Kommunikation mit dem Speicher 306 seriell,
wobei die Bits einzeln nacheinander unter Steuerung durch das Taktsignal
EXCLK übermittelt
werden. Nachdem sämtliche
Kompensationswerte in den Speicher 306 eingeschrieben wurden,
setzt das System im Schritt 504 den Schreibmodus für den Speicher 306 außer Betrieb.
Nachdem der Schreibmodus für
den Speicher 306 deaktiviert wurde, wird der Inhalt des
Speichers 306 in den Schritten 506 und 508 nach Fehlern
untersucht. Werden im Inhalt des Speichers 306 keine Fehler
gefunden, so schreitet das System fort zum Schritt 510, wo der Eichmodus
wie auch die Pufferbereitstellungssignale BUFENI_TSET und BUFEN2_TSET
außer
Funktion gesetzt werden, um das Dreizustandselement 400 zu
deaktivieren, das im wesentlichen die Testausrüstung 402 von der
Schnittstelle 310 trennt. Werden im Schritt 508 Fehler
festgestellt, so wird der Benutzer im Schritt 512 über den
Monitor 424 (6)
von den Fehlern in Kenntnis gesetzt, worauf das System zum Schritt
510 fortschreitet. Nachdem der Eichmodus und die Pufferbereitstellungssignale
deaktiviert wurden, wird auch das Dreizustandselement 400 deaktiviert.
Das System schreitet fort zum Schritt 514 und gibt eine Nachricht
auf dem Monitor 424 aus, daß die Programmierung des Speicher 306 vollständig und
erfolgreich ist.
-
Die Flußdiagramme für den Mikrocontroller 304 sind
in den 11 – 13 wiedergegeben. Zu Beginn bestimmt
das System im Schritt 516, ob für
den Betrieb der Eichmodus gewählt
wurde. Falls nicht, geht das System zum Schritt 518 weiter und nimmt
an, daß ein
Normalmodus gewählt
wurde, und führt
den in 13 dargestellten
Code für
den Normalmodus aus. Befindet sich das System im Eichmodus, wie
durch Lesen des auf den Anschluß Bit
PB[3] gegebenen Signals festgestellt wird, so geht der Mikrocontroller 304 zum
Schritt 520 weiter und bestimmt, ob die Kompensationswerte in den
Speicher 306 einprogrammiert werden müssen. Falls nicht, nimmt das
System einen Eichmodus an und geht weiter zum Schritt 522 und der
in 12 gezeigten Software.
Ansonsten werden die Korrekturfaktoren in den Speicher 306 eingeschrieben
und im Schritt 524 kontrolliert.
-
Der Eichmodus wird im Schritt 526
eingeleitet. Zunächst
wird im Schritt 528 die Serienschnittstelle in Betrieb genommen.
Nach Inbetriebnahme der Serienschnittstelle stellt der Mikrocontroller 304 fest,
ob im Schritt 530 ein Lesevorgang verlangt wird. Falls nicht, erwartet
das System im Schritt 530 ein solches Verlangen. Wird ein Eichlesevorgang
verlangt, so wird die Sensorspannung oder Thermistorspannung gelesen
und im Schritt 532 über
die Serienschnittstellt in die Testeinrichtung 402 gegeben.
Als nächstes
stellt das System im Schritt 534 fest, ob alle Lesevorgänge erfolgt
sind. Falls nicht, kehrt das System zum Schritt 530 zurück. Falls
ja, schreitet das System fort zum Schritt 536 und bestimmt die in
den Speicher 306 einzuprogrammierenden Korrekturwerte.
-
Der Normalmodus ist in 13 dargestellt und wird
im Schritt 538 eingeleitet. Zunächst,
im Schritt 540, stellt das System durch Abfrage des logischen Niveaus
des Eichsignals fest, ob es sich im Normalmodus befindet. Ist das
Eichsignal hoch, so zeigt dies den Normalmodus an, und es wird die
Sensorspannung bestimmt. Nach Lesen der Sensorspannung wird im Schritt
542 der richtige Korrekturfaktor aus dem Speicher 306 bestimmt.
Danach, im Schritt 544, wird der gemessene Wert mit dem Korrekturfaktor
für die
Neigung m multipliziert. Sodann, im Schritt 546, wird zu dem im
Schritt 544 erhaltenen Ergebnis die y-Verlagerung b hinzuaddiert.
Schließlich
wird im Schritt 548 die korrigierte Ausgangsspannung an den DAC 308 angelegt,
was wiederum eine korrigierte Sensorausgangsspannung VOUT zur
Folge hat.
-
Das System nimmt auch eine thermische
Kompensation vor. Wie eben erwähnt,
werden die Kompensationswerte bei einer bestimmten Temperatur, beispielsweise
25°C, ermittelt.
Die Ablesungen entstammen dem Thermistor
330, beispielsweise
einem 1%-Metallfilm-Festwertwiderstand von Yageo. Die Temperaturkompensation
wird erreicht durch Annahme beispielsweise einer Abweichung aufgrund
der Temperatur von –3% für 150°C im Ausgangssignal
bei heißem
Sensor und einer Abweichung von +1% für –40°C im Ausgangssignal bei kaltem
Sensor. Ob der Sensor heiß oder
kalt ist, wird festgestellt durch Vergleichen der Thermistorspannung
V
THM mit der Thermistorspannung V
AMB bei derjenigen Temperatur, bei welcher
die Kompensationswerte gewonnen wurden. Wurden die Kompensationswerte
bei 25°C
Umgebungstemperatur ermittelt, so ist Via die Thermistorspannung
bei 25°C.
So wird, wenn die Thermistorspannung V
THM > V
AMB ist,
angenommen, daß das System
heiß ist
und 3% Toleranz bestehen. Ist die Thermistorspannung V
THM < V
AMB so
wird angenommen, daß das
System kalt ist und die Toleranz 1% beträgt. Bei einem 5V-System nimmt
man an, daß am
Nullpunkt die Spannung V
CROSSOVER des Sensors
(d. h. die Ausgangsspannung, bei welcher das Ausgangssignal
0 Gauss
angibt) keine Änderung
in der Ausgangsspannung aufgrund von Temperaturabweichungen auftritt.
Dementsprechend wird die Abweichung durch folgende Gleichung bestimmt:
-
Ist das System heiß, so wird
die Abweichung zu der gemessenen Spannung hinzuaddiert. Ist das
System kalt, so wird die Abweichung von der gemessenen Spannung
abgezogen.
-
Die Temperaturtoleranzen wie auch
die Thermistorspannungsablesungen werden linearisiert, um ein genaueres
Ausgangssignal zu erhalten. Auch kann ein Widerstand (nicht gezeigt)
des gleichen Wertes wie derjenige des Thermistors dem Thermistor
parallelgeschaltet werden. Für
eine Gesamttoleranz von 3% kann die Toleranz mit der Annahme linearisiert
werden, daß sie über den
gesamten Toleranzbereich von 3% und den Temperaturbereich linear
variiert. Nimmt man an, daß die
Toleranz der allgemeinen Formel y = mx + b folgt, so beträgt für einen
Temperaturbereich von 125°C
(d. h. 150°C – 25°C) die Neigung
m 0,00024 und die y-Verlagerung b –0,006.
-
Um die Thermistorspannungswerte VTHM zu linearisieren, werden die Spannungen
bei den Temperaturextremen 25°C
und 150°C
gelesen. Nimmt man an, daß VTHM der allgemeinen Formel y = mx + b folgt,
so können
die Neigung und die y-Verlagerung b bestimmt werden. Beispielsweise
beträgt
bei 25°C
VTHM 2,3832212 V und bei 150°C VTHM = 0,1591433 V, die Neigung m beträgt –56,2031
und die y-Verlagerung b 158,9444. Damit ist die Temperatur gleich –56,2031
VTHM + 158,944. Für 3% Toleranz ist die Toleranz 0,00024*TEMP – 0,006.
Durch Ersetzen des Wertes für
die Temperaturabhängigkeit
erhält
man eine Toleranz von –0,03488744
VTHM + 0,03214656. Dann wird die Toleranz
in der obigen Gleichung an die Stelle der Abweichung DEV gesetzt,
um das Maß der
Temperaturkompensation zu bestimmen.
-
Auf die gleiche Weise wird die Toleranz-Thermistorspannung
VTHM für
1% Toleranz linearisiert. Diese Werte dienen dann, wie oben beschrieben,
dazu, die Abweichung zu bestimmen.
-
Während
die Erfindung unter Bezugnahme auf Einzelheiten des in den Zeichnungen
wiedergegebenen Ausführungsbeispiels
beschrieben wurde, sollen diese Einzelheiten den Rahmen der Er findung,
wie in den nachfolgenden Ansprüchen
ausgedrückt,
nicht begrenzen. Übersetzung
der Zeichnungsbeschriftungen
Fig. 1
| SENSOR IN | SENSOR-EINGABE |
| TEMPERATUR DEVICE INPUT | TEMPERATUREINHEIT-EINGABE |
| ANALOG TO DIGITAL CONVERTER | ANALOG-DIGITAL-UMSETZER |
| PROCESSING UNIT | VERARBEITUNGSEINHEIT |
| DIGITAL TO ANALOG CONVERTER | DIGITAL-ANALOG-UMSETZER |
| TEST INTERFACE | TESTSCHNITTSTELLE |
| MEMORY | SPEICHER |
Fig.
2
| THROTTLE POSITION SENSOR | DROSSELKLAPPENSTELLUNGS-SENSOR |
| ANGULAR POSITION | WINKELPOSITION |
| SENSOR WITH ELECTRONICS | SENSOR MIT ELEKTRONIK |
| SENSOR ONLY | NUR SENSOR |
Fig.
3
| CALIBRATE | EICHSIGNAL |
| SENSOR IN | SENSOR-EINGABE |
| RESET | RÜCKSTELLUNG |
| PUSH BUTTON | DRUCKKNOPF |
| SENSOR | SENSOR |
Fig.
5
| POWER SUPPLY | STROMVERSORGUNG |
| CONTINUING CONFORMANCE TESTER | DAUERÜBEREINSTIMMUNGSTESTER |
| ABSOLUTE POSITION ENCODER | ABSOLUTPOSITIONS-CODIERER |
| SERVOMOTOR | SERVOMOTOR |
| MOTOR CONTROLLER | MOTORSTEUERUNG |
| SERVOACTUATOR | SERVOANTRIEB |
| SENSOR | SENSOR |
| SENSOR ELECTRONICS | SENSORELEKTRONIK |
Fig.
6
| TO SENSOR ELECTRONICS | ZUR SENSORELEKTRONIK |
| TO POSITION ENCODER | ZUM POSITIONSCODIERER |
| TO MOTOR CONTROLLER | ZUR MOTORSTEUERUNG |
| STATUS BOARD | ANZEIGETAFEL |
| COMPUTER | COMPUTER |
| BOARD | TAFEL |
| MOTHERHOOD DIGITAL VOLTMETER | MUTTER-DIGITAL-VOLTMETER |
| KEYBOARD | TASTATUR |
| COLOR MONITOR | FARBMONITOR |
| TAPE BACKUP | BANDSICHERUNGSEINHEIT |
| PRINTER | DRUCKER |
| TO POWER SUPPLY | ZUR STROMVERSORGUNG |
| TO SENSOR | ZUM SENSOR |
Fig.
7
| CALIBRATION ANGLE | EICHWINKEL |
| MEASURED | GEMESSEN |
| IDEAL | IDEAL |
Fig.
8
| IDEAL | IDEAL |
| ACTUAL | TATSÄCHLICH |
Fig.
9
| Set calibrate mode | Eichmodus einstellen |
| Set compout low, enable buffers | Compout niedrig einstellen, Puffer aktivieren |
| Wait 10 m sec. | 10 msec abwarten |
| Is compin low | Ist compin niedrig |
| yes | ja |
| no | nein |
| Set compout high | Compout hoch einstellen |
| Is compin high? | Ist compin hoch? |
| Set compout low, wait 1 m sec. | Compout niedrig einstellen, 1 msec abwarten |
| Set compout high, wait 1 m sec. | Compout hoch einstellen, 1 msec abwarten |
| Thermistor voltage + Processor reading | Ablesung Thermistorspannung und Prozessor |
| Place fixture to angle (I) set compout low | Halterung auf Winkel (I) und compout niedrig
einstellen |
| Set compout low | Compout niedrig einstellen |
| Set compout high | Compout hoch einstellen |
| Calibrate point (I) = Processor reading | Eichpunkt (I) = Prozessorablesung |
| Read DVM voltage (I) = DVM reading | Ablesung DVM-Spannung (I) = DVM-Ablesung |
| Readings | Ablesungen |
Fig.
10
| Calculate slope | Neigung berechnen |
| Angle | Winkel |
| yes | ja |
| no | nein |
| Enable calibrate mode, prepare eeprom to
write | Eichmodus in Betrieb nehmen, EEPROM zum Schreiben
vorbereiten |
| high | hoch |
| set compout high, set eeprom cs high diable
cal. mode | Compout hoch einstellen, EEPROM-cs hoch
einstellen, wählbarer
Rechenmodus |
| Write cal. Pt. (j), slope (j) and y intercept
to eprom | Eichpunkt (j), Neigung (j) und y-Verlagerung
in EEPROM einschreiben |
| Disable write mode on eprom | Schreibmodus im EEPROM deaktivieren |
| Disable calibrate mode, Buffers, etc. | Eichmodus, Puffer usw. außer Betrieb
setzen |
| Notify user of error END | Benutzer über Fehler-ENDE informieren |
| Error? | Fehler? |
| Verify EE prom contents | EEPROM-Inhalte prüfen |
| Notify user programming complete + successful END | Benutzerprogramm komplett + erfolgreiche
Beendigung mitteilen |
Fig.
11
| START | START |
| IS CALIBRATION MODE SET? | EICHMODUS EINGESTELLT? |
| NO | NEIN |
| YES | JA |
| NORMAL MODE READ SENSOR | NORMALMODUS-SENSORSPANNUNG |
| VOLTAGE AND CORRECT USING | ABLESEN UND EICHDATEN |
| CALIB. DATA | KORREKT GEBRAUCHEN |
| IS EEPROM TO PROGRAMMED WITH CAL. DATA? | EEPROM MIT EICHDATEN ZU PROGRAMMIEREN? |
| CALIBRATE MODE READ SENSOR VOLTAGE AND DETERMINE
THE CORRECTION FACTORS | EICHMODUS SENSORSPANNUNG ABLESEN UND DIE
KORREKTURFAKTOREN BESTIMMEN |
| WRITE THE CORRECTION FACTORS TO EEPROM AND
VERIFY | DIE KORREKTURFAKTOREN IN DEN EEPROM EINSCHREIBEN
UND PRÜFEN |
Fig.
12
| START | START |
| CALIBRATE MODE INITIALIZE SERIAL INTERFACE | EICHMODUS SERIENSCHNITTSTELLE IN BETRIEB
NEHMEN |
| IS A CALIBR. READING REQUESTED? | EICHABLESUNG ERFORDERLICH? |
| NO | NEIN |
| YES | JA |
| READ VOLTAGE AND SEND TO LAST SET OVER SERIAL
I/F | SPANNUNG ABLESEN UND AN LETZTEN SATZ ÜBER SERIEN-SCHNITTSTELLE SENDEN |
| ARE ALL CALIBRATE READINGS TAKEN? | ALLE EICHABLESUNGEN ERFOLGT? |
| LAST SET SW COMPUTES THE CORRECTION FACTORS
TO BE PROGRAMMED IN EEPROM | LETZTER SATZ SW BERECHNET DIE IN DEN EEPROM
EINZUPROGRAMMIERENDEN KORREKTURFAKTOREN |
Fig.
13
| START | START |
| NORMAL MODE READ SENSOR VOLTAGE | NORMALMODUS SENSORSPANNUNG ABLESEN |
| DETERMINE THE CORRECTION FACTOR GAIN (SLOPE
AND INTERCEPT) TO USE | GRÖSSE
DER ZU VERWENDENDEN KORREKTURFAKTOREN (NEIGUNG UND VERLAGERUNG)
BESTIMMEN |
| MULTIPLY SENSOR READING BY THE SLOPE CORRECTION
FACTOR | SENSORABLESUNG MIT DEM NEIGUNGSKORREKTURFAKTOR
MULTIPLIZIEREN |
| ADD INTERCEPT CORRECTION FACTOR TO THE RESULT | ZU DEM ERGEBNIS VERLAGERUNGSKORREKTURFAKTOR
HINZUADDIEREN |
| OUTPUT ADJUSTED SENSOR VOLTAGE | KORRIGIERTE SENSORSPANNUNG AUSGEBEN |