(19)
(11) EP 2 000 873 A1

(12) EUROPÄISCHE PATENTANMELDUNG

(43) Veröffentlichungstag:
10.12.2008  Patentblatt  2008/50

(21) Anmeldenummer: 08008976.6

(22) Anmeldetag:  15.05.2008
(51) Internationale Patentklassifikation (IPC): 
G05B 23/02(2006.01)
G01P 3/489(2006.01)
G01P 3/481(2006.01)
(84) Benannte Vertragsstaaten:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR
Benannte Erstreckungsstaaten:
AL BA MK RS

(30) Priorität: 06.06.2007 DE 102007026344

(71) Anmelder: Francotyp-Postalia GmbH
16547 Birkenwerder (DE)

(72) Erfinder:
  • Müller, Ralf
    13355 Berlin (DE)

   


(54) Korrekturverfahren für eine mikroprozessor-gesteuerte digitale Regelung


(57) Ein Korrekturverfahren für eine mikroprozessor-gesteuerte digitale Regelung eines Antriebsmotors, wobei die für die Regelung des Motors verwendete Messanordnung vereinfacht ist, wodurch die Istwertaufnahme nicht immer periodisch vom Mikroprozessor zum geforderten Zeitpunkt durchgeführt werden kann, macht sporadische Messfehler einer vereinfachten Messanordnung unwirksam, indem einzelne Messwerte mit einer plötzlichen Änderung ausgelesen und statt dessen Korrekturwerte für die Regelung verwendet werden.




Beschreibung


[0001] Die Erfindung betrifft ein Korrekturverfahren für eine mikroprozessor-gesteuerte digitale Regelung, gemäß des Oberbegriffs des Anspruchs 1. Das Verfahren dient zum Ausgleich von zeitverzögerten Zugriffen auf Istwerte bei digitalen Regelungen, zum Beispiel bei einer Motorregelung. Die Erfindung kommt in Geräten mit Relativbewegung zwischen einem Thermotransferdruckkopf und dem Druckgut zum Einsatz, insbesondere in Frankier- und/oder Adressiermaschinen, in Peripheriegeräten bzw. in anderen Postverarbeitungsgeräten.

[0002] Bei einer Motorregelung kommt es auf die Erfassung des Istwertes und einem Vergleich mit dem Sollwert an. Ist der Istwert kleiner, wird der Motor beschleunigt und im umgekehrten Fall gebremst. Bei einer digitalen Regelung ist es wichtig, in konstanten Zeitabständen Messwertaufnahmen durchzuführen. Dies kann von einer Hardware durchgeführt werden, aus Kostengründen aber auch vom Prozessor selber.

[0003] Aus dem Europäischen Patent EP 177 055 B2 ist eine Frankiermaschine mit mikroprozessorgesteuerten Gleichstrommotor zur Steuerung derselben und ein entsprechendes Verfahren bekannt, um eine Vielzahl an Lasten zu bewegen bzw. anzutreiben, welche mit einer Antriebswelle selektiv gekoppelt werden können. Der Wickelversatz der Antriebswelle wird erfasst, um den Gleichstrommotor so zu steuern, das der tatsächliche Winkelversatz mit dem gewünschten Winkelversatz übereinstimmt. Der Gleichstrommotor wird von einem Computer via einem Leistungsschaltkreis mit Impulsbreiten-modulierten Motorsteuerungssignalen angesteuert. Ein Encoder besteht aus einer Encoderscheibe mit einer Vielzahl linearen Spalten und aus einem optischen Sensorgerät, welches zwei phasenversetzte Encodersignale ausgangsseitig abgibt.

[0004] Aus der Europäischen Patentanmeldung EP 1 755 011 A2 ist ein Motorsteuerungsverfahren und ein Motorsteuerungsapparat für einen Drucker bekannt, in welchen Encoder-Impulse an eine Steuerung geliefert werden, welche daraus u.a. eine Geschwindigkeit berechnet.

[0005] Aus dem Europäischen Patent EP 589 668 B2 ist ein System zur Stillstandsfeststellung für einen Gleichstrommotor bekannt, welcher für eine kurze Periode übersteuert werden kann, um eine hohe Beschleunigung zu erreichen. Ein Postverarbeitungssystem benötigt eine genaue Servosteuerung, um eine hohe Durchsatzrate an Poststücken zu errreichen. Dabei wäre es destruktiv, würde der Motor wegen einer Übersteuerung während eines Staues ausfallen. Deswegen wurde ein Durchschnittsverzögerungs-Schwellwert vorgeschlagen, welcher eine maximal erwünschte Betriebgrenze darstellt.

[0006] Im Patent US 6.247.774 B1 wurde bereits eine Frankiermaschine mit einer Tintenstrahldruckvorrichtung vorgeschlagen, die mindestens einen Hauptantriebsmotor und weitere Motoren, einen feststehenden Druckkopf sowie einen Encoder aufweist, wobei ein Mikroprozessor via Steuerung (ASIC) mit dem Hauptantriebsmotor steuerungsmäßig sowie mit dem Encoder verbunden ist. Der Hauptantriebsmotor ist für den Transport von Poststücken vorbei am Druckkopf mit einer Transportrolle mechanisch gekoppelt. Die Transportrolle bewegt über ein Transportband eine Umlenkrolle, welche mit dem Encoder mechanisch gekoppelt ist. Die Transportgeschwindigkeit muss konstant gehalten werden, um mittels des Druckkopfes einen qualitativ hochwertigen Abdruck auf einem Poststück während des Vorbeitransportes des Poststückes zu erzeugen.

