Patent ID: 12215695

DETAILED DESCRIPTION

Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having” and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Unless specified or limited otherwise, the terms “mounted,” “connected,” “supported,” and “coupled” and variations thereof are used broadly and encompass both direct and indirect mountings, connections, supports, and couplings. Further, “connected” and “coupled” are not restricted to physical or mechanical connections or couplings.

The following discussion is presented to enable a person skilled in the art to make and use embodiments of the invention. Various modifications to the illustrated embodiments will be readily apparent to those skilled in the art, and the generic principles herein can be applied to other embodiments and applications without departing from embodiments of the invention. Thus, embodiments of the invention are not intended to be limited to embodiments shown, but are to be accorded the widest scope consistent with the principles and features disclosed herein. The following detailed description is to be read with reference to the figures, in which like elements in different figures have like reference numerals. The figures, which are not necessarily to scale, depict selected embodiments and are not intended to limit the scope of embodiments of the invention. Skilled artisans will recognize the examples provided herein have many useful alternatives and fall within the scope of embodiments of the invention.

FIG.1illustrates a variable frequency drive (VFD, hereinafter “the drive”)10according to one embodiment of the invention. In some embodiments, the drive10can be used to control the operation of an AC induction motor11that drives a water pump12(as shown inFIG.5). The drive10can be used in a residential, commercial, or industrial pump system to maintain a substantially constant pressure. The motor11and pump12can be a submersible type or an above-ground type. The drive10can monitor certain operating parameters and control the operation of the motor11in response to the sensed conditions.

As shown inFIGS.1and2, the drive10can include an enclosure13and a control pad14. The enclosure13can be a NEMA 1 indoor enclosure or a NEMA 3R outdoor enclosure. In one embodiment, the enclosure13can have a width of about 9.25 inches, a height of about 17.5 inches, and a depth of about 6.0 inches. The enclosure13can include a keyhole mount16for fast and easy installation onto a wall, such as a basement wall. The enclosure13can include slots18through which air that cools the drive10can pass out of the enclosure13. The control pad14can be positioned within the enclosure13for access through a rectangular aperture20.

As shown inFIG.2, the enclosure13can include a removable cover22with attached side panels. Removing the cover22allows access to a wiring area24, which is located adjacent to a bottom panel25of the enclosure13with several conduit holes26. As shown inFIGS.2and3, the wiring area24is free of any electrical components or printed circuit board material that may impede any wiring. The wiring area24can provide access to an input power terminal block28, input/output (I/O) spring terminals30, and an output power terminal block32. Each one of the conduit holes26can be aligned with one of the input power terminal block28, the I/O spring terminals30, and the output power terminal block32. In addition, in some embodiments, the I/O spring terminals30can include digital output terminals30A, digital input terminals30B, I/O power supply terminals30C, and analog input terminals30D.

The wiring area24can include a wiring space34between the bottom panel25and the input power terminal block28, the I/O spring terminals30, and the output power terminal block32. The wiring space34can be between about three inches and about six inches in height in order to allow enough room for an installer to access the input power terminal block28, the I/O spring terminals30, and the output power terminal block32.

The input power terminal block28, I/O spring terminals30, and the output power terminal block32can be used to control the motor11and to provide output information in any number of configurations and applications. Various types of inputs can be provided to the drive10to be processed and used to control the motor11. The analog input terminals30D can receive analog inputs and the digital input terminals30B can receive digital inputs. For example, any suitable type of run/enable switch can be provided as an input to the drive10(e.g., via the digital input terminals30B). The run/enable switch can be part of a lawn irrigation system, a spa pump controller, a pool pump controller, a float switch, or a clock/timer. In some embodiments, the digital input terminals30B can accept a variety of input voltages, such as voltages ranging from about 12 volts to about 240 volts, direct current (DC) or alternating current (AC).

The digital output terminals30A can connect to digital outputs, such as relay outputs. Any suitable type of indicator device, status output, or fault alarm output can serve as a digital, or relay, output (e.g., be connected to the digital output terminals30A). A status output can be used to control a second pump, for example, to run the second pump when the pump12is running. A fault alarm output can, for example, place a call using a pre-defined phone number, signal a residential alarm system, and/or shut down the pump12when a fault is determined. For example, when there is a pipe break fault (as described below with reference toFIG.33), the digital output terminals30A can energize a relay output, causing the pre-defined phone number to be automatically dialed. The input power terminal block28, the I/O spring terminals30, and the output power terminal block32can all be coupled to a drive circuit board (not shown), for connection to a controller75(as shown inFIG.6) of the drive10. Further, the input power terminal block28and/or the output power terminal block32can be removable and replaceable without replacing the drive circuit board or the entire drive10.

As shown inFIGS.1-4, a control pad14of the drive10can include a backlit liquid crystal display36and several control buttons38. As shown inFIG.4, the control buttons38can include a pump-out button40, a pressure preset button42, a main menu button44, and a fault log button46. The control buttons38can also include a keypad lockout button48and a language button50. The control pad14can include several directional buttons52, a back button54, and an enter button56. The control pad14can further include a status button58, a stop button60, an automatic start button62, and a fault reset button64. Finally, the control pad14can include light emitting diode (LED) indicators66, to indicate a status of the drive10, such as an ON LED68, a Warning LED70, and a Fault LED72.

As shown inFIGS.2and3, the drive10can include an electromagnetic interference (EMI) filter74. The EMI filter74can reduce electrical noise generated by the motor11, especially noise that interferes with AM radio stations. The drive10can reduce electrical noise while simultaneously being compatible with a Ground Fault Circuit Interrupter (GFCI). An unintentional electric path between a source of current and a grounded surface is generally referred to as a “ground fault.” Ground faults occur when current is leaking somewhere, and in effect, electricity is escaping to the ground.

The drive10can be compatible with a number of different types of motors11, including, but not limited to, AC induction motors that are two-wire permanent split capacitor (PSC) single-phase motors; three-wire single-phase motors; or three-phase motors. The drive10can be connected to a previously-installed motor11in order to retrofit the controls for the motor11. If the motor is a single-phase motor, the installer can use the control pad14to select either two-wire or three-wire. For a three-wire motor11, the drive10can automatically generate a first waveform and a second waveform with the second waveform having a phase angle of about 90 degrees offset from the first waveform. In addition, the controller75(as shown inFIG.6) can automatically set a minimum and maximum frequency allowance for the motor11depending on the selection.

