MOTOR CONTROLLED SURGICAL SYSTEM

Abstract: A surgical system (8), adapted to operate with at least one surgical device, has a handpiece containing a motor (10) which is adapted to receive the surgical device. The surgical device is driven through a continuum of positions by the motor output shaft (12). A motor (10) has addressable switch assemblies for generating electrical state signals and the controller is responsive to the state signals for controlling the operation of the motor (10). The addressable switch assemblies are addressable Hall effect circuit switches (14) connected to the controller over a two wire switch bus. In connection with an arthroscopic device, the system enables the surgeon to control operation of the device from the handpiece. The surgical control system also provides a more linear relaionship between the duty cycle of a pulse width modulated control signal and the resulting motor armature rotational velocity.

Description: MOTOR CONTROLLED SURGICAL SYSTEM This invention generally relates to motor driven surgical systems, and more particularly, to a system for controlling the operation of an all digital motor controlled surgical system. Digital speed control systems for controlling the rotational speed of brushless motors used, for example, with arthroscopic cutting devices are well known. These brushless motor controlled devices typically adapt to a surgical assembly and use an all digital, well defined, system such as that disclosed in U.S. Serial Number 431 ,615, filed May 1 , 1995 and U.S. Patent 5,270,622. They provide excellent control over the rotational speed and position of the motor armature, which enables precise and accurate control of the surgical assembly through an appropriate gear reduction between motor and assembly. Such digital control systems provide an advancement over the prior analog controlled systems using, typically, brushless motors. The surgical assembly includes a handpiece portion and a surgical device. The handpiece, which houses the brushless motor and its controls, connects to and drives the surgical device in one of a plurality of modes. Thus, for example, the surgical device can be driven in an oscillatory mode, can be driven to return to a known position, and can be driven at varying speeds. The handpiece is designed as a sealed unit so that fluids passing through the surgical device, and out of the handpiece, do not inadvertently leak into, and damage, the brushless motor. As the surgical systems become more sophisticated, and in connection with various surgeries, such as arthroscopic surgery, which require equipment of small physical dimension, the competition for space within the handpiece increases. In addition, the surgeon prefers the "luxury" of having the controls for the motor at his fingertips rather than relying on either a third person to control the motor in response to his oral commands, such as at the control panel for the equipment, or relying solely on foot pedal controls which enable various operations to be accomplished. Further, in various known systems, electrical transducer sensor assemblies are placed both in the surgical device and in the handpiece, to enable the controller to adapt automatically to various classes of surgical device. All of the electrical transducing sensors, placed within the handpiece, compete for space within the handpiece, and importantly require electrical connection to the controller. The resulting electrical connecting cable thus grows in size as the handpiece sophistication and complexity increase. In addition, there is the constant need, in the control of the brushless motor, to provide a highly stable, accurate, and preferably linear relationship between the control signals and the motor velocity and position. This is particularly important in connection with medical surgery since precise, reliable, and convenient control of the equipment often equates to the success of the operation. Summary of the Invention A typical system, in accordance with the invention, has a digital signal processor or controller for supplying command signals indicative of a desired motor operation. The processor or controller generates, for each phase of motor drive, and in response to the external control signals, a digital commutation signal to rotate the motor armature. A digital pulse width modulated signal, having a duty cycle established by the control signals, controls, through a linear relationship control circuit, armature rotational speed. The system has a switching element, for example a multi¬ phase bridge and driver, in digital communication with the controller. The bridge is operative for generating, for each phase, and in response to each commutation signal from the controller, a digital control signal having an on-state controlled by the commutation signal and a voltage magnitude corresponding to the duration (that is, duty cycle) of the pulse width modulated signal from the controller. The system still further has elements in digital communication with the controller, for generating, as the motor rotates, position sensor signals indicative of motor armature position. The controller is operative for processing the position sensor signals to generate a digital signal indicative of the actual armature rotational speed. In a particular aspect of the invention, a surgical system is adapted to operate with at least one surgical device. The surgical system has a handpiece containing a motor and the motor is adapted to receive and drive the surgical device. The surgical device is driven through a continuum of positions by the handpiece under the control of a controller. The surgical system features a controller for controlling the surgical device through a motor drive circuitry, addressable switches in the handpiece responsive to addressing signals from the controller over a switch bus for indicating a switch state (such as whether the switch is present, and its condition) and wherein the controller is responsive to the electrical signals from the switches over the switch bus for controlling operation of the motor drive. In particular embodiments, each addressable switch has a Hall-effect sensor which responds to magnetic fields to generate a state signal to the controller, and a moveable switch element containing a source of magnetic energy. The controller is then responsive to the change of state of the Hall-effect sensor, in response to movement of, for example, manually moveable button magnets, for operating, at least in part, the driven motor, and thereby, the surgical device. The surgical system further features at least one addressable Hall-effect device in electrical communication with the switch bus and positioned in the handpiece for responding to magnetic field generating elements in a surgical device inserted into the handpiece. The surgical device may then contain magnets at specified locations corresponding to the Hall-effect device(s). The controller is responsive to signals indicative of the state of at least one addressable Hall-effect device for presetting parameters of the surgical system which correspond to the recognized surgical device. In a particular embodiment, the switch bus is a two-wire bus connecting each switch to the controller. In another aspect, the surgical system can have a foot switch connected to the controller for providing electrical signals identifying various foot switch commands. The foot switch features an addressable Hall-effect switch element and a manually actuated button element for modifying the state of the Hall-effect switch. The foot switch can thus indicate to the controller, when polled, a switch state; and the controller, in response to the switch state, thereby controlling operation of the driven motor. Brief Description of the Drawing Other features and advantages of the invention will be apparent from the following description, taken together with the drawings in which: FIG. 1 is a general block diagram of the overall all-digital speed and position control system according to the invention; FIGS. 2A and 2B represent a detailed block diagram of a particular embodiment of the system of FIG. 1 ; FIG. 3 is flow chart depicting part of the operation of the controller; FIG. 4 is a flow chart depicting another aspect of the operation of the controller; FIG. 5 is a schematic block diagram of a surgical procedure, using the system of the invention; FIG. 6 is a perspective view of a surgical tool; FIG. 7 is a cross-sectional view through FIG. 8; FIG. 8 depicts the motor Hall-effect switch outputs according to the invention; FIG. 9 is an electrical schematic of the Hall-effect switch assemblies connected to the switch bus; FIG. 10A is a perspective view of a surgical handpiece; FIG. 10B is a block diagram of a surgical system including the handpiece of FIG. 10A; FIG. 10C is a side cross-sectional view of the surgical handpiece of FIG. 10A; FIG. 10D is an enlarged portion of the cross-sectional view of FIG. 10C; FIG. 10E is a top view of a circuit board of the handpiece of FIG. 10A; FIG. 10F is an end view of the circuit board of FIG. 10E; FIG. 11 is a block diagram illustrating the two input device functionality of the invention; FIG. 11A is a flow chart illustrating controller operation regarding the addressable Hall-effect assemblies; FIG. 12 is a flow chart illustrating operation in the event of a failure of an addressable Hall-effect assembly; FIG. 13 is a flow chart illustrating operation of the controller for identifying handpiece and instrument classes; FIGS. 14A, 1 B and 15 are schematic diagrams of different aspects of the drive level circuit; and FIGS. 16A and 16B represent a schematic diagram of aspects of the three phase bridge and driver circuitry. Description of Particular Embodiments Referring to FIG. 1 , an all-digital motor control system 8 of this invention has a brushless, three-phase, DC motor 10 having a rotating armature 12. The motor has a plurality of conventional Hall- effect sensors 14 (three in the illustrated embodiment) mounted about the armature to sense armature position. The system includes a digital signal processor or controller 16, preferably an integrated circuit chip manufactured by Philips, and sold as model number 87C552. Controller 16 connects to motor 10 through a three phase bridge and driver circuit 18. Controller 16 generates a digital speed signal over a line 19 indicative of a desired armature speed (based on operator signals over lines 20 as described in more detail below, and further based upon actual motor rotational speed, as will also be described in detail below, as determined from signals over lines 22 from the Hall- effect devices 14 in motor 10). Upon power turn-on, controller 16 executes a software program as set forth, in pertinent detail, in Example 1. Controller 16 generates a set of six commutation signals 26, two for each phase of the illustrated four pole brushless motor, together operative for rotating the motor armature. More specifically, the controller in the illustrated embodiment, includes in its program, a look-up table having a listing of six commutation bit patterns, each pattern representing a discrete command for the armature, as a function of the angular position of the armature, as determined by the signals from the motor Hall-effect devices 14. The commutation signals are fed through, and processed in, the three-phase bridge and drive circuit 18 whereby three position control signals, one for each phase of the motor drive, are output to the motor 10 over lines 27. (The Hall-effect sensors 14 sense rotation of the armature and generate two-state Hall-effect signals (illustrated in Fig. 8), in substantial response to which the controller 16 generates the commutation signals.) This latter aspect of the controller 16 is illustrated in the operational flow chart of FIG. 3. The generation of the commutation signals is indicated by block 28. The reading of the Hall-effect sensors is denoted by block 30. The newly read state of the Hall- effect sensors 14 is stored at 32. When the controller 16 recognizes that a physical reversal of the armature has occurred (block 34), the reverse input command is given (block 36) and the next commutation bit pattern is output to the motor (block 38). If no reversal has occurred, the commutation bit pattern is sent without passing through block 36 and the next commutation bit pattern at 38 is the same as the last one. Thereafter, an internal counter, operative for generating a tachometer (TAC) signal, and the position registers, are incremented (block 40). The controller then returns from the interrupt. (For the illustrated four pole (3 phase) motor, the bit pattern changes every 30° of armature mechanical rotation. (Fig. 8)) The tachometer signal is processed to generate the aforementioned speed signal. Referring to FIG. 4, controller 16 also generates, by loading a PWM register in response to the desired speed value, a digital pulse width modulated (PWM) signal having a duty cycle (or pulse width) dependent, in part, upon armature rotational velocity. (Block 42) The PWM signal, in the illustrated embodiment, has a fixed PWM cycle of 42.5 microseconds. The PWM signal has a high and a low state. The controller determines the duration of the PWM signal and hence the speed of the armature in the preferred case, from 0 - 42.5 μs. In this way, the duty cycle of the PWM signal is controlled from 0 - 100%. As shown in Figures 1 and 2A and 2B, the PWM signal is fed to the three phase bridge and drive circuitry 18 through a drive level circuit 24, and circuit 18 generates the switching signals for the three phase bridge portion of the circuit 18 as is well known in the art. In turn, the bridge portion generates, for each phase, the aforementioned motor control signals, over lines 27, each having an on-state and an off-state. The Hall-effect sensors 14, as previously mentioned, generate and send relative position signals back to the controller where the signal changes are accumulated as they occur. The resulting counts from a TAC counter are processed by controller 16 to generate a tachometer signal which is delivered by the processor 16, inter alia, to a display 51 and which is indicative of the actual rotational speed of the motor. FIG. 5 is a schematic block diagram showing a setup of a typical modern surgical procedure, for example, an arthroscopy or laparoscopy. A joint or another area of the patient being operated on is diagrammatically illustrated at 62. A first cannula 64 is introduced into the area and is attached to a source of saline solution. A pump 66 maintains a positive pressure in the joint, for example 0 to 150 mm Hg gage. A video camera and light source 68 are also connected to the cannula 64 for viewing the area and displaying the image on a television monitor 69. A second cannula 70 with a surgical instrument at its end is also introduced into the area 62. The instrument, here, is driven by a handpiece 400 with a motor drive 10. The saline, blood and debris from the cutting are removed from the area through a hollow in the cannula 70 and then through a hose 74 which passes to a pinch valve 76, located on the pump housing 66, and which can help regulate flow from the area. The effluent then passes to a waste collector 78 and to a vacuum source 80 which typically maintains a pressure of 150 to 760 mm Hg absolute. Between the cannula 70 and hose 74 is the handpiece 400 of a surgical device. FIG. 6 is a schematic perspective, partially cut away, exploded view of part of a surgical device, a blade assembly, which would appear at the end of the cannula 70. A fixed hollow tube 82 of the blade assembly, closed at its distal end 84, has an opening which describes typically a cut-out section 86. The rotatable inner blade 88, also a hollow tube, has a cutting surface with sharp edges 91 at its distal end region 90. The inner blade is driven by the motor and rotates inside the tube 82 which is securely housed in the motor assembly. The vacuum draws fluids and debris through the central hollow for removal. The inner blade is typically driven at a constant speed, and rotates either in a continuous, single direction, mode, or in an oscillatory mode. The inner blade is driven by the motor within the shaver 72 corresponding to motor 10. It is desirable to control accurately the torque applied to the inner blade, because if the torque is too large, for example due to a piece of bone or metal or other fragment getting caught in the spinning tube of the inner blade 88, the inner blade itself or the tube 82, or the cannula 70 may shatter with the result of spraying debris into the patient's joint. The debris, then, must be removed which is not an easy task. Also, there is the resulting attendant trauma to the region. The control system of the present invention provides such a torque control. As noted above, the system of the present invention applies a voltage or electrical drive energy, for example, a series of pulses with a varying magnitude, to the brushless motor. The tachometer signals measure the actual speed of the motor armature, as noted above, and compares the desired armature rotational speed with the actual output speed derived from the Hall-effect sensor waveforms (Fig. 8) from the driven motor. If an object becomes stuck inside the surgical device, the motor will normally need more power, and thus will call for an increased duty cycle (over line 19) in the form of more average voltage and/or current (over lines 27). The software, however, compares the actual speed of the motor with the commanded speed of the motor, and if the speed is too slow for the applied voltage, then the controller will decrease the duty cyde. (which correspondingly reduces the average voltage or current to the motor), and this will reduce the motor torque, and thus will avoid possible fracture of the inner blade 86 or the tube 82. The surgeon may then observe the condition at the end of the cannula through the camera 68; and if something is stuck, increase the flow of saline or manipulate the tool to remove the clogging. It is also desirable in this situation to stop the tool with the aperture open. As described in pending International application number WO96 32067, the entire contents of which are incoφorated herein by reference, this condition can be attained if originally preset into the system, if need be, also, the surgeon can change the tool. FIG. 7 is a cross-sectional view through the cannula of FIG. 6 but with the inner blade inserted therein. The inner blade 82 with its cutting edge 91 , can be driven to rotate one way, and then another, that is, to oscillate. For example, the system can drive the inner blade clockwise for 0.6 seconds, then counter-clockwise for 0.6 seconds, and thereafter repeat that process. As the inner blade body 88 rotates one way and then the other, tissue that moves into the opening 86 is cut, and is then removed by the action of the vacuum, by flushing the saline solution through the interior hollow aperture 92, which feeds ultimately to the hose 74. It is understood that the oscillatory movement is not limited to rotary inner blades, but may be used for drills, circular rasps, rotary rotating scalpels, and a full range of motor dnven tools. With reference to Fig. 10A, the surgical handpiece 400 is configured to accept a variety of disposable surgical cutting instruments The handpiece has a generally cylindπcal shape and includes a housing 401 made from aluminum. At its distal end, the handpiece includes a hollow interface portion 405 for attachment of a surgical instrument The handpiece is fully autαciavabie. The interface portion 405 includes a recessed portion 406 having a slot 407 for insertion of the surgical instalment An annular flange 408 within the interface portion 405 engages with the surgical instrument to axially secure the instrument to the handpiece 400 Annular flange 408 has a ramp-shaped leading edge and a back-cut trailing edge. A guide hole 409 radially secures the surgical instrument to the handpiece and prevents rotation of the surgical instrument. Referring also to Fig. 10B, the handpiece 400 also includes, at its proximal end, a cable 410 for attachment to a console 505 of a surgical system 500. The cable 410 is connected to the handpiece by a threaded connector 412. Through the cable 410, the console 505 controls the operating speed and direction of the motor 10 located in the handpiece 400, and thereby controls the direction and speed at which the motor armature rotates. As illustrated in Fig. 10B, the console 505 includes a power switch 522 for activating or deactivating the system, and buttons to increase (525) or decrease (530) the speed of the handpiece motor 10. To display information, the console includes a fluorescent display 535 for diagnostic messages, digital display of the motor speed (540) and the permissible range for the motor speed (545, 550), and a bar graph display 555 of the motor speed within the permissible range. A foot switch assembly 555 attached to the console 505 through a cable 560 permits an operator to select between forward, reverse and oscillate modes of operation for the motor 10 as well as the aperture locked mode of operation. Lines from both the footswitch and the handpiece are terminated at the console either by an optical isolation device (labelled O/l in Figure 2B) or an electrostatic charge protection device (labelled ESD in Figures 2A and 2B). The console also includes a switch 563 to select one of two input connections 561 , 562 to which a cable 410 can connect. Referring also to Figs. 10C and 10D, the handpiece 400 also includes a handle 415 that controls a valve 416 and thereby controls an aspiration channel 417 through the handpiece 400. The handle 415 is positioned on the bottom of the handpiece near the distal end of the handpiece, and rotates about an axis 420 that is perpendicular to a longitudinal axis 425 of the handpiece. This orientation permits one-handed, finger control of flow through the aspiration channel 417 by a person holding the handpiece 400. The aspiration channel 417 ends at an aspiration spigot 430 at the proximal end of the handpiece. Three textured bands 435 define arcs about the circumference of the handpiece 400. These bands provide ease of gripping, and are formed by scoring the outer surface of the handpiece. Three push-button switches 100a, 100b, and 100c are located near the distal end of the handpiece 400 and are arranged in a triangular configuration. The switches, which are round and identically sized, provide control signals to the controller 16 (Fig. 2B) through cable 410. The controller 16 uses the switch signals to control the motor 10 in the handpiece 400. In one embodiment, the switches cause the console to control the motor to: (1 ) cycle through forward, reverse and oscillate modes of operation, (2) cycle through a circular range of speeds and (3) activate or deactivate. In another embodiment, the switches respectively cause the console to control the motor to operate in (1 ) forward, (2) reverse or (3) oscillate modes. As described below, the controller can effect these different embodiments, with the same handpiece, without reprogramming of controller 16. In the latter configuration, pressing any one of the switches activates the motor and causes the motor to operate in the corresponding mode. Thereafter, pressing any switch deactivates the motor. To switch, for example, from the forward operating mode to the reverse operating mode, an operator would press any one of the three switches to deactivate the motor and would thereafter press the reverse switch to reactivate the motor in the reverse mode. When the switches 100a, 100b, 100c, respectively cause the controller 16 to control the motor 10 to operate in the forward, reverse or oscillate modes, the aperture foot switch assembly provides redundant controls and, except for the aperture locked mode, is unnecessary. Each of switches 100a, 100b, and 100c includes a rubber boot 600 positioned over a magnetic switching element 605. The rubber boots 600 are formed in a sheet of silicone rubber 610 that is secured to the housing 401 of handpiece 400 by a metal cover 615. Each magnetic switching element 605 includes a magnet 620 that is secured to a stainless steel switch cover 625 and positioned within a cylindrical opening 630 of a stainless steel switch bottom 635. A spring 640 biases the switch cover 625 away from the switch bottom 635, and rubber boot 600 maintains the switching element 605 as a single unit. Depressing switch 100c causes the magnet 620 to extend beyond switch bottom 635 into a depression 645 in the housing 401 of the handpiece 400. As noted above, switch bottom 635 is made from stainless steel, a magnetically soft material that absorbs the magnetic field produced by magnet 620 and thereby shields the magnet 620. By contrast, the housing 401 of the handpiece 400 is made from aluminum, a material that does not absorb the magnetic field and does not shield the magnet 620. Thus, depressing switch 100c causes a portion of the magnet 620 to move from a shielded position to an unshielded position. When switch 100c is depressed and magnet 620 is extended into depression 645, the magnetic field produced by magnet 620 is sensed by a Hall-effect sensor 650. The Hall-effect sensor 650 is physically isolated from the magnet 620 by a portion 655 of the housing 401 of the handpiece 400, which provides a barrier against any potential leakage path through the switch 100c. However, because the housing 401 is made from aluminum, and does not absorb the magnetic field produced by magnet 620, the Hall-effect sensor 650 is not magnetically isolated from the magnet 620 when the magnet 320 is positioned in the depression 645. Similar results could be obtained if the housing 401 were made from another non¬ magnetic material such as plastic or Austenitic non-magnetic stainless steel. The Hall-effect sensor 650 responds to the magnetic field as described hereinafter. The sensor includes a high-resolution bipolar Hall-effect switching circuit that drives high-density CMOS logic stages. The logic stages decode serial address pulses on the switch bus and produce a response when an appropriate address is received. This response is indicative of whether the Hall-effect sensor has detected a magnetic field. Referring to Figs. 10E and 10F, Hall-effect sensor 650 is mounted on a circuit board 660 that is positioned in a channel 665 in the housing of the handpiece 400. The circuit board 660 is flat, 15 mils thick, and only slightly flexible. Hall-effect sensor 650 is positioned within a cutout in the circuit board 660, and is connected to the circuit board by leads 670 that are soldered to a pair of circuit paths 675 that define the bus which electrically connects the Hall- effect sensor 650 to the console 505. Hall-effect sensors 680 and 685, which correspond, respectively, to switches 100a and 100b, are positioned in cutouts in the side of circuit board 660. Sensors 680, 685 are angled relative to the circuit board 660, and are connected by leads 670 that are soldered to the circuit paths 675. An additional pair of Hall-effect sensors of switches 100d and 100e which, as noted above, respond to magnets in the surgical cutting instruments to identify the type of instrument installed in the handpiece 400, are angled and connected in the same way. Finally, the circuit board 660 includes an extension 695 that aids in insertion of the circuit board 660 into the channel 665. Referring now to Figures 2A and 2B, in a preferred embodiment of the invention, the handpiece includes the plurality of manually operated control switches 100, which, in earlier embodiments, could be found on the front panel of system controller housing. These switches might control, in the illustrated embodiment, as noted above, forward (100a), and reverse (100b), or oscillate ( 100c), modes of rotation of the armature of the brushless motor. These switches, would ordinarily each require at least a separate pair of leads from each switch, out the back of the handpiece, thus forming the cable 410 to the controller housing. In accordance with the invention, however, the manually controlled switches 100, rather than a push button mechanical switch as used previously, is replaced by the Hall-effect switch assembly, which includes a Hall-effect sensor and magnet combination, comparable to that which may be used in detecting motor position. In accordance with this preferred embodiment of the invention, and referring to the mechanical cross-sectional drawing of the handpiece illustrated in Figures 10C, 100, the Hall-effect switch devices 100a, 100b, 100c, which replace the mechanical push button switches heretofore used, operate, as noted above, so that as a magnet within the movable, spring loaded, push button is advanced toward the Hall-effect sensor the state of the Hall-effect sensor will change. Thus, the proximity of the magnet to the Hall- effect sensor controls and effects the state of the device which can then be electrically determined by the controller. Referring to Figure 9, in a preferred embodiment of the invention, the handpiece Hall-effect sensors 100a, 100b, 100c, 100d, and 100e are each connected to a two-wire switch bus 114. Each Hall-effect assembly can be electrically addressed. The preferred and illustrated units are manufactured by Allegro Microsystems, Inc., as part number A3054SU-XX, where "XX" represents the address, in digital numerals, of the sensor. Then, each Hall-effect sensor is capable of providing digital magnetic sensing signals in response to an initiating request over switch bus 114 from the controller. The particular Allegro units identified, in addition, enable the same bus to provide power to the sensors. (The Allegro units can also be mechanically switch operated in the same manner as if magnetically actuated by the presence of a magnetic field, if desired.) In operation then, the controller 16 can poll, or send an inquiry to, each of the Hall-effect sensor "IC's", in a known sequence, through bus driver (interface) 101 , and can determine the status of the switches to control, as described hereinbefore, the movement of the motor. In particular, in the preferred illustrated embodiment of the invention, five Hall-effect sensor IC's 100a, 100b, 100c, 100d, 100e are employed. (In other embodiments, more or fewer sensor IC's can be employed.) Three of the sensor IC's, 100a, 100b, and 100c as described with regard to Figures 10C, 10D are provided for enabling push button control of the motor at the handpiece. The two other Hall-effect sensor IC's 100d and 100e are provided to detect the family to which the surgical instrument being used belongs. As will be described hereinafter, a sixth Hall-effect sensor IC 100f, also connected to the same switch bus 114 and thus to the controller, is positioned in the foot switch and determines, in the illustrated embodiment, whether an aperture locked mode for the system has been initiated. The controller responds to activation of the various push buttons to control the motor in the same manner as was previously employed when the push buttons appeared on the control panel or elsewhere. In addition, as noted above, the controller also recognizes up to four classes (in the illustrated embodiment) of surgical instrument (corresponding to the four different states of Hall-effect sensors 100d, 100e). In response to the particular class or family of surgical instruments being employed, the controller sets parameters such as, in particular, the maximum speed for the class of surgical instrument being used. The controller can also, therefore, automatically adjust to both different handpieces and different classes of surgical instrument without the need to reprogram or recalibrate the system. This advantageous method of operation provides significant and particular safety features unparalleled in earlier systems. Referring now to Figure 11 , the control system of the present invention provides two separate and distinct connections 117a and 117b (connectors 561 and 562 of Fig. 10B) for connecting a surgical assembly, electrically, to the controller. The connection is manually switchable, at the front panel of the controller housing, from one connector to the other by switch 563. Electrically, the connectors 117 are switched by a collection of electronic switching elements contained in a switch module 119, each acting as a single pole, double throw switch. The output of switch 563 controls the state of switch module 119. The controller automatically resets the system when a new surgical assembly is connected, so that the power, as applied to the newly connected handpiece, will always and safely be applied in an off condition. In accordance with this preferred embodiment of the invention, the control signals are switched using analog and digital switching techniques which operate electronically in a fast, clean, single-pole, double-throw operation for either the analog or digital signal paths, depending upon the nature of the signal connection being switched. In the illustrated embodiment of the invention, there exist digital signal paths and analog signal paths corresponding to the various foot switch, motor control, and digital (Hall-effect device) signals being monitored from or supplied to the handpiece. The controller also employs a non-volatile memory system 121 , contained within switch module 119, to "remember" the parameters associated with the previous surgical device. Those are the parameters which are loaded initially back into the system when the system switches back to the previous handpiece, to thus enable the surgeon to quickly and effortlessly switch handpieces (and hence instruments) without need to reprogram the various speed, and other parameters for the new handpiece. In yet another aspect of the invention, the pulse width modulation signal, as used in various prior art systems, has been found to have a non-linear relationship with and the drive current to the three-phase motor. Accordingly, therefore, the invention features drive level circuitry 24 for converting the pulse width modulation signal to a DC voltage level over a line 160, indicated as M+ VAR in Figure 2B, which is then used to control the three-phase bridge and driver circuit 18. In this manner, the power applied to the DC motor evokes a substantially linear relationship to the actuating pulse width modulated signal. Referring to Figures 2A and 2B, in the illustrated embodiment of the invention, the controller can also interface with a display system, television monitor 69. Using an RS232 port 170, the physician can have the controller display, in a large screen format, the speed and mode of operation of the surgical system so that it can be read more easily and quickly than it might be through the relatively smaller LED display on the controller housing panel. In yet another aspect of the operation of the illustrated embodiment of the invention, and referring to the flow chart of Figure 11 A, the controller, upon power-up, enters an initial reset state in which it begins polling, at 180, the addressable Hall-effect sensor IC's connected to the switch bus 114 to determine both their state, as well as their "existence". Upon recognizing their existence at 182, the controller then uses a table look up at 184 to identify the class of the handpiece as well as the type of surgical instrument being used, if any has been inserted into the handpiece. If none has been inserted, the system defaults to a class "00" (corresponding to no magnets in juxtaposition to the Hall-effect sensors 100d, 100e) and uses the default parameters associated with that class. The controller then continues in a loop 186 to identify and determine whether any of the push buttons, either the Hall-effect sensor associated push buttons or the manual buttons available at the front panel or on the foot switch have been depressed. This occurs, in accordance with the preferred embodiment of the invention, by polling each of the addressable switch elements along the switch bus and in addition checking the signal levels at each of the manual switches, to determine the existence of an activation signal, if any. In response to the various switches, the controller sets the appropriate parameters, at 190, once a switch activation has been detected and thereafter begins rotation of the motor at 192, if requested. Upon initiation of motor rotation, and in response to the various switches, the controller operates the DC motor, as has been described above, at the speed and in the mode called for by the various switches. The controller continues to monitor, at 194, the varying switch elements and upon actuation of further switch elements operates to vary the mode of operation, the speed of operation, and/or the direction of operation to match the required instructions provided through the switch elements. Referring to the flow chart of Fig. 12, in the event one of the addressable Hall-effect switch elements fails to operate correctly, that is, does not respond properly to the controller generated address signal, at 200, the controller has the additional capability of identifying that element at 202, and indicating, at 204, on a display panel, that the switch is in an error mode. This advantageously enables the user to plug in, instead, a different handpiece or footswitch, and provides additional safety features and advantages in accordance with the invention. Referring now to Fig. 13, in accordance with the invention, the controller is able to identify the handpiece being used, (at 210), including the model and style of handpiece, from the addresses of the Hall-effect assemblies. The controller, then, can adapt itself, at 212, to varying handpieces having differing configurations of Hall- effect sensors, different in either number or function. In this manner, the system in accordance with the invention can be operated with a number of different handpiece units by merely using look up tables, at 214, for example, to identify, in response to the addresses of the Hall-effect sensors, that set of prerecorded parameters associated with that handpiece. This flexibility can be accomplished without further and unnecessary reprogramming of the controller. This flexible feature of the illustrated embodiment of the invention, available only because the Hall-effect switches can be uniquely identified by their addresses, provides yet additional advantages for the present embodiment of the invention. As noted above, the microprocessor based controller, referring to Figure 2B, outputs the pulse width modulated signal over line 19. the signal having a duty cycle corresponding to the level of drive which is determined correct by the controller 16. The two level pulse width modulated signal, over line 19, in earlier embodiments of the drive circuitry, such as that illustrated in EP-A- 6492 was applied directly to the three phase bridge to gate the control output signals over lines 27. The pulse width modulation signal was thus used to vary the average current supplied to the motor 10. It has been determined, however, that the relationship between motor velocity and pulse width modulation duty cycle for that implementation was not linear. Accordingly, an alternative approach was needed to provide a linear, or nearly linear relationship between the pulse width modulation duty cycle and the motor rotational velocity. Referring to Figure 2B, the controller 16 generates the pulse width modulation signal over line 19. This signal is designated PWMO. The signal is directed to the drive level circuitry 24, which is a pulse width modulation power supply having a DC output level over line 160 which is provided to the three phase bridge and driver 18. Referring to Figures 14A and 4B, the pulse width modulation signal over line 19 is squared up using a comparator 200. The output of the comparator is then integrated using a capacitor 202 in parallel with a resistor 204. The output of the integrator network over a line 206 varies between 0 and 5 volts (the logic levels) and is applied as one input to a comparator 208. The other input of the comparator, is a variable DC level generated by the DC level circuitry 214 (Fig. 15). Circuitry 214 operates to drive a current through an inductor 216 when the gate drive level over a line 2 8 operates to turn on FET devices 220. 222. The gate drive signal over line 218 is generated by the gate drive circuit 226. In accordance with the circuit 226, a comparator 228 compares a triangular ramp signal over a line 230 with a voltage error output over a line 232. The ramp signal, a triangular wave form which has a voltage variation between that of the high logic voltage and ground, is generated using the output of a multi¬ vibrator circuit 232 (Figs. 14A and 14B), the output of which over line 234 is applied to a capacitor integrator 236. The voltage comparison output over line 232, referring to Figures 14A and 14B, is generated using the amplifier 208 which compares the desired output voltage over line 206 with the current actual output voltage to the motor over line 160. If the motor voltage needs to be raised, the output of amplifier 208 is positive, and if the output to the motor needs to be lowered, the output of amplifier 208, on a line 240, is negative. The operational amplifier 208 is connected in a filter mode so that abrupt changes in motor voltage will not occur. Returning, now to circuit 226 (Fig. 15), when additional energy is requested by the controller to be delivered to the motor, the signal over line 232 decreases in value, thereby providing a greater "on time" (high voltage value) at the output of amplifier 228. As a result, transistors 250, 252 alternately turn on and off and provide an output over line 218 to turn on FETs 220 and 222, thereby driving current through inductor 216 to generate the output signal over line 160. When the voltage level on line 232 is greater than the value of the triangular signal over line 230, transistor 250 turns on thereby turning on FETs 220 and 222. When the value of the signal over line 232 is less than the value of the triangular signal over line 230, transistor 252 turns on while transistor 250 turns off. In this manner, the FET gate signal generates the variable voltage signal over line 160 which is applied with proper phasing to the motor by the three phase bridge and driver circuit 18. Referring to Figures 16A and 16B, the three phase driver and bridge 18 receive their commutation inputs over lines 26 (26a, 26b, 26c, 26d, 26e, and 26f) and provide the three phase motor drive output over lines 27 (27a, 27b, and 27c) to the motor 10. The driver for each commutation signal is provided by an amplifier 270 with one of the two commutation signals for each phase gates of a drive transistor 272. The driver section controls the gates of FET devices 274 which provide a voltage signal over lines 27 equal to the value of the generated voltage control signal over line 160 at the correct times and in the correct phase to continuously drive the three phase DC motor. Thus, as the value of the signal level on line 160 changes, in response to variations in the pulse width modulation signal duty cycle, the rotational velocity of the motor 10 varies in a linear relationship to it, and hence to the pulse width modulation signal generated by the controller 16. Referring again to Figures 14A and 14B, the current being applied to the three phase motor 10 has a return, over a line 300 which passes through a precision resistor 304 to the system power return over a line 306. The voltage developed across resistor 304, representing the current applied to the motor 10, is differentially amplified by a differential amplifier circuit 308 and the output is made available over a line 310 (see also Figures 2A and 2B). This output is applied to one of the A-D converters (ADC7) of the controller and is read and monitored by the controller 16. In summary, in accordance with the invention, the sealed handpiece illustrated in Figure 10A has but limited space to provide the connecting cable 410 to the controller 16. The space becomes more limited as the size of the handpiece is reduced to accommodate the desires of medical personnel and/or as the number of functions placed in the handpiece increases to satisfy those same personnel. The combination of increased functionality in the handpiece with reduced size, and the need to seal the handpiece in its harsh medical/surgical operating environment, places a severe limitation on the number of physical wires which can be passed from the interior of the handpiece to the controller. Thus, the mere addition of three additional hand operated buttons on the handpiece would ordinarily require at least six additional wires to be provided. Instead, in accordance with the illustrated embodiment of the invention, a reduction of two wires can be achieved as follows. Ordinarily, the handpiece, in accordance with earlier implementations had two Hall-effect sensors 100d, 100e for detecting the class of surgical instrument being inserted into the handpiece. This required four wires to be passed from the Hall- effect sensors (two for each sensor) back to the controller. In accordance with the illustrated embodiment of the invention, as described above, wherein the Hall-effect sensor IC's are each connected to the same two-wire switch bus 114, only two wires are required for the two existing Hall-effect sensors plus three (or more) additional, manually operated, Hall-effect sensors 100a, 100b, 100c. This advantageously impacts the size of the wire cable passing from handpiece to controller and indeed may even provide some additional "spare" wires to handle unforeseen future situations. While the invention has been illustrated and described as embodied in an all-digital speed control system for a brushless three-phase DC motor, it is not intended to be limited to the details shown, since various modifications and structural changes may be made without departing in any way from the spirit of the present invention. Example 1 The following program listing, given by way of example only, is a suitable program for execution by the controller of the surgical system of the invention and is suitable for use with the embodiments described with reference to the accompanying drawings. SPG PL-59 PM-112 TL(ΣSP) ; ESP system software ; X93110 ; Varsion ESPVio Ralcasa tor πarkβt preference teat K951030 ; watchdog interrupt priority capture control cr interrupt flags adc high byta adc control port 5 addreaa port 4 addreaa RAM (linkβ § β) aio data area velocity data area diaplay * general purpose regiatara software control bits low byte for 16 bit PID scaling high byte for 16 bit PID scaling indicatea davicaa present indicates magnets present RFO hand control state toggle hand control routine output hand control routine input LCD atatus naeJc PID gain value requeated atatua target velocity velocity loop eat speed oscillate aode initial cycle time direction control register pi present pi laat +1 or -1 for armature tracking output s aft poaition 10 bit motor current general purpoββ countdown timer dynamic tachometer count aerial command froa aio rx routine footavitch offsets adc addreaa maak for aden maximum padal pressure footavitch status calibration time counter bargraph scale faetor ; bargraph offaat vector bargraph scale multiplier dummy variable 8 bit maak for halls and magnet quiescent current set speed 0 - 9 oscillate mode index preferred operating mode motor parameter bloek byte l of the following idata block 3' " idata ; INDIRECT RAM dk. 48 ; nonvolatile device recall block screen ds 41 ; vf display buffer stacX equ 5-1 ; put stack at end ; PROGRAM ; external interrupt 0 ; timer σ vector ; timer value with overhead ; external interrupt ; reaet ports ; power down mode ; SIO ; CT vectors wait for display to warm up zero volatile RAM clear hall bus and LΣDβ initialize ro bank 3 2 ro - ra bank l r7 - tx sync bank l forward direction variable for bargraph scaling hall bus addreaa control timer 0 mode l - timer 1 mode 2 1201.923 baud serial mode l w/βm2 set riaing or falling edge on hall input set CT priority high set external interrupt l priority enable CT interrupta turn timera on, edge trigger ext int enable SIO, tmro & ext interrupta setb mair.o trigger coamutate to find armature mov dptr,/upc load user programmable characters mov rO,/screen ok to start Interrupt fill with spaces ; wait for interrupt done ; home .oopl ; fill with spaces :onfig aov sp,/stack mov pedal,/o reset footswitch mov ealctr,/2SS force calibration on start up mov button,/0 reset hand control bytes mov toggle,/OEh mov input,/OEh mov mpb,a seve new device number mov b,/β ϊon O acall device djnz b,confO rl a mov dpt ,_»con_tablβ j p ■a+dptr ~ watchdog orl peon,/lOh ; feed the dog mov dog,#0 ret device check device status ; read hall devices and stateβ ; check for footawiteh ; footawiteh is missing 253 ; reβet footawiteh control davβ ; footawich is preeent dev4 ? check motor id ; motor is missing ; motor is preeent ; juaper I de ines shaver rotors ; turn on fault light ; bus fault definee slowest motor ; clear fault defines basic motor ; check for hand controls ; no footswitch required ; defines blade type con table a no motor size 9 basic motor a size 5 aini motor a size 9 straight blades a size 9 curved bladee a aize 9 high speed abradars a reserved for 2 magnet bladea a a a st table UDΓR 0000 display eat oooi run reverse k display rpm 0010 run forward & display rpm 0011 oscillate & display rate 0100 decrement and display set 0101 0110 0111 decrement oscillate rate 1000 increment and display sat 1001 1010 1011 increment oscillate rate 1100 jog 6 lock on armature position 1101 1110 1111 cono no motor initiate transmit motor missing no min speed no max speed "675X" ; >< ; initiate transmit ; wait for change size 9 basic motor 100 rpm min speed ; 5000 rpm max speed ; bargraph scale variablee size 5 100 rpm min speed fl7 3500 rpm max speed bargraph scale variables l 2 n 3 size 9 Spartan bladee 200 rpm min speed 5000 rpm max speed bargraph scale variables on 4 size 9 curved blades aov rO,/screen*l 200 rpm min speed aov lrO, 7Fh ine rO mov «rθ,/θS2h 7 3000 rpm max speed bargraph scale variablea cons size 9 high speed abraders 200 rpm tin spaed 8000 rpm max speed ; bargraph scale variables load motor parameter block ad ; .48 second .24 seeond ; .04 seeond .40 second get uβer preferences reset stack save new 5 consecutive reads motor is off sava operational mode clear blade lock and requeβt request blade lock retain operational mode goto new state read speed buttons combine with pedal status combine with hand control status go to new state if different read motor current right justify 10 bit value ; hold interrupt during register load ; RFO hand control processor ; get and format from hall bus ; zero if nothing changed ; zero if button released ; toggle ; check oscillate button ; set oscillate mode ; turn off motor ; turn on full speed ; force foots itch calibration ; paββ control to hand controls indicates if footswi eh is on footsvitch was off pointer to active offset subtract offset pedal is still on disable active hand control buttons force calibration ; calibrate every 3/4 seconds ; subtract offset ; pedal turned on if >o loop until done all three pedala are off so reβet gas pedal format Bernstein data ; save ade value ; coaparβ with max ; seve if new or saaa aax ; autosenβitivity ; a ■ in (255 / max) ; b ■ 255 mod max b - (r2 * (int+1) * mod] / 256 ; a - r2 * int a * [r2 * int] + (r2 * (int+l) * mod] / 256 aov b, /Sl -ul ab _ιOV a , r2 add 20* hysteresis add a, b jnc on3 on2 mov a, /2S5 on3 mov target , a mov , mask ine a indicates pedal status rl a mov pedal , a ajmp digital subroutine readβ 8 bits from ade channel mask adc mov aden,mask ; prepare to read ade channel orl aden,#8 mov a,aden jnb ace.4,$-2 anl adcn,/0EFh reset interrupt flag mov a,aden raad high byta cpl a rat ; subroutine calculates new offsets calibrate mov ro,/offset mov maβk,/θ channel o cal acall ade start adc add a,/10 .196 volt guard band jnc call mov a,#255 ; clamp at maximum call mov βro,a ; new offset for channel ine meek ; next channel ine rO ejnβ r0,/of set-t-3,cal ret run acall rpmdβp display set spaed acall t initiate transmit runo acall status acall bar βtatβo ; DISPLAY SET OR INDEX a,mode ; check for oscillate mode ; display oscillate maββaga ; diβplay sat spaed >< initiate trana it INDEX ange direetion ; 40 msec slew ; DECREASE RATE ; l second hold ; initiate transmit .24 see slew SPEED UP 1 second ; clamp at max ; save new ; display set ; initiate tranamit 40 mβec slew INCREASE RATE l seeond hold ; initiate tranβait 24 sac slew R2R3 ■ aaps wait for release of buttons ; reset blade locx variables ; recalibrate footawiteh TX waits for sio clear and initiates transmit X950720 tx ]ump if not oscillate mode send index txl binary sat speed speed low speed high state device bank l ro wait for roaet pointer initiate USER prβfβrencββ 1OX951010 user mov a,dsr ; get laβt baae address mov rO,a ; βava laβt prβfβrencββ mov βro, et ; get new device number ; βava naw baae address ; get speed ; compare with minimum compare with maximum gat incremental speed step must be evenly diviβable do not reload default if zero use default ; default ts forward SCALΣ16 scales 16 bit signed number 0 - 99.61% and sums result to r2r3 KX9S0830 r2r3 » r2r3 ♦ r2r3 ; jump if not negative number ; lolβhilβ - -lolβhilδ lol β hilβ - gain * lolβhilβ / 256 OSCDSP gat oβcillata values and diβplay information rpa ( max - 20) / 9 * index + 20 set up for velocity loop MESSAGE aovea 4 byte string from ROM to RAM or the DISPLAY routine XX940811 Input: DPTR source pointer Output: 4 eharaetars at ram location SCREEN+9 Registers: RO deβtination pointer ACC ; destination pointer ; get byte ; put byte ; next byte ; laat byte asgO db "675K" RPMD5P calculataa βet speed KX940825 ββ t up for velocity loop create rpa from sot FORMAT converts 16 bit binary to display code data with zero suppreββion K 930624 Input: R4R5 lohi 16 bit nuabar to convert output: 5 formatted characters at ram location scREEN+β Register- ; RO pointer to first location in temporary buffer BANKS+2 + 4 Rl pointer to firβt location in screen buffer R2R3 lohi registers for 16 bit math R6 bed digit index ACC & BACC ; uae banx3 for temporary buffer ; count ten thousands count thousands count hundreds ; produce tens and onβa strip 4 leading zeros copy to screen buffer subtract 16 bit number till overflow ; rβ counts number of timee ; reβtore number in r4rs make printable character write to temporary buffer ; UOK3053 raada hall addraββeβ 1 through 8 hall bus cn ade channel 6 initialize Vlow read Vlow save quieβcent current Vhigh read Vhigh indicate device preeent Vlow indicate magnet preeent rotate mask ; loop until done ; reβet ; 25 uβec delay ; atart ade ; clear interrupt rat BAR scales actual velocity to bergraph XK930730 address of offset vector +l get actual velocity scale velocity to 160 max bar - xx * (mm * tac +■ (bb) ) $+3 ; calculate blocks in ace ; calculate nuabar of lines ; bargraph buffer whole ; write blocks to buffer part offset to number cf lineβ write lineβ to buffer none space fill the reβt with spacaβ VELOCITY handlββ bruβhless motor velocity vector requirements KK930712 , . ^ Λ no: f loa t ing target velocity for loop Rl: dtac . . . ... . R2R 3 : proportional term -> derivative term R4R5: integral term R6R7: proportional term jog aoall comautata rat velocity timer 0 reβet before vectoring here jb ctrl.5,jog eβtb iβO initiate display sand interrupt push aoe push pew push b βetb rsi uaa register bank 2 mov a,tic general purpoae timer for other routineβ j* vO dec tic clr a vo xch a•dtac get and raβet (no interrupt trouble) rl.a save for velocity loop jb ctrl.0,wrong_way aov a, arget velocity target from footawiteh j* v2 aov b,rpm 1 βelected motor speed aul ab ine b ; scaled target velocity in b velocity profiler with direction control aov a,r0 ; velocity loop command compared to cjne a,b,$+s ; new target ajmp V3 jc incrβeββ βubb a,mpb+7 deereeβe jo V6 cjne a,b,S+3 jc vS IF carry clamp at b ELSE ui IF carry use new a ELSE clamp at b reverse velocity ; tell eommutata to change direetion Kl * P + K2 * I + K3 * D * K4 * A + O ,- get target loop velocity ; check for blade lock regueβt ; lock uae poβitional error if RO ■ 0 ; calculate proportional term ; subtract actual tac value I limit term l term ; clamp at minimum v6 ; calculate derivative term ; R6R7 0 VC P R2R3 - Kl * P ; R2R3 - Kl * P + K3 * D ♦ O ; save for derivative term calculation T R2R3 - K0 * T + Kl * P + K3 * D + O ', A R2R3 KO * T Kl P + K3 * D + K4 * A + 0 ; i K0 * T + K1 * P + K2 * I + K3 * D ■f K4 * A + 0 ; signed number overflow vβ ; torque limit v4 reβet integral term ; reβet proportional term olc ; get actual tac ; create maximum allowable pwm • compare with r2 ; clamp β 1.136 * TAC 4- pb+12 -K2 release blade lock and request indicate current limit 3)C1 COMMUTATE runs off the CT interrupts XK930701 0 and 7 are invalid returns 3 phaae aaβk save hall patterns direetion has changed if equal negate if direetion changed cheek for blada lock check for reverβe direction ; change direction on zero ; offset to data table ; gat byta froa table output with 2 hi bita aet ; increment dynamic tac ; track poaition ; fix underflow ; fix overflow ; βeve shaft poaition commutation forward commutation reverβe ; DISPLAY sends βeraan buffer to 2x20 VTD ; KK950811 diβplay strobe in data put data on bus 2 SIO serial EP emmulation KK950707 Serial mode l -> SCON = OlllXXXX use SM2 to receive packet. when SM2 - o check that RBS - meaning valid stop received. 1200 bauώ, 8X1 uart Receive: 3 byte packet- syne, cmd, cksum (r2) Rl: buffer pointer Transmit: 6 byte packet- sync, speedlo, speedhi, state, blade, cfcaum (r3-r7) RO: buffer pointer register bank 1 tranamit, elβa receive clear interrupt indicator syne or data byta receive get character from receive buffer return if not βync byte set pointer (r2) prepara to receive data byta ; abort if not valid stop bit ; go to incoming character procaββor ; make checksum ; zero else error ; make available to main procaββ ; reβtore wait for syne mode put character in receive buffer bump rx pointer ; bump tx pointer ; teβt for laβt character ; reβet tx pointer (r2) ; initialize cheekaua with syne send data bytaa ELSE sand eheckβum two's complement < data cksum DC db OEh ; cursor off db lβh,0F6h,10h,4Oh,0,80h,0 db 18h,0F7h,llh,44h,0,8Sh,0 db lβh,OFβ ,Slh,44h,80h,88h,2 db lβh,OF9h,0,OFh,5Ah,OAh,OFh ; > db llh,OFλh,3Ch,94h,16h,3Ch,0 ; < Data tjr at: pbO-dβvicβ ID, mpbl-timer low, mpb2-timer high mpb3-default apaed, apb4-incremental speed mpbS-minimum βpβed, mpb β -meximum βpeed, mpb7-acceleration mpbβ-reverse velocity, mpb -commutations per revolution mpblO-ββt speed scale factor, mpbll-l see timer preβcalβr mpbl -torque limit lOW(3-40000) ,high(3-40000) ,120,4,4,201,20,40,60,25,25,60 lθW(3-40000) ,high(3-40000) ,80,4,2,141,20,40,60,25,25,255 lθW(3-40000),high(3-40000) ,100,2,4,161,20,40,30,50,25,160 lOW(3-40000),high(3-40000),60,2,4,101,20,40,30.50,25,160 lOW(3-40000) ,high(3-40000),40,l,4,61,20,40,30,50.25,160 •ΪSPVIO by Ken Krauβa. (e) 1995 Smith & Nephew Dyonicβ. ' •Andover MA oisio. All rightβ rβββrved. ' end