[0007] Die Umlenkrolle hat vorzugsweise dieselbe Drehzahl, wie die Transportrolle. Der Encoder besteht zum Beispiel aus einer Encoderscheibe und einer Lichtschranke, wobei die Scheibe an allen Stellen einen Lichtstrahl unterbricht, an welchen die Scheibe keinen Schlitz aufweist. Wenn der Encoder eine Encoderscheibe mit nur einem Schlitz aufweist, wird je Umdrehung nur ein Impuls erzeugt.

[0008] Alternativ weist der Encoder eine Encoderscheibe mit einer Anzahl an Schlitzen auf. Somit wird je Umdrehung entsprechend mehr als nur ein Impuls erzeugt und es wird möglich, den Wickelversatz der Antriebswelle zu erfassen.

[0009] Bei einer Frankiermaschine wird entweder eine Hardware benötigt, welche den Mikroprozessor bei der Motorregelung entlastet, oder es muss in Kauf genommen werden, dass der Prozessor mit anderen nicht unterbrechbaren Aufgaben beschäftigt ist und somit keine periodische Abtastung von Messwerten möglich ist. Eine solche nicht unterbrechbare Aufgabe ist zum Beispiel eine Interrup Service Routine (ISR).

[0010] Für die Motorregelung werden nicht der am höchsten priorisierte Interrupt-Befehl, sondern solche von gleicher oder untergeordneter Rangfolge benutzt. Damit kann es vorkommen, dass zunächst vom Prozessor ein anderer Interrupt von gleicher oder höherer Priorität abgearbeitet werden muss, so das die Istwertaufnahme einer Messreihe nicht immer periodisch zum geforderten Zeitpunkt durchgeführt werden kann, so dass einzelne Messwerte mit einer plötzlichen Änderung auftreten, die nicht vom Motor-Last-System stammen können, weil dessen Trägheit eine plötzliche Geschwindigkeitsänderung nicht zulässt. Diese plötzliche Abweichung beruht vielmehr auf einem Mangel der Messschaltung, den Abtastzeitpunkt einzuhalten, der vom Encoderimpuls vorgegeben wird. Da bei modernen Prozessorsystemen in der Regel Multitasking-Betriebssysteme eingesetzt werden, ergibt sich die Problematik, dass der Prozessor nicht zum geforderten Zeitpunkt die Istwertaufnahme durchführen kann.

[0011] Die Aufgabe der Erfindung besteht darin, ein Korrekturverfahren für eine mikroprozessor-gesteuerte digitale Regelung eines Antriebsmotors zu schaffen, wobei die für die Regelung des Motors verwendete Schaltung hinsichtlich des Bauelementeaufwands vereinfacht werden soll, trotzdem davon auszugehen ist, dass eine bis auf einen Encoder und einen Timer reduzierte unspezielle Messschaltung nicht verhindern kann, dass dann die Istwertaufnahme nicht immer periodisch vom Mikroprozessor zum geforderten Zeitpunkt durchgeführt werden kann. Damit tritt sporadisch ein Messfehler auf, dessen Wirkung durch geeignete Maßnahmen vermindert bzw. der beseitigt werden soll.

[0012] Die Aufgabe wird durch ein Korrekturverfahren für eine mikroprozessor-gesteuerte digitale Regelung eines Antriebsmotors mit den Merkmalen des Verfahrens nach dem Anspruch 1 gelöst.

[0013] Das Verfahren macht sporadische Messfehler einer vereinfachten Messanordnung unwirksam. Es wird keine spezielle Messschaltung, sondern eine beliebig bis auf einen Encoder und einen Timer reduzierte Messschaltung eingesetzt, die mit einem Mikroprozessor verbunden oder die teilweise ein Bestandteil eines Mikroprozessors ist. Unter einem Timer soll eine Zusammenschaltung von Taktgeber und Zähler verstanden werden. Der Mikroprozessor ist programmiert, Messwerte einer Messreihe zu speichern und wieder auszulesen sowie dabei einzelne Messwerte mit einer plötzlichen Änderung auszusortieren und für die Regelung unwirksam zu machen. Die aussortierten Messwerte werden durch Werte ersetzt, die wenigstens teilweise korrigiert sind.

[0014] Es ist vorgesehen, dass die Messwerte Zählwerte sind, deren Anzahl einer Messzeitperiode proportional ist. Der Mikroprozessor ist durch eine geeignete Software zur Berechnung von Geschwindigkeitswerten aus den Zählwerten, zu deren Bewertung und Korrektur sowie zur Bereitstellung von Stellimpulsen für einen Antriebsmotor programmiert.

[0015] Dabei wird davon ausgegangen, dass sich die gemessenen Zeit-Zählwerte beim Anlaufen der Regelung verringern, weil die Geschwindigkeit, beispielsweise von Gütern in einer Transporteinrichtung oder die Umfangsgeschwindigkeit einer Antriebsmotorwelle bzw. einer Encoderscheibe zunächst ansteigt. Somit verändert sich auch der Wert der Messwerte in der Regel weiter allmählich. Wenn sich in einem nächsten Zeitabschnitt bei wirksamer Regelung der Mittelwert über eine Anzahl von Messwerten nicht weiter verändert, aber ein aktueller Messwert im Wert abweicht, wird wenigstens eine teilweise Korrektur dieses einzelnen Messwertes erforderlich, da es physikalisch unmöglich ist, dass die Geschwindigkeit sich plötzlich in Richtung einer höheren Geschwindigkeit ändert bzw. dass die gemessene Zeitperiode plötzlich veringert ist.