The drive10can be programmed to operate after a simple start-up process by a user using the control pad14. The start-up process can be a five-step process for a single-phase motor11and a four-step process for a three-phase motor11. The start-up process for a single-phase motor11can include (1) entering a service factor current value, (2) selecting either a two-wire motor or a three-wire motor. (3) entering a current time, (4) entering a current date, and (5) engaging the pump-out button40or the automatic start button62. The start-up process for a three-phase motor11can include (1) entering a service factor current value, (2) entering a current time, (3) entering a current date, and (4) engaging the pump-out button40or the automatic start button62.

The pump-out button40can be used to enter the drive10in a pump out mode to clean out sand and dirt from a newly-dug well. The pump-out button40can be engaged once the pump12is installed in the new well and once the drive10is connected to the motor11. The pump-out mode can provide an open discharge of sand and dirt from the well, for example, onto a lawn. In one embodiment, the drive10can operate the pump12in the pump out mode at about 45 Hertz (Hz). The pump out mode operation is further described below with respect toFIG.7, and a pump-out button control operation is further described below with respect toFIG.48.

The controller75can include software executed by a digital signal processor (DSP, as shown inFIG.6) or a microprocessor and can perform real-time control including soft-start, speed regulation, and motor protection. The drive10can be controlled to maintain substantially constant water pressure in a water system that may or may not utilize a tank. To achieve this, the controller75can implement a classical Proportional/Integral/Derivative (PID) method using pressure error as an input. Pressure error can be calculated by subtracting an actual water pressure from the desired water pressure (i.e., a pressure set point). An updated speed control command can then be generated by multiplying the pressure error by a proportional gain, multiplying the integral of the pressure error by an integral gain, multiplying the derivative of the pressure error by a derivative gain, and summing the results. Thus, the controller75can increase or decrease the speed of the motor11to maintain a constant pressure set point. The PID mode is further described below with respect toFIG.11.

The controller75can determine the actual water pressure value from an electronic pressure transducer15(e.g., in communication with the controller75via the analog input terminals30D). In some embodiments, as shown inFIG.5, the pressure transducer15can be located near a pressure tank17fluidly coupled to the pump12.

If motor11is off (i.e., not being driven), water pressure can still be monitored, but no actions are taken until the pressure falls below a certain value (e.g., a low band pressure value). If the water pressure falls below the low band pressure, the controller75can restart the motor11. In some embodiments, the low band pressure can be set, or defaulted, to 1-10 pounds per square inch (PSI) lower than the pressure set point. Once the motor11is restarted, normal operation with PID control (i.e., PID mode) can commence. In one embodiment, one of two conditions can trigger the controller75to turn the motor11off. A first condition can be if a sleep mode (described with respect toFIG.12) is triggered. A second condition can be if the pressure exceeds a certain safety value (i.e., about 20 PSI above the pressure set point). Other conditions that can stop the drive10are various faults (described further below), the user pressing the stop button60, and lack of a digital input for an optional run enable mode.

For normal operation, with the motor11being driven, the controller75can regulate pump speed in a continuous fashion using PID control as long as the pressure remains below the safety pressure value, such as about 20 PSI above the pressure set point. The drive10can stop the motor11whenever the actual pressure exceeds the safety pressure value. During normal operation, as long as water usage does not exceed the motor/pump capabilities, the pressure can remain constant at approximately the pressure set point. Large instantaneous changes in flow requirements can result in variations from the desired pressure band. For example, if flow is stopped, causing the pressure to quickly increase, the motor11can be stopped (i.e., set to 0 Hz). This can be considered an alternate sleep mode operation and is further described below with respect toFIG.13.

FIGS.7-15are flow charts describing pump control according to some embodiments of the invention. The flow chart ofFIG.7illustrates when the controller75receives a signal to run the pump in the pump out mode76(e.g., when the pump-out button40is pressed). The controller75first determines, at step78, if the pump is already running in pump out mode. If so, the pump is being run at a correct, fixed frequency for pump out mode (step80). If not, the controller75, at step82, ramps up the input frequency of power to the motor11to the correct frequency, then proceeds to step80.

FIG.8illustrates an automatic line fill operation84, according to some embodiments. This operation can automatically run at drive start-up (e.g., when the drive10is powered up, after a power interruption, when the motor11is restarted, or when the automatic start button62is pressed). Thus, the motor may be off (i.e., at 0 Hz) at the beginning of this operation. The controller75first can ramp up the frequency driving the motor from 0 Hz to about 45 Hz in less than a first time period, such as about two seconds (step86). In a second time period, such as about two minutes, or about five minutes in some embodiments, the controller75can start to ramp up the frequency from, for example, about 45 Hz to about 55 Hz (step88). During the second time period, the controller75determines the pressure via input from the pressure transducer15(step90). If the sensed pressure has reached a minimum pressure, or pressure set point (e.g., about 10 PSI), indicating the line has been filled, the fill operation is completed and the controller75enters PID mode (step92). However, if the sensed pressure is less than 10 PSI at step90, the controller75determines if the second time period (e.g., about two minutes or about five minutes) has passed (step94). If the second period has not passed, the controller75reverts back to step88and continues to ramp the motor frequency. If the second time period has passed, the controller75will hold the frequency at about 55 Hz for about one minute (step96). The controller75then determines if the sensed pressure is about 10 PSI (step98). If the sensed pressure is about 10 PSI, indicating the line has been filled, the fill operation is completed and the controller75enters PID mode (step92). However, if the sensed pressure is still less than 10 PSI at step90, the controller75determines if one minute has passed (step100). If one minute has not passed, the controller75reverts back to step96. If one minute has passed, a dry run fault is recognized and a dry run fault operation is executed (step102) (e.g., the system is stopped).

In one alternative embodiment, step88can include setting the frequency to about 45 Hz for the second time period, and if the sensed pressure is less than 10 PSI after the second time period, repeating step88with the frequency set to about 50 Hz for another second time period. If the sensed pressure is still less than 10 PSI after the second time period while at 50 Hz, step88can be repeated with the frequency set to about 55 Hz for yet another second time period. If the sensed pressure is still less than 10 PSI after the second time period while at 55 Hz, the controller75can continue to step96.

