Abstract:
A drive motor assembly for a power driven wheelchair comprises: a stator housing for containing field coils of a stator of the motor assembly; at least one sensor disposed in the stator housing for sensing rotation of the motor; a memory storing motor error parameter data including data of errors of the at least one sensor, the memory being embedded in the stator housing; and a connection for accessing the error parameter data of the memory from the stator housing. The motor error parameter data may be accessed from the embedded memory of the drive motor by a programmed motor controller for use in controlling the drive motor. Also, the motor error parameter data may be embedded in the drive motor by the steps of: controlling the motor through at least one predetermined drive pattern; sensing motor rotation during the drive pattern and generating signals representative thereof; deriving error parameter data of the drive motor from the generated signals; programming a memory with the derived error parameter data; and embedding the memory in the drive motor.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     The present invention is directed to the field of power driven wheelchairs, in general, and more particularly, to a method and apparatus for embedding motor error parameter data in a drive motor of a power driven wheelchair.  
         [0002]     Power driven wheelchairs which may be of the type manufactured by Invacare Corporation of Elyria, Ohio, for example, generally include right and left side drive wheels driven by a motor controller via respectively corresponding right and left side drive motors, all of which being disposed on the wheelchair. An exemplary illustration of such a motor drive arrangement is shown in the schematic of  FIG. 1 . Referring to  FIG. 1 , a motor drive controller  10  which may be an Invacare MK IV™ controller, for example, controls drive motors  12  and  14  which are mechanically linked respectively to the right side and left side drive wheels of the wheelchair. A user interface  16  which may include a joystick  18  and selection switches (not shown) operable by a user is also disposed on the wheelchair in a convenient location to the user. The user interface  16  is generally interfaced to the controller  10  over a two wire serial coupling  20  to permit the user to select a drive program appropriate for operating the wheelchair in its environment and to adjust the direction and speed of the wheelchair within the selected drive program. The controller  10  may be programmed with a plurality of drive programs, each suited for a particular operating environment.  
         [0003]     The motor controller  10  is generally powered by a battery source  22 , which may be 24 volts, for example, also disposed on the wheelchair. The drive motors  12  and  14  may be of the permanent magnet type like a gearless, brushless AC motor, for example. The controller  10  may include a microcontroller interfaced and responsive to the user interface  16  to control drive signals  24  and  26  to motors  12  and  14 , respectively, via a power switching arrangement configured in accordance with the motor type being driven. The power switching arrangement may be powered by the 24V battery  22 . Thus, as the user adjusts the speed and direction of the wheelchair via the joystick of interface  16 , appropriate drive signals  24  and  26  are controlled by controller  10  to drive the motors  12  and  14  accordingly. Controller  10  generally controls motor speed to the user setting in a closed loop manner.  
         [0004]     Actual speed of each motor  12  and  14  is derived from signals  28  and  30  respectively sensed therefrom. For example, for AC drive motors, a Hall Effect sensor combination may be disposed at the motor for sensing and generating signals  28  and  30  representative of angular position which are read by the controller  10 . The controller  10  may derive motor speed from the sensor signals  28  and  30  based on a change in angular position, and use the derived motor speed as the actual speed feedback signal for the closed loop speed control of the motor.  
         [0005]     For safety purposes, it is preferred that the motors of the wheelchair drive the corresponding wheels of the wheel chair in a smooth fashion. To achieve this smooth motor drive, the rotor and stator of the motor should be manufactured to precise tolerances. In other words, there should be a precise relationship between the magnets positioned uniformly around the rotor assembly and the field coils (normally 3-phase) disposed about the stator assembly so that when the magnetic fields of the stator are energized and caused to rotate in phase, they force the magnets of the rotor to follow in a smooth and uniform manner, i.e. without jerky or interrupted movement. However, mounting of the rotor and stator components in a precise orientation to each other may not always be accomplished. While the motor components may be within their desired manufacturing tolerance, the orientation of such motor components during assembly of one motor to another may not be of the exact same dimensions which leads to variability of component orientation.  
         [0006]     In addition, as noted above, closed loop motor speed control of the wheelchair utilizes a motor speed feedback signal generally derived from a set of sensors disposed within the motor assembly for providing signals commensurate with the angular position of the rotor with respect to the stator. However, one set of sensors may measure angular position of the motor slightly different from another set. Thus, the sensitivity of sensor measurements becomes a factor in driving the motor smoothly. Accordingly, each motor assembly will have its own set of error parameters. To achieve the smooth motor drive in present powered wheelchairs, the motor controller determines the error parameters of each motor assembly, generally through a calibration process, and automatically compensates for these error parameters in a motor control algorithm of the controller  10 .  
         [0007]     To better understand the present calibration procedure, reference is made to  FIG. 1  and the block diagram schematic of an exemplary closed loop motor controller depicted in  FIG. 2 . Controller  10  may include a microcontroller  40  (shown within dashed lines) including a microprocessor programmed with operational algorithms for controlling the AC GB drive motor  12 ,  14 , and an analog-to-digital converter (A/D)  42 . The motor  12 ,  14  may be a three phase motor of the type in which the three field coils thereof are wye connected as shown. Each field coil is driven by a corresponding drive amplifier  44 ,  46  and  48  powered by the voltage of battery  22 . As noted above, the angular position of the rotor may be measured by two Hall Effect sensors  50  and  52  in conjunction with a ring magnet which generate in response to movement of the rotor near sinusoidal signals which are 90° apart (i.e. sine and cosine signals) representative of the angular position of the rotor. The generated signals from sensors  50  and  52  are provided to inputs of the A/D  42  over signal lines  54  and  56 , respectively. The A/D  42  digitizes the sensor signals at a sampling rate on the order of 100 Hz, for example.  
         [0008]     The microprocessor of the microcontroller  40  is programmed with control algorithms functionally depicted in  FIG. 2  by blocks. For example, block  58  performs the function of receiving the digitized sensor signals and converting them into an angular position and motor speed which is conveyed to a summation block  60 . A speed demand signal may be input to the controller from the user interface  16 , for example, and applied to another input of the summation block  60  which subtracts the motor speed signal from the speed demand signal to arrive at an error signal ε. A motor control algorithm  62  is governed by the speed error to cause each of three pulse width modulator algorithms  64 ,  66 , and  68  to generate a pulsed width modulated signal to a corresponding amplifier  44 ,  46  and  48 , respectively. The amplifiers  44 ,  46  and  48  in turn generate voltage signals V 1 , V 2  and V 3 , respectively, which cause the corresponding field coils of the drive motor  12 ,  14  to rotate a magnetic field in proper phase about the stator to force the rotor to follow.  
         [0009]     Currently, after the wheelchair is assembled during manufacture, the aforementioned motor error parameters are determined individually for each drive motor of the wheelchair by the calibration process which entails lifting the wheels of the wheelchair off the ground. The calibration procedure may be initiated through a remote programmer  70  which may be electrically coupled to a port of the microcontroller  40  of controller  10  via signal lines  72 , for example. The calibration procedure may be menu selected via an interactive display  74  of the programmer  70  by operation of input pushbuttons  76  thereof. Once selected, the programmer  70  sends a signal over lines  72  to the microcontroller  40  to execute a calibration algorithm  80  programmed therein.  
         [0010]     During execution of the calibration algorithm  80 , the summation block  60  is functionally disconnected and the motor is automatically driven open loop via motor control algorithm  62  by an error signal  82  generated by the algorithm  80  in accordance with predetermined drive patterns. During the calibration procedure, a feedback speed signal  84  is monitored by the calibration algorithm  80  to determine certain motor error parameters, such as angular error in the orientation between the sensors  50  and  52  (should be precisely 90°), the amplitude variation of each sensor to the magnetic field, and the distortion parameter for each sensor which is related to the deviation of the sensor signal from a sine wave, for example.  
         [0011]     Once the motor error parameters are determined for each motor  12  and  14  of the wheelchair, data representative thereof are stored in a non-volatile memory  86 , which may be an electrically erasable programmable read only memory (EEPROM), for example. Thereafter, each time the motor control algorithm  62  is executed, it uses the motor error parameter data stored in the EEPROM  86  for a smooth control of the drive motors  12  and  14 . However, the stored motor error parameter data are unique to the present motors and sensors of the wheelchair, and the particular assembly thereof. Thus, each time a service problem is encountered in the field involving replacement of a motor assembly unit, the calibration procedure has to be repeated which includes maintaining the wheels of the wheelchair off the ground through use of blocks or other onerous techniques.  
         [0012]     Understandably, having to repeat the calibration procedure in the field to re-determine the motor error parameters each time a motor assembly is replaced is a very timely and costly operation which needs improvement. The present invention is intended to address the timeliness and cost of the current motor error parameter setting technique and provide a method and apparatus which overcomes the drawbacks thereof.  
       SUMMARY OF THE INVENTION  
       [0013]     In accordance with one aspect of the present invention, a drive motor assembly for a power driven wheelchair comprises: a stator housing for containing field coils of a stator of the motor assembly; at least one sensor disposed in the stator housing for sensing rotation of the motor; a memory storing motor error parameter data including data of errors of the at least one sensor, the memory being embedded in the stator housing; and means for accessing the error parameter data of the memory from the stator housing.  
         [0014]     In accordance with another aspect of the present invention, apparatus for accessing motor error parameter data from a drive motor of a wheelchair comprises: a memory embedded in the drive motor, the memory storing motor error parameter data; and a programmed motor controller for controlling the drive motor, the motor controller operative to access the motor error parameter data from the embedded memory for use in controlling the drive motor.  
         [0015]     In accordance with yet another aspect of the present invention, a method of embedding motor error parameter data in a drive motor of a wheelchair comprises the steps of: controlling the motor through at least one predetermined drive pattern; sensing motor rotation during the drive pattern and generating signals representative thereof; deriving error parameter data of the drive motor from the generated signals; and programming a memory with the derived error parameter data; and embedding the memory in the drive motor.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]      FIG. 1  is a block diagram illustration of an exemplary motor drive arrangement of a power driven wheelchair.  
         [0017]      FIG. 2  is a block diagram schematic of an exemplary closed loop motor controller for controlling a drive motor of a wheelchair.  
         [0018]      FIG. 3  is a block diagram illustration of a drive motor attached to a test fixture for embedding motor error parameter data in the drive motor in accordance with one aspect of the present invention.  
         [0019]      FIG. 4  is an illustration of an exemplary stator of a drive motor assembly having embedded therein motor error parameter data in accordance with another aspect of the present invention.  
         [0020]      FIG. 5  is a circuit schematic of embedded circuitry of a drive motor including a memory storing the motor error parameter data thereof.  
         [0021]      FIG. 6  is a block diagram illustration of an exemplary motor drive arrangement of a power driven wheelchair suitable for embodying yet another aspect of the present invention.  
         [0022]      FIG. 7  is a block diagram schematic of an exemplary closed loop motor controller for controlling a drive motor of a wheelchair suitable for embodying still another aspect of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0023]     In accordance with the present invention, once a drive motor  100  has been assembled, it may be coupled to a test fixture  102  as shown in  FIG. 3  so that the rotor thereof is free to rotate with respect to the stator when driven. The test fixture  102  may include a motor controller  104  which may be similar in design as the motor controller described in connection with  FIG. 2 . The motor controller  104  may include memory  106  for storing the operational programs of the control and calibration algorithms as described in the embodiment of  FIG. 2  for controlling the motor under test  100 . Tests may be performed on the assembled motor  100  through an interactive user interface  108  coupled to the test fixture  102 . The user interface may be a personal computer (PC) with a conventional keyboard and display, or a manual control panel with pushbuttons and indicators, for example. In any event, once the motor  100  is attached to the test fixture  102  and free to rotate, an operator may control the test fixture  102  via the user interface  108  to initiate a calibration procedure similar to the calibration procedure described for the embodiment of  FIG. 2 .  
         [0024]     During the calibration procedure, a calibration algorithm will be executed in the motor controller  104  to drive the motor  100  through a number of predetermined drive or speed patterns using drive signals over lines  110 . Concurrently, the motor controller  104  will read the angular position signals over lines  112  from the Hall Effect sensors  50  and  52  built into the motor assembly as described in  FIG. 2 . As part of the calibration algorithm, the motor controller  104  will determine certain motor error parameters which are unique to the motor under test  100  and store data representative thereof in memory  106 , for example. The motor error parameters, may include, but not be limited to, angular error in the orientation between the sensors  50  and  52  (should be precisely 90°), the amplitude variation of each sensor to the magnetic field, and the distortion parameter for each sensor which is related to the deviation of the sensor signal from a sine wave, for example.  
         [0025]     Once all of the motor error parameters are determined, the operator may insert a non-volatile memory  113 , like a EEPROM, for example, into a pluggable unit  114  which may be coupled to the motor controller  104  over address (A), data (D) and control (C) lines. The EEPROM  113  may be of the type manufactured by Microchip under the part no. 24AA01, for example, which is an integrated circuit (IC) disposed within an 8 pin package. The pluggable unit  114  may be a pin pluggable receptor of the 8-pin IC package. Once the memory  113  is inserted into the receptor unit  114 , the operator may through the interface  108  instruct the test fixture  102  to burn-in or program the non-volatile memory  113  via motor controller  104  with data representative of the motor error parameters determined for the motor under test  100 . After programming, the non-volatile memory package  113  may be removed from the receptor unit  114 . The programmed memory package  113  now contains data of the motor error parameters unique to the motor  100  and is ready for embedding into the motor assembly  100 .  
         [0026]     In the present embodiment, the wheelchair drive motor assembly includes a stator unit and a rotor unit which is driven to rotate about the stator unit. The stator unit includes the field coils of the motor along with the combination of Hall Effect sensors  50  and  52  and the rotor unit includes a multiplicity of permanent magnets distributed uniformly about the inside perimeter thereof and fits over the stator unit for rotation thereabout. An exemplary stator unit  120  is shown in the illustration of  FIG. 4 . Referring to  FIG. 4 , field coils  122  of the motor are disposed around an inside perimeter and contained within a stator housing  124  which includes a center aperture  126  for coupling to an axle  128  of the wheelchair. A hub  130  of the axle  128  protrude above the stator unit  120  and includes screw holes  132  for use in securing the rotor unit (not shown) thereto. Around the perimeter of the axle  128  below the hub  130  is disposed a ring magnet  134  magnetized with a plurality of poles in a pattern to create a magnetic field of a sinusoidal intensity, for example, during rotation thereof.  
         [0027]     In the embodiment of  FIG. 4 , the Hall Effect sensors  50  and  52  are disposed on a printed circuit board  140  which is affixed to the stator unit in proximity to the ring magnet  134 . The sensors are assembled on board  140  in an orthogonal orientation with respect to each other as noted herein above. The programmed EEPROM  113  containing the data representative of the motor error parameters of the motor may be also disposed on the board  140  and become a permanent part of the motor assembly. Leads connected to the sensors  50  and  52  and the EEPROM  113  are distributed through a wire cable  142  within the housing  124  to a connector  144  affixed to the outside of housing  124 . Each lead of the cable is connected to a pin of the connector  144  as will become better understood from the following description.  
         [0028]     Exemplary circuitry disposed on the board  140  is depicted in the circuit schematic diagram of  FIG. 5 . Referring to  FIG. 5 , a voltage supply Vcc which may be on the order of five volts, for example, is brought to the circuit board  140  through pin P 3  of connector  144  for powering the Hall Effect sensors  50  and  52 , programmed non-volatile memory  113  and other circuit components. A ground return GND from the circuit components is coupled from the circuit board  140  to pin P 5  of connector  144 . A clock signal CLK for accessing data serially from the memory  113  is brought to the board  140  through pin P 1  and coupled to the SCL input of memory chip  113  through series connected resistors R 1  and R 2  which may be approximately 220 ohms each, for example. At the board input, CLK is coupled to Vcc through a resistor R 3  which may be approximately 10K ohms. The node connection between R 1  and R 2  is connected through a diode D 1  (anode to cathode) to Vcc and also connected to GND through a parallel combination of a diode D 2  (cathode to anode) and a capacitor C 1 . In the vicinity of the aforementioned circuitry, Vcc is bypassed to GND through a capacitor C 2 .  
         [0029]     Serial data DAT is accessed from the SDA output of chip  113  which is connected to pin P 2  through series connected resistors R 4  and R 5  which may be approximately 220 ohms each, for example. At the board input, DAT is coupled to Vcc through a resistor R 6  which may be approximately 10K ohms. The node connection between R 4  and R 5  is connected through a diode D 3  (anode to cathode) to Vcc and also connected to GND through a parallel combination of a diode D 4  (cathode to anode) and a capacitor C 3 . Address inputs A 0 , A 1  and A 2  and input WP of chip  113  are coupled to GND. Also, in the vicinity of the memory chip  113 , Vcc is bypassed to GND through a capacitor C 4 .  
         [0030]     Still further, the output of Hall Effect sensor  50  which may be of the type manufactured by Allegro under the part no. A3515LUA, for example, is connected to pin P 4  through series connected resistors R 7  and R 8  which may be approximately 22 ohms each, for example. The node connection between R 7  and R 8  is connected through a diode D 5  (anode to cathode) to Vcc and also connected to GND through a parallel combination of a diode D 6  (cathode to anode) and a capacitor C 5 . In the vicinity of the aforementioned circuitry, Vcc is bypassed to GND through a capacitor C 6 . Likewise, the output of Hall Effect sensor  52  which may be of the same type as sensor  50 , for example, is connected to pin P 6  through series connected resistors R 9  and R 10  which may be approximately 22 ohms each, for example. The node connection between R 9  and R 10  is connected through a diode D 7  (anode to cathode) to Vcc and also connected to GND through a parallel combination of a diode D 8  (cathode to anode) and a capacitor C 7 .  
         [0031]     In accordance with the present invention, wheelchair drive motors may be built and distributed with the motor error parameter dataa embedded therein, like in the programmed chip  113 , for example. Thus, the drive motors  12  and  14  may be assembled to the wheelchair in any conventional manner and the signal lines of the sensors  50  and  52 , and the memory chip  113  may be connected to the motor controller  10  through connectors  150  for right side drive motor and  152  for left side drive motor as shown in  FIG. 6 . The sensors  50  and  52  may be read in from the right and left side motors over signal lines  28  and  30 , respectively, as described in the embodiment of  FIG. 1  and the motor error parameter data may be accessed or read from the memories of the right and left side motors over signal lines  154  and  156 , respectively, for use by the motor controller  10  in controlling the motors  12  and  14 .  
         [0032]     More specifically, programmed in the microcontroller  40  of the motor controller  10  is a power-up routine  160  as shown in the functional block diagram schematic of  FIG. 7 . Accordingly, when the microcontroller  40  is powered up, it sequences through the programmed power-up routine  160  which includes a task of accessing or reading the motor error parameter data embedded in each drive motor connected thereto via connector  150  and lines  154  for motor  12  and connector  152  and lines  156  for motor  14  such as shown in the embodiment of  FIG. 6 . The power-up routine  160  may initiate the data transfer by first transmitting the clock signal CLK to one of the drive motors, like motor  12 , for example, and receiving serially the error parameter data for motor  12  over the data line DAT in a predetermined data pattern. Once the routine  160  receives all of the error parameter data for motor  12 , it may store the data in designated registers of a memory  162 . Then, the routine  160  may access, read in and store the error parameter data of the other motor  14 , for example, in the same manner.  
         [0033]     After power-up, the microcontroller  40  may be tasked with the motor control function using the motor control algorithm  62  as described herein above in connection with the embodiment of  FIG. 2 . During the execution of the motor control algorithm  62 , error parameter data may be accessed from memory  162  by the control algorithm  62  to compensate for the motor errors in order to provide a smooth drive of the wheels of the wheelchair. Should power be disconnected from the microcontroller  40 , then the power-up routine will be re-executed upon power turn on and the foregoing described steps will be repeated.  
         [0034]     Also, should one or both of the motor assemblies of the wheelchair be replaced for any reason in the field, the replacement will be transparent to the microcontroller  40  since upon power-up, the microcontroller  40  is programmed to access and read in the error parameter data associated with the new motor(s) from the embedded programmed memory chip thereof. There is no longer any need to go through the cumbersome and time consuming calibration procedure each time a motor assembly is originally assembled to the wheelchair or replaced in the field. The calibration takes place at the motor assembly level and may be maintained throughout the lifetime of the motor.  
         [0035]     While the present invention has been described herein above in connection with one or more embodiments, it is understood that such embodiments are being used herein by way of example with no intention of limiting the invention in any way thereby. Rather, the present invention should be construed in breadth and broad scope in accordance with the recitation of the appended claims.