[0016] Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet bzw. werden nachstehend zusammen mit der Beschreibung der bevorzugten Ausführung der Erfindung anhand der Figuren näher dargestellt. Es zeigen:
Figur 1,
Darstellung einer konventionellen Hardware-Meßanordnung in einer Schaltungsanordnung zur Motordrehzahlregelung,
Figur 2,
Impuls/Zeit-Diagramm zum Meßablauf in der konventionellen Hardware-Meßanordnung,
Figur 3,
Schaltungsanordnung einer vereinfachten Hardware-Meßanordnung,
Figur 4,
Impuls/Zeit-Diagramm zum Meßablauf in der vereinfachten Hardware-Meßanordnung,
Figur 5,
Flußplan zum Meßablauf und zur Messwertkorrektur,
Figuren 6 und 7,
Zählwert/Zeit- und Encoder-Impuls/Zeitdiagramme,
Figur 8,
Darstellung des zeitlichen Verlaufs von Geschwindigkeitswerten.


[0017] Die Figur 1 zeigt eine Darstellung einer konventionellen Hardware-Messanordnung in einer Schaltungsanordnung zur Motordrehzahlregelung. Die Motordrehzahlregelung 1' weist einen mit einem Antriebsrad 16' mechanisch gekoppelten Gleichstrommotor 12' auf. Eine Encoderschlitzscheibe 131' ist beispielsweise auf der Motorwelle form- und kraftschlüssig befestigt. Eine Lichtschranke 132' erzeugt die Encoderimpulse e' beim Umlaufen der Welle. Es kann ein Impulsformer 133' vorgesehen sein, dem die Encoderimpulse e' zugeführt werden. Eine Meß-Steuer- und Regelungsschaltung 10' weist einen PDI-Regler 9' auf, der ausgangsseitig über einen Treiberschaltkreis 11' mit dem Gleichstrommotor 12' steuerungsmäßig verbunden ist und der eingangseitig mit dem Ausgang eines Vergleichers 6' verbunden ist. Dabei kann es sich um einen digitalen Vergleicher handeln.

[0018] Alternativ kann auch ein analoger Vergleicher eingesetzt werden, wobei in nicht gezeigter Weise an dessen Eingängen D/A-Wandler und an dessen Ausgängen ein A/D-Wandler angeschaltet sind.

[0019] Die Messanordnung besteht aus einem Taktgeberschaltkreis 2' dessen Ausgang mit einem Takteingang eines ersten Zählers 3' verbunden ist. Die binär codierte Daten-Ausgänge A', B', C' und D' des ersten Zählers 3' sind mit entsprechenden Dateneingängen eines Ist-Wertspeichers 4' verbun-den. Letzterer weist einen Steuereingang Ü' zur Auslösung einer Übernahme von BC-Daten des Zählers 3' über dessen Ausgänge auf. Die binär codierten Daten (BCD) entsprechen einem Zählwert Z. Ein Steuereingang R' zum Rücksetzen des Zählers 3' und der Steuereingang Ü' des Ist-Wertspeichers 4' sind mit entsprechenden Ausgängen des Impulsformers 133' bzw. eines entsprechend ausgestatteten Encoders verbunden.

[0020] Der Encoder erzeugt mindestens ein Encoderimpuls e' pro Drehung der Welle und der daran befestigten Encoderschlitzscheibe. Dem Zähler 3' wird erst dann ein Rücksetzsignal r' über den Steuereingang R' zugeführt, nachdem ein Steuerungssignal ü' zur Datenübernahme in den Ist-Wertspeicher 4' über den Steuereingang Ü' zugeführt wurde und die Datenübernahme des Zählwerts Z erfolgt ist, dem der Zeit-Messwert entspricht. Der Zähler 3' kann beispielsweise als Vorwärtszähler, der Ist-Wert-Speicher 4' kann als Parallel-Serien-Wandler und der digitale Vergleicher 6' kann als Rückwärtszähler ausgeführt werden. Ein digitaler Soll-Wert-Speicher 5' ist mit Voreinstelleingängen des Rückwärtszählers verbunden.

[0021] Der Parallel-Serien-Wandler kann ein Schieberegister sein, welches taktgesteuert ausgelesen wird, wobei an dessen seriellen Datenausgang der Zähleingang des Rückwärtszählers angeschlossen ist (nicht gezeigt). Beim Hochlaufen der Regelgröße und beim Betrieb unter Belastung ist der digitale Istwert niedriger, als der digitale Sollwert und folglich wird die Motordrehzal entsprechend der sich aus dem Vergleich ergebenden Differenz nachgeregelt.

[0022] Die Drehzahl ist eine Größe die angibt, wie oft sich zum Beispiel eine Welle in einer Minute (min = 60 s) dreht. Sie wird zur Errechnung der Umfangsgeschwindigkeit vu benötigt. Die Umfangsgeschwindigkeit vu wird in Meter pro Sekunde [m/s] angegeben und ist gleich Durchmesser d [in m] mal π (3,1415926535897932384626433832795...) mal Drehzahl n [in s-1] gemäß der Formel:



[0023] Für eine geradlinige gleichmäßige konstante Geschwindigkeit zum Beispiel des Transportbandes gilt die Beziehung von dem zurückgelegten Weg s in Meter [m] geteilt durch die dafür benötigte Zeit t in Sekunden [s] gemäß der Formel:



[0024] Somit gelten nach Gleichsetzung und Umstellung der Gleichungen /1/ und /2/ die folgenden Gleichungen für Transportweg bzw. -zeit:





[0025] Die Drehzahl n ist umgekehrt proportional zur Zeit t. Der Proportionalitätsfaktor C ist konstant. Außerdem gilt für einen Zählwert Z des Zählers bei einer Periodendauer P der Wiederkehr eines Encoderimpuls:

sowie mit Z = Zählwert eines Zählers.

[0026] Wird die Gleichung /5/ für die Messzeit t in die Gleichung /2/ eingesetzt, dann folgt daraus die Gleichung /6/:



[0027] Die Geschwindigkeit v ergibt sich reziprok zum Zählwert des Zählers.

[0028] In der Figur 2 wird ein Impuls/Zeit-Diagramm zum Meßablauf in der konventionellen Hardware-Meßanordnung dargestellt. Nur der Einfachheit halber wurden nur die Signale der vier Ausgänge A', B', C' und D' des Zählers dargestellt. Das ist aber nicht so zu verstehen, dass die Zählweite der Zähler auf 16 beschränkt ist. Vielmehr kann die Zählweite beliebig vergrößert werden. Zum Zeitpunkt t0 wird ein Rücksetzimpuls r' ausgelöst, der zum Rücksetzen des Zählwertes Z auf einen Anfangswert Z0 führt, so dass beispielsweise alle Ausgänge A', B', C' und D' des Zählers zum Zeitpunkt t1 Low-Pegel führen. Bei einer H/L-Flanke des ersten Taktimpulses 1 am Takteingang T' kippt der Schalt-Zustand am Ausgang A' von Low-Pegel auf High-Pegel. Tritt dann beispielsweise nach dem elften Taktimpulses 11 wieder ein Encoderimpuls des Signals e' auf, wird zuerst ein Signal ü' zur Datenübernahme und dann ein Rücksetzsignal r' erzeugt. Der Zähler 3' beginnt wieder von vorn die am Takteingang T' angelegten Taktimpulse zu zählen, was zu entsprechen Impulsverläufen an den Ausgängen A', B', C' und D' des Zählers führt. Man erkennt, dass ein erneutes Messen unmittelbar nach dem Auftreten eines Encoderimpuls des Signals e' ermöglicht wird. Der Zähler 3 misst die Zeiten zwischen zwei Encodersignalen durch Zählen der Taktimpulse. In vorteilhafter Weise ist die Zeitdauer Δt klein, während der keine Messung möglich ist. Bis der Zähler zurückgesetzt werden kann, erfolgt ein Weiterzählen der Taktimpulse von 11 bis 12, was die Genauigkeit der Messung aber unbeeinflusst lässt. In nachteiliger Weise ist jedoch der Hardware-Aufwand für eine konventionelle Hardware-Messanordnung nach Fig. 1 groß. Hier setzt die Erfindung an und es wird im Unterschied zu der in Fig.1 gezeigten Schaltung eine hinsichtlich des Bauelementeaufwands vereinfachte Schaltung eingesetzt, um die Herstellungskosten zu senken.

[0029] In der Figur 3 wird eine Schaltungsanordnung der vereinfachten Hardware-Meßanordnung dargestellt, welche aus einem Timer 2, 3 und einem Encoder 13 besteht, die mit einem Mikroprozessor verbunden sind. Der Timer und Mikroprozessor sind ein Bestandteil einer Mess-, Steuer- und Regelungsschaltung 10. Der Mikroprozessor 6 ist mit den Ausgängen eines Zählers 3 und ein Taktgeber 2 ist mit dem Takt- bzw. Zähleingang des Zählers 3 verbunden. Der Mikroprozessor 6 ist weiterhin mindestens mit einem nichtflüchtigen Speicher 5 für Sollwerte, mit einem flüchtigen Arbeitsspeicher (RAM) 7 für Istwerte, d.h. Messwerte wie Zählwerte bzw. Geschwindigkeitswerte und mit einem Programm-speicher (ROM) 8 adressen- steuerungs- und datenmäßig verbunden. Der Ausgang des Mikroprozessors 6 ist via einem Treiberschaltkreis 11 mit einem Gleichstrommotor 12 steuerungsmäßig verbunden. Ein Interrupt-Eingang I des Mikroprozessors 6 ist mit dem Ausgang des Encoders 13 elektrisch verbunden. Der Encoder 13 weist eine Encoderscheibe 131 auf, die wieder mit der Welle des Gleichstrommotor 12 mechanisch gekoppelt ist. Als Taktgeber 2 der Meß-Steuer- und Regelungsschaltung 10 kann auch ein Taktgenerator des Mikroprozessors genutzt werden, wenn ein geeigneter Mikroprozessor vorhanden ist. Bei jedem Encoderimpuls liefert der Mikroprozessor an einem Ausgang ein Rücksetzsignal r. Der Ausgang des Mikroprozessors 6 ist mit einem Rücksetzeingang R des Zählers 3 verbunden.

[0030] Es wird angenommen, dass der Mikroprozessor 6 zum geforderten Zeitpunkt die Istwertaufnahme durchführen kann. Der Zähler 3 misst somit die Zeiten zwischen zwei Encoderimpulsen durch Zählen der Taktimpulse. Der Mikroprozessor liest diesen Zähler aus und ermittelt aus dem entsprechenden Zählwert Z und mittels einer nichtflüchtig gespeicherten Konstanten K (Produkt aus Periodendauer P und des zurückgelegten Transportweges s entsprechend der baulichen Parameter des Antriebes) die zugehörige Transportgeschwindigkeit v.