FIG.9illustrates a manual line fill operation104, according to some embodiments. The motor11is run at a manually-controlled frequency (e.g., entered by a user) at step106. The motor11keeps running at this frequency until the sensed pressure reaches about 10 PSI (step108). Once the sensed pressure has reached about 10 PSI, the controller75enters PID mode (step110). In some embodiments, if the controller75does not enter PID mode within a time period (e.g., fifteen minutes), the drive10is stopped.

The manual fill line operation can be considered always enabled because it can be executed at any time during the auto line fill operation. For example, by using the up and down directional buttons52on the control pad14, the user can interrupt the automatic line fill operation and adjust the frequency output to the motor11, thus changing the motor speed. Once in manual line fill mode, the user can continue to change the speed as needed at any time. The motor10can continue at the new set frequency until the sensed pressure reaches about 10 PSI, and then it will proceed to PID mode, as described above. The manual fill line operation can be beneficial for both vertical or horizontal pipe fill applications. In addition, both the automatic fill line operation and the manual fill line operation can prevent common motor issues seen in conventional systems, such as motor overloading and the occurrence of water hammering.

FIG.10illustrates a stop operation112, according to some embodiments. The controller75determines if the pump is running (step114). If the pump is not running (e.g., if the drive10is in sleep mode or a run enable command is not triggered), the drive10is stopped (step116). If the pump is running, the motor is allowed to coast to a stop (i.e., 0 Hz) at step118, then proceeds to step116.

FIG.11illustrates a PID mode operation120, according to some embodiments. The controller75continuously determines if the pressure is at a programmed set point (step122). If the pressure is not at the programmed set point, PID feedback control is used to ramp the frequency until the pressure reaches the set point (step124).

FIG.12illustrates the controller75, running in PID mode (at step126), checking if the pump should enter a sleep mode. First, at step128, the controller75determines if the frequency of the motor11is stable within about +/−3 Hz (e.g., at a steady-state frequency). If not (step130), a boost delay timer is reset and the controller75reverts to step126. If the frequency of the motor11is stable, the boost delay timer is incremented at step132. If, at step134the boost delay timer is not expired after being incremented, the controller75reverts back to step126. However, if, at step134the boost delay timer has expired, the controller75proceeds to step136and the pressure is boosted (e.g., about 3 PSI above the pressure set point) for a short period of time (e.g., about 15 seconds or about 30 seconds).

Until the short period of time has passed (step138), the controller75determines if the pressure stays between the pressure set point (e.g., about 10 PSI) and the boosted pressure (step140). If, in that short period of time, the pressure falls outside (i.e., below) the range between the pressure set point and the boosted pressure, the controller75reverts back to step126. If, however, the pressure stays between the pressure set point and the boosted pressure, the controller75then decrements the pressure over another short period of time (step142). Until the short period of time has passed (step144), the controller75determines if the pressure stays between the pressure set point (e.g., the steady-state pressure) and the boosted pressure (step146). If, in that short period of time, the pressure falls outside the range between the pressure set point and the boosted pressure, indicating that there is flow occurring, the controller75reverts back to step126. If, however, the pressure stays between the pressure set point and the boosted pressure, indicating no flow, the controller75then determines if the pressure is above the pressure set point (step148). If not, the controller75reverts back to step126. If the pressure is above the pressure set point, the pump enters the sleep mode causing the motor frequency to coast down to 0 Hz (step150) and a “sleep mode active” message to be displayed on the liquid crystal display36(step152). While in sleep mode, at step154, the controller75continuously determines if the pressure stays above a wakeup differential pressure (e.g., about 5 PSI below the pressure set point). If the pressure drops below the wakeup differential pressure, the controller75reverts back to step126.

In some embodiments, the controller75will only proceed from step126to step128if the pressure has been stable for at least a minimum time period (e.g., one or two minutes). Also, when the controller75cycles from step128to step130and back to step126, the controller75can wait a time period (e.g., one or two minutes) before again proceeding to step128. In some embodiments, the controller75can determine if the motor speed is stable at step128. In addition, the controller75can perform some steps ofFIGS.11and12simultaneously.

By using the sleep mode operation, a separate device does not need to be purchased for the drive10(e.g., a flow meter). Further, the sleep mode operation can self-adjust for changes in pump performance or changes in the pumping system. For example, well pump systems often have changes in the depth of the water in the well both due to drawdown as well as due to time of year or drought conditions. The sleep mode operation can be executed independent of such changes. In addition, the sleep mode operation does not require speed conditions specific to the pump being used.

FIG.13illustrates the controller75, running in PID mode, checking if the pump should enter an alternate sleep mode156. First, at step158, the controller75determines if pressure is at a preset value above the pressure set point (e.g., 20 PSI above the pressure set point). If not (step160), a timer is reset and the controller75reverts to step156. If the pressure is 20 PSI above the pressure set point, the timer is incremented at step162. If, at step164the timer is less than a value, such as 0.5 seconds, the controller75reverts back to step156. However, if, at step164the timer has exceeded 0.5 seconds, the controller75proceeds to step166and the timer is reset. The controller75then sets the motor frequency to 0 Hz (step168) and displays a “sleep mode active” message170on the liquid crystal display36. The controller75then again increments the timer (step172) until the time reaches another value, such as 1 minute (step174), and then proceeds to step176. At step176, the controller75keeps the motor frequency at 0 Hz and displays a “sleep mode active” message178on the liquid crystal display36as long as the pressure is above a wakeup differential pressure (step180). If the pressure drops below the wakeup differential pressure (e.g., water is being used), the controller75reverts back to step156.

