-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine elektronische Schaltung
und insbesondere auf eine elektronische Schaltung zur automatischen Kompensation
der Schwankungen im Ausgangssignal eines Sensors aufgrund sich ändernder
Bedingungen.
-
2. Beschreibung des Standes
der Technik
-
Von
zahlreichen bekannten Sensoren einschließlich Linearbewegungssensoren
ist bekannt, dass sie wegen der speziellen Anwendungen unter keineswegs
idealen Umgebungsbedingungen eingesetzt werden. So sind z. B. Sensoren
für die
Anwendung in Kraftfahrzeugen besonders harten Umgebungsbedingungen
ausgesetzt. Beispiele solcher Sensoren sind Näherungssensoren, die beispielsweise
in Kfz-Zeitschaltungen sowie Drosselklappenpositionssensoren, die
in Kfz-Drosselklappen-Steuerschaltungen verwendet werden.
-
Die
relativ harten Umgebungsbedingungen sowie andere dynamische Faktoren
tragen zu Fehlern in den Ausgangssignalen solcher Sensoren bei. Diese
Fehler in den Ausgangssignalen der Sensoren können eine falsche Funktion
der Schaltung, in der sie verwendet werden, verursachen. Deshalb
sind verschiedene Sensoren und Schaltungen entwickelt worden, um
solche Fehler auszugleichen. Die U.S.-Patente Nr. 4,893,502 und
5,332,965 betreffen z. B. Drosselklappenpositionssensoren. Die in
den Patenten '502
und '965 offenbarten
Drosselklappenpositionssensoren sind so konfiguriert, dass der Sensor
mechanisch eingestellt werden kann, um verschiedene Fehler zu kompensieren.
Leider sind solche mechanischen Einstellungen relativ zeitaufwändig und
mühsam
und tragen dazu bei, die Gesamtarbeitskosten für die Herstellung des Produktes
zu erhöhen.
-
Außerdem ist
bei solchen Sensoren der Sensor nur für eine einmalige Einstellung
ausgeführt.
Somit bleiben dynamische Bedingungen wie Schwankungen des Luftspalts
und der Temperatur, unter denen der Sensor arbeitet, ohne Ausgleich
und ermöglichen
so Fehler im Ausgangssignal.
-
Die
US-A-4795904 offenbart eine elektrische Detektoranordnung mit einem
Detektor, einem Multiplexer und einem Differentialverstärker. Die
gemultiplexten Detektorausgangssignale werden verschoben, wobei
deren Pegel durch den Ausgang vom Differentialverstärker erheblich
verringert wird.
-
Aus
der EP-A-0626562 ist ein Positionsdetektor bekannt, der ein magnetoresistives
Element, einen Verstärker
zum Verstärken
des Ausgangs des magnetoresistiven Elements und ein Ausgangsbeobachtungselement
zum Beobachten des Ausgangs des Verstärkers enthält. Die Versatzspannung des Verstärkers wird
auf Basis der vom Ausgangsbeobachtungselement gelieferten Ergebnisse
eingestellt und somit automatisch eingeregelt.
-
Zusammenfassung
der Erfindung
-
Die
elektronische Schaltung gemäß der vorliegenden
Erfindung sorgt für
die dynamische Kompensation bei sich ändernden Bedingungen. Insbesondere
bestimmt die Schaltung dynamisch den magnetischen Gleichspannungsversatzpegel
eines eingehenden analogen Sensorausgangssignals. Die Gleichspannungsamplitude
oder der Versatzpegel variiert als Ergebnis sich ändernder
Bedingungen wie Geschwindigkeit, Luftspalt, Ausrichtung und Temperatur.
Die Schaltung vergleicht den magnetischen Gleichspannungsversatzpegel
mittels eines Komparators mit dem ursprünglichen analogen Sensorausgangssignal,
um ein digitales Ausgangssignal mit einem Gleichspannungsversatz
von null bereitzustellen, das variierende Bedingungen kompensiert.
-
Kurzbeschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm der elektronischen Schaltung gemäß der vorliegenden
Erfindung.
-
2A und 2B sind
schematische Diagramme der in 1 dargestellten
elektronischen Schaltung.
-
3A bis 3D sind
Flussdiagramme der Software für
die in 2 dargestellte elektronische
Schaltung.
-
4A bis 4F sind
beispielhafte grafische Darstellungen des analogen Eingangssignals bei
verschiedenen Gleichspannungsversatzwerten und des entsprechenden
digitalen Ausgangssignals der elektronischen Schaltung gemäß der vorliegenden
Erfindung.
-
Detaillierte Beschreibung
der bevorzugten Ausführungsformen
-
Gemäß der Erfindung
wird eine dynamische Schaltung bereitgestellt, die so ausgeführt ist,
dass sie praktisch mit jedem Linearbewegungssensor verwendet werden
kann, z. B. mit einem linearen Hall-Effektsensor wie dem Allegro,
Modell Nr. 3516. Die elektronische Schaltung kompensiert automatisch
den Gleichspannungsversatz im Sensorausgangssignal, der sich aus
der Konfiguration des Sensors relativ zum Magneten sowie aus anderen
Faktoren, wie dem Luftspalt, der Temperaturverschiebung, der Summierung
mechanischer Einflüsse
und der Fehlfluchtung innerhalb des Sensorgehäuses ergeben. Von diesen Faktoren
ist bekannt, dass sie Änderungen
der Amplitude des Sensorausgangssignals und insbesondere des Gleichspannungsversatzpegels
des Sensorausgangssignals verursachen. Im Rahmen der vorliegenden
Beschreibung bezieht sich der Gleichspannungsversatz eines Signals
auf die Gleichspannung oder den durchschnittlichen Wert des Signals
relativ zu null Volt. Bei dieser Ausführungsform wird der Gleichspannungsversatz
des Sensorausgangssignals bestimmt und mittels eines Komparators
mit dem ursprünglichen
Signal verglichen, um automatisch ein symmetrisches Ausgangssignal
mit einem Gleichspannungsversatz von null bereitzustellen. Damit
ist bei einer solchen Ausführungsform
die manuelle Einstellung des Gleichspannungsversatzes des Sensors
nicht mehr erforderlich.
-
Ein
wichtiger Aspekt der Erfindung ist, dass das Sensorausgangssignal
in Echtzeit verarbeitet wird. Wie nachstehend ausführlicher
erörtert
wird, enthält
die Schaltung einen Mikroprozessor, der den Gleichspannungsversatz
des Signals bestimmt. Bei Ausführungsformen
mit analogem Sensorausgangssignal wird der Gleichspannungsversatzpegel
parallel zur Digitalisierung des analogen Signals bestimmt. Der
Gleichspannungsversatzpegel wird an einen Hochgeschwindigkeits-Komparator
gelegt und mit dem ursprünglichen
Eingangssignal verglichen. Da das ursprüngliche Signal direkt an den
Hochgeschwindigkeits-Komparator gelegt wird, ist das System gegenüber der
mit dem Mikroprozessor verbundenen Rechenzeitverzögerung indifferent.
-
In 1 ist
eine automatische dynamische Kompensationsschaltung 600 zur
automatischen Kompensation des Gleichspannungsversatzes von einem
Sensorausgangsignal dargestellt. Wie aus 1 ersichtlich
ist, wird z. B. ein analoges Eingangssignal an einen Eingangsanschluss 602 gelegt. Im
Rahmen der vorliegenden Beschreibung kann es sich bei dem analogen
Eingangssignal um jedes lineare Signal oder einen linearen Abschnitt
eines sinusförmigen
oder anderen Signals handeln. Wie 1 zeigt,
wird das analoge Eingangssignal zunächst an eine Signalaufbereitungsschaltung
gelegt, die allgemein durch den Block 604 dargestellt ist.
Die Signalaufbereitungsschaltung bildet nicht Teil der vorliegenden
Erfindung, aber sie kann einen Vorverstärker mit automatischer Regelung
des Verstärkungsfaktors enthalten.
Eine derartige Schaltung ist im Stand der Technik hinreichend bekannt.
Ein wichtiger Aspekt der Erfindung ist, dass das analoge Eingangssignal nach
der Aufbereitung durch die Signalaufbereitungsschaltung 604 an
einen Hochgeschwindigkeits-Komparator 606 sowie an einen
Analog-/Digitalwandler
(ADC) 608 gelegt wird. Der ADC 608 kann beispielsweise
ein 8-Bit-ADC mit einer Nachführ-
und Haltefunktion sein, z. B. Modell Nr. AD7821 von Analog Devices.
Der digitalisierte Sensorausgang wird dann an einen Mikroprozessor 610 gelegt,
etwa einen 8-Bit-Mikroprozessor, z. B. einen Microchip Modell Nr.
PIC16C5X, gelegt. Der Mikroprozessor 610 bestimmt die Maxima
und Minima der Spitze-Spitze des Sensorausgangssignals, um einen
Gleichspannungsversatz zu berechnen, was nachstehend ausführlicher
erläutert
wird. Der Gleichspannungsversatzpegel wird dann an einen Digital-/Analogwandler (DAC) 612 gelegt,
z. B. an ein 8-Bit-Modell Nr. AD557 von Analog Devices. Der Ausgang
des DAC 612 ist ein analoges Ausgangssignal, das den Gleichspannungsversatz
des ursprünglichen
Eingangssignals repräsentiert.
Der Gleichspannungsversatzpegel wird mittels eines Hochgeschwindigkeits-Komparators,
z. B. eines Operationsverstärkers
von National Semiconductor, Modell Nr. LMC 6492, mit dem
ursprünglichen
Signal verglichen. Der Ausgang des Komparators 606 stellt
ein digitales Ausgangssignal zwischen 0 Volt und der Vorsorgungsspannung
bereit. Durch den Vergleich des Gleichspannungsversatzes mit dem
ursprünglichen
Signal stellt die Schaltung 600 gemäß der vorliegenden Erfindung
eine dynamische Einregelung des analogen Eingangssignals bereit,
um den Gleichspannungsversatz zu kompensieren.
-
2 zeigt ein beispielhaftes Schema für das in 1 dargestellte
Blockdiagramm. Die Schaltung 600 wird mit einem linearen
Hall-Effekt-Sensor gekoppelt dargestellt, etwa dem Hall-Effekt-Sensor 614,
der z. B. ein Allegro, Modell Nr. 3516, sein kann. Wie oben erläutert ist
die Kompensationsschaltung 600 so ausgeführt, dass
sie praktisch mit jedem Typ Linear- oder Rotationsbewegungssensor arbeiten kann.
Die Verwendung des Hall-Effekt-Sensors 614 ist nur beispielhaft.
Es sei auch erwähnt,
dass die Kompensationsschaltung getrennt vom Chip wie in 2 dargestellt gebildet werden kann, oder
mit dem Sen sor integriert werden kann, um einen monolithischen intelligenten
Sensor zu bilden.
-
Ein
analoges Ausgangssignal VIN vom Sensor 614 wird
an einen analogen Eingangsanschluss VIN des
ADC 608 gelegt. Der ADC 608 wandelt das analoge
Eingangssignal vom Sensor 614 zu einem digitalen 8-Bit-Signal,
das an den Stiften DB[0–7]
des ADC 608 vorliegt. Das 8-Bit-Signal vom ADC 608 wird
an die Eingangsanschlüsse
RB[0–7]
des Mikroprozessors 610 gelegt. Wie nachstehend ausführlicher
erläutert
wird, bestimmt der Mikroprozessor die Maxima und Minima der Spannungsspitzen
des analogen Eingangssignals, um den Gleichspannungsversatz zu bestimmen.
Nachdem der Mikroprozessor 610 den Gleichspannungsversatz
bestimmt hat, wird der den Gleichspannungsversatz repräsentierende digitale
8-Bit-Wert, der an den Ausgangsanschlüssen RC[0–7] des Mikroprozessors 610 vorliegt,
an die 8-Bit-Eingangsanschlüsse
DB[0–7]
des DAC 612 gelegt. Der analoge Ausgang vom DAC 612 wird
an den Komparator 606 gelegt und mit dem ursprünglichen analogen
Eingangssignal VIN verglichen. Das Ausgangssignal
des Komparators 606 ist ein digitales Ausgangssignal mit
einem Gleichspannungsversatz von 0 wie in den 4A bis 4F dargestellt.
-
Zum
Einregeln des Ausgangsspannungsbereichs des DAC 612 kann
eine Bereichsmultiplizierschaltung 615 zwischen dem Ausgang
DACOUT des DAC 612 und dem Eingang des Komparators 606 angeordnet
werden. Die Bereichsmultiplizierschaltung 615 enthält einen
Operationsverstärker 616 und
ein Paar Widerstände 618 und 620.
Wie dargestellt wird die Bereichsmultiplizierschaltung 615 zum
Multiplizieren des Ausgangsspannungsbereichs des DAC 612,
der nominal 0 bis 2,56 V beträgt,
auf 0 bis 5 V verwendet. Es versteht sich, dass die Verwendung der
Bereichsmultiplizierschaltung 615 optional ist und vom
spezifischen gewählten
DAC und dessen Ausgangsbereich abhängt.
-
Der
Komparator 606 enthält
ein Paar Verstärkungswiderstände 622 und 624 sowie
einen Skalierungswiderstand 626, der zum Skalieren des
analogen Eingangssignals VIN dient. Der
Ausgang des Komparators 606 kann an einen oder mehrere
Inverter 628 und 630 zur Aufbereitung des Ausgangssignals
des Komparators 606 gelegt werden. Der Ausgang des Inverters 628 wird
relativ zum analogen Eingangssignal invertiert, während der
Ausgang des Inverters 630 nicht invertiert wird.
-
Die
Software zur Bestimmung der maximalen und minimalen Spannungsspitzen
des analogen Eingangssignals VIN ist in
den 3A bis 3D dargestellt.
Der Quellcode findet sich im Anhang. Zunächst werden in Schritt 632 die
Unterbrechungsvektoren sowie die E/A-Anschlüsse des Mikroprozessors 610 initialisiert.
Nachdem die Unterbrechungsvektoren und die E/A-Anschlüsse initialisiert
worden sind, werden die Logikvariablen STATE und STARTUP in Schritt 634 initialisiert.
Insbesondere wird die Variable STATE auf den Voreinstellungswert
gesetzt, während die
Variable STARTUP auf eins gesetzt wird. Nachdem die Logikvariablen
initialisiert worden sind, werden die Variablen der Maximum- und
Minimumwerte MIN, MAX, LMIN und LMAX in Schritt 635 initialisiert. Außerdem wird
in Schritt 635 der Gleichspannungsversatzwert auf = 0x7F
(hexadezimal 7F), ca. 2,5 V, was dem halben Spannungsbereich des
Komparators 606 entspricht, eingestellt, um einen ersten
Referenzwert des Logikzustands beim Hochfahren zu bestimmen. Dieser
Gleichspannungsversatzwert wird in Schritt 637 in den D/A 612 geschrieben.
Nach dem Initialisierungsprozess wird der digitale 8-Bit-Wert aus dem ADC 608 gelesen
und in Schritt 639 gleich einer Variablen VOLTAGE gesetzt.
Nachdem die 8-Bit-Spannung aus dem ADC 608 ausgelesen worden
ist, wird die Logikvariable STATE in den Schritten 630A und 632A geprüft. Wie
oben erwähnt wird
die Logikvariable STATE zunächst
auf den Voreinstellungswert gesetzt. Somit geht das System zunächst zu
Schritt 634A weiter, wo die aus dem ADC 608 ausgelesene
8-Bit-Spannung in den Schritten 634 und 636 mit
den Variablen MIN und MAX der Maximum- und Minimumwerte verglichen
wird. Wie oben erwähnt
bestimmt das System die minimalen und maximalen Spitzen der analogen
Eingangsspannung. Wird also in Schritt 634A bestimmt, dass
die aus dem ADC 608 ausgelesene Spannung niedriger ist
als die Mindestspannung (zunächst
in Schritt 635 auf 0XFF gesetzt), wird die Variable der
Mindestspannung MIN in Schritt 638 gleich dieser Spannung eingestellt.
Andernfalls geht das System zu Schritt 636 weiter, wo die
aus dem ADC ausgelesene Spannung mit der maximalen Spannung MAX
verglichen wird. Ist die aus dem ADC 608 ausgelesene Spannung
höher als
die maximale Spannung (zunächst
in Schritt 635 auf 0 gesetzt), wird die Variable MAX der maximalen
Spannung in Schritt 640 gleich diesem Wert eingestellt.
-
Das
System geht dann zu Schritt 642 weiter und berechnet den
Gleichspannungsversatz DC_OFFSET. Der Gleichspannungsversatz DC_OFFSET
wird bestimmt, indem die minimale und maximale Spannung summiert
und durch zwei dividiert werden. Nachdem der Gleichspannungsversatz DC_OFFSET
bestimmt worden ist, bestimmt das System, ob die Logikvariable STARTUP
gleich eins oder null ist. Wie oben erwähnt wird die Logikvariable STARTUP
zunächst
gleich logisch eins gesetzt. Somit geht das System zunächst weiter
zu Schritt 646 und bestimmt, ob die aus dem ADC 608 ausgelesene Spannung
niedriger ist als der berechnete Gleichspannungsversatz DC_OFFSET.
Das System wird zu 639 zurückgeschleift und liest eine
andere Spannung aus dem ADC 608 aus. Wenn die aus dem ADC 608 ausgelesene
Spannung niedriger ist als der berechnete DC_OFFSET, geht das System
zu Schritt 698 weiter und ändert den Status der Logikvariablen STARTUP
zu gleich 0 und schleift dann zurück zu Schritt 639,
um eine andere Spannung aus dem ADC auszulesen. Das System wiederholt
dann die Schritte 630A bis 642 und berechnet auf
Basis der neuen aus dem ADC 608 ausgelesenen Spannung einen
neuen Versatz.
-
Wenn
in Schritt 644 der Status der Logikvariablen STARTUP auf
null gesetzt worden ist, geht das System zu Schritt 650 weiter,
um zu bestimmen, ob die aus dem ADC 608 ausgelesene Spannung
höher ist
als der berechnete Gleichspannungsversatz DC_OFFSET. Ist dies nicht
der Fall, wird das System zu Schritt 639 zurückgeschleift,
um eine andere Spannung auszulesen, und führt dann die Schritt 630A bis 642 aus,
um einen anderen Gleichspannungsversatz DC_OFFSET zu berechnen.
Wenn die Spannung höher
ist als der berechnete Gleichspannungsversatz DC_OFFSET, was auf
eine Spannung über
dem zuletzt berechneten Gleichspannungsversatz hinweist, geht das
System zu Schritt 652 weiter und setzt den Status der Logikvariablen
STATE auf HI, um die hohe Spannungsspitze zu berechnen. Das System
geht dann zu Schritt 654 weiter und schreibt in Schritt 654 den
zuletzt berechneten Gleichspannungsversatz in den DAC 612.
Das System wird dann zu Schritt 639 zurückgeschleift und liest eine andere
ADC-Spannung aus, worauf es zu Schritt 630A weitergeht.
-
Wie
oben erwähnt,
prüft das
System in Schritt 630A, ob die Logikvariable STATE gleich
HI gesetzt ist. Ist dies der Fall, geht das System zu Schritt 656 weiter
und prüft,
ob die zuletzt aus dem ADC 608 ausgelesene Spannung höher ist
als die Variable LMAX. Ist dies nicht der Fall, geht das System
zu Schritt 658 weiter und prüft, ob die Spannung niedriger
ist als der berechnete Gleichspannungsversatz. Ist dies nicht der
Fall, wird das System zu Schritt 639 zurückgeschleift
und liest eine andere Spannung MIN aus dem ADC 608 aus.
Ist die zuletzt aus dem ADC 608 ausgelesene Spannung höher als
die maximale Spannung LMAX, wird die Variable LMAX in Schritt 660 gleich
dieser Spannung eingestellt. Nachdem die Spannung gleich LMAX eingestellt
worden ist, wird der Gleichspannungsversatz in Schritt 662 berechnet,
indem die Mindestspannung und die Spannung LMAX summiert und durch
zwei dividiert wer den. Nachdem der neue Gleichspannungsversatz DC_OFFSET
in Schritt 662 berechnet worden ist, prüft das System in Schritt 664,
ob die Spannung LMAX höher
ist als MAX. Ist dies der Fall, wird der in Schritt 662 berechnete
Gleichspannungsversatz in Schritt 666 in den DAC 612 geschrieben.
Danach geht das System zu Schritt 658 weiter. Ist dagegen die
Spannung LMAX nicht höher
als MAX, geht das System direkt zu Schritt 658 weiter und
bestimmt, ob die aus dem ADC 608 ausgelesene Spannung niedriger
ist als der Gleichspannungsversatz DC_OFFSET. Ist dies nicht der
Fall, schleift das System zurück
zu Schritt 639 und liest eine andere Spannung aus dem ADC 608 aus.
Ist die Spannung niedriger als der Gleichspannungsversatz, geht
das System zu Schritt 668 weiter und setzt STATE der Logikvariablen
auf Low, worauf in Schritt 670 die Variable MAX gleich
der Variablen LMAX gesetzt wird, während die Variable LMIN gleich
0XFF gesetzt wird. Das System wird anschließend zu Schritt 639 zurückgeschleift
und liest eine andere Spannung aus. Wenn sich das System im Status
Low befindet (d. h. STATE = LO), wie in Schritt 632A bestimmt
wird, prüft
das System in Schritt 672, ob die aus dem ADC 608 ausgelesene
Spannung niedriger ist als die Variable LMIN. Ist diese der Fall,
wird die Variable LMIN in Schritt 674 gleich dieser Spannung
gesetzt. Der Versatz wird dann in Schritt 676 berechnet,
indem die Variablen LMIN und MAX addiert und durch zwei dividiert
werden. Nachdem der Versatz in Schritt 676 bestimmt worden
ist, prüft
das System in 678, ob die Spannung LMIN niedriger ist als
MIN. Ist dies der Fall, wird der Gleichspannungsversatz in Schritt 680 in
den DAC 612 geschrieben. Das System geht dann zu Schritt 682 weiter.
Andernfalls geht das System direkt zu Schritt 682 weiter.
In Schritt 682 bestimmt das System, ob die Spannung niedriger
ist als der Gleichspannungsversatz. Ist dies der Fall, wird bestimmt, dass
sich das System im Status Low befindet, und es wird zu Schritt 639 zurückgeschleift
und liest eine andere Spannung aus. Andernfalls wechselt das System
in Schritt 684 in den Status High und setzt in Schritt 686 die
minimale Spannung MIN gleich LMIN und die Variable LMAX gleich 0.
-
Die
Bestimmung des Gleichspannungsversatzes ist ein iterativer Prozess.
Nachdem der Gleichspannungsversatz bestimmt worden ist, wird dieser
Wert an den DAC 612 gelegt, um den Gleichspannungsversatzwert
in einen analogen Wert zu wandeln. Der Ausgang des DAC 612 sowie
das Sensorausgangssignal werden dann an den Komparator 606 gelegt,
um ein digitales Ausgangssignal zu erzeugen.
-
Die 4A bis 4F zeigen
die Anwendung der Erfindung. Insbesondere sind ein beispielhaftes
analoges Eingangssignal VIN 690 und
ein Ausgangssignal der elektronischen Schaltung gemäß der vorliegenden
Erfindung für
verschiedene Gleichspannungsversatzwerte dargestellt. Wie dargestellt bleibt
das Ausgangssignal VOUT symmetrisch zur 0-Volt-Achse,
wenn sich der Gleichspannungsversatzpegel 687 des analogen
Eingangssignals VIN nach unten bewegt, wie
in den 4A bis 4F dargestellt.
-
Bei
einer alternativen Ausführungsform
der Erfindung ist die elektronische Schaltung dynamisch. Bei dieser
Ausführungsform
bestimmt die Schaltung den Gleichspannungsversatzpegel des eingehenden analogen
Sensorausgangssignals dynamisch. Der Gleichspannungsversatzpegel
wird dann zusammen mit dem ursprünglichen
analogen Sensorausgangssignal an einen Komparator gelegt, um ein
digitales Ausgangssignal bereitzustellen.