Electronic postage meter assembly enabling connection of any printwheel-setting motor connector to any printwheel-setting motor5224416Abstract A postage meter comprises a non-volatile memory and a microcomputer in communication with the non-volatile memory and a plurality of stepper motors. Positioning commands from the microcomputer are directed to the plurality of stepper motors and includes a plurality of respective stepper motor drivers. Each of the stepper motors are arranged for positioning at least one printwheel. The non-volatile memory has stored therein data for associating each of the stepper motor drivers with a respective printwheel wherein the positioning of a selected printwheel is commanded in accordance with the data relating printwheel to stepper motor driver stored in the non-volatile memory. Claims What is claimed is: Description RELATED APPLICATION
TABLE 1
______________________________________
BANK NUMBER
MSD LSD
1 2 3 4 5
______________________________________
VALID SENSOR 10 11 10 10 11
READINGS IN 01 00 01 01 00
PRINT POSITION
MOTOR ROTA- CCW CCW CW CW CW
TION DIRECTION
TO INCREASE
VALUES
SENSOR SWITCH-
CH B CH A CH A CH A CH B
ING FOR IN- LEAD LEAD LEAD LEAD LEAD
CREASING
VALUES*
______________________________________
*LEAD-ONE CHANNEL TRANSITION LEADS THE OTHER CHANNEL TRANSITION BY
APPROXIMATELY ONE QUARTER CYCLE. THERE IS ONE TRANSITION ON EACH CHANNEL
PER DIGIT.
In accordance with an aspect of the invention, the information to be derived and stored in each meter comprises the following: 1. a motor number and an associated printwheel number, that is, which command lines move which printwheel. 2. the motor coil switching sequence for increasing print values. 3. motor stator alignment position for printing. 4. a valid sensor reading for printing a specific value, i.e, sensor reading 01 prints a value 3, etc. FIG. 6 is a flow chart illustrating the operations of determining the motor versus print wheel bank as well as the coil change sequence versus the direction of travel for a given coil change. The general procedure is as follows: With the die-protector or rectifier solenoid degenerized, a step sequence is generated on each set of motor lines. The sensor outputs are analyzed to determine which printwheel ha been actuated as well as the direction of the rotation. The printwheel bank number in the switching sequence for increasing values is recorded and stored in the non-volatile memory of the postage meter. The flow chart of FIG. 6 depicts generally the means by which stepper motors or for that matter any other type of motor can be plugged into a random connector slot and then be identified with respect to a fixed value wheel position. It will be further appreciated that the sensors associated with this system can be optical, magnetic, and the like and are fixed in position suitably, for example, by being packaged and located at predetermined positions on a fixed flex strip. As seen in FIG. 6, the first step, block 400, is to simply plug motors into motor connectors at random. In the present embodiment of the meter, for example, there are five motors. The second step is to fix the locations of the sensors in respective assemblies for each motor in a position N, block 410, suitably as before mentioned by means of packaging in a fixed flex strip that will allow no other than appropriate positioning. At block 420, a first motor is stepped by actuating the motor drivers connected to connector position pins X. At this point, the sensor N outputs are monitored, decision block 430, to detect whether sensor N detects the motion. For the sensor N being monitored, if no motion is detected, the NO path from decision block 430 causes the sensor number being monitored to be incremented, block 440, and the program loops to detect motion, again at block 430. In the alternative, if the sensor N detects the motion, in the YES path from decision block 430, the associated sensor N is designated to correspond with connector position X for a particular postage value printwheel, block 450. In this case, the connector position X is incremented, block 460 and if X is less than 5, the NO branch of decision block 470 loops check to the next stepper motor connector position. After all sensors have been assigned to corresponding motor connector pins, the procedure is exited. FIGS. 7A through 7C comprise a flow chart for a method for determining the alignment of the motor stators, starting at 500, for the stepper motor-printwheel drive arrangement of FIG. 5. It should be understood when the assembly is completed, each of the stepper motors 310 (FIG. 5) are randomly connected to the outputs from the circuit board and each has been installed in the postage meter assembly without any particular attempt for close alignment. It is assumed that the procedure described in connection with FIG. 6 has been completed and the appropriate motor assignments have been made and the motor coil switching sequence for the direction of rotation for increasing values for each motor has been determined. At block 510, the motors are commanded to move away from all stops and then all the motors are de-energized. The rectifier solenoid, discussed in conjunction with FIG. 5, which acts specifically on printwheel banks 3 through 5 is then actuated, block 520. The actuation of the rectifier solenoid is monitored to determine whether the rectifier blades have actually been pulled into position by determining whether an associated rectifier sensor has been blocked. It will be appreciated that if certain of the printwheels are not in the proper position, the rectifier solenoid will not be able to pull in the rectifier blades and thus the sensor will not be blocked. The rectifier sensor is checked, decision block 530, and in the event that the sensor is not blocked and the rectifier blades have not been able to move, the NO branch of decision block 530 proceeds to block 540 where the rectifier solenoid is de-energized and motor number 3, for example, is advanced one step, block 550, and the rectifier solenoid is again actuated, block 560. The rectifier sensor is checked, decision block 570. If it is still unblocked, the NO branch proceeds to loop back to de-energize the solenoid and to advance each motor one step in sequence until the rectifier sensor is blocked. At that point the YES branch from decision block 570 joins the YES branch from decision block 530. Upon the rectifier sensor being blocked, the YES branch from decision block 530 or 570 falls to the read respective sensors in the banks for motors 3, 4, and 5, block 580. If the readings do not agree with those shown in Table 1, the routine is exited at the NO branch of decision block 590 since there is clearly an error. Assuming that the readings taken do agree with those in Table 1, the YES branch from block 590 falls to again de-energize the rectifier solenoid, block 600. In blocks 610, 620, 630, and 640, the coil energization sequence for increasing-value rotation direction of bank 3 gear train is determined and recorded. And finally at block 650, the coil data is recorded for which the transition occurs on the A channel of the encoder. For the rest of the procedure discussed below, it will be assumed that this occurred with energization of coil "C". The alignment procedure now proceeds into a second loop. In this loop, the rectifier solenoid is again actuated at block 700 and it is again verified that the rectifier sensor is blocked at 710. At this point, block 720, an alignment fixture shown in FIG. 8 is engaged to hold the rectifier in seated position when the rectifier solenoid is actuated. Again assuming that coil C was the noted transition coil, the coils DC are energized, block 730 and the alignment switch or sensor is read, block 740. When the alignment switch equals 1, the rectifier is engaged. If the rectifier, as tested at decision block 750, is engaged, the YES branch falls to have the coil setting recorded as equaling the start position, block 760. If however, the switch does not equal 1, the NO branch from decision block 750 proceeds to repeat the coil actuation in the decreasing value direction in successive loops, block 760, until such time as the switch does test equal to 1 and then again falls to block 760 for recording the coil setting as equal to start. At this point, unit plus and minus counters (which register the number of electrical current increments or units of a predetermined amount to total the actual current required for positioning the rotor) is reset, block 780. The current is increased in predetermined units in increasing value direction and counter is concurrently implemented blocks 790 and 800 for so long as the alignment switch remains equals to 1 as tested at decision block 810. The current is then returned to the coil start at 840 and position block 820 and it is verified that the switch is equal to 1, block 830. The current and coil adjacent to the start is incremented one unit in the decreasing value direction, block 845 and both the current and counters are incremented one unit at a time in block 850 until, as it is tested at block 860, the alignment switch is no longer equal to 1. The NO branch falls to block 870 where an algebraic sum of both the unit plus and unit minus counters is made and this value is divided by two at block 880. The procedure then loops back to repeat from the beginning for printwheel banks 4 and 5 of the postage meter and is also reiterated for banks 1 and 2 using the die protector solenoid for banks 1 and 2 in place of the rectifier solenoid described in the foregoing. FIG. 8 is a side elevational view of the alignment fixture utilized,, in conjunction with the procedure of FIGS. 7A through 7C. The fixture 900 comprises a base 910 on which one end of a counterbalance arm 920 is pivotally mounted, suitably by a pin 930 extending through one end of the base. Spring 950 is disposed between the counterbalance arm 920 and the base 910 and is of a predetermined strength to hold the rectifier or die protector blades in place in mesh with the printwheel gears of the meter assembly with a predetermined force. In accordance with the procedure discussed with FIGS. 7A-7C, when the fixture is to be utilized, the fixture is arranged such that ear 960 on counterbalance arm 920 is in abutment to the die protector or rectifier blade and in conjunction with the spring 950 will continue to hold the blade in locking position even though the rectifier or die protector solenoid has been de-energized. Electro-optical position sensor 970 is arranged so that the end of counterbalance arm 920 will actuate the sensor by blocking and unblocking the sensor light path depending on its position. The signal provides an indication when the blade is moved from its locking position. In accordance with the invention, the adjustment is accomplished by causing the meter microcomputer to adjust the rotor position to a predetermined angle with respect to the stator. This requires the delivery of different amounts of current as derived above to the two phases of the motor. A pulse width modulation is done by dividing the norm al motor step time into smaller time increments and updating the output to the motors at this higher rate. The relative amounts of power and hence pulse widths are determined by the method illustrated in FIGS. 7A through 7C and the resulting values are stored in the non-volatile memory of the postage meter. This data is used every time the microcomputer is used to set the printwheels. In order to make the description as simple as possible, assume that the microcomputer is driving a four phase unipolar stepper motor in single phase wave mode. The motor phases A, B, C, and D are powered in sequence for a period of 5 milliseconds each as shown in FIG. 4. In this diagram, each line segment represents a 1 millisecond period. When the motor has brought the printwheel to a position which is less than 1 full step away from the target position, it will typically only energize that particular phase. Assume that the microcomputer must be shared with other tasks such as driving other motors so that it updates the state of the control lines for this motor at 5 millisecond intervals. The other tasks are all scheduled into equal intervals of 1 millisecond. The routine then has to switch tasks every millisecond and it is possible to set up flags to allow utilization of several instructions at each task change without effecting the overall operation of the meter. This operation is shown more completely in the routine illustrated in FIGS. 9A-9D. The microcomputer thus turns on the second phase of the motor for shorter than 5 millisecond periods to bring the motor closer to the final aligned position. FIGS. 9A-9D comprise a flow diagram of the postage meter microcomputer routine for final alignment of the rotors of the meter stepper motors in accordance with the invention during the postage meter setting operation. The motor drive routine is shown at 1000. At block 1010, a "DONE" flag for each motor is cleared, a "SETTLING" flag for each motor is set, a "SETTLING TIME" counter is set, a motor pointer is set to 6, and a timer is set for 1/5 step time. The motor pointer is then decremented, block 1020, the value of the pointer is checked at decision block 1030 and if "0", the YES branch proceeds to set the motor pointer to 5 and rejoins the NO branch from decision block 1030 where the routine proceeds to check the step counter of the pointed motor, 1060. If the motor has not attained the last full step, that is if the step counter has not reached "0", The NO branch of decision block 1060 proceeds to block 1070 where the SETTLING flag is cleared and the pointed motor is stepped. The step counter is also decremented and then tested at decision block 1080. If the step counter has not reached "0", the NO branch of the routine from block 1080 continues as described below. If the counter has reached "0", the YES branch from decision block 1080 proceeds to block 1090 where the "SETTLING" flag for the pointed motor is set and the routine joins the NO branch of block 1080. Returning now to decision block 1060, if the step counter is "0", the YES branch leads to block 1100 where the SETTLING flag is checked. If the flag is not set, the NO branch from decision block 1110 continues as described further below. If the flag is set, the YES branch from block 1110 proceeds decrement the SETTLING TIME counter, block 1120, and tests whether it has reached "0", decision block 1130. If the counter has not reached "0", the NO branch proceeds to block 1140 where the HOME position coil or coils of the pointed motor are powered and a power pulse counter value is set for that motor in accordance with the data stored in nonvolatile memory which has been derived as described in conjunction with FIGS. 7A-7C. The YES branch from decision block 1130 turns off the power to the pointed motor, clears the SETTLING flag, and sets the DONE flag for the motor, block 1150. The branches of the routine merge at this point and fall to block 1160 where the DONE flags of all the motors are checked and if all are set, the YES branch of decision block 1170 exits the routine. If the motors have not all been set, the NO branch from block 1170 proceeds to block 1180 where the SETTLING flags of all motors are checked. If all are clear, the YES branch from decision block 1190 causes the sensors to be monitored to keep track of position, block 1200, the timer flag is checked, block 1210, and if it is not set, the NO branch from decision block 1220 loops back to block 1200. The YES branch loops back to block 1020 where the motor pointer is decremented and the loop is repeated until the routine is exited when all motors are set. Returning now to decision block 1190, if all SETTLING flags are not cleared, the NO branch proceeds to block 1230 where a SETTLING pointer is set to 6 and then decremented at block 1240. If the pointer has been decremented to "0", the YES branch from decision block 1250 goes to block 1200 previously described for monitoring the sensors. The NO branch from decision block 1250 proceeds to block 1260 to check the SETTLING flag of the pointed motor. If the flag is not set, the NO branch from decision block 1270 loops back to block 1240 to decrement the SETTLING pointer. The YES branch falls to block 1280 for checking the power pulse counter of the pointed motor. If it has reached "0", the YES branch of the routine from decision block 1290 loops back as described previously to block 1240. If the counter has not reached "0", the NO branch falls to block 1300 for decrementing the power pulse counter of the pointed motor and the counter is tested at block 1310. If the counter has not reached "0", the NO branch loops back to block 1240. If it has reached "0", power is turned off to the pulsed coil of the pointed motor at 1320 and the routine loops back to block 1240. The operation of the postage meter printwheel setting mechanism in accordance with the invention will now be described. The pulse widths necessary for the final positioning for each printwheel are derived and stored in the non-volatile memory of the postage meter. When a meter command is received to set the printwheels to print the value $0.25, the two lowest denomination printwheel banks are to be set to 2 and 5 while the others are to be set to "0". The step counter for each motor is set to the appropriate value to bring the printwheel to the required position and each motor is stepped to the closest full step to bring the printwheel the closest to its final alignment. As the motors reach this position, the HOME position coil or coils are powered by pulses of the required width to change the angular orientation of the stepper motor rotors to bring each printwheel to a final position within the tolerance of the rectifier blades ability to finally align the printwheels into printing position.
|
Same subclass Same class Consider this |
||||||||||