FIG.14illustrates an example of controller operation using the digital input. The controller75first recognizes a digital input (step182). If an external input parameter is unused (step184), the controller75takes no action whether the input is high or low (steps186and188, respectively). If the external input parameter is set to a run enabled mode (step190) and the input is high (e.g., indicating allowing the drive10to be run), the controller75determines if the drive10is running (step192). If the drive10is running, the controller75can take no action (step196) and continue in its current mode of operation. If the drive10is not running, the controller75can start an auto line fill operation (step194), as described with reference toFIG.8(e.g., similar to actions taken if the auto start button62is pressed). If the external input parameter is set to a run enabled mode (step190) and the input is low (e.g., indicating to stop the drive10), the controller75can check if the drive10is stopped (step198). If the drive10is not stopped, the controller75can execute a stop operation (step200), as described with reference toFIG.10. If the drive10is stopped, the controller75can take no action (step202). If the external input parameter is set to an external fault mode (step204) and the input is high (e.g., indicating an external fault), the controller75can perform an external fault operation (step206), as described with reference toFIG.47. If the external input parameter is set to an external fault mode (step204) and the input is low (e.g., indicating there is no external fault), the controller75can clear any external fault indications (step208). If the external input parameter is set to an external set point mode (step210) and the input is high, the controller75sets the PID set point to “external” (step212), for example, so that the digital input controls the pressure set point for PID pressure control. If the external input parameter is set to an external set point mode (step210) and the input is low, the controller75sets the PID set point to “normal” (step214), for example, so that the digital input has no control over the pressure set point for PID pressure control.

FIG.15illustrates controller operation of a relay output. When the drive10is powered (step216), the controller75determines if a relay output parameter is unused (step218). If so, the controller75turns the relay off (step220). If not, the controller75determines if the relay output parameter is set to a run mode (step222). If the relay output parameter is set to a run mode (at step222), the controller75determines if the drive10is running (step224). The controller75will then turn the relay off if the drive10is not running (step226) or turn the relay on if the drive10is running (step228). If the relay output parameter is not set to a run mode (at step222), the controller75determines if the relay output parameter is set to a fault mode (step230). If so, the controller75determines, at step232, if the drive10is tripped (e.g., a fault has occurred and the drive10has been stopped). The controller75will then turn the relay off if the drive10has not been tripped (step234) or turn the relay on if the drive10has been tripped (step236). For example, if an alarm is the relay output, the alarm can be activated if the drive10has been tripped to indicate the fault condition to the user.

FIGS.16-29are flow charts describing menu operations according to some embodiments of the invention.FIG.16illustrates a main menu238of the controller75. The main menu238can include the following parameters: settings menu240, motor242, sensor244, pipe break246, dry run248, I/O (input/output)250, and reset to defaults252. The user can view the main menu238on the liquid crystal display36using the main menu button44on the control pad14. The user can then toggle up and down through the parameters of the main menu238using the directional buttons52. The user can select a parameter using the enter button56.

From the main menu238, the user can select the settings menu240. The user can toggle up and down through the settings menu240to view the following parameters, as shown inFIG.17: time254, PID control256, sleep258, password260, and external set point262.

FIG.18illustrates the user's options after selecting the time parameter254from the settings menu240. The user can toggle up and down between setting a current hour264or a date266. If the user selects the hour parameter264, the user can enter a current time268, and a time value for the controller75will be changed according to the user's input270. If the user selects the date parameter266, the user can enter a current date272and a date value for the controller75will be changed according to the user's input270.

FIG.19illustrates the user's options after selecting the PID control parameter256from the settings menu240. The following parameters can be chosen after selecting PID control256: proportional gain274, integral time276, derivative time278, derivative limit280, and restore to defaults282. The user can select any of the parameters274-282to modify one or more preferences associated with the parameters, and appropriate values for the controller75will be changed270.

FIG.20illustrates the user's options after selecting the sleep parameter258from the settings menu240. The following parameters can be chosen after selecting sleep258: boost differential284, boost delay286, wakeup differential288, and restore to defaults290. The user can select any of the parameters284-290to modify one or more preferences associated with the parameters, and appropriate values for the controller75will be changed270. The parameters can be set to modify or adjust the sleep mode operation described with reference toFIG.12.

FIG.21illustrates the user's options after selecting the password parameter260from the settings menu240. The following parameters can be chosen after selecting password260: password timeout292and password294. The user can select any of the parameters292-294to modify one or more preferences associated with the parameters, and appropriate values for the controller75will be changed270. The password timeout parameter292can include a timeout period value. If the control pad14is not accessed within the set timeout period, the controller75175can automatically lock the control pad14(i.e., enter a password protection mode). To unlock the keys, or leave the password protection mode, the user must enter the password that is set under the password parameter294. This is further described below with reference toFIG.56.

FIG.22illustrates the user's options after selecting the external set point parameter262from the settings menu240. The user can select the external set point parameter296to modify one or more preferences associated with the parameter296, and appropriate values for the controller75will be changed270.

FIG.23illustrates the user's options after selecting the motor parameter242from the main menu238. The following parameters can be chosen after selecting motor242: service factor amps298, connection type300, minimum frequency302, maximum frequency304, and restore to defaults306. The connection type parameter300may only be available if the drive10is being used to run a single-phase motor. If the drive10is being used to run a three-phase motor, the connection type parameter300may not be provided. The user can select any of the parameters298-306to modify one or more preferences associated with the parameters, and appropriate values for the controller75will be changed270.

FIG.24illustrates the user's options after selecting the sensor parameter244from the main menu238. The following parameters can be chosen after selecting sensor244: minimum pressure308, maximum pressure310, and restore to defaults312. The user can select any of the parameters308-312to modify one or more preferences associated with the parameters, and appropriate values for the controller75will be changed270.

FIG.25illustrates the user's options after selecting the pipe break parameter246from the main menu238. The following parameters can be chosen after selecting pipe break246: enable pipe break detection314and number of days without sleep316. The user can select either of the parameters314-316to modify one or more preferences associated with the parameters, and appropriate values for the controller75will be changed270. In some embodiments, the number of days without sleep parameter316can include values in the range of about four hours to about fourteen days. The enable pipe break detection parameter314can allow the user to enable or disable pipe break detection.

FIG.26illustrates the user's options after selecting the dry run parameter248from the main menu238. The following parameters can be chosen after selecting dry run248: auto reset delay318, number of resets320, and reset window322. The user can select either of the parameters318-320to modify one or more preferences associated with the parameters, and appropriate values for the controller75will be changed270. The user can select the reset window parameter322to view a value324indicating a reset window of the controller75. The reset window value can be based from the values chosen for the auto reset delay318and the number of resets320. Thus, the reset window parameter322can be a view-only (i.e., non-adjustable) parameter.