[0031] Nach jeder Umdrehung der Motorwelle kann dabei ein vorbestimmter Wert des zurückgelegten Transportweges s der Berechnung zugrunde gelegt werden, welcher bedingt durch unveränderten mechanischen Aufbau des Encoders konstant ist. Er bleibt auch konstant, wenn der Prozessor nicht zum geforderten Zeitpunkt die Istwertaufnahme durchführen kann. Nur der Zählwert Z hat sich geändert und führt zu einem falschen Wert der Transportgeschwindigkeit v. Bei Motoren ist aufgrund der Trägheitsmomente aber eine plötzliche Geschwindigkeitsänderung unmöglich. Der Mikroprozessor ist programmiert, einzelne Messwerte einer plötzlichen Geschwindigkeitsänderung auszusortieren und unwirksam zu machen.

[0032] Jeder Wert der Transportgeschwindigkeit v wird gespeichert. Unter folgenden Kriterien werden die durch die Prozessorauslastung bedingt falsch ermittelten Geschwindigkeitswerte aussortiert und korrigiert:

mit

bzw.

mit



[0033] Der aktuelle Geschwindigkeitswert der Transportgeschwindigkeit v wird mit einem arithmetischen Geschwindigkeits-Vergleichs-Mittelwert V- aus einer Gruppe von vorher ermittelten Geschwindigkeitswerten vn-1, vn-2, vn-3 und vn-4 verglichen. Ist der aktuelle Geschwindigkeitswert vn der Güter in einer Transportvorrichtung oder die Umfangsgeschwindigkeit vu einer Antriebsmotorwelle bzw. einer Encoderscheibe größer als der Mittelwert V- und der unmittelbar vorher ermittelte Geschwindigkeitswert Vn-1 kleiner als der Mittelwert V-, dann wird der ermittelte aktuelle Geschwindigkeitswert aussortiert, um ihn durch einen Mittelwert aus dem aktuellen und dem vorherigen Geschwindigkeitswert zu ersetzen. Es ergibt sich ein erster Korrekturwert als arithmetischer Mittelwert:



[0034] Alternativ wird aus dem aktuellen Zählwert Z keine Geschwindigkeit v ermittelt, sondern der Zählwert wird direkt korrigiert. Aus dem aktuellen Zählwert Zn wird mit dem arithmetischen Zählwerte-Vergleichs-Mittelwert Z- aus einer Gruppe von vorher ermittelten Zählwerten Zn-1, Zn-2, Zn-3 und Zn-4 verglichen. Ist der aktuelle Zählwert Zn der Transportgeschwindigkeit kleiner als der Zählwerte-Vergleichs-Mittelwert Z_ und der vorher ermittelte Zählwert Zn-1 größer als der Zählwerte-Vergleichs-Mittelwert Z_, dann werden der aktuelle Zählwert Zn und der vorherige Zählwert Zn-1 miteinander gemittelt und es ergibt sich alternativ ein zweiter Korrekturwert als arithmetischer Mittelwert:



[0035] Der arithmetische Mittelwert M1 bzw. M2, welcher auch als korrigierter Messwert oder Korrekturwert bezeichnet wird, wird im RAM gespeichert. Eine solche Korrektur macht eine Geschwindigkeitsänderung durch die Motorregelung aufgrund eines sporadisch auftretenden faschen Messwertes unwirksam. Bei Motoren ist aufgrund der Trägheitsmomente eine plötzliche Geschwindigkeitsänderung physikalisch nicht möglich, so das ein einzelner abweichender Messwert erkannt und wenigstens teilweise korrigiert werden kann. Das erfordert zwar einen erhöhten Softwareaufwand. In vorteilhafter Weise ist jedoch der Hardware-Aufwand für die Messanordnung nach Fig. 3 klein. Außerdem kann der nichtflüchtige Speicher 5 für Sollwerte in einer alternativen Schaltung für die Anwendung des Korrekturverfahrens entfallen, wenn die Sollwerte auf eine anderer Art und Weise vorgegeben werden, beispielsweise mittels einer - nicht dargestellten - Tastatur des Postverarbeitungsgerätes.

[0036] Die Figur 4 zeigt ein Impuls/Zeit-Diagramm zum Meßablauf in der vereinfachten Hardware-Meßanordnung. Nach einem durch das Auftreten eines Encoderimpulses verursachten Interrups wird zum Zeitpunkt t0 ein Rücksetzimpuls r ausgelöst, der zum Rücksetzen des Zählwertes Z auf einen Anfangswert Z0 führt, so dass beispielsweise alle Ausgänge A, B, C und D des Zählers zum Zeitpunkt t1 Low-Pegel führen. Bei einer H/L-Flanke des ersten Taktimpulses 1 am Takteingang T kippt der Schalt-Zustand am Ausgang A von Low-Pegel auf High-Pegel. Der Zähler 3 beginnt die am Takteingang T angelegten Taktimpulse vorwärts zu zählen, was zu entsprechen Impulsverläufen an den Ausgängen A, B, C und D des Zählers führt. Tritt dann beispielsweise nach dem elften Taktimpulses 11 wieder ein Encoderimpuls des Signals e auf, erfolgt zuerst eine Datenübernahme durch den Mikroprozessor, der dann ein Rücksetzsignal r erzeugt. Man erkennt, dass ein erneutes Messen unmittelbar nach dem Auftreten eines Encoderimpuls des Signals e nicht möglich ist, weil der Mikroprozessor noch mit anderen Aufgaben beschaftigt ist. Der Zähler 3 misst durch Zählen der Taktimpulse 1 bis 11 nicht nur die Zeitdauer zwischen zwei Encoderimpulsen, sondern außerdem eine Zeitdauer nach dem zweiten Encoderimpuls, in welcher der Mikroprozessor beschäftigt ist. Bis der Mikroprozessor den Zähler zurücksetzen kann, erfolgt ein Weiterzählen der Taktimpulse von 12 bis 14. In unvorteilhafter Weise ist dadurch die Messung falsch und die Zeitdauer Δt ist um beispielsweise drei Taktimpulse von 12 bis 14 verlängert, während der keine Messung möglich ist. Das stört jedoch den Regelvorgang nicht. Durch das vorstehende Beispiel soll ein Auftreten von Verlängerungen anderer Zeitdauer Δt während der Messung nicht ausgeschlossen werden. Es sollte aber ausgeschlossen werden, dass der Mikroprozessor in der Mehrzahl der Messungen länger als normal beschäftigt ist. Der arithmetische Mittelwert M1 oder M2 liegt damit näher zur normalen Beschäftigungsdauer als zur verlängerten Beschäftigungsdauer des Mikroprozessors. Im Unterschied zum Korrekturfall, der sich aus der Verlängerung für den aktuellen Geschwindigkeitswert vn bzw. Zählwert Zn ergibt, kann der vorher ermittelte Geschwindigkeitswert vn-1 bzw. Zählwert Zn-1 ohne Korrektur sofort nach der Messung gespeichert werden.

