1. Field of the Invention
The present invention concerns a correction method for microprocessor-controlled digital regulation of the type that serves to compensate time-delayed accesses to real values given digital regulations, for example for a motor regulation. The invention is suitable for use in apparatuses with relative movement between a thermotransfer print head and the item to be printed, in particular in franking and addressing machines, in peripheral apparatuses or in other post-processing apparatuses.
2. Description of the Prior Art
Motor regulation generally involves the detection of the real (actual) value of an operating characteristic of the motor and comparison with the desired value. The motor is accelerated if the real value is smaller and braked in the reverse case. In digital regulation it is important to implement measurement value surveys at constant time intervals. This can be implemented by a hardware but also by the processor itself for cost reasons.
A franking machine with microprocessor-controlled direct current motor for control of the franking machine and a corresponding method are known from the European patent EP 177 055 B2 in order to move or drive a number of loads which can be selectively coupled with a drive shaft. The angular offset of the drive shaft is detected in order to control the direct current motor such that the actual angular offset coincides with the desired angular offset. The direct current motor is controlled by a computer via a power circuit with pulse width-modulated motor control signals. An encoder consists of an encoder disc with a number of linear gaps and an optical sensor device which emits two phase-shifted encoder signals at the output.
A motor control method and a motor control apparatus for a printer in which encoder pulses are delivered to a controller (which calculates a speed from these, among other things) is known from the EP 1 755 011 A2.
A system for downtime determination for a direct current motor which can be overdriven for a short period in order to achieve a high acceleration is known from the European patent EP 589 668 B2. A post-processing system requires a precise servo controller in order to achieve a high throughput of mail pieces. It would thus be destructive if the motor were to fail due to an overdrive during a jam. An average delay threshold was therefore proposed which represents a maximum desired operating limit.
A franking machine with an inkjet device that has at least one main drive motor and additional motors, a stationary print head as well as an encoder is disclosed in U.S. Pat. No. 6,247,774, wherein a microprocessor is connected in terms of control with the main drive motor as well as with the encoder via a controller (ASIC). The main drive motor is mechanically coupled with a transport roller for transport of mail pieces past the print head. The transport roller moves a deflection roller via a transport belt, which deflection roller is mechanically coupled with the encoder. The transport speed must be kept constant in order to generate a qualitatively high-grade imprint on the mail piece by means of the print head during the transport of the mail piece past the print head.
The deflection roller advantageously has the same rotation speed as the transport roller. For example, the encoder consists of an encoder disc and a light barrier, wherein the disc interrupts a light beam at all points at which the disc has no slit. If the encoder has an encoder disc with only one slit, only one pulse is generated per rotation.
Alternatively, the encoder has an encoder disc with a plurality of slits. More than just one pulse is thus correspondingly generated per rotation, and it is possible to detect the angular offset of the drive shaft.
In a franking machine either hardware is required which unburdens the microprocessor in the motor regulation or it must be accepted that the processor is busy with other, uninterruptible tasks and thus no periodic sampling of measurement values is possible. Such an uninterruptible task is, for example, an Interrupt Service Routine (ISR).
The highest priority interrupt command is not used for the motor regulation, rather an interrupt command of equal or lesser ranking. It can therefore occur that a different interrupt of the same or higher priority must be processed first by the processor, such that the real value surveying of a measurement series cannot always be implemented periodically at the requested point in time, such that individual measurement values occur with a sudden change that cannot originate from the motor-load system because its inertia does not allow a sudden speed change. Rather, this sudden deviation is based on a failure of the measurement circuit to adhere to the sampling point in time that is predetermined by the encoder pulse. Since multitasking operating systems are normally used in modern processor systems, the problem results that the processor cannot implement the real value survey at the required point in time.
An object of the present invention is to provide a correction method for a microprocessor-controlled digital regulation of a drive motor, wherein the circuit used for the regulation of the motor should be simplified with regard to the component expenditure, in spite of which it is to be assumed that a non-special measurement circuit reduced to just an encoder and a timer cannot prevent that the real value survey can not always be implemented periodically by the microprocessor at the required point in time. A measurement error therefore sporadically occurs whose effect should be prevented or remedied via suitable measures.
The above object is achieved in accordance with the present invention by a correction method for microprocessor controlled digital regulation of a drive motor, wherein the arrangement used for the regulation of the drive motor is simplified by not requiring a special measurement circuit, but instead using a measurement circuit reduced to only an encoder and a timer, and wherein the real or actual value monitoring is not necessarily implemented by the microprocessor at predetermined points in time that are defined by encoder pulses. Instead, individual measurement values of a measurement series of values that represent an operational characteristic of the motor are identified that exhibit a sudden change from a previous measurement value to the current measurement value. The individual measurement values differ from gradually changing measurement values. An individual measurement value that exhibits a sudden change is sorted out from the measurement value series and is corrected to effect regulation of the motor, by replacing any measurement value that exhibits a sudden change with an at least partially corrected measurement value.
The method makes sporadic measurement errors of a simplified measurement arrangement ineffectual. As noted above, no special measurement circuit is used, but rather an arbitrary measurement circuit reduced to just an encoder and a timer is used, which measurement circuit is connected with a microprocessor or is a component of the microprocessor. As used herein, a “timer,” means an interconnection of clock pulse emitter and counter. The microprocessor is programmed to store and to read out measurement values of a measurement series and to sort out individual measurement values exhibiting a sudden change and to make them ineffectual for the regulation. The measurement values that are sorted out are replaced by values that are at least partially corrected.
The measurement values can be count values representing a number that is proportional to a measurement time period. The microprocessor is programmed by suitable software for calculation of speed values from the count values, for evaluation and correction of said speed values and for provision of control pulses for a drive motor.
It is assumed that the measured numerical time values are reduced upon starting the regulation because the speed (for example of goods in a transport device or the rotation speed of a drive motor shaft or of an encoder disc) initially rises. The respective values of the measurement values thus also normally change gradually. If, given an effective regulation, the average value of a number of measurement values does not change further in a next time segment but a current measurement value deviates therefrom in value, at least a partial correction of this individual measurement value is required since it is physically impossible that the speed suddenly changes in the direction of a higher speed, or that the measured time period is suddenly reduced.
Alternatively, an analog comparator can also be used, wherein D/A converters are connected at its inputs and an A/D converter is connected at its outputs (not shown).
The measurement arrangement includes a clock pulse emitter circuit 2′ having an output connected with a clock input of a first counter 3′. The binary-coded data outputs A′, B′, C′ and D′ of the first counter 3′ are connected with corresponding data inputs of a real value memory 4′. The latter has a control input Ü′ for initiation of a surveying of BC data of the counter 3′ via its outputs. The binary-coded data (BCD) correspond to a count value Z. A control input R′ for resetting the counter 3′ and the control input Ü′ of the real value memory 4′ are connected with corresponding outputs of the pulse shaper 133′ or of a correspondingly equipped encoder.
The encoder generates at least one encoder pulse e′ per rotation of the shaft and the encoder slit disc attached thereon. A reset signal r′ is only fed to the counter 3′ via the control input R′ after a control signal ü′ for data transfer was fed into the real value memory 4′ via the control input Ü′ and the data transfer of the count value Z (that corresponds to the time measurement value) has occurred. For example, the counter 3′ can be executed as a forward counter, the real value memory 4′ can be executed as a parallel-serial converter and the digital comparator 6′ can be executed as a backward counter. A digital desired value memory 5′ is connected with default inputs of the backwards counter. The parallel-serial converter can be a disc register which is read out in a clock-controlled manner, wherein the number input of the backward counter is connected to the serial data output of said parallel-serial converter (not shown). The digital real value is lower than the digital desired value upon run-up of the control variable and upon operation under load, and consequently the motor rotation speed is readjusted corresponding to the difference resulting from the comparison.
The rotation speed is a variable that indicates how often a shaft rotates in one minute (min=60 s), for example. It is required to calculate to the rotation speed vu. The rotation speed vu is specified in meters per second (m/s) and is equal to diameter d (in m) times π (3.14159265358979323846264338322795 . . . ) times rotation speed n (in s−1) according to the formula:
vu=d·π·n/60 /1/
For a linear, steady, constant speed (for example of the transport belt), the relation of the traveled path s in meters (m) divided by the time t in seconds (s) required for this applies according to the formula:
v=s/t /2/
After equalization and conversion of the equations /1/and /2/, the following equations apply for transport paths and times:
s=v·t=d·π·t·n/60 /3/
t=s/v=60·s/(d·π·n)=C/n /4/
The rotation speed n is inversely proportional to the time t. The proportionality factor C is constant. Moreover, the return of an encoder pulse applies for a count value Z of the counter given a period duration P:
t=Z/P with P in (1/sec), P=constant /5/
If the equation /5/ is used for the measurement time t in the equation /2/, the equation /6/ results from this:
v=(s·P)/Z=K/Z with K=constant /6/
The speed v results reciprocally from the count value of the counter.
A pulse/time diagram of the measurement produce in the conventional hardware measurement arrangement is shown in
A circuit arrangement of the simplified hardware measurement arrangement is shown in
It is assumed that the microprocessor 6 can implement the real value survey at the required point in time. The counter 3 thus measures the times between two encoder pulses by counting the clock pulses. The microprocessor reads out this counter and determines the associated transport speed v from the corresponding count value Z and by means of a constant K (product of period duration P and the traveled transport path s corresponding to the structural parameters of the drive) that is stored in a non-volatile manner.
After each rotation of the motor shaft, a predetermined value of the traveled transport path s (which is constant due to unchanged mechanical design of the encoder) can thereby form the basis of the calculation. It even remains constant when the processor cannot implement the real value survey at the requested point in time. Only the count value Z has changed and leads to an incorrect value of the transport speed v. However, given motors a sudden speed change is impossible due to the moments of inertia. The microprocessor is programmed to sort out individual measurement values of a sudden speed change and to make them ineffectual.
Every value of the transport speed v is stored. The speed values determined to be incorrect due to the processor load are sorted out and corrected under the following criteria:
The current speed value of the transport speed v is compared with an arithmetic speed comparison mean V_ from a group of previously determined speed values vn-1, vn-2, vn-3, vn-4. If the current speed value vn of the goods in a transport device or the rotation speed vu of a drive motor shaft or of an encoder disc is greater than the average value V_ and the speed value vn-1 determined immediately beforehand is smaller than the average value V_, the determined current speed value is sorted out in order to replace it with an average value from the current speed value and the previous speed value. A first correction value results as an arithmetic mean:
M1=(vn-1+vn)/2 /11/
Alternatively a speed v is not determined from the current count value V; rather, the count value is corrected directly from the current count value Zn and is compared with the arithmetic count value comparison mean Z_ obtained from a group of a previously determined count values Zn-1, Zn-2, Zn-3 and Zn-4. If the current count value Zn of the transport speed is smaller than the count value comparison mean Z_ and the previously determined count value Zn-1 is greater than the count value comparison mean Z_, the current count value Zn and the previous count value Zn-1 are averaged with one another, and a second correction value alternatively results as an arithmetic mean:
M2=Z1+Zn)/2 /12/
The arithmetic mean M1 or M2 (which is also designated as a corrected measurement value or correction value) is stored in RAM. Such a correction makes a speed change by the motor regulation due to a sporadically occurring incorrect measurement value. Due to the moments of inertia, a sudden speed change is physically not possible in motors, such that a single deviating measurement value can be detected and at least partially corrected. This does in fact require an increased software expenditure. However, the hardware expenditure for the measurement arrangement according to
A flowchart of the measurement workflow and of the measurement value correction by the microprocessor is shown in
The measurement value memory (RAM) is provided to store speed values and/or count values (time). In the second step 102 the motor control algorithm (MCA) is started and the measurement is begun as soon as an encoder pulse is determined. In such a case an interrupt is generated and a timer is started.
The second step 102 includes a first interrogation step 102a and at least one further sub-step 102b for handling of interrupt routines of the microprocessor corresponding to an established ranking. An interrupt is also triggered upon occurrence of an additional encoder pulse. In the sub-step 102a it is checked whether such an interrupt based on an encoder signal should be processed. If that is not the case, a further interrupt signal of equal or higher priority can then be processed and the workflow branches back to the start of the sub-step 102a. However, immediately after the start of the MCA the case quickly exists that a further interrupt based on an encoder signal should be processed. The workflow then branches to a third step 103 in order to interrogate the timer and end the measurement.
A readout of the current count value Zn of the timer and possibly a calculation of the associated speed value vn ensues in the third step 103. The measurement value (count or, respectively, speed value) is thereby initially stored in a volatile manner in the measurement value memory (RAM). The timer is subsequently restarted by the microprocessor. A determination of a comparison value ensues in a subsequent fourth step 104 by forming an arithmetic mean across a number of stored preceding measurement values (count or, respectively, speed values). The comparison value Z_ is initially set to a predetermined value and V_ is initially set to “zero”. Every new measurement value leads to a drop or rise of the comparison value and to a run-up of the motor regulation. From the fourth step 104 the workflow branches to a second interrogation step 105 in which it is established whether a measurement value correction is required. A measurement value correction ensues when the criteria of the inequalities /7/ or, respectively, /9/ are satisfied, i.e. given vn>V_ and vn-1<V_, or Zn<Z_ and Zn-1>Z_.
If a measurement value correction is required, the workflow branches to the sixth step 106 in order to implement the correction by means of forming an arithmetic mean across the last two measurement values according to the equations /11/ or, respectively, /12/. The arithmetic mean M1 or M2 is subsequently stored as a corrected measurement value in the seventh step 107. Otherwise, if no measurement value correction is required the workflow branches directly from the second interrogation step 105 to the seventh step 107 in order to store the current measurement value.
A use of the evaluated measurement values ensues in a subsequent eighth step 108 in a typical manner for the motor regulation. A third interrogation step 109 follows the eighth step 108 in order to establish whether the motor regulation should be stopped. If that is the case, the workflow branches from the third interrogation step 109 to a step 110 to end the motor control algorithm.
However, if that is not the case, the workflow branches back from the second interrogation step 109 to the start of the sub-step 102a.
A count value/time diagram and an encoder pulse/time diagram are shown in
A sampling of the count value Zn=6 initially ensues in the shown example. The speed then gradually reduces and the periodically recurring encoder pulses e5 through e14 occur delayed, wherein the delay is identified with a small white arrow. The encoder pulses e1 through e4 occur periodically and at a smaller time interval than the likewise periodically occurring encoder pulses e5 through e14. This leads to the situation that a count value Zn=7 higher by one step is sampled as of the encoder pulse e4. A “step” is a constant rate of change of at least one.
A sampling of the count value Zn=7 initially ensues in the shown example. The encoder pulses e1 through e4 occur periodically and at the same time interval as the likewise periodically occurring encoder pulses e5 through e13. However, the measurement time of the timer is extended as of the encoder pulse e4 up to the occurrence [sic] since the interrupt signal I5 is processed with a time delay. This leads to a sampling of the timer delayed by Δtscan, whereby now a count value Zn=8 higher by one step is sampled. In the shown example it is assumed that the interrupt signal I6 is again triggered immediately afterwards upon occurrence of a subsequent encoder pulse e6, and the count value Zn=6 of the timer is read out and cached in RAM (see
As of the encoder pulse e6 the measurement time of the timer is constant again (as at the start of the measurement series) since the interrupt signals I6 through I13 are again processed without time delay.
The time curve of determined speed values is shown using
Although modifications and changes may be suggested by those skilled in the art, it is the intention of the inventor to embody within the patent warranted hereon all changes and modifications as reasonably and properly come within the scope of his contribution to the art.
Number | Date | Country | Kind |
---|---|---|---|
10 2007 026 344 | Jun 2007 | DE | national |
Number | Name | Date | Kind |
---|---|---|---|
3705400 | Cordes, Jr. | Dec 1972 | A |
4636959 | Salazar et al. | Jan 1987 | A |
5083072 | Song | Jan 1992 | A |
5367236 | Salazar | Nov 1994 | A |
5789658 | Henn et al. | Aug 1998 | A |
6000869 | Lee | Dec 1999 | A |
6247774 | Mueller | Jun 2001 | B1 |
6304825 | Nowak et al. | Oct 2001 | B1 |
6445961 | Melvin | Sep 2002 | B1 |
6538407 | Tanaka | Mar 2003 | B2 |
6839653 | Gerlach | Jan 2005 | B2 |
7245103 | Chapman et al. | Jul 2007 | B2 |
7576509 | Komatsu et al. | Aug 2009 | B2 |
7633256 | Reichert et al. | Dec 2009 | B2 |
Number | Date | Country |
---|---|---|
197 30 806 | Jan 1999 | DE |
0 584 566 | Jul 1993 | EP |
2 404 100 | Jan 2005 | GB |
2000-236688 | Aug 2000 | JP |
Number | Date | Country | |
---|---|---|---|
20080303468 A1 | Dec 2008 | US |