FIG.27illustrates the user's options after selecting the I/O parameter250from the main menu238. The following parameters can be chosen after selecting I/O250: external input326and relay output328. The user can select either of the parameters326-328to modify one or more preferences associated with the parameters, and appropriate values for the controller75will be changed270.

FIG.28illustrates the user's options after selecting the reset to defaults parameter252from the main menu238. The user can select the parameter330to change all values to factory default values270.

FIG.29illustrates a backdoor parameter332, according to some embodiments. With the backdoor parameter332, the user can choose a parameter334not normally accessible through other menus. The user can select the parameter334to modify one or more preferences associated with the parameter, and appropriate values for the controller75will be changed270. The parameter334that the user selects can be from a list of parameters336. The list of parameters336can include one or more of the parameters disclosed above as well as other parameters.

FIGS.30-47are flow charts describing drive warnings and faults according to some embodiments of the invention.FIG.30illustrates an overheat prevention operation of the controller75. When the drive10is running (step338), the controller75first determines, at step340, if a power module temperature is greater than a first temperature (e.g., 115 degrees Celsius). If so, an overheat fault operation is executed (step342). If not, the controller75then determines, at step344, if the power module temperature is greater than a second temperature (e.g., about 113 degrees Celsius). If so, the controller75, at step346, decreases the speed of the motor by a first value (e.g., about 12 Hz per minute) and continues to step348. If not, the controller75then determines, at step350, if the power module temperature is greater than a third temperature (e.g., about 110 degrees Celsius). If so, the controller75, at step352, decreases the speed of the motor by a second value (e.g., about 6 Hz per minute) and continues to step348. If not, the controller75then determines, at step354, if the power module temperature is greater than a fourth temperature (e.g., about 105 degrees Celsius). If so, the controller75, at step356, decreases the speed of the motor by a third value (e.g., about 3 Hz per minute) and continues to step348. If not, the controller75proceeds to step348. At step348, the controller75determines if the speed has been reduced (i.e., if the controller75performed steps346,352, or356). If so, the controller75, at step358, determines if the power module temperature is less than a fifth value (e.g., about 95 degrees Celsius). If the power module temperature is less than the fifth value, then the controller75increases the speed of the motor by a fourth value (e.g., about 1.5 Hz per minute) until the motor's original speed is reached (step360) and a warning message “TPM: Speed Reduced” is displayed (step362). If the power module temperature is greater than the fifth value, the controller75proceeds straight to step362. From step362, the controller75reverts back to step338, and repeats the above process. If, at step348, the controller75determines that the speed has not been reduced (i.e., the controller75did not performed steps346,352, or356), then the “TPM: Speed Reduced” warning message is cleared (step364), the controller75reverts back to step338, and the above operation is repeated. In some embodiments, the power module being monitored can be the drive10itself or various components of the drive10(e.g., a heat sink of the controller75, the motor11, or the pump12).

FIG.31illustrates an overcurrent prevention operation of the controller75. When the drive10is running (step366), the controller75determines, at step368, if the drive current is being limited (e.g., because it is above the reference service factor amps parameter298inFIG.23). If so, a warning message “TPM: Service Amps” is displayed (step370) and the Warning LED70is illuminated (step372). The controller75then reverts back to step366where the operation is repeated. If the drive current is not being limited, the “TPM: Service Amps” warning message and the Warning LED70are cleared (step374).

FIG.32illustrates a jam prevention operation of the controller75. When the motor is triggered to start (step376), the controller75determines, at step378, if a startup sequence is completed. If so, a timer and a counter are reset (step380), any warning messages are cleared (step382), and the motor is operating (step384). If the startup sequence is not completed at step378, then the controller75proceeds to step386to check if current limitation is active. If not, the timer and the counter can be reset (step388), and the controller75can proceed back to step376. If the controller75detects that current limitation is active at step386, then the timer is incremented (step390). If the timer has not reached five seconds, at step392, the controller75reverts back to step376. However, if the timer has reached five seconds, at step392, the controller75proceeds to step396. The controller75sets a jam warning (step396) and increments the counter (step398). If the counter is greater than five, at step400, the controller75executes a jam fault operation (step402). If the counter is not greater than five, the controller75determines if it is controlling a two-wire motor (step404). If yes, the controller75pulses the motor about three times (step406), then proceeds back to step376. If the motor is not a two-wire (e.g., if the motor is a three-wire motor), the controller75executes a series of three forward-reverse cycles (step408), then proceeds back to step376.

FIG.33illustrates a line or pipe break fault operation of the controller75. During PID control (step410), the controller75determines if a pipe break parameter (e.g., pipe break detection parameter314fromFIG.25) is enabled (step412). The controller75continues back to step410until the parameter is enabled. If the controller75determines that the parameter is enabled at step412, a timer is incremented (step414), and the controller75determines if the pump is in sleep mode (step416). If the pump is in sleep mode, the timer is reset (step418) and the controller75reverts back to step410. If the pump is not in sleep mode, the controller75, at step420, determines if the timer has been incremented above a certain number of days (e.g., as set by the number of days without sleep parameter316). If the timer has not exceeded the set number of days, then the controller75proceeds back to step410. If the timer has exceeded the set number of days, the motor is coasted to a stop and a “possible pipe break” fault message is displayed (step422), causing the drive10to be stopped (step424).

FIG.34illustrates a dry run detection operation of the controller75. During PID control (step426), the controller75determines, at step428, if the frequency output to the motor is greater than a frequency preset value (e.g., about 30 Hz). If so, a timer is reset (step430) and the controller75reverts back to step426. If the frequency is under the frequency preset value, the controller75then determines, at step432, if the pressure is greater than a pressure preset value (e.g., about 10 PSI). If so, the timer is reset (step430) and the controller75reverts back to step426. If the pressure is under 10 PSI, the timer is incremented (step434) and the controller75determines if the timer has reached 15 seconds (step436). If not, the controller75reverts back to step426. However, if the timer has reached 15 seconds, the controller75determines that a dry run has occurred and executes a dry run fault operation (step438). The preset value in step428can be checked to ensure the motor11is operating at a normal operating frequency (e.g., above 30 Hz).

