Patent Publication Number: US-5839382-A

Title: Electronically geared sewing machine

Description:
This is a continuation in part of pending application Ser. No. 08/517,712 filed Aug. 21, 1995, now abandoned which is a continuation of application Ser. No. 08/306,708 filed Sep. 15, 1994, which issued as Pat. No. 5,458,075 on Oct. 17, 1995. 
    
    
     TECHNICAL FIELD 
     The present invention is directed to a sewing machine which utilizes positional information signals to electronically gear the motion of the needle with the motion of the bobbin and other sewing parts. 
     REFERENCE TO APPENDICES 
     Appendix A provides a 13 page computer program listing for the motion controller. The program is written in Basic. 
     Appendix B provides a 274 page listing of the user interface screens. The program is written in Visual Basic. 
     BACKGROUND OF THE INVENTION 
     Precision timing is required between the needle and bobbin movements of a sewing machine. In order to link the motion of the needle to that of the bobbin, conventional sewing machines use mechanical linkages, gears, drive shafts, timing belts, and other mechanisms to mechanically connect and mechanically gear the bobbin to the needle. An arm is used to position the needle above the bobbin, with the linkages between the needle and bobbin being routed through the arm. A single motor is typically used to drive both needle and bobbin by way of the mechanical gearing connecting them to each other. 
     Several disadvantages result from mechanically linking the needle and bobbin. The speed of the sewing machine is limited by the inertia and friction caused by the mechanical linkages. These mechanical linkages require constant lubrication. Reliability suffers from a system that employs so many moving parts. Additional power is required to accelerate and decelerate the mass of linkages. As a result, greater heat dissipation is required to prevent overheating. Noise levels are increased as a result of these moving mechanical parts. Finally, the ergonomic disadvantages associated with mechanically linking the needle and bobbin diminishes the sewing machine&#39;s versatility by limiting the mobility and location of the sewing head (needle and bobbin). 
     Attempts have been made to physically separate the needle and bobbin and to use separate electric motors to synchronize the needle with the bobbin. In U.S. Pat. No. 3,515,080, Ramsey discloses a sewing machine having physically separate needle and bobbin drive units that are purportedly synchronized. Stepper motors are disclosed as the drive units, and each drive unit is &#34;electrically connected and operated in synchronism and in unison&#34;. However, Ramsey does not disclose a system or mechanism for electronically linking (gearing) the needle to the bobbin. Ramsey discloses in some detail a control system for moving the needle and bobbin laterally in the X-Y plane and for rotating them about the Z-axis, but there is little or no disclosure of how the needle and bobbin are driven or controlled for sewing (i.e., how the up and down motion of the needle and the rotation of the bobbin is controlled so that the bobbin hook engages and hooks the thread carried by the needle). 
     The prior art provides an inflexible approach to coordinating the needle and bobbin movements during sewing. Whenever a needle type is changed, or the material thickness varies, or the bobbin is switched to a looper, a sewing parameter has been varied. Prior art machines are unable to automatically adjust to these changed parameters. Instead, prior art machines employing physically separate needle and bobbin must be manually reset to function within the new parameters. 
     SUMMARY OF THE INVENTION 
     The present invention aims to overcome the difficulties presented by the prior art by electronically gearing the motion of the needle to that of the bobbin with the use of positional information. By so doing, the present invention aims to eliminate any mechanical connections between the needle and bobbin, thereby improving efficiency, reliability, and versatility. Another object of the present invention is to reduce or eliminate the need for user intervention whenever a sewing parameter is changed. Another object of the present invention is to computerize sewing operations so that the movement of sewing parts and the setting of sewing parameters is controlled through software, and further, to allow a machine operator to electronically store sewing parameters for later recall. Another object of the present invention is to provide the ability to electronically adjust the position of the bobbin relative to the position of the needle. Another object of the present invention is to provide a skipped stitch detector. Another object of the present invention is to improve safety by continuous motor torque monitoring, and to enable the machine operator to easily adjust motor torque safety criteria. A still further object of the present invention is to provide the ergonomic advantage of being able to mount the sewing head wherever it is needed so that the sewing head may be presented to the material, and to provide the capability for multiple head applications. 
     Regarding the foregoing and other objects of the invention, the present invention provides an apparatus for forming a pattern of continuous stitches in a material by coordinating the movements of a plurality of operating parts. Each of the operating parts is moveable through a range of positions to form continuous stitches in the material. The operating parts are driven through their ranges of positions by a plurality of closed loop drive systems. Positional feedback for the closed loop drive systems is provided by monitors which produce monitor signals substantially continuously corresponding to the positions of the operating parts. The operating parts, drive systems, and monitors collectively comprise a first operating head. A data acquisition and control system, connected to each of the drive systems, receives the monitor signals and electronically gears the movements of the operating parts so that the parts move in concert with each other to form the pattern of continuous stitches. The data acquisition and control system includes at least one motion controller having multiple control axes that receive monitor signals from a plurality of the monitors, and for responding to the monitor signals by producing motion commands for each closed loop drive system. Control of the apparatus is provided by a user interface connected to the data acquisition and control system. 
     Several optional features of the apparatus are provided to enhance its useability. The data acquisition and control system may be operable to allow a user to electronically adjust the position of an operating part relative to the position of another operating part. The data acquisition and control system may also include electronic memory for storage of at least one stitch pattern. If a desired stitch pattern is not currently stored within memory, the user may design and input the desired stitch pattern through the user interface. The data acquisition and control system may be further operable to electronically gear movements of the operating parts in accordance with a speed and acceleration profile that optimizes performance of the apparatus for particular applications. To further optimize sewing operations, the user can define various sewing parameter values and store them for later retrieval. 
     The present invention also provides a method for forming a pattern of continuous stitches in a material where the movements of a plurality of operating parts are coordinated to form the pattern of stitches. The method includes the steps of producing monitor signals that correspond to the positions of the operating parts. The monitor signals, which are directed to a multiple axis controller, are monitored to determine the positions of the operating parts. Motion commands are generated by the controller to coordinate movement of the operating parts during formation of the stitch pattern. The motion commands are directed to mechanisms associated with the operating parts so that the operating parts move in concert with each other to form the pattern of continuous stitches. 
     As an optional step in the method, an alarm condition, such as blockage of one of the operating parts, is identified when the position of an operating part meets defined alarm criteria. When an alarm condition is identified, corrective action may be taken, including terminating movement of all operating parts, or re-executing the movement of at least one of the operating parts. 
     As a further optional step in this method, unraveling of a continuous stitching pattern is prevented by employing the operating parts to create backtack stitches at or near the end of the stitch pattern. 
     In another preferred embodiment, the present invention provides a multi-head sewing apparatus for performing a plurality of sewing operations, preferably simultaneously. For example, one application of a multi-head sewing apparatus forms button holes in a textile sewing material where movement of a plurality of operating parts is coordinated to form stitches adjacent to each of the holes. This hole forming apparatus includes all of the basic elements of the stitch forming apparatus described above. Another multi-head sewing application sews buttons onto a sewing material. Spreaders can be included with each of the heads to spread the button holes in one sewing material so that the buttons can be sewn through the button holes and onto another sewing material. 
     Another method provided by the present invention is a method of substantially simultaneously forming a plurality of bound holes in a material. This method includes the steps of creating relative movement in a controlled fashion between the material and a plurality of heads where each head includes two or more cooperatively operating parts. The position of the operating parts in each head is monitored, and monitor signals corresponding to the position of the part are substantially continuously produced. The monitor signals are directed to a multiple axis controller where commands are generated for coordinated movement of the parts. The commands are then directed to mechanisms associated with each of the operating parts in each head to control the movement of the operating parts in concert with each other and thereby form the bound holes. Once the holes are formed, buttons can then be fed to the operating parts and sewn onto the sewing material. 
     To detect faults in a sewing machine, a method of the invention provides for the acquisition of data corresponding to the positions of two or more sewing parts. The acquired data is monitored to determine the position of the sewing parts relative to a predetermined position for each part. An alarm condition is identified when the position of a sewing part is not within a predetermined tolerance of the predetermined position of the sewing part. Alternatively, an alarm condition is identified when a sewing part does not arrive at its predetermined position at a predetermined time. 
     Finally, a method of detecting a skipped stitch during operation of a sewing machine is provided by the invention. Similar to the fault detection method described above, the positions of two or more sewing parts are monitored and their positions compared to one another to determine a positional difference between the parts. A skipped stitch is detected when the positional difference between the parts meets a predetermined threshold. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Relative to the drawings wherein like reference characters designate like or similar elements throughout the several drawing figures: 
     FIG. 1 is a schematic diagram of a two-needle, belt loop tacking, electronically geared sewing machine; 
     FIG. 2 is an overall illustration of the apparatus of this invention; 
     FIG. 3 is a somewhat isometric view of the X-Y table with servo motors attached; 
     FIG. 4 is a somewhat isometric view of the sewing machine chassis with servo motors attached; 
     FIG. 5 is a functional block diagram of the feedback and command structure of an electronically geared, two-needle, belt loop tacking sewing machine; 
     FIG. 6A is a functional block diagram of the feedback and command structure for a multi-head sewing machine; 
     FIG. 6B is a block diagram of a needle/bobbin head for the multi-head sewing machine of FIG. 6A; 
     FIG. 6C is a somewhat isometric view of a multi-head sewing machine, illustrating the positions of the needle assembly and bobbin assembly relative to the sewing material; 
     FIG. 7 is a plan view illustrating an exemplary 28-stitch, stitch pattern that can be programmed into an electronically geared sewing machine; 
     FIG. 8 is a graph showing machine speed, measured in stitches per minute (SPM), for an electronically geared sewing machine while sewing the 28 stitch pattern of FIG. 7; 
     FIG. 9 is an isometric view of a multi-head sewing machine having five heads configured for sewing button holes in a sewing material; 
     FIG. 10 is an isometric view of a multi-head sewing machine having five heads for sewing buttons onto a sewing material; and 
     FIG. 11 is an isometric view of a multi-head sewing machine having five heads with spreaders for separating button holes in a top sewing material and sewing buttons into a bottom sewing material located below the top sewing material. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     In accordance with a preferred embodiment of the present invention as shown in FIGS. 1 and 2, the hardware configuration for an electronically geared, two-needle, belt-loop tacking, sewing machine 10 is illustrated. Sewing is enabled by electronic gearing of the needles 12 and 14 to the bobbins 22 and 24. Each of the bobbins 22 and 24 have a hook for hooking the thread during sewing to create a lockstitch. Alternatively, a looper replaces the bobbin and hook to create a chainstitch. (For simplicity, a bobbin with a hook or a looper will hereinafter be referred to as a bobbin.) There are no mechanical synchronizing linkages or drive shafts connecting the needles 12 and 14 to the bobbins 22 and 24. Elimination of the mass associated with drive shafts and mechanical linkages enables the sewing machine 10 to reach top speed quickly due to lower inertia, thus eliminating many of the problems associated with acceleration and deceleration of the sewing machine 10. Advantages realized by the elimination of these moving parts includes improved reliability, reduced heat and noise levels, and lower energy consumption. 
     With continued reference to FIGS. 1 and 2, the two needles 12 and 14 are rigidly connected by a needle bar 16 so that each move in perfect unison. The needle bar 16 connects to a flywheel 18 via a shaft 20. The flywheel 18 is driven by a servo motor 26. By attaching the needle bar shaft 20 to the flywheel 18 at a point offset from the flywheel&#39;s center, vertical sewing motion of needles 12 and 14 is produced as the needle servo motor 26 turns the flywheel 18. Each of the bobbins 22 and 24 are driven by servo motors 28 and 30. Each of the bobbin servo motors 28 and 30 operate at twice the speed of the needle servo motor 26. Beneath each of the needles 12 and 14 is a pneumatically actuated foot 32 and 34 for holding the sewing material 90 in the pants guide 36 while sewing. Each foot 32 and 34 is moved vertically by a pneumatic cylinder 38 and 40 during sewing. When the feet 32 and 34 are actuated, the sewing material 90 is held firmly between the feet 32 and 34 and the pants guide 36 to provide uniform stitching and to enable two-dimensional movement of the sewing material 90 during sewing. When stitching is complete, trimmers 60 and 62 are actuated by pneumatic cylinders 42 and 44, thereby cutting the bobbin and needle threads. 
     With continued reference to FIGS. 1 and 2, the sewing material 90, when held in place by actuation of the foot cylinders 38 and 40, is moved in an X axis direction and a Y axis direction in relation to the needles 12 and 14 which remain stationary in the X-Y plane. This X-Y motion enables the sewing machine 10 to sew a variety of stitch patterns. The two foot cylinders 38 and 40, the two feet 12 and 14, and the pants guide 36 are rigidly connected to a bracket 46. The bracket 46 is rigidly connected to an X-Y table 48 so that movement of the X-Y table 48 induces equal movement in the feet 12 and 14, foot cylinders 38 and 40, and the pants guide 36. 
     As shown in FIGS. 1 and 3, the motion of the X-Y table 48 is controlled by two servo motors. An X axis servo motor 50 controls movement along the X axis by turning a translational screw 54 attached to the X-Y table 48. A Y axis servo motor 52 controls movement along the Y axis by turning a translational screw 56 attached to the X-Y table 48. A universal, telescoping coupling 58 interconnects the Y axis translational screw 56 with the Y axis servo motor 52, thereby enabling unobstructed movement of the Y axis translational screw 56 along the X axis. 
     FIG. 4 is an illustration of the sewing machine chassis 96 with the needle servo motor 26 and bobbin servo motors 28 and 30 installed. The bobbins 22 and 24 are shown connected to their respective servo motors 28 and 30. 
     Position monitoring of the sewing parts enables electronic gearing of the movements of the sewing parts. Sewing parts are parts that are required to be rigorously moved during sewing operations, including the needles 12 and 14 and the bobbins 22 and 24. An example of a sewing part not shown in FIGS. 1 and 2 is an electronic thread take-up. A conventional thread tensioner 27 is used in the preferred embodiment in place of an electronic thread take-up. Although the preferred embodiment uses rotary servo motors for movement of the needles 12 and 14, bobbins 22 and 24, and X-Y table 48, it will be understood that other types of electric motors may be used instead, including linear servo motors and/or stepper motors. 
     Position monitoring can be by any effective method of position signaling. In a preferred embodiment as shown in FIG. 5, each of the servo motors is equipped with an encoder 110, 112, 114, 116, and 118 for monitoring the position of the servo motor load. Encoder position information is incremental. Incremental position information can be generally viewed as a series of pulses, or clicks wherein each pulse represents a specific amount of angular movement about the servo motor axis. For example, an encoder that has a resolution of one pulse per degree of movement about the servo motor axis would output 360 pulses for each complete revolution of the servo motor. Servo motor rotation equates to a specific position of the load so that 150 pulses from home position of the needle encoder 114 equates, for example, to the needles 12 and 14 being positioned one inch above the sewing material 90. In an alternative embodiment, absolute position information is provided in the form of angular position from reference about the servo motor axis so that instead of a series of pulses, the encoder outputs a signal corresponding to 100 degrees when the servo motor has moved 100 degrees from reference. Absolute position information can also be easily determined from incremental position information. 
     With continued reference to FIG. 5, each servo motor 26, 28, 30, 50, 52 is connected to a servo drive 120, 122, 124, 126, and 128 (as shown) for providing excitation to the servo motor. Motion commands for each of the servo motors 26, 28, 30, 50, and 52 are generated by a motion controller 104 and then passed to the servo drives 120-128 via an interface 130. The interface 130 is either a digital data bus or it is a direct, hardwired link between the motion controller 104 and the servo drives 120-128 and pneumatic pressure supply 132. Motion commands in the preferred embodiment are in the form of analog voltages, but it will be understood that digital motion commands may also be used. Each motion command utilizes S-curve profiling to eliminate machine jerk, and it instructs the corresponding servo drive to provide a specific amount of current to the servo motor. The motion controller 104 knows how far each servo motor 26, 28, 30, 50, and 52 must travel in a given time period, so it periodically adjusts the analog voltage level of each motion command to prevent overtravel or undertravel of the servo motor. For example, to move bobbin 22 an analog motion command corresponding to the desired motion of the bobbin 22 is generated by the motion controller 104 and sent out to the bobbin 1 drive 120. The analog motion command is received by the bobbin 1 drive 120 and used to provide an electrical current for excitation of the bobbin 1 servo motor 28. Encoder 110 monitors the position of servo motor 28 and outputs this positional information through the bobbin drive 120 for bobbin 1 to the motion controller 104. Motion controller 104 receives the digital positional information from the bobbin drive 120 for bobbin 1 and uses it for two purposes. First, the encoder 110 positional information is used by the controller 104 as feedback to determine whether the servo motor 28 has traveled to the point where it should be. If commanded motion differs from actual motion by a predetermined distance, then the motion controller 104 increases or decreases the voltage level of the analog motion command to increase or decrease servo motor 28 speed. Second, the encoder positional information is used by the controller 104 to limit the torque on the servo motor 28. This torque limiter function prevents the motion controller 104 from increasing the analog voltage motion command beyond a predetermined limit, thereby limiting the maximum amount of current to be supplied to the servo motor. In an alternate embodiment, encoder 110 positional information is used by the bobbin drive 120 for bobbin 1 as feedback to enable comparison of commanded motion with actual motion. In this alternate embodiment the bobbin 1 drive 120 itself adjusts the current to the servo motor 28 to correct any overtravel or undertravel (smart drive). 
     In a preferred embodiment, ac servo motors are used for the bobbin servo motors 28 and 30 and the needle servo motor 26, and dc servo motors are used for the X and Y axes. Servo drives 120, 122, and 124 such as YESKAWA servo drives are preferably used for each of the ac servo motors. Servo drives such as COMPUMOTOR OEM670X servo drives are preferably used for each of the dc servo motors. Encoders 110, 112, and 114 for each of the ac servo motors 26-30 are preferably magnetic encoders, such as SONY MAGNESCALE INC. Magnetic Rotary Encoder RE90B-2048C. Encoder 110-114 position signals are also routed through the servo drives 120-124 to the interface 130 for use by the motion controller 104 in calculating motion commands. 
     X axis servo motor 50 and Y axis servo motor 52 are preferably dc servo motors. Servo drives 126 and 128 for each of these dc servo motors are preferably COMPUMOTOR OEM670X servo drives. Encoders 116 and 118 for each of the dc servo motors 50 and 52 are preferably optical encoders, such as COMPUTER OPTICAL PRODUCTS, INC. CM350-1000-L. Encoder 116 and 118 position signals are routed directly to the motion controller 104. The encoder position information is used by the controller 104 as servo motor feedback control. 
     With continued reference to FIG. 5, the motion controller 104, which is part of a computer 102, and its associated software can conceptually be viewed as a plurality of motion command axes so that a command axis is established for each servo motor and its corresponding drive. For example, a command axis is established for the needle drive 124, the needle servo motor 26, and the needle servo motor encoder 114. A separate command axis is established for the bobbin 1 drive 120, the bobbin 1 servo motor 28, and the bobbin 1 servo motor encoder 110. Each motion command axis calculates motion commands as a function of encoder position information from all servo motors 28, 30, 32, 50, and 52. Motion commands provide the servo drives 120-128 with information relating to the desired motion of the servo motors 26, 28, 30, 50, and 52, and each motion command and resulting servo motor motion can generally be viewed as a pulse due to its relatively short duration. Faster stitching operations require shorter duration and higher frequency motion commands. The motion controller 104 is programmed to control the position of the servo motors 26, 28, 30, 50, and 52 by generating motion commands corresponding to the frequency and current of these pulses to be supplied to the servo motors. In a preferred embodiment, PC Bus Motion Controller cards, such as GALIL DMC-1000 cards having eight axes of motion control per card with multiple card synchronization, are used within the computer 102. Each axis of the motion controller 104 generates an appropriate motion command for its corresponding servo motor and drive. 
     Monitoring by the motion controller 104 of encoders 110-118 enables electronic gearing of the bobbins 22 and 24 and needles 12 and 14. Encoder 110-118 monitoring is used, for example, by designating one of the servo motors as the master with the other servo motors slaved to the master. For example, in the preferred embodiment, the bobbin servo motors 28 are slaved to the needle servo motor 26, which is the master, so that each slaved controller axis monitors the needle servo motor encoder 114 and generates the appropriate motion command for concerted movement of the slaved servo motors with the needle servo motor 26. In an alternate embodiment, any of the servo motors may be the master. If positional information provided via the encoders 110-114 indicates that one of the slave servo motors is unable to keep up with the master servo motor and lags the master servo motor by, for example, 50 encoder pulses or greater, the motion controller 104 will cause the master servo motor to slow. This effectively flipflops the identities of the servo motors and the slave servo motor suddenly becomes the master servo motor. 
     In a preferred embodiment, the X axis servo motor 50 and Y axis servo motor 52 are slaved to the needle servo motor 26 in such a way that the motion of the X-Y table 48 is as slow as possible. In other words, when the needles 12 and 14 move up and clear the sewing material 90, the X-Y table 48 will begin to move, and the speed of the X-Y table 48 is calculated to achieve the desired X-Y axis movement in the known time required for the needle to raise to the top of its travel and return to the point of entering the sewing material 90 again. Consuming the maximum length of time between stitches in order to move the X-Y table 48 dampens otherwise jerky machine motions and reduces or eliminates the problems associated with acceleration and deceleration, thereby enabling the sewing machine 10 to achieve the smoothest, tightest stitch possible. In a preferred embodiment, the X-Y table begins its motion when the needle encoder 114 has output 2800 pulses from home position with the needles 12 and 14 rising to a height approximately one fourth of an inch above the plane of the pant guide 36, and the X-Y table completes its motion when the needle encoder 114 has output 4000 pulses from home position and the needles 12 and 14 again lower to a height of approximately one fourth of an inch above the plane of the pants guide 36. 
     As an alternative to the master-slave arrangement of the preferred embodiment, electronic gearing is enabled by generating motion commands without reference to a master. Each controller axis receives encoder positional information from all other encoders and generates motion commands based on the positions of all sewing parts. If encoder positional information indicates that one of the servo motors is unable to keep up with the others and lags the other servo motors by, for example, 50 encoder pulses or greater, then that lagging servo motor is designated as master and all other controller axes are slaved to it to maintain electronic gearing. Therefore, an alternate embodiment is disclosed whereby a master-slave arrangement does not exist until there is a lag by one of the servo motors. 
     Each encoder 110-118 is equipped with a reference position indicator, enabling the motion controller 104 to command each servo motor 26, 28, 30, 50, and 52 to find the reference point and then move to a &#34;home&#34; position. This home position is used to initialize the sewing machine 10 for start of sewing operations. The encoders 110-118 sense movement from the home position and produce signals corresponding to such movements. Initialization (moving servo motors to the home position) and stitch pattern selection is enabled by use of a user interface 100 such as, for example, a touch screen monitor. A user menu software package, such as Visual Basic or Corel Flow, is used to generate user interface screens. Stitch patterns are stored in electronic storage, including computer 102 hard disk and other magnetic media, RAM, and ROM, and selected by the user through the touch screen monitor 100. 
     The user interface 100 enables a user to electronically adjust the position of either of the bobbins 22, 24 relative to the position of the needles 12, 14. Preferably, this is accomplished by changing the home position of one of the servo motors 26-30. In this manner, the timing of the bobbins 22, 24 can be easily adjusted on-screen to ensure the bobbin will catch the thread with the precision necessary to form stitches in the sewing material 90. This feature is particularly useful when a change in the thread or the material necessitates a change in the timing of the bobbins 22, 24 relative to the needles 12, 14. Thread size, thread type, material tightness, and even the dye used to color the thread can affect the timing and size of the thread loop. The timing of bobbin 22, 24 and needle 12, 14 must therefore be adjusted as necessary to accommodate such changes. After appropriate adjustments have been made for a particular sewing application, the positional settings can be electronically stored and retrieved at a later time, thus saving the user the time, expense, and effort otherwise required to re-establish those settings for that particular sewing application. Adjusting the rotational positions of the needle and bobbin in a conventional sewing machine requires that one part be mechanically adjusted and fixed in relation to the other. Electronic adjustment of these sewing parts, made possible by electronically geared sewing, is much easier and less time consuming than the conventional method of mechanical adjustment. An additional advantage is that no tools are required to effect the adjustment electronically. 
     Shown in FIG. 1 is a handwheel 11 which is similar in function to a conventional sewing machine handwheel. The handwheel 11 becomes operable after selecting it from the touch screen monitor 100. As FIG. 5 illustrates, an encoder 140 is connected to the handwheel 11 for providing the motion controller 104 with handwheel motion signals. Alternatively, a servo motor or similar device may be connected to the handwheel 11 for providing force reflective movement of the handwheel 11. Once the handwheel 11 is selected, all or certain selected sewing parts become slaved to the handwheel 11 so that the handwheel motion signals dictate all motion commands being sent out by the motion controller 104. Therefore, the handwheel 11 provides a capability for manual mode, electronically geared movement of electronically geared sewing parts. In addition, the sensitivity of the force reflective feel of the handwheel motion can be adjusted by the user through the user interface 100 to suit the needs of the particular sewing application. 
     By electronically gearing and controlling the motion of the various sewing parts within the machine 10, the computer 102 can be programmed to enable a variety of other automated functions that can be selected, activated, adjusted, stored, and recalled on-screen. One such function enabled by the computer 102 is torque limiting for machine error detection (such as detection of skipped stitches) and for improved safety. The torque limiting feature enables the computer 102 to recognize when an abnormal amount of resistance is encountered and to adjust required operating torque accordingly or to shut down at a predetermined level. The computer 102 calculates and monitors the normal operating current that is required per pulse to drive each servo motor. When, for example, the needles 12 and 14 are going through heavy sewing material 90, more current per pulse to the needle servo motor 26 (more torque) is required to maintain the desired speed of operation; i.e., the servo motor 26 torque requirement goes up. Likewise, if the needle tries to go through a finger or other obstruction, the resulting increase in resistance to the needle servo motor 26 causes an increase in the current required to maintain the selected speed of operation. By manual input through the user interface 100 or by default program setting, the computer 102 maintains, for selected servo motors, an established torque limit. This torque limit is continuously compared to the servo motor torque requirement. When an obstruction such as a finger is hit by a needle 12 and/or 14, or when some other obstruction causes an excessive amount of required torque, the computer 102 turns off the sewing machine 10, thereby preventing further damage to the finger or other obstruction instead of commanding the servo motor 26 to provide torque above the torque limit. It also prevents possible damage to the sewing machine 10 itself. 
     Preferably, the torque limit for an individual servo motor is adjustable on-screen through the user interface 100 so that the torque limit setting can be optimized for different sewing applications. For example, when sewing through heavy sewing material such as denim, canvass, or leather, the optimal torque limit will be greater than the optimal torque limit when sewing through lighter materials. If the torque limit is too low for a particular application, the computer 102 will cause nuisance shut downs of the machine 10. If the torque limit is set too high, the machine 10 may not shut down when needed and the torque limiting function will not effectively serve as a safety feature. 
     In one embodiment, torque limit shut down of the sewing machine 10 due to excessive resistance encountered by a servo motor is a two step procedure. First, a user defined current limit prevents the computer 102 from commanding a current level in excess of the defined limit. The selected current limit will vary depending on the thickness and resistive properties of the material being sewn. For thin materials, a low current limit is set. For thicker materials, a higher current limit is set. Once the current limit is reached, the computer will hold the current at that level until encoder positional information indicates that the restrained servo motor is lagging by, for example, 50 encoder pulses or greater. At this point, the master and slave servo motors flipflop identities if the restrained servo motor is a slave. If the restrained servo motor is the master, no flipflop occurs. If the blocked servo motor continues to lag by, for example, an additional 50 encoder pulses or greater, despite the fact that maximum current is being commanded, then the computer turns off the sewing machine 10. In an alternate embodiment, the machine 10 is shut down when a servo motor fails to reach a predetermined position within a predetermined amount of time. 
     As previously described, the computer 102 includes electronic memory (not shown) for storage of various stitch patterns, such as the 28 stitch pattern shown in FIG. 7. Each stitch pattern, which typically includes a plurality of continuous stitches 260, is user selectable through the user interface 100. If the desired stitch pattern is not already stored in the computer 102, the user may design or program a desired stitch pattern into the computer 102 on-screen through the user interface 100. This procedure requires instructing the computer 102 through appropriate user commands as to the placement and sequence of each stitch 260 within the new pattern. When complete, the new stitch pattern may be stored in memory with the other stitch patterns and selected by a user at a later date. 
     Encoder positional information may be used by the computer 102 to produce a graphic representation of the speed profile of the machine 10 during sewing. The graph of FIG. 8 illustrates an actual profile of machine speed, measured in stitches per minute (SPM), for an electronically geared sewing machine 10 while sewing the 28 stitch pattern of FIG. 7. As can be seen, machine speed varies from stitch to stitch. These speed variances are largely dependent on the stitch pattern. There are many variables within the stitch pattern that can cause machine speed to vary, including the distance between successive stitches and whether the machine 10 must stop and change direction in order to form the next stitch. Generally, a greater distance between stitches equates to slower machine speed (i.e., less SPM). Likewise, machine speed will be slower when the stitch pattern requires dramatic changes in the direction of sewing. Within a typical stitch pattern, it is common to have a series of successive stitches with uniform spacing and that require modest changes in sewing direction between stitches. Such stitches can be sewn at greater average machine speeds than those having inconsistent spacing and substantial directional changes. 
     To optimize sewing speeds for particular stitch patterns, the present invention enables the user to program the machine 10 to execute the selected stitch pattern in accordance with a predetermined speed and acceleration profile. For example, in sewing the 28 stitch pattern of FIGS. 7 and 8, the user can define a first speed and acceleration for the first 10 stitches, a second speed and acceleration for stitches 11-20, and a third speed and deceleration for the final 8 stitches of the pattern. For each group of stitches in this example, the machine 10 will accelerate to the defined speed and acceleration will become zero when the first speed is reached. By selecting a high acceleration, the machine 10 can reach the defined speed as quickly as the second or third stitch. Alternatively, a low acceleration can be used to prevent the machine 10 from reaching the selected speed until the eighth, ninth, or even tenth stitch. In similar fashion, the second and third groups of stitches will be sewn by the machine 10 in accordance with the defined second and third speed and acceleration settings. 
     The computer 102 may be programmed to enable the bobbin servo motor encoders 110, 112 to recognize when a stitch has been skipped. As the machine 10 sews a continuous stitch pattern, a hook on each of the bobbins 22, 24 catches the thread loop produced by the needles 12, 14 as the needles 12, 14 penetrate the sewing material. The bobbins 22, 24 experience some amount of resistance due to the tensioning of the thread as it is carried by the bobbins 22, 24. The resistance of the thread as it is being pulled by the bobbins 22, 24 causes the bobbin servo motors 28, 30 to lag by several encoder counts. When a bobbin fails to catch the thread, resulting in a skipped stitch, there is no thread resistance to slow the servo motor and the servo motor should not lag appreciably from its commanded position. Thus, the computer 102 monitors the bobbin servo motor encoders 110, 112 and determines that a stitch has been skipped, or missed whenever one of the encoders 110, 112 fails to lag in a manner characteristic of a bobbin pulling a thread. 
     Preferably, the machine 10 automatically re-attempts to form the stitch when the computer 102 detects a skipped stitch. Alternatively, the computer 102 may be programmed to shut down the machine 10, or the computer 102 may continue operation of the machine 10 and alert the user that a stitch has been skipped. 
     As previously stated, the machine 10 may be used to create a chainstitch by making the bobbins 22, 24 loopers. Chainstitch patterns, particularly single or double thread chainstitch patterns, are inherently vulnerable to unraveling if the last several stitches of the pattern are not terminated, such as by &#34;backtacking&#34; or other means of locking the last several stitches. In conventional lockstitch sewing machines, the last several stitches may be terminated and locked in by resewing back over the last several stitches. This process of resewing is known as &#34;backtacking&#34; and is usually accomplished by reversing the direction of feed so that the material being sewn moves in the reverse direction or at least stops moving. 
     Reversing the direction of feed in this manner is not possible in a chainstitch machine because the method of forming the stitch is dependent on the direction of feed. In other words, if a conventional sewing machine is operated in a reverse direction, the necessary operating relationship between the needle and looper will not be present because the pull of the sewing material in the reverse direction reverses the motion of the thread with respect to the needle. A sewing machine 10 employing electronic gearing in accordance with the present invention enables the user to reverse the direction of feed and still maintain the necessary cooperative relationship between the needle and looper because the direction of the motion of the feed elements can be changed independent of the direction of motion of the other sewing elements. Thus, the last several stitches in a chainstitch can be locked, or backtacked, with an electronically geared sewing machine 10 by reversing the direction of feed or, alternatively, by sewing several stitches in the same general location. This capability of electronically geared sewing technology eliminates the need for a separate backtacking apparatus and method in order to lock the last several stitches of a chainstitch. Additionally, it should be noted that this backtacking feature is not limited to chainstitch patterns. Rather, backtacking can be performed on any continuous stitching pattern, including lockstitch patterns. 
     A particularly convenient aspect of the present invention is the ability to electronically store machine operating parameters, which are optimized for a particular sewing application, as a group for later retrieval. For example, when sewing beltloops onto a material such as denim, the user will typically set up the operation of the machine 10 by defining various sewing parameters as previously discussed, including selecting or programming a desired stitch pattern, a speed and acceleration profile, a torque limit, and adjusting the relative timing of the bobbins 22, 24 and needles 12, 14. Some amount of experimentation may be required to find the optimal settings for these and other sewing parameters. Once the optimal settings have been defined, the user can electronically store the settings as a group. When the machine 10 is later used to sew beltloops onto denim material, the stored settings may be recalled, thus saving the user the time and effort required to optimize the machine 10 again. 
     Another function enabled by the computer 102 is real time production and maintenance monitoring of the sewing machine 10. The computer 102 monitors the amount of time that the sewing machine 10 is being operated, the speed at which it operates, and the power required to operate it over a period of time. This feature enables automated maintenance scheduling of the sewing machine 10. 
     Components are modularized to enhance maintainability. For example, the bobbins 22 and 24 shown in FIG. 3 can be easily removed and replaced with loopers. The versatility of electronically gearing the needles 12 and 14 to the bobbins 22 and 24 enables the user to make such parametric changes without having to manually reset other sewing parameters. Electronic gearing enables automatic adjustment to new sewing parameters. 
     Countless variations exist for the application of electronic gearing to sewing operations due to the elimination of conventional linkages and drive shafts gearing the needle to the bobbin. Variations include single and multi-head embroidery machines for sewing embroidery patterns onto a sewing material, machines for sewing airbags used in the manufacture of automobiles and other vehicles, and machines for sewing composite materials used in the manufacture of aircraft. 
     A further variation is a felling machine for sewing, for example, the interior seams of blue jeans. This type of machine typically requires a short throat for maintaining high speeds. Electronic gearing enables the high speed operation of even long throated sewing machines since there are no mechanical linkages or drive shafts to slow down operation. 
     The invention enables two or more sewing machines, or sewing heads, to be combined for applications where multiple sewing operations are performed. FIG. 6A shows a high-level block diagram for the configuration of a multi-head sewing application. A computer 202 coordinates the electronic gearing of five needle/bobbin heads 204, 206, 208, 210, and 212 that are spaced apart, center to center, by distances small enough to allow simultaneous sewing of button holes 252; e.g., about 2.5 to 4.0 inches. As shown in FIG. 6B, each needle/bobbin head 204-212 comprises at least a needle 220 with a corresponding servo motor 222, encoder 224, and drive 226, and a bobbin 230 with a servo motor 232, encoder 234, and drive 236. The needle servo motor 222, encoder 224, and the needle 220 form a needle assembly 228. The bobbin servo motor 232, encoder 234, and the bobbin 230 form a bobbin assembly 238. As FIG. 6C illustrates, the needle assembly 228 and bobbin assembly 238 of each sewing head 204-212 are structurally secured opposite to each other so that the needle assembly 228 of each head is positioned on the opposite side of the sewing material 250 than its corresponding bobbin assembly 238 while sewing. Electronic gearing of each of the needle/bobbin heads 204-212 is enabled by use of positional information provided by, for example, encoders attached to the servo motors as previously described. The needle of each head 204-212 is electronically geared to the bobbin of the same head. While it is not necessary, it is also preferred to electronically gear together the needles and bobbins of all of the heads 204-212. 
     In a specific application of a multi-head sewing machine, FIG. 9 illustrates a five-head embodiment for sewing button holes 252 in a sewing material 250, which sewing material 250 may be, for example, part of a shirt. For simplicity, the individual operation of one head 204 will be described, it being understood that all other heads 206-212 operate in similar fashion to create button holes. It will be further understood that, although each head 204-212 may be operated at a different time and a different speed, it is preferable to operate all heads, 204-212 at substantially the same time and at substantially the same speed to increase efficiency and reduce the amount of time required to complete all button holes. 
     Each head 204 includes a knife 300 which is actuated, for example, by a pneumatic pressure supply 132 like that shown in FIG. 5 in response to commands generated by a computer 202. When the knife 300 is actuated, the knife 300 cuts the sewing material 250 to create a hole in the sewing material 250 which is the opening for the button hole 252. After the sewing material 250 is cut, a needle 220 stitches that part of the sewing material 250 immediately adjacent the cut hole to provide structural integrity and prevent fraying of the sewing material 250, thus completing the button hole 252. Alternatively, stitching is performed prior to cutting the sewing material 250 with the knife 300. 
     Multiple-head applications of the present invention are made possible because the needle and bobbin are physically freed from each other. In another multi-head application of the invention, FIG. 10 illustrates a five-head embodiment adapted for sewing buttons 400 onto a sewing material 251, preferably simultaneously. Head 204, like all other heads 206-212 includes a clamp 324 for securing the button 400 as it is sewn onto the sewing material 250 by the needle 220. Although not shown in FIG. 10, a button feed mechanism can be provided and controlled by the computer 202 to automatically feed buttons 400 to each clamp 324 during operation. 
     A particular advantage of multi-head sewing operations is a significant increase in the efficiency of sewing operations. For example, in the time required to create a single button hole 252 in the sewing material 250 (FIG. 9) with a single head machine, the five-head machine of FIG. 9 will have sewn five times as many button holes 252. Likewise, the five-head button sewing machine of FIG. 10 can sew at least five buttons 400 for every one button 400 sewn by a single-head machine. 
     In a further multi-head, button sewing application, FIG. 11 illustrates how each button sewing head 204-212 is provided with a spreader 412 which spreads button holes 252 in one sewing material 250 so that buttons 400 can be stitched through the button holes 252 and onto another sewing material 251. Each spreader 412 is actuated, for example, by a pneumatic pressure supply 132 similar to that shown and described in FIG. 5 in response to commands generated by a computer 202. A particular advantage of this embodiment is that the steps of attaching the buttons 400 and connecting the two pieces of sewing material 250, 251 are accomplished at the same time with the same machine. 
     It will be appreciated that the physical separation of the needle and bobbin enables the sewing heads 204-212, either individually or in groups, to be moved in three dimensions while sewing, thereby enabling three-dimensional sewing operations. Instead of bringing the sewing material to the sewing machine in a single plane, the present invention enables the sewing heads 204-212 to be brought in multiple planes to the sewing material. 
     It is contemplated, and will be apparent to those skilled in the art from the preceding description and accompanying drawings, that modifications and/or changes may be made to the described embodiments of the invention. Accordingly, it is expressly intended that the foregoing description and accompanying drawings are illustrative of preferred embodiments only, not limiting thereto, and that the true spirit and scope of the present invention be determined by reference to the appended claims. ##SPC1##