[0037] In der Figur 5 wird ein Flußplan zum Meßablauf und zur Messwertkorrektur durch den Mikroprozessor dargestellt. Der Meßablauf und die Messwertkorrektur sind dabei in einem Motor Control-Algorithmus (MCA) enthalten. Im ersten Schritt 101 erfolgt nach dem Start eine Initialisierung des Messwertspeichers des Mikroprozessors bzw. der MikroprozessorSteuerung. Dabei werden alle Speicherplätze auf den Wert Null gesetzt.

[0038] Der Messwertspeicher (RAM) ist zum Speichern von Geschwindigkeitswerten und/oder Zählwerten (Zeit) vorgesehen. Im zweiten Schritt 102 wird der Motor Control-Algorithmus (MCA) wird gestartet und die Messung begonnen, sobald ein Encoderimpuls festgestellt .wird. In einem solchen Fall wird ein Interrupt erzeugt und ein Timer gestartet.

[0039] Der zweite Schritt 102 umfaßt einen ersten Abfrageschritt 102a und mindestens einen weiteren Subschritt 102b zum Abarbeiten von Interruptroutinen des Mikroprozessors entsprechend einer festgelegten Rangfolge. Ein Interrupt wird auch beim Vorkommen eines weiteren Encoderimpulses ausgelöst. Im Subschritt 102a wird geprüft, ob ein solcher auf einem Encoder-Signal basierender Interrupt abgearbeitet werden soll. Ist das nicht der Fall, dann kann ein weiteres gleich oder höher priorisiertes Interrupt-Signal abgearbeitet und zum Anfang des Subschrittes 102a zurückverzweigt werden. Unmittelbar nach dem Start des MCA liegt aber schnell der Fall vor, dass ein weiterer auf einem Encoder-Signal basierender Interrupt abgearbeitet werden soll. Dann wird auf einen dritten Schritt 103 verzweigt, um den Timer abzufragen und die Messung zu beenden.

[0040] Im dritten Schritt 103 erfolgt ein Auslesen des aktuellen Zählwertes Zn des Timers und ggf. eine Berechnung des zugehörigen Geschwindigkeitwertes vn. Der Messwert (Zähl- bzw. Geschwindigkeitwert) wird dabei zunächst im Messwertspeicher (RAM) flüchtig gespeichert. Anschließend wird der Timer vom Mikroprozessor neu gestartet. Im nachfolgenden vierten Schritt 104 erfolgt eine Ermittlung eines Vergleichswertes durch Bildung eines arithmetischen Mittelwertes über eine Anzahl gespeicherter Vorgängermesswerte (Zähl- bzw. Geschwindigkeitwerte). Der Vergleichswert Z_ wird anfangs auf einen vorbestimmten Wert gesetzt bzw. V- ist anfangs 'Null'. Jeder neue Messwert führt zum Abfallen bzw. Ansteigen des Vergleichswertes und zum Hochfahren der Motorregelung. Vom vierten Schritt 104 wird auf einen zweiten Abfrageschritt 105 verzweigt, in welchem festgestellt wird, ob eine Messwertkorrektur erforderlich ist. Eine Messwertkorrektur erfolgt, wenn die Kriterien der Ungleichungen /7/ bzw. /9/ erfüllt sind, d.h. bei vn > V- und vn-1 < V- bzw. Zn < Z_ und Zn-1 > Z_.

[0041] Ist eine Messwertkorrektur erforderlich, dann wird auf den sechsten Schritt 106 verzweigt, um die Korrektur mittels einer Bildung eines arithmetischen Mittelwerts über die letzten beiden Messwerte nach den Gleichungen /11/ bzw. /12/ durchzuführen. Anschließend wird im siebenten Schritt 107 der arithmetische Mittelwert M1 bzw. M2 als korrigierter Messwert gespeichert. Anderenfalls, wenn keine Messwertkorrektur erforderlich ist, dann wird vom zweiten Abfrageschritt 105 auf den siebenten Schritt 107 direkt verzweigt, um den aktuellen Messwert zu speichern.

[0042] Im nachfolgenden achten Schritt 108 erfolgt eine Verwendung der bewerteten Messwerte in üblicher Weise für die Motorregelung. Auf den achten Schritt 108 folgt ein dritter Abfrageschritt 109, um festzustellen, ob die Motor-Regelung abgeschaltet werden soll. Ist das der Fall, dann wird vom dritten Abfrageschritt 109 auf einen Schritt 110 zur Beendigung des Motor Control-Algorithmus verzweigt.

