DE10036839A1 - Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motor, und Vorrichtung zur Durchführung eines solchen Verfahrens - Google Patents
Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motor, und Vorrichtung zur Durchführung eines solchen VerfahrensInfo
- Publication number
- DE10036839A1 DE10036839A1 DE10036839A DE10036839A DE10036839A1 DE 10036839 A1 DE10036839 A1 DE 10036839A1 DE 10036839 A DE10036839 A DE 10036839A DE 10036839 A DE10036839 A DE 10036839A DE 10036839 A1 DE10036839 A1 DE 10036839A1
- Authority
- DE
- Germany
- Prior art keywords
- time
- measurement
- point
- events
- rotor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P5/00—Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
- H02P5/68—Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors controlling two or more dc dynamo-electric motors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D5/00—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
- G01D5/12—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
- G01D5/14—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage
- G01D5/142—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage using Hall-effect devices
- G01D5/145—Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage using Hall-effect devices influenced by the relative movement between the Hall device and magnetic fields
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P3/00—Measuring linear or angular speed; Measuring differences of linear or angular speeds
- G01P3/42—Devices characterised by the use of electric or magnetic means
- G01P3/44—Devices characterised by the use of electric or magnetic means for measuring angular speed
- G01P3/48—Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
- G01P3/481—Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage of pulse signals
- G01P3/489—Digital circuits therefor
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P6/00—Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
- H02P6/14—Electronic commutators
- H02P6/16—Circuit arrangements for detecting position
- H02P6/17—Circuit arrangements for detecting position and for generating speed information
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P7/00—Arrangements for regulating or controlling the speed or torque of electric DC motors
- H02P7/06—Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current
- H02P7/18—Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power
- H02P7/24—Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices
- H02P7/28—Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices using semiconductor devices
- H02P7/285—Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices using semiconductor devices controlling armature supply only
- H02P7/288—Arrangements for regulating or controlling the speed or torque of electric DC motors for regulating or controlling an individual dc dynamo-electric motor by varying field or armature current by master control with auxiliary power using discharge tubes or semiconductor devices using semiconductor devices controlling armature supply only using variable impedance
Abstract
Es geht um ein Verfahren zur Gewinnung einer Information über die Drehzahl (n) eines rotierenden, im folgenden Rotor (32) genannten Objekts. Diesem Rotor ist ein Sensor zugeordnet, welcher ein Sensorsignal liefert, das pro Umdrehung des Rotors eine feste Zahl A von Ereignissen aufweist. Das Verfahren weist folgende Schritte auf: DOLLAR A a) Zu einem ersten Zeitpunkt wird die Messung einer Drehzahlinformation eingeleitet; DOLLAR A b) ein zweiter Zeitpunkt wird ermittelt, an dem ein dem ersten Zeitpunkt folgendes Ereignis des Sensorsignals auftritt; DOLLAR A c) die Zahl der folgenden Ereignisse des Sensorsignals wird erfasst; DOLLAR A d) an einem dritten, vorgegebenen Zeitpunkt wird die Beendigung der Messung der Drehzahlinformation eingeleitet; DOLLAR A e) ein vierter Zeitpunkt wird ermittelt, an dem, nach dem dritten, vorgegebenen Zeitpunkt, die Zahl der Ereignisse seit dem zweiten Zeitpunkt gleich a È A ist, DOLLAR A f) aus dem zeitlichen Abstand (DELTAt) zwischen zweitem Zeitpunkt und viertem Zeitpunkt sowie der bis zum vierten Zeitpunkt erfassten Zahl der Ereignisse wird eine Drehzahlinformation berechnet, DOLLAR A wobei a = 1, 2, 3, ..., und A = Zahl von Ereignissen pro voller Umdrehung des Rotors ist.
Description
Die Erfindung betrifft ein Verfahren zur Messung einer Frequenzinformation,
insbesondere einer Drehzahlinformation bei einem Motor, und eine Vorrichtung zur
Durchführung eines solchen Verfahrens.
Digitale Systeme zur Erfassung der Drehzahl eines rotierenden Objekts ("Rotor")
beruhen darauf, dass ein solcher Rotor pro Umdrehung eines oder mehrere
Signale erzeugt, z. B. Nadelimpulse, Impulsflanken, oder dgl. Diese Signale
werden nachfolgend auch als "Ereignisse" bezeichnet. Die Erfassung einer
Drehzahlinformation beruht darauf, dass der zeitliche Abstand zwischen derartigen
"Ereignissen" gemessen wird, oder dass gezählt wird, wieviele solche "Ereignisse"
pro Zeiteinheit auftreten.
Da mit zunehmender Drehzahl die Zahl solcher "Ereignisse" pro Zeiteinheit
zunimmt, wird zu ihrer Verarbeitung in einem digitalen System umso mehr
Rechenzeit benötigt, je höher die Drehzahl ist, so dass die Rechenzeit abnimmt, die
für andere Prozesse zur Verfügung steht.
Es ist eine Aufgabe der Erfindung, ein neues Verfahren zur Messung einer Fre
quenzinformation, insbesondere einer Drehzahlinformation bei einem Motor, und
eine Vorrichtung zur Durchführung eines solchen Verfahrens, bereitzustellen.
Nach einem ersten Aspekt der Erfindung wird diese Aufgabe gelöst durch ein
Verfahren gemäß Anspruch 1. Man erreicht so, dass die Messung der
Drehzahlinformation etwa beim ersten, vorgegebenen Zeitpunkt beginnt, und es
wird durch den ersten, vorgegebenen Zeitpunkt und den dritten, vorgegebenen
Zeitpunkt eine ungefähre Messdauer vorgegeben. Diese ungefähre Messdauer
wird nicht durch die Umdrehungsgeschwindigkeit des Rotors beeinflusst. Der Start
der Berechnung der Drehzahlinformation, welche Berechnung nach Ablauf der
Messung erfolgen kann, ist damit auch in etwa zeitlich bestimmt. Hierdurch wird ein
z. B. vorhandener Mikroprozessor oder Mikrocontroller (im folgenden: µC) bei allen
Drehzahlen gleichmäßig belastet, so dass auch für andere Aufgaben, z. B. die
Regelung der Drehzahl, immer genügend Rechenleistung zur Verfügung steht.
Dadurch, dass bei einer Messung die "Ereignisse" während einer vollen
Rotordrehung, oder einer Mehrzahl von vollen Rotordrehungen, erfasst werden,
findet eine Mittelwertbildung bei der Messung der Drehzahlinformation statt. Wird
die Drehzahl nämlich durch eine Mehrzahl kurzer Messungen ermittelt, z. B. durch
Messung während eines Teils einer Umdrehung, so muss man meist aus mehreren
Messwerten durch Rechnung einen gleitenden Mittelwert (moving average) bilden.
Dagegen erhält man durch die Erfindung ohne zusätzliche Rechnung einen
Mittelwert, wodurch z. B. ein µC zusätzlich entlastet wird. Und trotz der ungefähren
Vorgabe einer Messdauer durch die vorgegebenen Zeitpunkte findet bei dem
Verfahren die eigentliche Messung genau zwischen zwei Ereignissen des
Sensorsignals statt, welche derselben Drehstellung des Rotors zugeordnet sind,
d. h. die Drehzahlinformation wird während voller Umdrehungen gemessen. Dies ist
besonders bei Rotoren interessant, welche zur Erzeugung des Sensorsignals
mehrere Marken aufweisen, die differierende Winkelabstände haben. Bei einer
vorgegebenen Messung wird also an der gleichen Marke gemessen, also an
derselben Drehstellung des Rotors, so dass etwaige Unterschiede der
Winkelabstände keine Rolle spielen. Hierdurch ergibt sich eine hohe Genauigkeit
der Drehzahlmessung.
Eine andere vorteilhafte Weiterbildung der Erfindung ist Gegenstand des
Anspruchs 5. Durch ein solches Verfahren wird kontinuierlich eine
Drehzahlinformation gemessen, denn die folgende Messung schließt sich ohne
Lücken an die momentane Messung an. In der Nähe eines jeden vorgegebenen
Zeitpunkts wird eine momentane Messung beendet und eine neue Messung
begonnen. Wenn die vorgegebenen Zeitpunkte jeweils nach einer Zeit T_A
auftreten, so findet im Mittel jeweils nach der Zeit T_A eine Messung statt. Die
Verarbeitung der Messung, z. B. in einem µC, kann somit in regelmäßigen
Abständen stattfinden, welche unabhängig von der Drehzahl sind. Hierdurch wird
der µC bei allen Drehzahlen gleichmäßig beansprucht, so dass genügend
Rechenzeit für andere Aufgaben übrig bleibt, z. B. für die Kommutierung eines
elektronisch kommutierten Motors oder eine Drehzahlregelung.
Da in diesem Fall keine Pause zwischen den einzelnen Messungen liegt, ist dieses
Verfahren besonders gut geeignet, wenn für die Messung jede einzelne
Umdrehung des Rotors berücksichtigt werden muss, wie das z. B. bei Motoren mit
hochgenauen Reglern oder bei Schrittmotoren notwendig ist.
Die Erfindung betrifft ferner ein Verfahren gemäß Anspruch 11. Durch die
erfindungsgemäße Berücksichtigung des Rests bei der nachfolgenden Messung
wird bei einer Berechnung der Drehzahlinformation mittels Division bewirkt, dass
durch Rundung keine Drehzahlinformation verlorengeht. Dies führt in sehr
vorteilhafter Weise zu einer Erhöhung der Genauigkeit der Messung und ist von
großem Vorteil bei komplizierten Regelvorgängen, die hohe Präzision erfordern.
Dabei hat sich die Weiterbildung gemäß Anspruch 13 als außerordentlich
vorteilhaft erwiesen, weil ein solches Verfahren besonders tolerant gegen
Störimpulse ist. Ein Störimpuls bewirkt zwar bei der augenblicklichen Messung
einen Fehler, aber die nachfolgenden Messungen sind wieder korrekt, verwenden
jedoch für die Erfassung der Messdauer eine andere Rotorstellung als bisher.
Durch eine Vorrichtung gemäß Anspruch 14 ergibt sich ebenfalls eine Lösung der
gestellten Aufgabe. Die Vorteile entsprechen den weiter oben zu Anspruch 1
genannten Vorteilen.
Die bevorzugte Verwendung eines Ringzählers gemäß Anspruch 18 hat den
Vorteil, dass der Stopp der einen Messung und der Start der nachfolgenden
Messung gleichzeitig sind, weil der Ringzähler ständig läuft, so dass keine Fehler
durch eine Messverzögerung auftreten können und sich etwaige Verzögerungen,
z. B. durch gleichzeitiges Auftreten von zwei Interrupts, nachfolgend automatisch
ausgleichen. Dies ermöglicht eine lückenlose Erfassung der Drehzahl und einen
mittleren Fehler der Drehzahlerfassung, der bei Null liegt, da bei der Messung kein
Bit verlorengeht.
Weitere Einzelheiten und vorteilhafte Weiterbildungen der Erfindung ergeben sich
aus den im folgenden beschriebenen und in den Zeichnungen dargestellten, in
keiner Weise als Einschränkung der Erfindung zu verstehenden
Ausführungsbeispielen, sowie aus den übrigen Unteransprüchen. Es zeigt:
Fig. 1 eine Prinzipdarstellung einer erfindungsgemäßen Messung für einen
Rotor mit einer einzigen Marke 80,
Fig. 2 eine schematische Darstellung einer Drehzahlberechnungsfunktion,
Fig. 3 eine Prinzipdarstellung einer erfindungsgemäßen Messung für einen
Rotor mit zwei Marken 81 und 82,
Fig. 4 die Pinbelegung eines beim Ausführungsbeispiel verwendeten µC,
nämlich des Typs PIC 16C72 von Microchip,
Fig. 5 ein Schaltbild, welches Bauteile einer erfindungsgemäßen Anordnung
zeigt,
Fig. 6 eine Istfrequenz f vor und nach der Signalbearbeitung,
Fig. 7 ein Flussdiagramm mit einer Übersicht über das Gesamtprogramm,
Fig. 8 ein Funktionsregister,
Fig. 9 ein Zustandsdiagramm für ein erfindungsgemäßes Messverfahren,
Fig. 10 eine Prinzipdarstellung einer Messung gemäß Fig. 9 für einen Rotor mit
vier Marken,
Fig. 11 ein Flussdiagramm für eine Funktion TIMER0-Interrupt,
Fig. 12 ein Flussdiagramm für eine Funktion Hall-Interrupt,
Fig. 13 ein Flussdiagramm für eine Funktion CALC_n zur Berechnung der
Drehzahl,
Fig. 14 ein Flussdiagramm für eine Funktion RGL zur Regelung der Drehzahl, und
Fig. 15 eine Prinzipdarstellung einer Messung analog zu Fig. 3, bei welcher ein
Störsignal S auftritt, zur Erläuterung des hierbei auftretenden Vorgänge.
Gleiche oder gleich wirkende Teile werden nachfolgend mit denselben
Bezugszeichen bezeichnet und gewöhnlich nur einmal beschrieben.
Fig. 1 zeigt einen Rotor 32 mit einer Marke 80, und einen Sensor 61 für die Marke
80, der als Rotorstellungssensor dient. Der Rotor 32 ist gewöhnlich Teil eines
Motors M. Sofern es sich um einen elektronisch kommutierten Motor (ECM)
handelt, hat dieser gewöhnlich einen Rotorstellungssensor 61, der dann auch für
die vorliegende Erfindung verwendet werden kann. Die Marke 80 ist nur
symbolisch und nur zu didaktischen Zwecken dargestellt und kann z. B. eine
bestimmte magnetische Markierung des Rotors 32 sein, die durch einen Hallsensor
erfasst wird. In diesem Fall ist die Marke 80 für das Auge nicht sichtbar. Die Marke
80 könnte aber z. B. auch eine optische Markierung sein, oder ein Nocken, der
einen mechanischen Schalter betätigt. In einem Elektromotor werden meistens
magnetische Markierungen verwendet, vgl. den Rotor 32" in Fig. 10.
Der Sensor 61 detektiert mit Hilfe der Marke 80 ein Sensorsignal f. Dieses weist
Impulse an den Stellen 165, 166, 167, 168 etc. auf, wobei zwischen jeweils zwei
Impulsen eine Umdrehung des Rotors 32 stattgefunden hat. Die Zeitachse ist mit t
bezeichnet. Diese Impulse stellen "Ereignisse" (events) bei der Drehung des Rotors
32 dar. Bei Fig. 1 wird pro voller Rotorumdrehung 1 Ereignis erzeugt, nämlich 1
Impuls.
Mit Hilfe des Rotorstellungssignals f wird wie folgt die Drehzahl des Rotors 32
gemessen. In regelmäßigen Abständen T_A wird ein Startsignal 161, 163 etc.
erzeugt, mit dem jeweils eine neue Messung angefordert wird.
Auf das Startsignal an der Stelle 161 folgt der Impuls 165, und auf das Startsignal
an der Stelle 163 der Impuls 168. Die Messung geschieht zwischen den Stellen
165 und 168. Gemessen werden die Anzahl N der Impulse des Rotorstellungs
signals f, welche nach 165 bis einschließlich 168 auftreten, also hier N = 3, und die
für diese Impulse benötigte Zeit Δt(165-168). Hieraus lässt sich die Frequenz des
Rotorstellungssignals f und damit die Drehzahl des Rotors 32 bestimmen. An den
Stellen 165, 168 der Messung wird jeweils eine alte Messung beendet und eine
neue Messung gestartet. Man geht also hier so vor, dass bei dem auf das
Startsignal 161, 163 folgenden Impuls eine alte Messung beendet und simultan
eine neue Messung begonnen wird.
Die Anzahl N der Impulse kann z. B. gemessen werden, indem der Wert N am Ende
jeder Messung auf Null zurückgesetzt wird und anschließend der Wert N bei jedem
Impuls um 1 erhöht wird. Der Impuls 165 hat also die Ordnungszahl N = 0, der
Impuls 166 die Ordnungszahl N = 1, etc.
Die Zeit Δt kann z. B. gemessen werden, indem die Differenz zwischen der Zeit des
Starts der Messung, z. B. t(165) an der Stelle 165, und der Zeit des Endes der
Messung, z. B. t(168) an der Stelle 168, gebildet wird.
Beträgt z. B.
t(165) = 17,7 ms und
t(168) = 87,7 ms,
so ist
Δt(165-168) = 87,7 ms-17,7 ms = 70 ms.
t(165) = 17,7 ms und
t(168) = 87,7 ms,
so ist
Δt(165-168) = 87,7 ms-17,7 ms = 70 ms.
Durch die Startsignale 161, 163, welche in festen Abständen T_A auftreten, wird
ein Messfenster verwirklicht. Die Messungen finden jedoch nicht genau in diesem
Messfenster statt, sondern gemessen wird an einer geeigneten, auf das jeweilige
Startsignal folgenden Stelle, an der ein Impuls ("Ereignis") des
Rotorstellungssignals f auftritt. Bei einer Messung zum Zeitpunkt des jeweiligen
Startsignals würden der Anfang und das Ende der Messung in der überwiegenden
Anzahl der Fälle an irgendeiner Stelle zwischen zwei Impulsen des Sensorsignals
f stattfinden. Dies würde zu einer Ungenauigkeit in der Messung führen. Wird
jedoch bis zu dem nächsten Impuls gewartet, so werden volle Perioden zwischen
den Impulsen gemessen, was zu einer starken Erhöhung der Genauigkeit der
Messung führt.
Fig. 2 zeigt schematisch eine Berechnung der Drehzahl n in einer
Drehzahlberechnungsfunktion 170. Die Funktion 170 bekommt in zeitlichen
Abständen, welche im Mittel die Dauer T_A haben, als Eingabe die Anzahl N der
Impulse und die für diese Anzahl N benötigte Zeit Δt. Hieraus berechnet die
Funktion 170 eine Drehzahlinformation n als Quotient aus der Anzahl N und der
Zeit Δt
n = N/Δt (1)
Fig. 3 zeigt den Rotor 32' (eines Motors M_2) mit zwei Marken 81 und 82 und dem
Rotorstellungssensor 61. Die Marken 81 und 82 sind ungefähr 180° mech. versetzt.
Der Rotorstellungssensor 61 detektiert mit Hilfe der Marken 81 und 82 ein
Rotorstellungssignal f. Das Rotorstellungssignal f weist aufgrund der Marke 81
Impulse (weiss gefüllt dargestellt) an den Stellen 176, 178, 180, 182 etc. und
aufgrund der Marke 82 Impulse (schwarz gefüllt dargestellt) an den Stellen 175,
177, 179, 181 etc. auf. Zwischen jeweils zwei "weissen" Impulsen bzw. zwischen
jeweils zwei "schwarzen" Impulsen findet eine volle Umdrehung des Rotors 32'
statt.
Da die Impulse der Marken 81 und 82 nicht unterschieden werden können, kann
allgemeiner gesagt werden, dass zwischen jedem Impuls und dem übernächsten
Impuls, z. B. zwischen N = 1 und N = 3, eine Umdrehung des Rotors 32' stattfindet.
Der Messung der Drehzahl n des Rotors 32' fliegen folgende Überlegungen
zugrunde:
Die Marken 81, 82 können niemals vollkommen symmetrisch angeordnet werden.
Es ist z. B. möglich, dass die Marke 82 um wenige Grade von der symmetrischen
Position bei 180° mech. von der Marke 81, welche bei 0° mech. liegt, abweicht,
also z. B. bei 183° mech. positioniert ist. Hierdurch käme es bei einer Messung,
welche z. B. an der Stelle 176 (Marke 81) startet und bei der Stelle 181 (Marke 82)
endet, zu einem Messfehler, da der gemessene Winkelbereich nicht genau ein
Vielfaches von 180° mech. wäre.
Um dieses Problem zu beseitigen, werden in Fig. 3 jeweils nur volle Umdrehungen
gemessen, d. h. es wird immer zwischen der gleichen Art von Marke gemessen, und
damit wird immer genau ein Vielfaches von 360° mech. gemessen. Die Messung,
die bei 176 beginnt, nämlich nach einem Startimpuls 171, endet daher nicht an der
Stelle 181, sondern an der Stelle 182, welche die nächste auf einen Startimpuls
173 folgende Stelle ist, an der, von dem Start der Messung an der Stelle 176 aus
betrachtet, eine volle Umdrehung stattgefunden hat.
Diese Bedingung kann mathematisch mit der Funktion MODULO (mod)
beschrieben werden, wobei z. B.
N mod 2 = 0 (2)
bedeutet, dass bei einer Division des Wertes N durch 2 der Rest 0 übrigbleibt. So
ist z. B. 0 mod 2 = 0, 1 mod 2 = 1, 2 mod 2 = 0, 3 mod 2 = 1 usw.
In Fig. 3 ist bei 183 der Wert N mod 2 unter den Impulsen 175 bis 182 eingetragen,
und eine Messung endet/startet z. B. nur, wenn durch ein Startsignal 171, 173 eine
Messung angefordert ist und zusätzlich die Bedingung N mod 2 = 0 erfüllt ist.
Allgemeiner gesagt, sollte der Wert von N mod 2 bei Start und Stopp der Messung
derselbe sein.
Hat ein Rotor eine Zahl von A Markern, so lautet die Bedingung der Gleichung (2)
allgemein
N mod A = 0
bzw.
N mod A = 0
bzw.
N mod A = const. (3)
Im folgenden wird die Grösse A mit MOD_f bezeichnet, und Gleichung (3) lautet
dann
N mod MOD_f = 0
bzw.
N mod MOD_f = 0
bzw.
N mod MOD_f = const. (3a)
Die Wahl des ersten Markers kann dabei entweder durch ein besonderes Signal
erfolgen, oder es kann z. B. willkürlich das erste gemessene Ereignis (hier: 176) als
Ereignis mit der Ordnungszahl N = 0 gewählt werden. Aus der Erläuterung zu Fig.
15 wird dies noch deutlicher werden.
Die Messung erfolgt also bei Fig. 3 entweder, wie dargestellt, zwischen "weissen"
Impulsen, oder, wie in Fig. 15 rechts dargestellt, zwischen "schwarzen" Impulsen.
Beim Beispiel der Fig. 3 erfolgt die Messung zwischen den Impulsen 176 und 182.
Dort werden N = 6 Impulse gezählt, und der zeitliche Abstand zwischen den
Impulsen 176 und 182 wird ermittelt und beträgt Δt(176-182). Aus diesen beiden
Werten wird dann gemäss Gleichung (1) eine Drehzahlinformation n errechnet.
Es sei nochmals hervorgehoben, dass es in der Realität keine "weissen" oder
"schwarzen" Impulse gibt, sondern dass dies ein didaktisches Hilfsmittel zur
Erläuterung der Erfindung ist.
Fig. 4 zeigt eine Übersicht über die beim Ausführungsbeispiel verwendeten
Anschlüsse eines µC 23, hier vom Typ PIC 16C72 der Firma Microchip. Dies ist ein
8 Bit-Prozessor. Er enthält einen 16 Bit-Timer und einen 8 Bit-Timer, zwei PWM-
Register, und mehrere Interruptfunktionen. Naturgemäss stellt dieser Prozessor nur
ein Beispiel dar, hat sich aber bei der beschriebenen Ausführungsform bewährt.
Der µC 23 weist u. a. die Anschlüsse MCLR 37, VSS 38, CLKIN 39, CLKOUT 40, C1
41, B5 42, B4 43, VDD 44, VSS 45, SDA 46 und SCL 47 auf.
Fig. 5 zeigt ein Schaltbild einer bevorzugten Anordnung mit einem Elektromotor
M, dessen Drehzahl geregelt werden soll.
Die Anschlüsse des µC 23 sind in Fig. 4 dargestellt, und die entsprechenden
Bezugszeichen werden weiter verwendet. Der Anschluss MCLR 37 ist über einen
Widerstand 71 an einer Plus-Spannung + 5 V angeschlossen. Die Anschlüsse
CLKIN 39 und CLKOUT 40 sind mit einem Oszillatorquarz 75 verbunden, der die
Taktfrequenz für den µC 23 erzeugt. Der Anschluss VDD 44 ist an + 5 V
angeschlossen, der Anschluss VSS 45 an Masse GND, und zwischen beiden
Anschlüsse liegt ein Kondensator 77. Der µC 23 weist zwei Timer TIMER0 und
TIMER1 auf, sowie einen Zähler für die nachfolgend beschriebenen Variable
INT_CNT_f. Gleiche oder gleich wirkende Teile wie in den Fig. 1 bis 4 erhalten
dieselben Bezugszeichen.
Die durch den Rotorstellungssensor 61 detektierte Frequenz f (entsprechend der
Drehzahl des Motors M 32) gelangt über eine Leitung 29 an ein Filter FILT 57, und
von dort über die Leitung 59 an den Anschluss B5 42 des µC 23.
Der Motor 32 weist ein Stellglied SG 63 auf, welches die Größe des durch den
Motor 32 fließenden Stromes beeinflusst.
Das Stellglied 63 ist über eine Leitung 33 an einer Spannung + U_B
angeschlossen, und ein Stellwert SW wird dem Stellglied SG 63 über eine Leitung
27 von dem Anschluss C1 des µC 23 zugeführt, um die Grösse des Stromes zu
beeinflussen, der über SG63 zum Motor M fließt.
Der µC 23 erhält seine Betriebsspannung über den Anschluss VDD 44 an + 5 V
und VSS 45 an Masse GND. Über einen Siebkondensator 77 wird die
Versorgungsspannung gegen Spannungsspitzen und -einbrüche gesichert.
Die Anschlüsse SDA 46 und SCL 47 des µC 23 dienen zur seriellen Übertragung
von Daten und können z. B. mit einem EEPROM oder einem externen Bus
verbunden sein (nicht dargestellt).
Die Frequenz f wird von dem Rotorstellungssensor 61 geliefert, welcher eine
konstante Anzahl von Impulsen pro Umdrehung des Rotors 32 liefert. Als
Rotorstellungssensor 61 kann z. B. ein Hallgenerator oder ein optischer,
mechanischer, kapazitiver oder induktiver Sensor verwendet werden.
Das Filter 57 dient zur Aufbereitung der Flanken der Frequenz f, so dass bei einem
Flankenwechsel an dem interruptfähigen Eingang B5 42 sicher ein Hall-Interrupt
630 (Fig. 7) ausgelöst wird. Das Filter 57 kann z. B. ein RC-Glied oder ein Schmitt-
Trigger sein. Bei einem geeigneten Signal f vom Sensor 61 kann das Filter FILT 57
auch entfallen. Ein Beispiel für die Wirkung des Filters ist in Fig. 6 gezeigt.
TIMER0 des µC 23 wird zur Auslösung der Startsignale 171, 173 (Fig. 3) der
Messungen verwendet, indem er an den entsprechenden Stellen 171, 173 etc.
einen TIMER0-Interrupt 638 (Fig. 7) auslöst.
TIMER1 des µC 23 wird zur Bestimmung der Zeitdifferenz Δt (Fig. 3) verwendet. Der
TIMER1 ist bevorzugt als Ringzähler ausgebildet. Das hat den Vorteil, dass der
Ringzähler durchgehend mitläuft und bei einer Messung kein Bit verlorengeht. Man
erhält so eine Drehzahlerfassung mit einer sehr hohen Auflösung, die im Mittel mit
einem Messfehler Null arbeitet. Der Wert des TIMER1 wird bei jedem Interrupt
ausgelesen und gespeichert. Sollten einmal zwei Interrupts gleichzeitig auftreten,
so kann zwar eine geringe Messverzögerung auftreten, doch wird diese im
folgenden Messzyklus automatisch korrigiert, weil dieser dann automatisch etwas
zu kurz wird, denn der Stopp der einen Messung ist identisch mit dem Start der
nachfolgenden Messung, und die nachfolgende Messung wird begonnen, bevor
die aktuellen Messwerte ausgewertet werden.
Ein in dem µC 23 berechneter Stellwert SW für die Drehzahlregelung wird über
den Anschluss C1 41 z. B. als analoge Spannung SW ausgegeben und über die
Leitung 27 dem Stellglied SG 63 zugeführt, welches die Stromzufuhr für den Motor
M 32 steuert. Das Stellglied SG 63 kann z. B. als analoger Längssteller oder als
PWM-Stellglied ausgeführt sein.
Fig. 6A zeigt die Frequenz f, bevor sie in das Filter FILT 57 gelangt, und Fig. 6B
zeigt die Frequenz f, nachdem sie in dem Filter FILT 57 aufbereitet wurde. Die
Frequenz f aus Fig. 6A stammt z. B. von einem Hallgenerator, und die Flanken 109
sind weniger steil.
Die Frequenz f aus Fig. 6B ist durch das Filter 57 aufbereitet worden. Die Flanken
110 sind steil, und es kann sicher durch jede der steilen Flanken 110 im µC 23 ein
Interrupt 630 (Fig. 7) ausgelöst werden, welcher im folgenden Hall-Interrupt
genannt wird. Die Hall-Interrupts entsprechen hier den Impulsen 165 bis 168 der
Fig. 1 und 175 bis 182 der Fig. 3.
Im folgenden wird die Architektur des in dem µC 23 ablaufenden
Gesamtprogramms beschrieben. Daraufhin werden die einzelnen Unterprogramme
im einzelnen beschrieben.
Fig. 7 zeigt ein Flussdiagramm mit einer möglichen Ausführungsform des in dem
µC 23 ablaufenden Gesamtprogramms.
Ganz oben stehen zwei Interruptroutinen Hall-Interrupt S631 (Fig. 12) und TIMER0-
Interrupt S639 (Fig. 11), welche beim Auftreten des jeweiligen Interrupts 630 bzw.
638 ausgeführt werden und welche über 632, 640 auf das Hauptprogramm
einwirken. Dabei nimmt die Priorität, also die Reihenfolge, in der die einzelnen
Programmteile ausgeführt werden, von oben nach unten ab. Die Prioritäten sind
deshalb auf der rechten Seite mit L1 bis L7 bezeichnet, wobei eine kleinere Zahl
eine höhere Priorität bedeutet. L1 hat also die höchste Priorität.
Unter den Interruptroutinen beginnt das Hauptprogramm. Nach dem Einschalten
des Motors M wird in dem µC 23 ein interner Reset ausgelöst. In S600 erfolgt die
Initialisierung des µC 23.
Nach der Initialisierung erfolgt ein Sprung in einen sogenannten
Funktionsmanager 601, der in S602 beginnt. Der Funktionsmanager FCT_MAN
regelt den Ablauf der einzelnen Unterprogramme.
Als erstes werden die Funktionen abgearbeitet, die zeitkritisch sind und bei jedem
Durchlauf ausgeführt werden müssen. Hierzu zählt z. B. eine
Kommunikationsfunktion COMM in S604, welche die Datenübertragung zwischen
dem µC 23 und einem (nicht dargestellten) EEPROM oder Bus (Datenleitung)
durchführt. S606 steht für evtl. vorhandene weitere zeitkritische Funktionen.
Fig. 8 zeigt ein beispielhaftes Funktionsregister 605, in dem für jede Funktion der
Fig. 7 ein Bit reserviert ist.
In diesem Ausführungsbeispiel ist das Funktionsregister 605 1 Byte groß, und es
sind, von dem niederwertigsten Bit (LSB) beginnend, die folgenden
Anforderungsbits für die unten erklärten anforderbaren Funktionen definiert:
- - FCT_XY für eine beliebige Funktion S612,
- - FCT_CALC_n für eine Drehzahlberechnungsfunktion CALC_n S616,
- - FCT_RGL für eine Reglerfunktion RGL S620.
Die restlichen Bits Bit 3 bis Bit 7 sind für weitere anforderbare Funktionen reserviert,
die gegebenenfalls in den Funktionsmanager 601 integriert werden können.
Die Drehzahlberechnungsfunktion CALC_n S616 (Fig. 7) dient zur Berechnung der
Istdrehzahl n. Die Reglerfunktion RGL S620 (Fig. 14) berechnet den Stellwert SW
(Fig. 5) und gibt diesen an das Stellglied SG 63 des Motors M aus.
Soll eine bestimmte anforderbare Funktion durch eine andere Funktion oder durch
eine Interruptroutine angefordert werden, so wird das Bit der angeforderten
Funktion in dem Funktionsregister 605 (Fig. 8) auf 1 gesetzt, z. B. FCT_XY = 1. Das
nächste Mal, wenn der Funktionsmanager 601 (Fig. 7) bei einem Durchlauf keine
andere anforderbare Funktion mit höherer Priorität aufgerufen hat, wird diese
Funktion ausgeführt.
Ist eine angeforderte Funktion abgearbeitet, so setzt sie selbst ihr Anforderungsbit
wieder auf 0, also z. B. FCT_XY = 0. Dies ermöglicht es, längere Funktionen, die
nicht in einem Durchlauf abgearbeitet werden können, weil sie z. B. zu lange Zeit
benötigen, aufzuteilen und in mehreren Aufrufen abzuarbeiten.
In Fig. 7 wird nach S606 in einer vorbestimmten Reihenfolge, von der wichtigsten
anforderbaren Funktion ausgehend, geprüft, ob deren Anforderungsbit gesetzt ist.
Ist dies bei einer Funktion der Fall, so wird diese ausgeführt, und daraufhin wird
wieder an den Anfang FCT_MAN S602 des Funktionsmanagers 601 gesprungen.
Die Reihenfolge der Überprüfung des Funktionsregisters 605 gibt die Prioritierung
der anforderbaren Funktionen vor. Je höher eine solche Funktion in dem
Funktionsmanager 601 steht, desto höher ist ihre Priorität.
Anhand eines Beispiels soll die Funktionsweise des Funktionsmanagers 601
erläutert werden. Springt z. B. das Programm von S610 nach S614, so wird in S614
überprüft, ob das Funktionsregisterbit FCT_CALC_n = 1 ist, ob also die
Drehzahlberechnung CALC_n S616 angefordert wurde, die in Fig. 13 dargestellt
ist. Ist dies der Fall, so wird nach S616 gesprungen, und die Drehzahlberechnung
wird durchgeführt. Bei Beendigung setzt die Drehzahlberechnung CALC_n S616
das Anforderungsbit FCT_CALC_n wieder auf 0 zurück, vgl. S374 in Fig. 13, und
es wird wieder an den Anfang S602 des Funktionsmanagers 601 gesprungen.
War in keiner der Abfragen bis S618 ein Anforderungsbit gesetzt, so wird ohne
eine Aktion nach S602 zurückgesprungen, und die Funktionen S604 und S606,
die bei jedem Durchlauf des Funktionsmanagers 601 ausgeführt werden, werden
erneut abgearbeitet.
Durch den Funktionsmanager erhält man eine optimale Ausnutzung der
Ressourcen des µC 23.
Fig. 9 zeigt ein Zustandsdiagramm für die Messung der Frequenz. Das
Zustandsdiagramm weist vier Zustände S1, S2, S3 und S4 sowie sechs
Übergänge T1, T2, . . ., T6 auf. Zu jedem Übergang gehört ein Ereignis und eine
Aktion.
Die folgende Tabelle 1 zeigt für jeden Übergang das zugehörige Ereignis und die
zugehörige Aktion.
Das Zustandsdiagramm aus Fig. 9 wird anhand von Fig. 10 erklärt.
Fig. 10A zeigt schematisch einen vierpoligen permanentmagnetischen Rotor 32"
und einen Rotorstellungssensor 61, welcher hier z. B. als Hallsensor ausgebildet ist.
Der Rotor 32" hat zwei Südpole (S) 35 und 35' und zwei Nordpole (N) 34 und 34'.
Der Rotorstellungssensor 61 detektiert das Rotorstellungssignal f, welches bei
jedem Wechsel des sich drehenden Rotors 32" von einem Nordpol (N) zu einem
Südpol (S) bzw. umgekehrt eine Flanke 110 aufweist. Bei jeder Flanke 110 (Fig. 6B
und 10A) des Signals f wird in dem µC 23 ein Hall-Interrupt 630 ausgelöst (Fig. 7).
Pro Umdrehung des Rotors 32" werden also vier Hall-Interrupts 630 ausgelöst.
Die Fig. 10B und Fig. 10C zeigen ein zugehöriges Diagramm mit einem
Beispielsablauf für die Messung der Frequenz f.
Fig. 10B zeigt TIMER0-Interrupts 191, 193, 195, welche jeweils nach einer Zeit
T_A, z. B. T_A = 25 ms, durch den Timer TIMER0 (im µC 23) ausgelöst werden.
Fig. 10C zeigt das Frequenzsignal f, welches von dem Rotorstellungssensor 61
detektiert wird. An den Stellen 197, 199 und 201 werden jeweils die beiden
Variablen INT_MEAS_f (Anzahl der Flankenwechsel seit der letzten Messung) und
t_MEAS_f (Zeitpunkt der momentanen Messung) an die Drehzahlberechnung
CALC_n weitergegeben, die nachfolgend bei Fig. 13 erläutert wird.
Der Wert INT_MEAS_f wird mit Hilfe eines Flankenzählers INT_CNT_f (im µC 23)
bestimmt, welcher bei jedem Start einer Messung auf 0 zurückgesetzt und bei jeder
Flanke 110 um 1 erhöht wird. Der Wert INT_MEAS_f entspricht damit der Variablen
N aus Fig. 1 und Fig. 3, also der Zahl der gemessenen Ereignisse 110.
t_MEAS_f wird mit Hilfe von TIMER1 bestimmt, der bevorzugt als Ringzähler
ausgebildet ist, was eine lückenlose Erfassung aufeinanderfolgender Werte von
t_MEAS_f ermöglicht.
Die in Klammern angegebenen Zahlen bezeichnen den jeweiligen Zeitpunkt bzw.
Zeitbereich, für den der betreffende Wert gilt. So wird z. B. zum Zeitpunkt 199 der
Wert INT_MEAS_f(197-199), der die Anzahl der Flanken in dem Bereich von 197
bis 199 enthält, und der Wert t_MEAS_f(199), der den Zeitpunkt der Messung bei
199 enthält, an die Drehzahlberechnung CALC_n S616 übergeben.
INT_MEAS_f(197-199) beträgt z. B. 8, da acht Flanken 110 gezählt werden.
Fig. 10D zeigt den Wert, der sich bei der Berechnung von INT_CNT_f mod 4
ergibt. Die MODULO-Berechnung mit N mod MOD_f wurde in der Beschreibung zu
Fig. 3 erklärt. Der Wert N entspricht in diesem Ausführungsbeispiel dem Wert
INT_CNT_f, und die Größe MOD_f wurde gleich vier gewählt, da der Rotor 32"
vierpolig ausgebildet ist, also pro Umdrehung eine Zahl von A = 4 Ereignissen 110
auftritt. Wie in Fig. 10D dargestellt, ändert sich der Wert von INT_CNT_f mod 4 bei
jeder Flanke 110 des Signals f gemäß der Zahlenfolge 0, 1, 2, 3, 0, 1, 2, . . ., und
zwar ab Einschalten des Motors.
Anhand von Fig. 9, der Tabelle in der Beschreibung zu Fig. 9, und der Fig. 10 wird
nun die Frequenzmessung erläutert.
Zu dem in Fig. 10B bzw. Fig. 10C beliebig gewählten Zeitpunkt t = 0 befindet sich
die Frequenzmessung aus Fig. 9 im Zustand S1.
Bei jeder Flanke 110 (Fig. 10A) von f wird ein Hall-Interrupt 630 (Fig. 7) ausgelöst.
Dieser bewirkt folgendes:
- - Die Routine Hall-Interrupt S631 (Fig. 12) wird durch den Hall-Interrupt 630 ausgelöst,
- - in der Routine Hall-Interrupt S631 wird der Zähler INT_CNT_f für die Anzahl der Flanken 110 um 1 erhöht (S322 in Fig. 12),
- - in der Routine Hall-Interrupt S631 wird der augenblickliche Wert des Ringzählers TIMER1 gespeichert (S322 in Fig. 12).
Im Zustandsdiagramm (Fig. 9) ist dies dargestellt als Übergang T1 von Zustand S1
zu S1. Das Ereignis ist hier ein durch eine Flanke 110 ausgelöster Hall-Interrupt
630, und die Aktion besteht in der Zählung der Flanke 110 im Flankenzähler
INT_CNT_f, und der Speicherung des augenblicklichen Wertes des Ringzählers
TIMER1.
Ein anderes Ereignis löst den Übergang T2 von Zustand S1 nach Zustand S2 aus.
Das Ereignis ist das Auftreten eines durch den Timer TIMER0 ausgelösten TIMER0-
Interrupts. Der Timer TIMER0 löst in vorgegebenen Abständen T_A (Fig. 1, 3, 10B)
einen TIMER0-Interrupt 638 aus, z. B. an den Stellen 191, 193, 195. In der
zugehörigen Interruptroutine TIMER0-Interrupt S639 (Fig. 7 und 11) wird die
Frequenzmessung freigegeben. Der Timer TIMER0 definiert also aufeinander
folgende Fenster mit der Breite T_A.
Von Zustand S2 aus soll die eigentliche Messung von INT_MEAS_f und t_MEAS_f
stattfinden.
Wie Fig. 10 zeigt, findet die jeweilige Messung nicht genau zu den Zeitpunkten 191,
193 und 195 der Anforderung statt, sondern zu einem geeigneten Zeitpunkt,
welcher gewöhnlich etwas später liegt.
Im Zustand S2 werden weiterhin die Flanken 110 des Signals f erfasst, und es
findet bei jeder Flanke 110 ein Übergang T3 von S2 nach S2 analog zu T1 statt, in
dem der augenblickliche Wert des Ringzählers TIMER1 ausgelesen und
gespeichert und der Flankenzähler INT_CNT_f erhöht wird.
Zu der endgültigen Messung der Werte INT_MEAS_f und t_MEAS_f muss eine
weitere Bedingung erfüllt sein. Wie in der Beschreibung zu Fig. 3 erläutert, sind die
Marken, welche auf dem Rotor 32" angebracht sind, also hier die Wechsel der
Magnetisierung zwischen Nord und Süd, nicht immer symmetrisch am Rotor 32"
angeordnet. Daher ist es vorteilhaft, stets an der selben Marke zu messen, da man
so sicher sein kann, dass an derselben Stelle des Rotors 32" gemessen wird.
Die Anzahl der Flanken 110 des Signals f wird in der Variablen INT_CNT_f gezählt,
und gemäß Gleichung (3) kann die Bedingung, dass bei einem vierpoligen Rotor
immer ein Vielfaches von ganzen Umdrehungen gemessen wird, mit
INT_CNT_f mod 4 = 0 (4)
erreicht werden, oder alternativ mit
INT_CNT_f mod 8 = 0,
wobei im letzteren Fall immer frühestens nach zwei vollen Umdrehungen, oder
einem Vielfachen hiervon, gemessen wird. Bei INT_CNT_f mod 12 = 0 würde
frühestens nach drei vollen Umdrehungen gemessen, etc. Hierdurch würde jedoch
die Dynamik eines Reglers verschlechtert.
Bei Messung frühestens nach einer vollen Umdrehung muss also die Grösse
INT_CNT_f mod 4 bei jeder Messung denselben Wert haben. Gewöhnlich wird dies
der Wert Null sein, weil dann bei einem sechspoligen Rotor mit mod 6 (oder mod
12) gemessen werden kann, bei einem vierpoligen Rotor mit mod 4 (oder mit mod
8), und bei einem zweipoligen Rotor mit mod 2 oder mod 4, so dass nur die
entsprechenden Parameter 12, 8, 6, 4 oder 2 in den µC 23 eingegeben werden
müssen, um diesen auf einen anderen Motor umzustellen.
In Fig. 10D ist das Ergebnis von INT_CNT_f mod 4 für die jeweilige Flanke
angegeben. Beispielsweise ist nach der Anforderung der Messung an der Stelle
193 die Flanke 199, welche die achte Flanke nach der Stelle 197 ist, die erste
Flanke, bei welcher die Bedingung INT_CNT_f mod 4 = 0 der Gleichung (4) erfüllt
ist (8 mod 4 = 0), und deshalb findet an der Stelle 199 eine Messung statt.
Falls also die Anzahl der Flanken ein Vielfaches von MOD_f, hier MOD_f = 4, ist,
findet in Fig. 9 ein Übergang T4 von S2 nach S3 statt, die Anzahl der erfassten
Flanken seit der letzten Messung, welche in INT_CNT_f gespeichert ist, wird in
INT_MEAS_f gespeichert (S330 in Fig. 12), und der Zeitpunkt der aktuellen
Messung wird in t_MEAS_f gespeichert (S330 in Fig. 12). Die Werte INT_MEAS_f
und t_MEAS_f werden daraufhin der Drehzahlberechnung CALC_n S616
übergeben, die in Fig. 13 dargestellt ist, vgl. dort S370.
Aus dem aktuellen Wert t_MEAS_f(199) und dem gespeicherten Wert
t_MEAS_f(197) der letzten Messung kann die Zeit Δt_MEAS_f(197-199) bestimmt
werden, welche für die in der Variablen INT_MEAS_f(197-199) gezählten Flanken
benötigt wurde.
Eine alternative Möglichkeit, die Zeit Δt_MEAS_f zu bestimmen, liegt darin, die Zeit
jeweils am Anfang einer Messung auf Null zurückzusetzen. Dies kann z. B. durch
Setzen des Timers TIMER1 auf Null erfolgen. Am Ende der Messung entspricht die
Zeit im TIMER1 dem Wert Δt_MEAS_f. Hierdurch liegt an den Stellen 197, 199 und
201 direkt INT_MEAS_f und Δt_MEAS_f (vgl. Fig. 2) vor. Ein Nachteil des
Zurücksetzens des Timer TIMER1 liegt darin, dass er dann schlecht gleichzeitig für
andere Messungen verwendet werden kann.
Von Zustand S3 (Fig. 9), in welchem die letzte Messung abgeschlossen ist, führt
ein instantaner Übergang T5 zu dem Zustand S4, in welchem eine neue Messung
beginnt.
Vom Zustand S4 führt ein instantaner Übergang T6 zu dem Zustand S1, und die
Frequenzmessung ist wieder im Ausgangszustand S1. Während T6 wird die
nächste Messung vorbereitet. Z. B. wird der Zähler INT_CNT_f (für die Zahl der
Flanken 110) wieder auf Null zurückgesetzt (S330 in Fig. 12).
Die Messung gemäß Fig. 9 und 10 hat mehrere Vorteile:
Bei interruptbasierten Messungen wird man im allgemeinen zur Bestimmung der Drehzahl entweder bei jedem Interrupt oder nach einer festen Anzahl von Interrupts die Zeit zum vorherigen Interrupt messen und daraus die Drehzahl berechnen. Hierdurch kommen bei steigender Drehzahl immer häufiger neue Messwerte, welche verarbeitet werden müssen. Bei sehr hohen Drehzahlen würde dies zu einer Überlastung des µC 23 und zur Nichtberücksichtigung von einzelnen Messwerten führen.
Bei interruptbasierten Messungen wird man im allgemeinen zur Bestimmung der Drehzahl entweder bei jedem Interrupt oder nach einer festen Anzahl von Interrupts die Zeit zum vorherigen Interrupt messen und daraus die Drehzahl berechnen. Hierdurch kommen bei steigender Drehzahl immer häufiger neue Messwerte, welche verarbeitet werden müssen. Bei sehr hohen Drehzahlen würde dies zu einer Überlastung des µC 23 und zur Nichtberücksichtigung von einzelnen Messwerten führen.
Bei dem vorliegenden Messverfahren wird in vorgegebenen Abständen T_A
jeweils eine neue Messung eingeleitet. Der µC 23 wird dadurch bei allen
Drehzahlen bzw. Frequenzen gleich betastet.
Weiterhin weist das vorliegende Verfahren den Vorteil auf, dass bei der Messung
des Signals f mindestens bis zum nächsten Interrupt gemessen wird. So wird nicht
zu irgendeinem Zeitpunkt, der z. B. in der Mitte zwischen zwei Flanken 110 liegt,
gemessen, sondern es wird immer von Flanke zu Flanke gemessen, also von
Ereignis zu Ereignis, was die Genauigkeit der Messung erheblich erhöht, vgl. Fig.
10.
Eine weitere Erhöhung der Genauigkeit ergibt die Messung von jeweils einem
Vielfachen von MOD_f Flankenwechseln, da so z. B. Messfehler durch
Magnetisierungsfehler bei einem permanentmagnetischen Rotor bzw. durch
Symmetriefehler bei einer von außen zugeführten Frequenz vermieden werden.
Dies bedeutet z. B. bei einem vierpoligen Motor, dass eine Messung frühestens
beim vierten, beim 8., beim 12. etc. Flankenwechsel erfolgt, nämlich immer dann,
wenn INT_CNT_f mod 4 = 0 ist (Bei einem vierpoligen Rotor werden pro
Umdrehung vier Flanken 110 erzeugt).
Für diese Art der Messung bei einem Rotorstellungssignal f mit einer festen Anzahl
A von Ereignissen (Impulse in Fig. 3, Flanken 110 in Fig. 10A) pro Umdrehung des
Rotors 32" wird MOD_f auf diese feste Anzahl A gesetzt, so dass jeweils nach einer
vollen Umdrehung in der gleichen Stellung des Rotors 32" gemessen wird. Es wird
also immer bei dem Ereignis gemessen, welches bei einer bestimmten
Rotorstellung des Rotors 32" erzeugt wird. Hierzu ist es nicht notwendig, dass es
ein besonderes Ereignis gibt, welches von dem Rotorstellungssensor 61 detektiert
wird und bei welchem bekannt ist, dass eine volle Umdrehung durchlaufen wurde.
Vielmehr können alle Ereignisse pro Umdrehung des Rotors 32" identisch sein, da
das Messen von ganzen Umdrehungen durch die besondere Art der Messung mit
MOD_f automatisch abläuft.
Diese Art der Messung eignet sich in gleicher Weise für die Messung eines
Frequenzsignals f, welches dem µC 23 von einem externen Frequenzgenerator
zugeführt wird. Solche Signale f haben eventuell ebenfalls Unsymmetrien während
einer Periode der Frequenz f, wenn z. B. ein Nulldurchgang bei der halben Periode
etwas verschoben ist, so dass z. B. eine Messung mit mod 2 oder mod 4 Vorteile
haben kann und genauere Resultate bringt.
Fig. 15 zeigt einen Rotor 32' mit zwei Marken 81 und 82 und dem
Rotorstellungssensor 61, analog Fig. 3. Das Rotorstellungssignal f weist Ereignisse
in Form von Impulsen an den Stellen 217, 218, 219, . . ., 228 auf. Die Impulse
werden abwechselnd von der weissen Marke 81 und der schwarzen Marke 82
erzeugt, wenn diese an dem Rotorstellungssensor 61 vorbeidrehen und sind
deshalb - zum besseren Verständnis - weiss und schwarz dargestellt. Zusätzlich tritt
ein Störimpuls S zwischen den Impulsen 220 und 221 auf. Weiterhin sind
Steuersignale 211, 213 und 215 zur Anforderung einer Messung dargestellt.
Unter den Impulsen ist in der Reihe 232 der Wert des Zählers N für die Anzahl der
Impulse und in der Reihe 230 das Ergebnis der Berechnung von N mod 2
angegeben.
Eine Messung endet/beginnt im Normalfall immer dann, wenn durch ein
Steuersignal 211, 213 bzw. 215 eine Messung angefordert ist und zudem der Wert
von N mod 2 gleich Null ist, wenn sich der Rotor 32' also seit der letzten Messung
ein ganzzahliges Vielfaches einer Umdrehung gedreht hat.
Der Störimpuls S bewirkt, dass bei der Messung in dem Zeitraum Δt(218-223)
angenommen wird, dass der Rotor 32' zwischen den Impulsen 220 und 221 eine
ganze Umdrehung zurückgelegt hat, obwohl er erst eine halbe Umdrehung
zurückgelegt hat. Hierdurch wird nach dem Steuersignal 213 anstatt bei dem
"weissen" Signal 222 bei dem "schwarzen" Signal 223 gemessen, da N mod 2
nach dem Störimpuls S nicht mehr bei den "weissen" Impulsen den Wert Null hat,
sondern bei den "schwarzen" Impulsen.
Schon in dem folgenden Zeitraum Δt(223-227) funktioniert die Messung jedoch
wieder richtig, da jetzt jeweils bei "schwarzen" Impulsen gemessen wird. Es findet
also durch den Störimpuls S eine Verschiebung der Stellung des Rotors 32' statt,
an der gemessen wird. Dasselbe würde gelten, wenn ein Impuls fehlt. Das
Messverfahren arbeitet also nach einem Fehlersignal S richtig weiter und misst
weiterhin ein Vielfaches von einer ganzen Umdrehung. Dies stellt einen wichtigen
Vorteil dieser Ausführungsform dar.
Die Fig. 11 und Fig. 12 zeigen Flussdiagramme zu einem Programm für die in Fig.
9 und 10 beschriebene Messung.
Fig. 11 zeigt die Routine TIMER0-Interrupt S639 (Fig. 7), welche jeweils nach der
Zeit T_A (Fig. 10) die Frequenzmessung anfordert, welche anschließend in der
Routine Hall-Interrupt S631 stattfindet.
Es werden folgende Variablen benutzt
CNT_T_A Interner Zähler für die Zeit T_A
T_A_TIME Grenzwert für neue Messung
DO_MEAS_f Flag zum Aufrufen der Frequenzmessung.
CNT_T_A Interner Zähler für die Zeit T_A
T_A_TIME Grenzwert für neue Messung
DO_MEAS_f Flag zum Aufrufen der Frequenzmessung.
Bei jedem Auftreten eines TIMER0-Interrupts 638 (Fig. 7) wird die TIMER0-
Interruptroutine S639 ausgeführt.
In S352 werden evtl. weitere, hier nicht ausgeführte Schritte durchlaufen, falls z. B.
durch den Timer TIMER0 andere Programmteile gesteuert werden sollen.
In S354 beginnt ein Subtimer Subtimer_T_A. Subtimer bedeutet, dass durch die im
folgenden erläuterten Schritte S356, S358 und S362 die eigentliche Aktion in
S360 erst nach einer bestimmten Anzahl von TIMER0-Interrupts ausgelöst wird.
Dies hat den Vorteil, dass der Timer TIMER0 auch für andere Zwecke verwendet
werden kann, welche häufiger aufgerufen werden müssen.
In S356 wird der interne Zähler CNT_T_A um 1 erhöht.
In S358 wird überprüft, ob der Zähler CNT_T_A größer oder gleich dem Wert
T_A_TIME ist.
Falls nein, so wird sofort an das Ende S364 gesprungen, und die TIMER0-
Interruptroutine wird mit dem Befehl "RETI" verlassen.
Falls jedoch in S358 der Zähler CNT_T_A den Wert T_A_TIME erreicht hat, so wird
in S360 DO_MEAS_f auf 1 gesetzt.
Mit DO_MEAS_f = 1 wird der Interruptroutine Hall-Interrupt S631 (Fig. 12) mitgeteilt,
dass eine Messung der Frequenz f gestartet werden soll.
Der Aufruf in S360 findet z. B. alle 25 ms statt, wenn der TIMER0-Interrupt alle 10 µs
ausgelöst wird, und der Wert T_A_TIME = 2500 ist.
Die Zeit T_A muss an den jeweiligen Motor angepasst werden. Gibt der
Rotorstellungssensor 61 z. B. viele Ereignisse pro Umdrehung des Rotors 32, und
dreht der Rotor 32 schnell, so kann T_A kürzer gewählt werden. Dreht der Rotor 32
jedoch langsam, so muss T_A länger, z. B. T_A = 250 ms, gewählt werden.
In S362 wird der Zähler CNT_T_A wieder auf Null zurückgesetzt, um den Subtimer
Subtimer_T_A neu zu starten.
In Fig. 10 findet der Aufruf von S360 an den Stellen 191, 193 und 195 statt.
Fig. 12 zeigt ein Ausführungsbeispiel für die Interruptroutine Hall-Interrupt S631,
welche bei jedem durch das Auftreten einer Flanke 110 (Fig. 4B) des Signals f
ausgelösten Hall-Interrupt 630 ausgeführt wird. Dieser Interrupt wird so bezeichnet,
weil er gewöhnlich durch das Signal eines Hallgenerators 61 (im Motor M 32)
ausgelöst wird. Selbstverständlich könnte er ebenso durch eine optischen oder
mechanischen Sensor ausgelöst werden, und man könnte ihn auch als
sensorgesteuerten Interrupt bezeichnen.
Es werden folgende Variablen benutzt
INT_CNT_f Interruptzähler für die Erfassung der Flanken des Signals f
INC_f Inkrementwert
t_END_f Zeitpunkt des letzten Interrupts der Erfassung
MOD_f Anzahl der Interrupts für mod-Berechnung, vgl. die Gleichungen (3) und (3a)
t_MEAS_f Gemessene Zeit des letzten Interrupts
INT_MEAS_f Zahl der gemessenen Interrupts seit der letzten Messung
DO_MEAS_f Flag zum Aufrufen der Frequenzmessung
FCT_CALC_n Funktionsregisterbit der Funktion CALC_n S616 (Fig. 7 und 8).
INT_CNT_f Interruptzähler für die Erfassung der Flanken des Signals f
INC_f Inkrementwert
t_END_f Zeitpunkt des letzten Interrupts der Erfassung
MOD_f Anzahl der Interrupts für mod-Berechnung, vgl. die Gleichungen (3) und (3a)
t_MEAS_f Gemessene Zeit des letzten Interrupts
INT_MEAS_f Zahl der gemessenen Interrupts seit der letzten Messung
DO_MEAS_f Flag zum Aufrufen der Frequenzmessung
FCT_CALC_n Funktionsregisterbit der Funktion CALC_n S616 (Fig. 7 und 8).
In S302 können beliebige Schritte ausgeführt werden.
Die Routine Hall-Interrupt S631 sorgt bei einem elektronisch kommutierten Motor in
COMMUT S304 für die elektronische Kommutierung. Diese entfällt bei einem
Kollektormotor.
In MEAS_f S320 beginnt die Erfassung und Messung des Signals f. In S322 wird
der Interruptzähler INT_CNT_f, welcher z. B. 1 Byte groß ist, um den Wert INC_f,
z. B. INC_f = 1, erhöht, und der Wert t_TIMER1 des Ringzählers TIMER1 wird in
t_END_f gespeichert. Damit sind sowohl die Anzahl der Interrupts als auch die
momentane Zeit erfasst.
In S324 wird mit INT_CNT_f mod MOD_f = 0 überprüft, ob der Wert im
Interruptzähler INT_CNT_f ein Vielfaches von MOD_f ist. Bei MOD_f = 4 ist z. B.
INT_CNT_f = 20 ein Vielfaches von MOD_f, also 20 mod 4 = 0. Falls INT_CNT_f
nicht ein Vielfaches von MOD_f ist, so wird an das Ende S334 der Interruptroutine
gesprungen. Falls INT_CNT_f ein Vielfaches von MOD_f ist, so wird in S326
überprüft, ob DO_MEAS_f = 1 ist, ob also in dem Schritt S360 der Interruptroutine
TIMER0-Interrupt S639 (Fig. 11) eine Messung der Frequenz f angefordert wurde.
Falls nein, soll noch nicht gemessen werden, und es wird an das Ende S334
gesprungen. Falls ja, so wird in S328 anhand des Funktionsregisterbits
FCT_CALC_n überprüft, ob die letzte Drehzahlberechnung bereits abgeschlossen
ist. Falls FCT_CALC_n = 1 ist, so wird an das Ende S334 gesprungen. Dies
verhindert, dass Messungen verlorengehen, wenn die Drehzahlberechnung
CALC_n S616 zu viel Zeit benötigt. Dieser Sonderfall tritt im normalen Betrieb nicht
auf.
In S330 werden die Variablen t_MEAS_f und INT_MEAS_f gesetzt, welche der
Drehzahlberechnung CALC_n S616 übergeben werden, die bei Fig. 13
beschrieben wird.
Hierzu wird t_MEAS_f auf den letzten erfassten Timerwert t_END_f des
Ringzählers TIMER1 gesetzt, INT_MEAS_f wird auf den Wert des Interruptzählers
INT_CNT_f gesetzt, und INT_CNT_f wird auf Null zurückgesetzt.
In S332 wird die Drehzahlberechnung CALC_n S616 (Fig. 13) durch Setzen von
FCT_CALC_n auf 1 angefordert, und die Messanforderung wird durch
Zurücksetzen von DO_MEAS_f auf Null zurückgesetzt.
Die Routinen TIMER0-Interrupt S639 (Fig. 11) und Hall-Interrupt S631 (Fig. 12)
bewirken somit zusammen eine Messung der Frequenz, wie sie in Fig. 9
beschrieben ist.
Falls der µC 23 die Operation mod nicht beherrscht, bestehen andere
Möglichkeiten.
Bei vielen µCs ergibt eine ganzzahlige Division mit dem Befehl "div" als Ergebnis
sowohl den ganzzahligen Quotienten als auch den nicht-negativen Rest. So ergibt
z. B. 7 div 4 als Ergebnis den Quotienten 1 und den Rest 3. Bei solchen µCs kann
die Operation div zur Berechnung des Restes verwendet werden, und es wird dann
nur zu Zeitpunkten gemessen, an denen der Rest jeweils denselben Wert hat.
Eine weitere Möglichkeit der Berechnung von X mod MOD_f besteht z. B. in der
Verwendung einer weiteren Variablen MOD_CNT, welche bei jeder Erhöhung der
Variablen X ebenfalls erhöht wird, und welche bei Erreichen von MOD_f auf Null
zurückgesetzt wird. Die Variable MOD_CNT gibt dann das Ergebnis von X mod
MOD_f wieder.
Fig. 13 zeigt die Routine CALC_n S616, welche nach der Messung des
Timerwerts t_MEAS_f und der Anzahl der Flanken 110 (Fig. 4) des Signals f in
INT_MEAS_f durch die Routine Hall-Interrupt (S332 in Fig. 12) angefordert wird.
Es werden folgende Variablen benutzt
Δt_CALC_f Zeitdifferenz zur letzten Messung
t_OLD_f Zeitpunkt der letzten Messung
t_MEAS_f Zeitpunkt der momentanen Messung
INT_CALC_f Anzahl der Interrupts seit der letzten Messung für die Berechnung
INT_MEAS_f Übergebene Anzahl der Interrupts seit der letzten Messung
n Drehzahl des Motors M
REM_n Rest der ganzzahligen Division
const_f Faktor zur Parametrierung von INT_CALC_f
REM_n_OLD Rest der ganzzahligen Division der letzten Berechnung.
Δt_CALC_f Zeitdifferenz zur letzten Messung
t_OLD_f Zeitpunkt der letzten Messung
t_MEAS_f Zeitpunkt der momentanen Messung
INT_CALC_f Anzahl der Interrupts seit der letzten Messung für die Berechnung
INT_MEAS_f Übergebene Anzahl der Interrupts seit der letzten Messung
n Drehzahl des Motors M
REM_n Rest der ganzzahligen Division
const_f Faktor zur Parametrierung von INT_CALC_f
REM_n_OLD Rest der ganzzahligen Division der letzten Berechnung.
In S370 wird die Differenz zwischen dem Timerwert t_OLD_f der letzten Messung
und dem aktuellen Timerwert t_MEAS_f berechnet und in der Variablen Δt_CALC_f
gespeichert, welche dem Wert Δt_MEAS_f aus Fig. 10 entspricht. Die Differenz wird
bei Ringzählern üblicherweise mit Hilfe des Zweierkomplements gebildet. Der
aktuelle Timerwert t_MEAS_f wird daraufhin für die nächste Messung in t_OLD_f
gespeichert, und die gemessene Anzahl der Interrupts INT_MEAS_f wird in
INT_CALC_f gespeichert.
In S372 wird die Drehzahl n berechnet. Diese ist proportional zu dem Quotienten
aus der Anzahl der Interrupts INT_CALC_f, einem Maß für die Anzahl der
Umdrehungen, und der hierfür benötigten Zeit Δt_CALC_f. Es gilt
n = const_f.INT_CALC_f/Δt_CALC_f (5)
const_f ist eine Proportionalitätskonstante.
Der Interruptzähler INT_CALC_f, welcher in diesem Ausführungsbeispiel z. B. 4
Byte groß ist, wird mit const_f multipliziert.
Die Konstante const_f kann entweder so gewählt werden, dass das Ergebnis der
Division in S372 den Bereich, den der Wert n, welcher z. B. zwei Byte bzw. 16 Bit
groß ist, gut ausnutzt. Dies kann z. B. erreicht werden, indem const_f so gewählt
wird, dass bei der Anzahl der Impulse bei der maximalen Drehzahl dividiert durch
die Messfensterzeit T_A die Drehzahl ungefähr den Wert 2ˆ15 (wenn der Wert n 16
Bit groß ist) erhält. Hierdurch erhält man eine hohe Genauigkeit, die Drehzahl n
entspricht jedoch nicht der Drehzahl n_phys, gemessen in U/min.
Falls die Drehzahl n der Drehzahl n_phys mit der Einheit U/min entsprechen soll,
so muss const_f als
const_f = 60.TF/MOD_f (6)
gewählt werden, wobei TF ein Zeitfaktor ist, der aus dem Kehrwert der Zeiteinheit
des Ringzählers TIMER1 in s gebildet wird. Ist z. B. die Zeiteinheit des Timers
TIMER1 1 µs = 10ˆ(-6) s, so wird TF = 10ˆ6 gewählt. Für einen vierpoligen Motor M
mit MOD_f = 4 und TF = 10A6 ergibt sich z. B. const_f = 15.000.000.
Für die Berechnung der Drehzahl n wird eine ganzzahlige Division div verwendet,
welche als Ergebnis den ganzzahligen Quotienten n und den positiven Rest
REM_n ergibt. Für eine Beschreibung des Operators div vgl. die Erläuterungen zu
Fig. 10.
Als Beispiel folgt die Berechnung der Drehzahl für den Bereich zwischen den
Stellen 197 und 199 aus Fig. 10:
INT_MEAS_f ist ein Byte groß, INT_CALC vier Byte und Δt_CALC_f zwei Byte.
INT_MEAS_f ist ein Byte groß, INT_CALC vier Byte und Δt_CALC_f zwei Byte.
INT_MEAS_f(197-199) hat den Wert 8, es wurden also seit der letzten Messung
zum Zeitpunkt t_MEAS_f(197) acht Flanken 110 des Hallsignals (Fig. 10A) gezählt.
INT_CALC_f bekommt in 5370 den Wert INT_MEAS_f(197-199) = 8 zugewiesen.
In S372 wird INT_CALC_f mit const_f = 15.000.000 multipliziert und erhält den Wert
120.000.000.
Δt_MEAS_f(197-199) hat - als Beispiel - den Wert 26.700, welcher bei einer
Auflösung des Ringzählers TIMER1 von 1 µs einer Zeit von 26,7 ms entspricht.
Δt_CALC_f bekommt in S370 den Wert Δt_MEAS_f(197) = 26.700 zugeordnet.
Die Division von INT_CALC_f durch Δt_CALC_f ergibt die Drehzahl n = 4494 und
den Rest REM_n = 10200.
Die "physikalische" Drehzahl n_phys entspricht der Anzahl der Umdrehungen pro
Minute. Aus 8 Hallwechseln geteilt durch 4 Hallwechsel pro Umdrehung
(vierpoliger Rotor) ergeben sich 2 Umdrehungen, und die hierfür benötigte Zeit
beträgt 0,0267 s. Damit ergibt sich eine physikalische Drehzahl
n_phys = 2/0,0267 U/s = 74,906 U/s = 4494,4 U/min.
In der Berechnung wird auch der Rest REM_n_OLD der vorhergehenden
Drehzahlberechnung durch Addition zu dem Produkt aus INT_CALC_f und const_f
berücksichtigt.
In dem obigen Beispiel weicht z. B. die berechnete Drehzahl n ab, da die Division
die ganze Zahl 4494 anstelle des eigentlichen Ergebnisses von ca. 4494,4 ergibt.
Die Differenz geht jedoch nicht verloren, sondern sie wird bei der folgenden
Division in S372 durch die Addition des Restes REM_n_OLD der letzten Division
zum Zähler (Englisch: numerator) berücksichtigt.
Durch die Berücksichtigung des Restes REM_n_OLD wird in vorteilhafter Weise
erreicht, dass keine Information verlorengeht, und sie führt zu einer messbaren
Verbesserung des Reglers, sofern sie verwendet wird.
Nach der Berechnung von n und REM_n wird in S372 der Rest REM_n in
REM_n_OLD für die nächste Berechnung gespeichert.
In S374 wird das Funktionsregisterbit FCT_CALC_n (Fig. 8; Fig. 12, S332) wieder
auf Null zurückgesetzt, da die Drehzahlberechnung abgeschlossen ist, und mit
FCT_RGL: = 1 wird die Reglerfunktion angefordert.
Daraufhin wird an den Anfang S602 des Funktionsmanagers (Fig. 7) gesprungen.
Fig. 14 zeigt beispielhaft ein Flussdiagramm für ein Ausführungsbeispiel der
Reglerfunktion RGL S620 (Fig. 7), welche aus der Drehzahl n und einer
Solldrehzahl n s, welche z. B. fest vorgegeben ist, einen Stellwert RGL_VAL
berechnet und diesen ausgibt.
Es werden folgende Variablen benutzt
RGL_DIFF Regeldifferenz
RGL_PROP Proportionalanteil
RGL_P Proportionalfaktor
RGL_INT Integralanteil
RGL_I Integralfaktor
RGL_VAL Vom Regler berechneter Stellwert
RGL_MAX Maximaler Stellwert.
RGL_DIFF Regeldifferenz
RGL_PROP Proportionalanteil
RGL_P Proportionalfaktor
RGL_INT Integralanteil
RGL_I Integralfaktor
RGL_VAL Vom Regler berechneter Stellwert
RGL_MAX Maximaler Stellwert.
In S530 wird die Regeldifferenz RGL_DIFF als
RGL_DIFF: = n_s-n (7)
berechnet.
In S352 ist ein PI-Regler dargestellt.
Der Proportionalanteil RGL_PROP wird durch Multiplikation der Regeldifferenz
RGL_DIFF mit dem Proportionalfaktor RGL P berechnet.
Der neue Integralanteil RGL_INT wird durch Addition des vorhergehenden
Integralanteils und der mit dem Integralfaktor RGL_I multiplizierten Regeldifferenz
RGL_DIFF berechnet. Bevorzugt steht dem Integralanteil RGL_INT so viel Speicher
zur Verfügung, dass keine Information der Regeldifferenz verloren geht.
Der Stellwert RGL_VAL ergibt sich aus der Summe des Proportionalanteils
RGL_PROP und des Integralanteils RGL_INT.
In den Schritten S534 bis S540 wird eine Bereichsüberprüfung des Stellwerts
RGL_VAL durchgeführt.
Ist der Stellwert RGL_VAL in S534 kleiner als Null, so wird er in S536 auf Null
gesetzt.
Ist der Stellwert RGL_VAL in S538 größer als der maximal zulässige Wert
RGL MAX, so wird er in S540 auf RGL MAX gesetzt.
Liegt der Wert von RGL_VAL innerhalb eines zulässigen Bereichs, so wird er
unverändert verwendet.
In S542 wird das Register SW eines µC-internen D/A-Wandlers auf den Stellwert
RGL_VAL gesetzt, und das Signal SW wird an das Stellglied 63 ausgegeben.
Die Reglerfunktion S620 ist damit abgearbeitet, und das Funktionsregisterbit
FCT_RGL wird in S544 zurückgesetzt.
Daraufhin wird an den Anfang S602 des Funktionsmanagers (Fig. 7)
zurückgesprungen.
Naturgemäß sind im Rahmen der vorliegenden Erfindung vielfache Abwandlungen
und Modifikationen möglich. Z. B. kann die vorliegende Erfindung auch im Rahmen
anderer Regler verwendet werden, oder auch ohne Regler zur Messung einer
Drehzahl, oder einer Frequenz, die in Form einer Impulsfolge zugeführt wird. Die
Erfindung wurde zwar in Verbindung mit einem Elektromotor beschrieben, weil das
eine bevorzugte Anwendung darstellt, eignet sich aber in gleicher Weise für
Brennkraftmaschinen, Turbinen etc.
Claims (26)
1. Verfahren zur Gewinnung einer Information über die Drehzahl eines rotierenden,
im folgenden Rotor genannten Objekts, dem ein Sensor zugeordnet ist, welcher
ein Sensorsignal liefert, das pro Umdrehung des Rotors eine Zahl A von
Ereignissen nach Art von Impulsen, Flanken oder dergleichen aufweist, mit
folgenden Schritten:
A = Zahl von Ereignissen pro voller Umdrehung des Rotors.
- a) Zu einem ersten Zeitpunkt wird die Messung einer Drehzahlinformation eingeleitet;
- b) ein zweiter Zeitpunkt wird ermittelt, an dem ein dem ersten Zeitpunkt folgendes Ereignis des Sensorsignals auftritt;
- c) die Zahl der folgenden Ereignisse des Sensorsignals wird erfasst;
- d) an einem dritten, vorgegebenen Zeitpunkt wird die Beendigung der Messung der Drehzahlinformation eingeleitet;
- e) ein vierter Zeitpunkt wird ermittelt, an dem, nach dem dritten, vorgegebenen Zeitpunkt, die Zahl der Ereignisse seit dem zweiten Zeitpunkt gleich a*A ist;
- f) aus dem zeitlichen Abstand (Δt) zwischen zweitem Zeitpunkt und viertem Zeitpunkt sowie der bis zum vierten Zeitpunkt erfassten Zahl der Ereignisse wird eine Drehzahlinformation berechnet; wobei
A = Zahl von Ereignissen pro voller Umdrehung des Rotors.
2. Verfahren nach Anspruch 1, bei welchem sukzessive Messungen ohne Lücken
aneinander anschließen.
3. Verfahren nach Anspruch 2, bei welchem die ersten Zeitpunkte
aufeinanderfolgender Messungen vorgegebene zeitliche Abstände (Fig. 10:
T_A) aufweisen.
4. Verfahren nach einem der Ansprüche 1 bis 3, bei welchem mehrere Messungen
durchgeführt werden und der dritte vorgegebene Zeitpunkt jeder Messung einen
im wesentlichen konstanten zeitlichen Abstand (Fig. 10: T_A) vom ersten
Zeitpunkt dieser Messung hat.
5. Verfahren nach einem der Ansprüche 2 bis 4, bei welchem der dritte
vorgegebene Zeitpunkt einer Messung dem ersten Zeitpunkt einer
darauffolgenden Messung entspricht.
6. Verfahren nach Anspruch 5, bei welchem der vierte Zeitpunkt einer Messung
dem zweiten Zeitpunkt einer darauffolgenden Messung entspricht.
7. Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, bei
welchem bei der Ermittlung einer Drehzahlinformation eine Division zwischen
einem der Zahl der bis zum vierten Zeitpunkt erfassten Ereignisse proportionalen
Wert und einem der Zeitdauer zwischen zweitem und vierten Zeitpunkt
proportionalen Wert durchgeführt wird.
8. Verfahren nach Anspruch 7, bei welchem die Drehzahlinformation durch eine
Multiplikation mit einem konstanten Faktor parametriert wird.
9. Verfahren nach einem oder mehreren der vorhergehenden Ansprüche, bei
welchem, beginnend beim Ereignis, welches zum zweiten Zeitpunkt auftritt,
fortlaufend der Wert der Ordnungszahl (N) des Ereignisses modulo b.A gebildet
wird, und die Messdauer (Δt) zwischen Ereignissen erfasst wird, bei denen der
Wert von
(Ordnungszahl des Ereignisses modulo b.A)
derselbe ist, wobei
A = Zahl der Ereignisse pro Umdrehung des Rotors, und
b = 1, 2, 3 . . . sind.
(Ordnungszahl des Ereignisses modulo b.A)
derselbe ist, wobei
A = Zahl der Ereignisse pro Umdrehung des Rotors, und
b = 1, 2, 3 . . . sind.
10. Verfahren nach einem der Ansprüche 7 bis 9, bei welchem dann, wenn eine
Division zwischen einem der Zahl der erfassten Ereignisse proportionalen Wert
und einem der Zeitdauer zwischen zweitem und viertem Zeitpunkt proportionalen
Wert als Ergebnis eine ganzzahlige Drehzahlinformation und einen Rest ergibt,
dieser Rest durch Addition zum Zähler der darauffolgenden Messung
berücksichtigt wird. (Zähler = numerator)
11. Verfahren zur Gewinnung einer Information über die Drehzahl eines rotierenden,
im folgenden Rotor genannten Objekts, dem ein Sensor zugeordnet ist, welcher
ein Sensorsignal liefert, das pro Umdrehung des Rotors eine feste Zahl von
Ereignissen aufweist, mit folgenden Schritten:
- a) zwischen einem Ereignis mit der Ordnungszahl 0 (N = 0) und einem darauffolgenden Ereignis mit der Ordnungszahl a.A (N = a.A) wird eine Messdauer (Δt) gemessen, wobei die Zahl A vorgegeben ist und a eine ganze Zahl aus der Reihe 1, 2, 3, . . . ist;
- b) durch Division zwischen einem der Zahl A proportionalen Wert und einem der Messdauer (Δt) proportionalen Wert werden eine Drehzahlinformation (n) und ein bei der Teilung entstehender Rest (Fig. 13: REM_n) erzeugt;
- c) ab dem Ereignis mit der Ordnungszahl a.A wird eine zweite Messung gleicher Art durchgeführt;
- d) bei der Auswertung der zweiten Messung wird der genannte Rest (REM_n) durch Addition zum Zähler berücksichtigt (Fig. 13).
12. Verfahren nach Anspruch 11, bei welchem als Zahl A die Zahl der Ereignisse bei
einer vollen Umdrehung des Rotors verwendet wird.
13. Verfahren nach Anspruch 11 oder 12, bei welchem, beginnend beim Ereignis,
welches zum zweiten Zeitpunkt auftritt, fortlaufend der Wert der Ordnungszahl (N)
des Ereignisses modulo b.A gebildet wird, und die Messdauer (Δt) zwischen
Ereignissen erfasst wird, bei denen der Wert von
(Ordnungszahl des Ereignisses modulo b.A)
derselbe ist, wobei
A = Zahl der Ereignisse pro Umdrehung des Rotors, und
b = 1, 2, 3 . . . sind.
(Ordnungszahl des Ereignisses modulo b.A)
derselbe ist, wobei
A = Zahl der Ereignisse pro Umdrehung des Rotors, und
b = 1, 2, 3 . . . sind.
14. Vorrichtung zur Gewinnung einer Information über die Drehzahl eines
rotierenden, im folgenden Rotor (32; 32'; 32") genannten Objekts,
mit einem Sensor (61), welcher ein Sensorsignal (f) liefert, das pro Umdrehung
des Rotors eine feste Zahl A von Ereignissen (Fig. 10: 110) aufweist,
mit einer Quelle (23) für Steuersignale (Fig. 10: 191, 193, 195),
mit einem Zähler (INT_CNT_f) für Ereignisse (110) des Sensorsignals (f),
mit einer programmgesteuerten Vorrichtung (23) zum Auswerten der zuvor
genannten Signale, welcher Vorrichtung ein Programm zugeordnet ist, das zur
Ausführung der folgenden Schritte ausgebildet ist:
- a) Durch ein erstes Steuersignal (Fig. 10: 191) wird die Messung einer Drehzahlinformation eingeleitet;
- b) ein erster Zeitpunkt (Fig. 10: 197) wird ermittelt, an dem ein dem ersten Steuersignal folgendes Ereignis (110) des Sensorsignals (f) auftritt;
- c) die Zahl der folgenden Ereignisse (110) des Sensorsignals (f) wird durch den Zähler (INT_CNT_f) erfasst;
- d) durch ein zweiten Steuersignal (Fig. 10: 193) wird die Beendigung der Messung der Drehzahlinformation eingeleitet;
- e) ein zweiter Zeitpunkt (Fig. 10: 199) wird ermittelt, an dem ein dem zweiten Steuersignal (Fig. 10: 193) folgendes Ereignis des Sensorsignals (f) auftritt, bei dem die Zahl der durch den Zähler (INT_CNT_f) erfassten Ereignisse (110) durch den Wert A geradzahlig teilbar ist;
- f) aus dem zeitlichen Abstand (Fig. 10: Δt_MEAS_f(197-199)) zwischen erstem Zeitpunkt (Fig. 10: 197) und zweitem Zeitpunkt (Fig. 10: 199) sowie der bis zum zweiten Zeitpunkt (Fig. 10: 199) erfassten Zahl der Ereignisse des Sensorsignals (f) wird eine Drehzahlinformation berechnet.
15. Vorrichtung nach Anspruch 14, bei welcher der Geber für die Steuersignale
einen Timer (TIMER0) aufweist.
16. Vorrichtung nach Anspruch 15, bei welcher der Timer (TIMER0) als Steuersignal
jeweils einen Interrupt (TIMER0-Interrupt) auslöst.
17. Vorrichtung nach einem oder mehreren der Ansprüche 14 bis 16, bei welcher zur
Messung des zeitlichen Abstands zwischen erstem und zweitem Zeitpunkt ein
Timer (TIMER1) vorgesehen ist.
18. Vorrichtung nach Anspruch 17, bei welcher der Timer (TIMER1) zur Messung des
zeitlichen Abstands zwischen erstem und zweitem Zeitpunkt als Ringzähler
ausgebildet ist.
19. Vorrichtung nach Anspruch 18, bei welcher der Ringzähler (TIMER1) fortlaufend
zählt, und der zweite Zeitpunkt einer abgelaufenen Messung mit dem ersten
Zeitpunkt einer neuen Messung übereinstimmt.
20. Vorrichtung nach einem oder mehreren der Ansprüche 14 bis 19, bei welcher als
Sensorsignale die Rotorstellungssignale eines elektronisch kommutierten Motors
dienen.
21. Vorrichtung nach einem oder mehreren der Ansprüche 14 bis 20, bei welcher der
Zähler (INT_CNT_f) für Ereignisse (119) des Sensorsignals (f) in der
programmgesteuerten Vorrichtung (23) vorgesehen ist.
22. Verfahren zum Ermitteln einer Frequenz aus einem Signal (f), welches
Frequenzinformationen nach Art von Impulsen, Flanken oder dergleichen
aufweist, mit folgenden Schritten:
- a) Zu einem ersten Zeitpunkt wird eine Messung der Frequenz eingeleitet;
- b) ein zweiter Zeitpunkt wird ermittelt, an dem eine dem ersten Zeitpunkt folgende Frequenzinformation des Signals (f) auftritt;
- c) die Zahl der auf den zweiten Zeitpunkt folgenden Frequenzinformationen des Signals wird fortlaufend erfasst;
- d) zu einem dritten, vorgegebenen Zeitpunkt wird die Beendigung der Messung der Frequenz eingeleitet;
- e) ein vierter Zeitpunkt wird ermittelt, an dem eine dem dritten, vorgegebenen
Zeitpunkt folgende Frequenzinformation des Signals auftritt, bei welcher die
Zahl der Frequenzinformationen seit dem zweiten Zeitpunkt einem Wert a.A
entspricht, wobei
a = 1, 2, . . . und
A = 2, 3, . . . sind; - f) aus dem zeitlichen Abstand zwischen zweitem Zeitpunkt und viertem Zeitpunkt sowie der Zahl der bis zum vierten Zeitpunkt erfassten Frequenzinformationen des Signals wird eine die Frequenz charakterisierende Größe berechnet.
23. Verfahren nach Anspruch 22, bei welchem fortlaufend Messungen
vorgenommen werden, und der dritte, vorgegebene Zeitpunkt einer Messung
jeweils einen wesentlichen konstanten zeitlichen Abstand vom ersten,
vorgegebenen Zeitpunkt dieser Messung hat.
24. Verfahren nach Anspruch 23, bei welchem der dritte Zeitpunkt einer Messung
dem ersten Zeitpunkt einer folgenden Messung entspricht.
25. Verfahren nach Anspruch 23 oder 24, bei welchem der vierte Zeitpunkt einer
Messung dem zweiten Zeitpunkt einer folgenden Messung entspricht.
26. Verfahren nach einem oder mehreren der Ansprüche 22 bis 25, bei welchem,
beginnend beim Ereignis, das zum zweiten Zeitpunkt auftritt, fortlaufend der Wert
der Ordnungszahl (N) der auftretenden Ereignisse modulo b.A gebildet wird,
und der zeitliche Abstand (Δt) zwischen Ereignissen ermittelt wird, bei denen die
Ordnungszahl des Ereignisses modulo b.A denselben Wert hat, wobei b eine
ganze Zahl aus der Reihe 1, 2, 3 . . . ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10036839A DE10036839A1 (de) | 1999-09-22 | 2000-07-28 | Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motor, und Vorrichtung zur Durchführung eines solchen Verfahrens |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19945313 | 1999-09-22 | ||
DE10036839A DE10036839A1 (de) | 1999-09-22 | 2000-07-28 | Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motor, und Vorrichtung zur Durchführung eines solchen Verfahrens |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10036839A1 true DE10036839A1 (de) | 2001-04-12 |
Family
ID=7922835
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE50014906T Expired - Lifetime DE50014906D1 (de) | 1999-09-22 | 2000-07-26 | Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motors, und Vorrichtung zur Durchführung eines solchen Verfahrens |
DE10036839A Withdrawn DE10036839A1 (de) | 1999-09-22 | 2000-07-28 | Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motor, und Vorrichtung zur Durchführung eines solchen Verfahrens |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE50014906T Expired - Lifetime DE50014906D1 (de) | 1999-09-22 | 2000-07-26 | Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motors, und Vorrichtung zur Durchführung eines solchen Verfahrens |
Country Status (4)
Country | Link |
---|---|
US (1) | US6496786B1 (de) |
EP (1) | EP1087232B1 (de) |
AT (1) | ATE383581T1 (de) |
DE (2) | DE50014906D1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003012971A1 (de) * | 2001-08-01 | 2003-02-13 | Papst-Motoren Gmbh & Co Kg | Verfahren zum bestimmen eines numerischen wertes für die zeitliche dauer eines sich periodisch wiederholenden impulsförmigen signals, und vorrichtung zur durchführung eines solchen verfahrens |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1214602B8 (de) * | 1999-09-22 | 2005-12-07 | ebm-papst St. Georgen GmbH & Co. KG | Verfahren zur drehzahlregelung eines motors und motor zur durchführung eines solchen verfahrens |
JP4386649B2 (ja) * | 2003-01-21 | 2009-12-16 | 株式会社デンソー | 指針計器 |
KR100719110B1 (ko) * | 2005-11-11 | 2007-05-17 | 삼성전자주식회사 | 엔코더 속도정보를 취득하는 전자장치 및 그의 속도정보취득방법 |
EP1971766A2 (de) * | 2006-01-10 | 2008-09-24 | AVL List GmbH | Verfahren zur bestimmung eines drehzahlsignals einer elektrischen maschine |
US9074770B2 (en) | 2011-12-15 | 2015-07-07 | Honeywell International Inc. | Gas valve with electronic valve proving system |
US9557059B2 (en) | 2011-12-15 | 2017-01-31 | Honeywell International Inc | Gas valve with communication link |
US9846440B2 (en) | 2011-12-15 | 2017-12-19 | Honeywell International Inc. | Valve controller configured to estimate fuel comsumption |
US9851103B2 (en) | 2011-12-15 | 2017-12-26 | Honeywell International Inc. | Gas valve with overpressure diagnostics |
US8899264B2 (en) | 2011-12-15 | 2014-12-02 | Honeywell International Inc. | Gas valve with electronic proof of closure system |
US8905063B2 (en) | 2011-12-15 | 2014-12-09 | Honeywell International Inc. | Gas valve with fuel rate monitor |
US9995486B2 (en) | 2011-12-15 | 2018-06-12 | Honeywell International Inc. | Gas valve with high/low gas pressure detection |
US9835265B2 (en) | 2011-12-15 | 2017-12-05 | Honeywell International Inc. | Valve with actuator diagnostics |
US8947242B2 (en) | 2011-12-15 | 2015-02-03 | Honeywell International Inc. | Gas valve with valve leakage test |
US8839815B2 (en) | 2011-12-15 | 2014-09-23 | Honeywell International Inc. | Gas valve with electronic cycle counter |
US10422531B2 (en) | 2012-09-15 | 2019-09-24 | Honeywell International Inc. | System and approach for controlling a combustion chamber |
US9234661B2 (en) | 2012-09-15 | 2016-01-12 | Honeywell International Inc. | Burner control system |
KR102206697B1 (ko) * | 2013-06-12 | 2021-01-25 | 바르실라 핀랜드 오이 | 엔진의 각속도 결정 |
EP2868970B1 (de) | 2013-10-29 | 2020-04-22 | Honeywell Technologies Sarl | Regelungsvorrichtung |
US10024439B2 (en) | 2013-12-16 | 2018-07-17 | Honeywell International Inc. | Valve over-travel mechanism |
WO2015150190A1 (de) | 2014-04-04 | 2015-10-08 | Robert Bosch Gmbh | Verfahren, antriebssystem und fahrzeug |
WO2016025710A1 (en) * | 2014-08-13 | 2016-02-18 | Fisher-Rosemount Systems, Inc. | Model predictive control using wireless process signals |
US9841122B2 (en) | 2014-09-09 | 2017-12-12 | Honeywell International Inc. | Gas valve with electronic valve proving system |
US9645584B2 (en) | 2014-09-17 | 2017-05-09 | Honeywell International Inc. | Gas valve with electronic health monitoring |
US10503181B2 (en) | 2016-01-13 | 2019-12-10 | Honeywell International Inc. | Pressure regulator |
US10564062B2 (en) | 2016-10-19 | 2020-02-18 | Honeywell International Inc. | Human-machine interface for gas valve |
US10044302B2 (en) * | 2017-01-06 | 2018-08-07 | Honeywell International Inc. | Methods and apparatus for multi-mode motor speed calculation using digital hall effect sensors |
JP6452210B1 (ja) * | 2017-09-12 | 2019-01-16 | Ckd日機電装株式会社 | 速度検出装置 |
US11073281B2 (en) | 2017-12-29 | 2021-07-27 | Honeywell International Inc. | Closed-loop programming and control of a combustion appliance |
US10697815B2 (en) | 2018-06-09 | 2020-06-30 | Honeywell International Inc. | System and methods for mitigating condensation in a sensor module |
DE102019119670A1 (de) * | 2019-07-19 | 2021-01-21 | Infineon Technologies Ag | Umdrehungszähler und Abtasten eines Drehwinkels |
EP4096087A1 (de) * | 2021-05-27 | 2022-11-30 | Hilti Aktiengesellschaft | Elektrische antriebseinheit für eine handwerkzeugmaschine |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2949131A1 (de) | 1979-12-06 | 1981-06-11 | Deuta-Werke Vorm. Deutsche Tachometerwerke Gmbh, 5070 Bergisch Gladbach | Verfahren zum messen der geschwindigkeit von schienenfahrzeugen und vorrichtung zur durchfuehrung des verfahrens |
JPS5759171A (en) | 1980-09-27 | 1982-04-09 | Toyota Motor Corp | Detection of rotating speed of rotating member in vehicle |
US4612503A (en) * | 1980-10-21 | 1986-09-16 | Kabushiki Kaisha S G | Rotation speed detection device having a rotation angle detector of inductive type |
JPS57144465A (en) | 1981-02-28 | 1982-09-07 | Hitachi Ltd | Speed detecting method |
US4485452A (en) | 1982-03-22 | 1984-11-27 | The Bendix Corporation | Speed measurement system |
US4800508A (en) | 1986-06-30 | 1989-01-24 | Eaton Corporation | Frequency detector |
DE3709395A1 (de) | 1987-03-21 | 1988-09-29 | Licentia Gmbh | Verfahren und vorrichtung zur digitalen bestimmung einer der drehzahl eines koerpers proportionalen zahl |
US4912661A (en) * | 1987-12-01 | 1990-03-27 | Hewlett-Packard Company | Tracking and resampling method and apparatus for monitoring the performance of rotating machines |
US5237521A (en) * | 1990-08-20 | 1993-08-17 | Xerox Corporation | High resolution position measurement system |
US5445028A (en) * | 1992-09-18 | 1995-08-29 | Ametek Aerospace Products Inc. | Dynamic digital tracking filter |
US5502376A (en) * | 1994-05-24 | 1996-03-26 | Avtron Manufacturing, Inc. | Apparatus for controlling the duty cycle of a pulse generator |
DE19530677A1 (de) | 1995-08-21 | 1997-02-27 | Siemens Ag | Verfahren zur Geschwindigkeits- oder Drehzahlmessung |
DE19536840A1 (de) | 1995-10-02 | 1997-04-03 | Asea Brown Boveri | Verfahren zur Drehzahlmessung |
JP2953502B2 (ja) * | 1996-06-28 | 1999-09-27 | 日本精機株式会社 | ステッピングモータ式計器の駆動装置 |
EP0849598A1 (de) | 1996-12-20 | 1998-06-24 | Mannesmann VDO Aktiengesellschaft | Verfahren und Anordnung zur genauen Bestimmung der Geschwindigkeit eines umlaufenden Bauteiles, insbesondere der Radgeschwindigkeit eines Kraftfahrzeuges |
-
2000
- 2000-07-26 DE DE50014906T patent/DE50014906D1/de not_active Expired - Lifetime
- 2000-07-26 EP EP00115977A patent/EP1087232B1/de not_active Expired - Lifetime
- 2000-07-26 AT AT00115977T patent/ATE383581T1/de not_active IP Right Cessation
- 2000-07-28 DE DE10036839A patent/DE10036839A1/de not_active Withdrawn
- 2000-09-19 US US09/665,498 patent/US6496786B1/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003012971A1 (de) * | 2001-08-01 | 2003-02-13 | Papst-Motoren Gmbh & Co Kg | Verfahren zum bestimmen eines numerischen wertes für die zeitliche dauer eines sich periodisch wiederholenden impulsförmigen signals, und vorrichtung zur durchführung eines solchen verfahrens |
Also Published As
Publication number | Publication date |
---|---|
ATE383581T1 (de) | 2008-01-15 |
EP1087232B1 (de) | 2008-01-09 |
DE50014906D1 (de) | 2008-02-21 |
EP1087232A1 (de) | 2001-03-28 |
US6496786B1 (en) | 2002-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1087232B1 (de) | Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motors, und Vorrichtung zur Durchführung eines solchen Verfahrens | |
EP1214602B1 (de) | Verfahren zur drehzahlregelung eines motors und motor zur durchführung eines solchen verfahrens | |
EP1630363A1 (de) | Verfahren zum Bestimmen der Phasenlage einer Nockenwelle einer Brennkraftmaschine | |
DE2645350C3 (de) | Elektronische Vorrichtung zur Zündsteuerung für Brennkraftmaschinen | |
EP1792057B1 (de) | Verfahren zur lagebestimmung bei einem ec-motor | |
EP1596493B1 (de) | Verfahren zum Messen der Drehzahl eines EC-Motors | |
WO1993007497A1 (de) | Verfahren zur adaption von mechanischen toleranzen eines geberrades | |
DE102005019515C5 (de) | Verfahren zum Messen der Drehzahl eines EC-Motors | |
DE10233379A1 (de) | Verfahren zum Bestimmen eines numerischen Wertes für die zeitliche Dauer eines sich periodisch wiederholenden impulsförmigen Signals, und Vorrichtung zur Durchführung eines solchen Verfahrens | |
DE2553806C3 (de) | Schaltungsanordnung zur digitalen Messung der Periodendauer einer Wechselspannung | |
DE102005035881A1 (de) | Verfahren zum Bestimmen der Drehwinkellage der Nockenwelle einer Hubkolben-Verbrennungsmaschine relativ zur Kurbelwelle | |
DE102006061580A1 (de) | Verfahren zur Bestimmung der Drehzahl einer rotierenden Welle | |
EP1118152B1 (de) | Elektronisch kommutierter motor | |
EP2553399B1 (de) | Verfahren zur systematischen behandlung von fehlern | |
WO2011121069A2 (de) | Vorrichtung und verfahren zur verarbeitung von signalen, die eine winkelstellung einer welle eines motors repräsentieren | |
DE2642645A1 (de) | Digitales tachometer zur bestimmung und anzeige der drehzahl einer sich drehenden einrichtung | |
EP2597429B1 (de) | Verfahren und Anordnung zur Bestimmung des dynamischen Zustands eines Elektromotors | |
DE60214588T2 (de) | Winkelgeschwindigkeitsaufnehmer | |
DE102010016065A1 (de) | Verfahren zum Initialisieren eines Anzeigeinstruments für ein Fahrzeug | |
DE2614858B2 (de) | ||
DE3542908C2 (de) | ||
DE3709395A1 (de) | Verfahren und vorrichtung zur digitalen bestimmung einer der drehzahl eines koerpers proportionalen zahl | |
DE3933148C2 (de) | Vorrichtung und Verfahren zur Zylindererkennung für eine Mehrzylinderbrennkraftmaschine | |
DE3718207A1 (de) | Verfahren zur steuerung der drehzahl eines rotors | |
DE3044924A1 (de) | Einrichtung zum messen der drehzahl |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: EBM-PAPST ST. GEORGEN GMBH & CO. KG, 78112 ST. GEO |
|
8110 | Request for examination paragraph 44 | ||
8130 | Withdrawal | ||
R120 | Application withdrawn or ip right abandoned |
Effective date: 20110224 |