FIG.35illustrates a dry run fault operation of the controller75. The controller75can proceed to step440if step438ofFIG.34was reached. From step440, the controller75can check if a reset counter value is less than a set value (e.g., the value set under the number of resets parameter320ofFIG.26) at step442. If the reset counter is not less than the set value, the controller75can update a fault log (step444), coast the motor to a stop and display a “Dry Run” fault message (step446), so that the drive10is stopped (step448). If, at step442, the reset counter is less than the set value, the reset counter is incremented (step450) and the fault log is updated (step452). The controller75can then coast the motor to a stop and display a “Dry Run—Auto Restart Pending” fault message (step454), then start a fault timer (step456), and continuously check if the user has pressed the fault reset button64(step458) or if a timer has exceeded a time value (step460). The time value can be the auto reset delay parameter318(shown inFIG.26) set by the user. If the user presses the fault reset button64, the controller75will proceed from step458to step462and clear the fault message displayed, then stop the drive10(step448). If the timer exceeds the time value, the controller75will proceed from step460to step464and clear the fault message displayed, then restart the drive10in PID mode (step466).

FIG.36illustrates a jam fault operation of the controller75. When a jam has been detected (step468), the fault log is updated (step470). After step470, the motor is coasted to a stop and a “Foreign Object Jam” fault message is displayed (step472), then the drive10is stopped (step474).

FIG.37illustrates an overtemperature fault operation of the controller75. When the drive10is powered (step476), the controller75determines if the power module temperature is too high (step478), for example, using the overheat prevention operation inFIG.30. If the power module temperature is not too high, the fault is cleared (step480) and the controller75reverts back to step476. If the power module temperature is too high, the fault log is updated (step482), the motor is coasted to a stop and a “Drive Temp-Auto Restart Pending” fault message is displayed (step484), and a fault timer is incremented (step486). The controller75then continuously determines if the user has pressed the fault reset button64(step488) until the timer has been incremented past a value (step490). If the user has pressed the fault reset button64or if the timer has incremented past the value, the controller75proceeds from step488or step490, respectively, to step492to check if the fault condition is still present. If the fault condition is still present, the controller75reverts back to step486. If the fault condition is not present, the controller75clears the fault (step480) and reverts back to step476.

The motor11and pump12combination can satisfy typical performance requirements as specified by the pump manufacturer while maintaining current under service factor amps as specified for the motor11. Performance can match that of a typical capacitor start/capacitor run control box for each motor HP offering. If the motor11performs outside of such specifications, the controller75can generate a fault and stop the motor11. For example,FIG.38illustrates an overcurrent fault operation of the controller75. When the drive10is powered (step494), the controller75determines if there is a high current spike (step496), for example, using the overcurrent prevention operation ofFIG.31. If there is no high current spike, the fault is cleared (step498) and the controller75reverts back to step494. If there a high current spike, the fault log is updated (step500), the motor is coasted to a stop and a “Motor High Amps-Auto Restart Pending” fault message is displayed (step502), and a fault timer is incremented (step504). The controller75then continuously determines if the user has pressed the fault reset button64(step506) until the timer has been incremented past a value (step508). If the user has pressed the fault reset button64or if the timer has incremented past the value, the controller75proceeds from step506or step508, respectively, to step510to check if the fault condition is still present. If the fault condition is still present, the controller75reverts back to step504. If the fault condition is not present, the controller75clears the fault (step498) and reverts back to step494.

FIG.39illustrates an overvoltage fault operation of the controller75. When the drive10is powered (step512), the controller75determines if a maximum bus voltage has been exceeded (step514). If the bus voltage has not exceeded the maximum value, the fault is cleared (step516) and the controller75reverts back to step512. If the bus voltage has exceeded the maximum value, the fault log is updated (step518), the motor is coasted to a stop and an “Over Voltage-Auto Restart Pending” fault message is displayed (step520), and a fault timer is incremented (step522). The controller75then continuously determines if the user has pressed the fault reset button64(step524) until the timer has been incremented past a value (step526). If the user has pressed the fault reset button64or if the timer has incremented past the value, the controller75proceeds from step524or step526, respectively, to step528to check if the fault condition is still present. If the fault condition is still present, the controller75reverts back to step522. If the fault condition is not present, the controller75clears the fault (step516) and reverts back to step512.

FIG.40illustrates an internal fault operation of the controller75. When the drive10is powered (step530), the controller75determines if any internal voltages are out of range (step532). If the internal voltages are not out of range, the fault is cleared (step534) and the controller75reverts back to step530. If the internal voltages are out of range, the fault log is updated (step536), the motor is coasted to a stop and an “Internal Fault-Auto Restart Pending” fault message is displayed (step538), and a fault timer is incremented (step540). The controller75then continuously determines if the user has pressed the fault reset button64(step542) until the timer has been incremented past a value (step544). If the user has pressed the fault reset button64or if the timer has incremented past the value, the controller75proceeds from step542or step544, respectively, to step546to check if the fault condition is still present. If the fault condition is still present, the controller75reverts back to step540. If the fault condition is not present, the controller75clears the fault (step534) and reverts back to step530.

FIG.41illustrates a ground fault operation of the controller75. When the drive10is powered (step548), the controller75continuously determines if there is current flow between an earth, or ground, lead and any motor lead (step550). If so, the fault log is updated (step552), the motor is coasted to a stop and a “Ground Fault” fault message is displayed (step554), and the drive10is stopped (step556).

FIG.42illustrates an open transducer fault operation of the controller75. While in PID mode (step558), the controller75determines if a current measured at the transducer input is less than a value, such as 2 milliamps (step560). If the current is not less than the value, the controller75reverts back to step558. If the current is less than the value, the fault log is updated (step562), the motor is coasted to a stop and an “Open Transducer-Auto Restart Pending” fault message is displayed (step564), and a fault timer is incremented (step566). The controller75then continuously determines if the user has pressed the fault reset button64(step568) until the timer has been incremented past a value (step570). If the user has pressed the fault reset button64or if the timer has incremented past the value, the controller75proceeds from step568or step570, respectively, to step572to check if the fault condition is still present. If the fault condition is still present, the controller75reverts back to step566. If the fault condition is not present, the controller75reverts back to step558.