[0043] Ist das aber nicht der Fall, dann wird vom zweiten Abfrageschritt 109 auf den Anfang des Subschrittes 102a zurück verzweigt.

[0044] In den Figuren 6 und 7 wird ein Zählwert/Zeitdiagramm und ein Encoder-Impuls/Zeitdiagramm gezeigt. Zur Verdeutlichung des Auslesens der Zählwerte Zn aus dem Timer wird jeder Zählwert als Balken dargestellt und zum einem Zeitpunkt abgetastet, der dem Interruptsignal unmittelbar folgt. Tatsächlichlich wird aber kein Balken, sondern ein digitaler Zählwert abgetastet, wie aus der Schaltung nach Fig. 3 ersichtlich ist. Die Figur 6 zeigt den zeitlichen Verlauf der Messwerte einer Messreihe mit allmählich sich ändernden Messwerten. Ein Interruptsignal I0 wird durch das Auftreten eines Encoderimpulses e0 ausgelöst und der Timer wird gestartet. Beim Auftreten eines Encoderimpulses e1 wird das Interruptsignal I1 ausgelöst und der Zählwert des Timers ausgelesen und im RAM zwischengespeichert (siehe Fig. 3). Das Hochzählen des Timers bis zum Auftreten eines Encoderimpulses und dem daraufhin erfolgenden Abtasten des Zählwertes Zn= 6 wird durch wachsende Balken verdeutlicht.

[0045] Im dargestellten Beispiel erfolgt zunächst ein Abtasten des Zählwertes Zn= 6. Dann verringert sich die Geschwindigkeit allmählich und die periodisch wiederkehrenden Encoderimpulse e5 bis e14 treten verzögert auf, wobei die Verzögerung mit einem kleinen weißen Pfeil gekennzeichnet ist. Die Encoderimpulse e1 bis e4 treten periodisch und in einem geringeren zeitlichen Abstand auf, als die ebenfalls periodisch auftretenden Encoderimpulse e5 bis e14. Das führt dazu, dass ab dem Encoderimpuls e4 ein um einen Schritt höherer Zählwert Zn= 7 abgetastet wird. Unter einem Schritt soll ein konstanter Änderungsbetrag mindestens von eins verstanden werden.

[0046] Die Figur 7 zeigt den zeitlichen Verlauf der Messwerte einer Messreihe mit einem plötzlich sich ändernden Messwert. Ein Interruptsignal I0 wird wieder durch das Auftreten eines Encoderimpulses e0 ausgelöst und der Timer wird gestartet. Beim Auftreten eines Encoderimpulses e1 wird das Interruptsignal I1 wieder unmittelbar folgend ausgelöst und der Zählwert des Timers ausgelesen und im RAM zwischengespeichert (siehe Fig. 3). Das Hochzählen des Timers bis zum Auftreten eines Encoderimpulses und dem daraufhin erfolgenden Abtasten des Zählwertes Zn= 7 wird durch wachsende Balken verdeutlicht.

[0047] Im dargestellten Beispiel erfolgt zunächst ein Abtasten des Zählwertes Zn= 7. Die Encoderimpulse e1 bis e4 treten periodisch und in einem gleichen zeitlichen Abstand auf, wie die ebenfalls periodisch auftretenden Encoderimpulse e5 bis e13. Die Messzeit des Timers ist ab dem Encoderimpuls e4 bis zum Auftreten des jedoch verlängert, da das Interruptsignal I5 zeitlich verzögert abgearbeitet wird. Das führt zu einer um Δtscan verspäteten Abtastung des Timers, wodurch nun ein um einen Schritt höherer Zählwert Zn= 8 abgetastet wird. Im dargestellten Beispiel wird angenommen, dass beim Auftreten eines nachfolgenden Encoderimpulses e6 das Interruptsignal I6 wieder unmittelbar folgend ausgelöst und der Zählwert Zn= 6 des Timers ausgelesen und im RAM zwischengespeichert wird (siehe Fig. 3). Die Messzeit des Timers ist verkürzt, da das Interruptsignal I6 zeitlich unverzögert abgearbeitet wird. Das führt dazu, dass mit dem Encoderimpuls e6 ein um zwei Schritte verringerter Zählwert Zn= 6 abgetastet wird und ein plötzlich sich ändernder Messwert abgetastet wird. Unter einem Schritt soll ein konstanter Änderungsbetrag mindestens von eins verstanden werden.

[0048] Die Messzeit des Timers ist ab dem Encoderimpuls e6 wieder wie am Anfang der Messreihe konstant, da die Interruptsignale I6 bis I13 wieder zeitlich unverzögert abgearbeitet werden.

[0049] Anhand der Figur 8 wird der zeitliche Verlauf von ermittelten Geschwindigkeitswerten dargestellt. Die einzelnen Messwerte des Times werden vom Mikroprozessor in Geschwindigkeitswerte umgerechnet und gespeichert. Die einzelnen Geschwindigkeitswerte einer Messreihe mit einer plötzlichen Änderung des Istwertes von einem vorherigen Geschwindigkeitswert zum aktuellen Geschwindigkeitswert sind durch einen gestrichelt gezeichneten Kreis gekennzeichnet. Dabei handelt es sich um eine Änderung mit der dort auftretenden Schrittweite, welche physikalisch nicht möglich ist. Jeder ausgelesene Messwert mit einer plötzlichen Änderung wird deshalb durch einen wenigstens teilweise korrigierten Messwert ersetzt, was anhand einer Strich-Punkt-Linie für verwendete Geschwindigkeits-Istwerte dargestellt wird. Es ist offensichtlich, dass sich plötzlich ändernde Geschwindigkeitswerte von allmählich ändernden Geschwindigkeitswerten unterscheiden. Bei letzteren handelt es sich um eine Änderung mit einer auftretenden Schrittweite, welche physikalisch möglich ist.