Claims: Claims 1. A surgical system adapted to operate with at least one surgical device, said surgical system having a handpiece containing a motor and adapted to receive and drive said surgical device, said surgical device being driven through a continuum of positions by said handpiece, said system comprising a controller, a motor drive circuitry driving said surgical device, said controller controlling said drive circuitry, a switch bus, addressable switches in said handpiece connected to said switch bus and responsive to electrical address signals from the controller over said switch bus for indicating a switch presence and a switch condition, and said controller being responsive to electrical signals from said switches over the switch bus for controlling operation of said motor drive. 2. The surgical system of claim 1 wherein each said addressable switch comprises a Hall-effect sensor, a moveable switch element containing a magnet, and said controller is responsive to a change of state of said Hall- effect switches for operating said motor drive. 3. The surgical system of claim 1 further comprising at least one addressable Hall-effect device in electrical signal communications with said bus, and positioned in said handpiece for corresponding to magnetic field generating elements in a surgical device inserted into said handpiece, and said controller being responsive to signals indicative of the state of said at least one addressable Hall-effect device for presetting parameters corresponding to said surgical device. 4. The surgical system of claim 3 wherein said switch bus is a two wire bus connecting to each Hall-effect device. 5. The surgical system of claim 4 further comprising a foot switch connected to the controller for providing electrical signals identifying various foot switch commands, said foot switch including, an addressable switch assembly, said switch assembly having a Hall-effect switch and an actuating button element for modifying the state of the Hall-effect switch, said foot switch indicating to the controller, when polled, a switch state, and said controller, in response to said switch state, controlling operation of said motor.

Inventors: BRODSKY MICHAEL A, KRAUSE KENNETH W, BRODSKY, MICHAEL, A., KRAUSE, KENNETH, W.
Applicants: SMITH & NEPHEW INC, SMITH & NEPHEW, INC.
Application year: 1996
Main classification: G05B11
IPC codes: A61B17, G05B11, G05B19, H02P6, H02P29