FIG.43illustrates a shorted transducer fault operation of the controller75. While in PID mode (step574), the controller75determines if a current measured at the transducer input is greater than a value, such as 25 milliamps (step576). If the current is not greater than the value, the controller75reverts back to step574. If the current is greater than the value, the fault log is updated (step578), the motor is coasted to a stop and a “Shorted Transducer-Auto Restart Pending” fault message is displayed (step580), and a fault timer is incremented (step582). The controller75then continuously determines if the user has pressed the fault reset button64(step586) until the timer has been incremented past a value (step588). If the user has pressed the fault reset button64or if the timer has incremented past the value, the controller75proceeds from step586or step588, respectively, to step590to check if the fault condition is still present. If the fault condition is still present, the controller75reverts back to step582. If the fault condition is not present, the controller75reverts back to step574.

FIGS.44A-44Billustrate a multiple faults operation of the controller75. Referring toFIG.44A, when the drive10is powered (step592), the controller75continuously determines if a fault has occurred (step594). If a fault has a occurred, a counter is incremented (step596) and the controller75determines if the counter has reached a value, such as ten (step598). If the counter has reached the value, the motor is coasted to a stop and a “Multiple Faults” fault message is displayed (step600), and the drive10is stopped (step602). The steps ofFIG.44Bserve to provide a time frame for which the counter can reach the value. When the drive10is powered (step592), the controller75continuously determines if the counter (i.e., the counter in step596ofFIG.44A) has been incremented (step604). If so, a timer is incremented (step606). The controller75continues to increment the timer as long as the counter is above zero until the timer reaches a value, such as thirty minutes (step608). Once the timer has reached the value, the counter is decremented and the timer is reset (step610).

FIG.45illustrates an undervoltage fault operation of the controller75. When the drive10is powered (step612), the controller75determines if the bus voltage is below a minimum value (step614). If the bus voltage is not below the minimum value, the fault is cleared (step616) and the controller75reverts back to step612. If the bus voltage is below the minimum value, the fault log is updated (step618), the motor is coasted to a stop and an “Under Voltage-Auto Restart Pending” fault message is displayed (step620), the fault log is saved in memory, such as the device's electrically erasable programmable read-only memory, or EEPROM (step622) and a fault timer is incremented (step624). The controller75then continuously determines if the user has pressed the fault reset button64(step626) until the timer has been incremented past a value (step628). If the user has pressed the fault reset button64or if the timer has incremented past the value, the controller75proceeds from step626or step628, respectively, to step630to check if the fault condition is still present. If the fault condition is still present, the controller75reverts back to step624. If the fault condition is not present, the controller75clears the fault (step616) and reverts back to step612.

FIG.46illustrates a hardware fault operation of the controller75. When the controller75recognizes a hardware error (step632), the fault log is updated (step634). After step634, the motor is coasted to a stop and a “Hardware Error” fault message is displayed (step636), then the drive10is stopped (step638).

FIG.47illustrates an external fault operation of the controller75. When the drive10is powered (step640), the controller75continuously determines if an external fault parameter is present, for example, from a relay input at the input power terminal block28or the digital input/output (I/O) spring terminals30(step642). If so, the controller75determines if a digital input is high (step644). If the digital input is not high, the controller75determines if the external fault is active (step646). If the external fault is not active, the controller75reverts back to step640. If the external fault is active, the controller75clears an “external fault” fault message (if it is being displayed) at step648and the device's previous state and operation are restored (step650). If, at step644, the digital input is high, the fault log is updated (step652) and the device's current state and operation are saved (step654). Following step654, the motor is coasted to a stop and a “External Fault” fault message is displayed (step656), then the drive10is stopped (step658).

FIGS.48-63are flow charts describing control operations for the control pad14according to some embodiments of the invention.FIG.48illustrates a pump-out button control operation, according to some embodiments. When the pump-out button40is pressed (step660), the controller75first determines if the control pad14is locked, or in the password protection mode (step662). If so, the controller75executes a keys locked error operation (step664). If not, a valve screen666is displayed (step668) asking the user if a valve is open. Once the user chooses if the valve is open or not and presses enter, a valve parameter value is changed (step670). The controller75then determines, at step672, if the valve parameter value is yes (i.e., if the valve is open). If the valve parameter is not yes (i.e., if the user selected that the valve was not open), a stopped screen is displayed (step674), indicating that the pump12is stopped. If the valve parameter is yes, the controller75sets LED indicators66on or off accordingly (step676), displays a status screen678(step680), and runs the pump out operation to drive the motor11in the pump out mode (step682). The status screen678can include information about the pump12, such as motor frequency, pressure, and motor current during the pump out mode.

FIG.49illustrates a pressure preset button control operation, according to some embodiments. When the pressure preset button42is pressed (step684), the controller75first determines if the control pad14is locked (step686). If so, the controller75executes a keys locked error operation (step688). If the control pad14is not locked, the controller75sets the LED indicators66on or off accordingly (step690) and a preset pressure parameter is displayed (step692). The user can adjust the displayed pressure parameter using the keypad and hit enter to change the value of the preset pressure parameter, changing the pressure set point for the controller75(step694).

FIG.50illustrates a main menu button control operation, according to some embodiments. When the main menu button44is pressed (step696), the controller75first determines if the control pad14is locked (step698). If so, the controller75executes a keys locked error operation (step700). If the control pad14is not locked, the controller75sets the LED indicators66on or off accordingly (step702) and the main menu, as described with respect toFIG.16, is displayed (step704).

FIG.51illustrates a fault log button control operation, according to some embodiments. When the fault log button46is pressed (step706), the controller75sets the LED indicators66on or off accordingly (step708) and the fault log is displayed, detailing fault history information to the user (step710).

FIG.52illustrates an enter button control operation, according to some embodiments. When the enter button56is pressed (step712), the controller75first determines if the fault log is active (e.g., being displayed) at step714or if the stopped status screen is being displayed (step716). If either step714or step716is true, the controller75executes an invalid key error operation (step718). If neither the fault log or stopped status screen are being displayed, the controller75determines if the control pad14is locked (step720). If so, the controller75executes a keys locked error operation (step722). If the control pad14is not locked, the controller75determines if the display currently selecting a menu option or a parameter (step724). If the display is currently selecting a menu option, the controller75will enter the selected menu (step726). If the display is currently selecting a parameter option, the controller75determines if the parameter is highlighted (step728). If the parameter is highlighted, the controller75saves the value of the selected parameter and cancels the highlighting of the parameter (step730). If, at step728, the parameter is not highlighted, the controller75determines if the parameter can be changed with the motor is running and the drive10is stopped (step732). If not, a running error operation is executed (step734). If the parameter may be changed, then the selected parameter is highlighted (step736).