[0050] Die Erfindung ist nicht auf die vorliegenden Ausführungsform mit einem Gleichstrommotor beschränkt. So können offensichtlich weitere andere Ausführungen der Erfindung für andere Arten an Antriebsmotoren entwickelt bzw. eingesetzt werden, die vom gleichen Grundgedanken der Erfindung ausgehen und von den anliegenden Ansprüchen umfaßt werden.


Ansprüche

1. Korrekturverfahren für eine mikroprozessor-gesteuerte digitale Regelung eines Antriebsmotors, wobei die für die Regelung des Antriebsmotors verwendete Anordnung vereinfacht ist, indem keine spezielle Messschaltung, sondern eine beliebig bis auf einen Encoder und einen Timer reduzierte Messschaltung eingesetzt wird, wodurch die Istwertaufnahme nicht immer vom Mikroprozessor zum vorgegebenen Zeitpunkt durchgeführt wird, der von einem Encoderimpuls vorgegeben wird, wodurch einzelne Messwerte einer Messreihe mit einer plötzlichen Änderung des Istwertes von einem vorherigen zum aktuellen Messwert auftreten, welche sich von allmählich ändernden Messwerten unterscheiden, wobei die einzelnen Messwerte mit einer plötzlichen Änderung ausgelesen und für die Regelung korrigiert werden, wobei jeder ausgelesene Messwert mit einer plötzlichen Änderung durch einen wenigstens teilweise korrigierten Messwert ersetzt wird.
 
2. Korrekturverfahren, nach Anspruch 1, gekennzeichnet dadurch, dass sich der wenigstens teilweise korrigierte Messwert aus einem Mittelwert ergibt, der aus einem aktuellen und einem vorherigen Messwert in der Messreihe gebildet wird.
 
3. Korrekturverfahren, nach Anspruch 1, gekennzeichnet da-durch, dass die Istwerte Zählwerte sind, deren Anzahl der Länge einer Messzeitperiode proportional ist.
 
4. Korrekturverfahren, nach den Ansprüchen 1 bis 3, gekennzeichnet dadurch, dass eine Berechnung von Geschwindigkeitswerten aus den Zählwerten erfolgt.
 
5. Korrekturverfahren, nach den Ansprüchen 1 bis 4, gekennzeichnet dadurch, dass eine Bewertung von Zählwerten bzw. von daraus ermittelten Geschwindigkeitswerten und deren Korrektur sowie eine Bereitstellung von Stellimpulsen für einen Antriebsmotor erfolgt.
 
6. Korrekturverfahren, nach den Ansprüchen 1, 2, 4 und 5, gekennzeichnet dadurch, dass die Korrektur eines Messwerts, insbesonders eines aktuellen Geschwindigkeitswerts erfolgt, wenn der aktuelle Geschwindigkeitswert vn der Güter in einer Transportvorrichtung oder die Umfangsgeschwindigkeit vu einer Antriebsmotorwelle bzw. einer Encoderscheibe größer als der arithmetische Mittelwert V- aus einer Gruppe von vorher ermittelten Geschwindigkeitswerten Vn-1, Vn-2, Vn-3 und Vn-4 und der unmittelbar vorher ermittelte Geschwindigkeitswert Vn-1 kleiner als der vorgenannte Mittelwert V- ist.
 
7. Korrekturverfahren, nach den Ansprüchen 1, 2, 4 bis 6, gekennzeichnet dadurch, dass die Korrektur eines Messwerts, insbesonders eines aktuellen Geschwindigkeitswerts erfolgt, indem der aktuelle und vorherige Geschwindigkeitswert miteinander gemittelt werden und sich ein arithmetischer Mittelwert M1 = (vn-1 + vn) / 2 ergibt, der als korrigierter Messwert gespeichert wird.
 
8. Korrekturverfahren, nach den Ansprüchen 1 bis 3 und 5, gekennzeichnet dadurch, dass die Korrektur eines Messwerts, insbesonders eines aktuellen Zählwertes Z erfolgt, wenn der aktuelle Zählwert Zn eines Zählers zur Zeitmessung kleiner als der arithmetische Zählwerte-Mittelwert Z_ aus einer Gruppe von vorher ermittelten Zählwerten Zn-1, Zn-2, Zn-3 und Zn-4 und der vorher ermittelte Zählwert Zn-1 größer als der vorgenannte Zählwerte-Mittelwert Z_ist.
 
9. Korrekturverfahren, nach den Ansprüchen 1 bis 3, 5 und 8, gekennzeichnet dadurch, dass die Korrektur eines Messwerts, insbesonders eines aktuellen Zählwertes Zn erfolgt, indem der aktuelle Zählwert Zn und der vorherige Zählwert Zn-1 miteinander gemittelt werden und sich ein arithmetischer Mittelwert M2 = (Zn-1 + Zn) / 2 ergibt, der als korrigierter Messwert gespeichet wird.
 




Zeichnung
















Recherchenbericht










Angeführte Verweise

IN DER BESCHREIBUNG AUFGEFÜHRTE DOKUMENTE



Diese Liste der vom Anmelder aufgeführten Dokumente wurde ausschließlich zur Information des Lesers aufgenommen und ist nicht Bestandteil des europäischen Patentdokumentes. Sie wurde mit größter Sorgfalt zusammengestellt; das EPA übernimmt jedoch keinerlei Haftung für etwaige Fehler oder Auslassungen.

In der Beschreibung aufgeführte Patentdokumente