FIG.53illustrates a back button control operation, according to some embodiments. When the back button54is pressed (step738), the controller75determines if a status screen is being displayed (step740). If so, an invalid key error operation is executed (step742). If a status screen is not being displayed, the controller75determines if a line in the display is highlighted (step744). If so, the new value on the highlighted line is cancelled and the highlighting is cancelled as well (step746). If, at step744, there is no highlighted line, the parent, or previous, menu is displayed (step748).

FIG.54illustrates an up/down button control operation, according to some embodiments. When either the up or down directional button52is pressed (step750), the controller75determines if a line in the display is highlighted (step752). If so, the controller75then determines if the auto line fill operation is being executed (step754). If so, the controller75proceeds to the manual line fill operation (step756), as described with reference toFIG.9, then scrolls to another value in the display (step758). If the controller75determines that the auto line fill operation is not being executed at step754, the controller75proceeds to step758and scrolls to another value in the display. If, at step752, the controller75determines that no line is highlighted, the controller75then determines if a menu in the display can be scrolled (step760). If so, the menu is scrolled (step762). If not, an invalid key error operation is executed (step764).

FIG.55illustrates a left/right button control operation, according to some embodiments. When either the left or right directional button52is pressed (step766), the controller75determines if a line in the display is highlighted (step768). If not, an invalid key error operation is executed (step770). If, at step768, the controller75determines that the line is highlighted, the controller75then determines if a curser in the display can be moved (step772). If so, the curser is moved (step774). If not, an invalid key error operation is executed (step776).

FIG.56illustrates a password button control operation, according to some embodiments. When the password button48is pressed (step778), the controller75first determines if the control pad14is locked (step780). If not, a status screen is displayed (step782). If the control pad14is locked, the controller75sets the LED indicators66on or off accordingly (step784) and executes a keys locked error operation (step786). If a user then enters a password (step788), the controller75determines if the password is correct (step790). If the password is correct, any lockable keys are unlocked (step792) and the status screen is displayed (step794). If the password is incorrect, an invalid password error operation is executed (step796), then the status screen is displayed (step794). In some embodiments, the lockable keys can include the directional buttons52, the language button50, the pump-out button40, the pressure preset button42, and/or the main menu button44.

FIG.57illustrates a language button control operation, according to some embodiments. When the language button50is pressed (step796), the controller75first determines if the control pad14is locked (step798). If so, the controller75executes a keys locked error operation (step800). If the control pad14is not locked, the controller75sets the LED indicators66on or off accordingly (step802) and a language parameter is displayed (step804). The user can change the displayed language using the keypad and hit enter to update the language parameter (step806).

FIG.58illustrates a status button control operation, according to some embodiments. When the status button58is pressed (step808), the controller75sets the LED indicators66on or off accordingly (step810) and determines if a current status screen is being displayed (step812). If not, the current status screen814or816is displayed (step818). If the controller75, at step812, determines that the current status screen is being displayed, the currents status screen is cleared and a power status screen820or822is displayed (step824).

FIG.59illustrates a stop button control operation, according to some embodiments. When the stop button60is pressed (step826), the controller75sets the LED indicators66on or off accordingly (step828) and a stopped status screen830is displayed (step832). The controller75then stops the drive10(step834), as described with reference toFIG.10.

FIG.60illustrates an automatic start button control operation, according to some embodiments. When the automatic start button62is pressed (step836), the controller75sets the LED indicators66on or off accordingly (step838) and a status screen840is displayed (step842). The controller75then runs the automatic line fill operation (step844), as described with reference toFIG.8.

FIG.61illustrates a fault reset button control operation, according to some embodiments. When the fault reset button64is pressed (step846), the controller75determines if there is an active fault (step848). If not, the controller75executes an invalid key error operation (step850). If there is an active fault, the controller75determines if the fault condition is still present (step852). If so, the controller75stops the drive10(step854), as described with reference toFIG.10. If not, the controller75first clears the fault (step856), then stops the drive10(step854).

FIGS.62A-62Dillustrate LED indicator control operations, according to some embodiments. As shown inFIG.62A, if a fault is active and a restart is pending (step856), the Fault LED72blinks (step858), and a “Restart Pending” message is displayed (step860). As shown inFIG.62B, if a fault is active and the drive10is stopped (step862), the Fault LED72blinks (step864), and a “Drive Stopped” message is displayed (step866). As shown inFIG.62C, if a TPM is active and the drive10is still running (step868), the Warning LED70is lit (step870), and a message is displayed describing the warning (step872). As shown inFIG.62D, when the drive10is powered up (step874), the ON LED68is lit (step876).

FIGS.63A-63Dillustrate error display control operations, according to some embodiments. As shown inFIG.63A, for the invalid key error operation (step878), a “Key Error! Invalid Key!” error screen can be displayed (step880). The controller75can display the error screen for a time period, such as 0.9 seconds (step882), then return the display to the previous screen (step884). As shown inFIG.63B, for the keys locked error operation (step886), an “Error! Press Password Key” error screen can be displayed (step888). The controller75can display the error screen for a time period, such as 0.9 seconds (step890), then return the display to the previous screen (step892). As shown inFIG.63C, for the invalid password error operation (step894), an “Error! Invalid Password!” error screen can be displayed (step896). The controller75can display the error screen for a time period, such as 0.9 seconds (step898), then return the display to the previous screen (step900). As shown inFIG.63D, for the running error operation (step902), an “Error! Stop before editing” error screen can be displayed (step904). The controller75can display the error screen for a time period, such as 0.9 seconds (step906), then return the display to the previous screen (step908).

It will be appreciated by those skilled in the art that while the invention has been described above in connection with particular embodiments and examples, the invention is not necessarily so limited, and that numerous other embodiments, examples, uses, modifications and departures from the embodiments, examples and uses are intended to be encompassed by the claims attached hereto. The entire disclosure of each patent and publication cited herein is incorporated by reference, as if each such patent or publication were individually incorporated by reference herein. Various features and advantages of the invention are set forth in the following claims.