External motor drive system for window covering system with continuous cord loop

A motor drive system for operating a mechanism for raising and lowering window coverings includes a motor operating under electrical power and an electrically powered drive system. The motor drive system advances a continuous cord loop in response to positional commands from a controller. An input-output device includes a capacitive touch strip that receives user inputs along an input axis, and an LEDs strip aligned with the input axis. A group mode module communicates the positional commands to other motor drive systems within an identified group to operate respective other mechanisms of the other motor drive systems. A set control module enables user calibration of a top position and a bottom position of travel of the window covering. The input-output device extends vertically on the exterior of a housing for the motor drive system, and the housing supports input buttons of the group mode module and the set control module.

TECHNICAL FIELD

The present disclosure relates to a system for spreading and retracting window coverings that use continuous cord loops, and more particularly to an external motor drive device for a system for spreading and retracting window coverings.

BACKGROUND

Window covering systems for spreading and retracting coverings for architectural openings such as windows, archways and the like are commonplace. Systems for spreading and retracting such window coverings may operate for example by raising and lowering the coverings, or by laterally opening and closing the coverings. (Herein the terms spreading and retracting, opening and closing, and raising and lowering window coverings are all used, depending on context). Such window covering systems typically include a headrail or cassette, in which the working components for the covering are primarily confined. In some versions, the window covering system includes a bottom rail extending parallel to the headrail, and some form of shade material which might be fabric or shade or blind material, interconnecting the headrail and bottom rail. The shade or blind material is movable with the bottom rail between spread and retracted positions relative to the headrail. For example, as the bottom rail is lowered or raised relative to the headrail, the fabric or other material is spread away from the headrail or retracted toward the headrail so it can be accumulated either adjacent to or within the headrail. Such mechanisms can include various control devices, such as pull cords that hang from one or both ends of the headrail. The pull cord may hang linearly, or in the type of window covering systems addressed by the present invention, the pull cord may assume the form of a closed loop of flexible material such as a rope, cord, or beaded chain, herein referred to as a continuous cord loop, or alternatively as chain/cords.

In some instances, window covering systems have incorporated a motor that actuates the mechanism for spreading and retracting the blind or shade material, and controlling electronics. Most commonly, the motor and controlling electronics has been mounted within the headrail of the window blinds, or inside the tubes (sometimes called tubular motors), avoiding the need for pull cords such as a continuous cord loop. Using such motor-operated systems or devices, the shade or blind material can be spread or retracted by user actuation or by automated operation e.g., triggered by a switch or photocell. Such window covering systems in which the motor and controlling electronics has been mounted within the headrail are sometimes herein called an “internal motor”, “internal motor device” or “internal motor system”.

The drive system of the present invention incorporates a motor and controlling electronics mounted externally to the mechanism for spreading and retracting the blind or shade material. Such drive system is herein called an “external motor”, “external motor device” or “external motor system”, and alternatively is sometimes called an “external actuator”. External motor systems are typically mounted externally on the window frame or wall and engage the cords or chains (continuous cord loop) of window coverings in order to automate opening and closing the blind.

In both internal motor systems and external motor systems (herein sometimes called collectively, motorized systems), automated drive systems incorporate controlling electronics to control operation. Commonly, motorized systems have been controlled through user control mechanisms that incorporate an RF (radio frequency) controller or other remote controller for wireless communication with a drive system associated with the motor. Such remote user control systems have taken various forms such as a handheld remote control device, a wall-mounted controller/switch, a smart-home hub, a building automation system, and a smart phone, among others. The use of such remote control devices is particularly germane to internal motor systems in which it is difficult or impossible to integrate user control devices within the internally mounted drive system.

In the external motor drive system of the present disclosure, since the external actuator is separated from the headrail or other window coverings mechanism, this opens up new possibilities for integrating user controls in the external actuator itself. These integrated control features are herein sometimes called “on-device control”. On-device control of external motor systems offers various advantages, such as simplicity of operation, and convenience in accessing the control device and in executing control functions. Such on-device control of external motor systems can be integrated with automated control systems through appropriate sensors, distributed intelligence, and network communications.

Automated control over window covering systems can provide various useful control functions. Examples of such automated window control functions include calibrating the opening and closing of blinds to meet the preferences of users, and controlling multiple blinds in a coordinated or centralized fashion. There is a need effectively to integrate various automated window control functions in on-device control for external actuators.

SUMMARY

The embodiments described herein include a motor drive system for operating a mechanism for raising and lowering window coverings. The motor drive system includes a motor operating under electrical power and a drive assembly. The motor drive system advances a continuous cord loop in response to positional commands from a controller. An input-output device for the controller includes an input interface that receives user inputs along an input axis, and a visual display aligned with the input axis of the input interface. In an embodiment, the input-output device includes a capacitive touch strip that receives user inputs along an input axis, and an LEDs strip aligned with the input axis.

In an embodiment, the input-output device extends vertically on the exterior of a housing for the motor drive system, and the housing supports input buttons. In an embodiment, buttons on the housing include a group mode module and a set control module. In another embodiment, the housing supports an R/F communication button.

In an embodiment, a group mode module communicates the positional commands to other motor drive systems within an identified group to operate respective other mechanisms of the other motor drive systems. In an embodiment, the group mode module causes an RF communication module to communicate the positional commands to other motor drive systems. In an embodiment, the other motor drive systems within the identified group operate the respective other mechanisms in accordance with a calibration of a respective top position and a respective bottom position for each of the other motor drive systems.

In an embodiment, a set control module enables user calibration of a top position and a bottom position of travel of the window covering. In an embodiment, during calibration the user moves the window covering respectively to the top position and the bottom position with the input interface, and presses a set button to set these positions.

In an embodiment, the drive assembly comprises a driven wheel configured for engaging and advancing the continuous cord loop coupled to the mechanism for raising and lowering the window covering, and an electrically powered coupling mechanism coupling the driven wheel to the output shaft of the motor and configured for rotating the driven wheel in first and second senses. Rotation of the driven wheel in a first sense advances the continuous cord loop in the first direction, and rotation of the driven wheel in a second sense advances the continuous cord loop in the second direction. The controller provides the positional commands to the motor and the electrically powered coupling mechanism to control the rotation of the driven wheel in the first and second senses.

In an embodiment, a motor drive system comprises a motor configured to operate under electrical power to rotate an output shaft of the motor, wherein the motor is external to a mechanism for raising and lowering a window covering; a drive assembly configured for engaging and advancing a continuous cord loop coupled to the mechanism for raising and lowering the window covering, wherein advancing the continuous cord loop in a first direction raises the window covering, and advancing the continuous cord loop in a second direction lowers the window covering; a controller for providing positional commands to the motor and the drive assembly to control the advancing the continuous cord loop in the first direction and the advancing the continuous cord loop in the second direction; and an input-output device for the controller, including an input interface that receives user inputs along an input axis to cause the controller to provide the positional commands to the motor and the drive assembly, and further including a visual display aligned with the input axis of the input interface.

In an embodiment, a motor drive system, comprises a first motor configured to operate under electrical power to rotate an output shaft of the motor, wherein the first motor is external to a first mechanism for raising and lowering a window covering; a drive system configured for engaging and advancing a continuous cord loop coupled to the first mechanism for raising and lowering the window covering, wherein advancing the continuous cord loop in a first direction raises the window covering, and advancing the continuous cord loop in a second direction lowers the window covering; a controller for providing positional commands to the first motor and the first electrically powered drive system to control the advancing the continuous cord loop in the first direction and the advancing the continuous cord loop in the second direction; an RF communication module operatively coupled to the controller for controlling RF communication of the positional commands to a network of other motor drive systems for operating respective other mechanisms for raising and lowering respective other window coverings; and a group mode module, for identifying one or more of the other motor drive systems included in a user-selected group, and for causing the RF communication module to communicate the positional commands to the identified one or more of the other motor drive

In an embodiment, a motor drive system comprises a motor configured to operate under electrical power to rotate an output shaft of the motor, wherein the motor is external to a mechanism for raising and lowering a window covering; a drive assembly configured for engaging and advancing a continuous cord loop coupled to the mechanism for raising and lowering the window covering, wherein advancing the continuous cord loop in a first direction raises the window covering, and advancing the continuous cord loop in a second direction lowers the window covering; a controller for providing positional commands to the motor and the drive assembly to control the advancing the continuous cord loop in the first direction and the advancing the continuous cord loop in the second direction to control the raising and lowering the window covering; and a set control module for user calibration of a top position and a bottom position of the window covering, wherein following the user calibration the controller limits the raising and lowering the window covering between the top position and the bottom position.

Additional features and advantages of an embodiment will be set forth in the description which follows, and in part will be apparent from the description. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the exemplary embodiments in the written description and claims hereof as well as the appended drawings.

DETAILED DESCRIPTION

The present disclosure is here described in detail with reference to embodiments illustrated in the drawings, which form a part here. Other embodiments may be used and/or other changes may be made without departing from the spirit or scope of the present disclosure. The illustrative embodiments described in the detailed description are not meant to be limiting of the subject matter presented here. Furthermore, the various components and embodiments described herein may be combined to form additional embodiments not expressly described, without departing from the spirit or scope of the invention.

The present disclosure describes various embodiments of an external motor device with on-device control, for controlling the operation of a window covering system. As used in the present disclosure, a “window covering system” is a system for spreading and retracting or raising and lowering a window covering. In an embodiment as shown at200inFIG. 5, the window covering system includes a headrail202, and a mechanism (not shown) associated with the headrail (i.e., a mechanism within the headrail or adjacent the headrail) for spreading and retracting a window covering. In this embodiment, the window covering system200includes a continuous cord loop220extending below the headrail for actuating the mechanism associated with the headrail, to spread and retract the window covering. As used in the present disclosure, “headrail” is a broad term for a structure of a window covering system including a mechanism for spreading and retracting the window covering. The window covering system further includes an external motor210. Continuous cord loop220operatively couples the window covering mechanism associated with headrail202to the external motor210to raise and lower a window shade (fabric, or blind)204. As seen inFIG. 6, external motor210is mounted to the wall206adjacent to the window, which is covered by shade204in this view. For example, external actuator may be mounted to wall206using hardware such as bolts214, or using a mounting fixture such as bracket194inFIG. 2.

In the present disclosure, “window covering” includes any covering material that may be spread and retracted to cover a window or other architectural opening using a continuous cord loop system (i.e., system with a mechanism for spreading and retracting the window covering using a continuous cord loop). Such windows coverings include most shades and blinds as well as other covering materials, such as: roller shades; honeycomb shades; horizontal sheer shades, pleated shades, woven wood shades, Roman shades, Venetian blinds, Pirouette® shades (Pirouette is a trademark of Hunter Douglas N.V., Rotterdam, Germany), and certain systems for opening and closing curtains and drapery. Window covering embodiments described herein refer to blind or blinds, it being understood that these embodiments are illustrative of other forms of window coverings.

As used in the present disclosure, a “continuous cord loop” is an endless loop of flexible material, such as a rope, cord, beaded chain and ball chain. Continuous cord loops in the form of loops of cord are available in various types and ranges of diameter including for example D-30 (1⅛″-1¼″), C-30 (1 3/16″-1 7/16″), D-40 (1 3/16″-1 7/16″), and K-35 (1¼″-1½″). Additionally, various types of beaded chain and ball chain are commonly used as continuous cord loops for window covering systems. A typical ball chain diameter is 5 mm (0.2 inch). In a common window covering system design, the continuous cord loop includes a first loop end at the headrail engaging a mechanism associated with the headrail for spreading and retracting the window covering, and includes a second loop end remote from the headrail. Continuous cord loops come in different cord loop lengths, i.e., the length between the first loop end and the second loop end, sometimes rounded off to the nearest foot. In one embodiment, e.g., in a roller blinds system, the continuous cord loop extends between the headrail and the second loop end, but does not extend across the headrail. In this embodiment, the first loop end may wrap around a clutch that is part of the mechanism spreading and retracting the blind. In another embodiment, e.g., in a vertical blinds system, a segment of the continuous cord loop extends across the headrail. In an embodiment, the continuous cord loop extends below the headrail in a substantially vertical orientation. When retrofitting the present external motor device to control a previously installed window coverings system, the continuous cord loop may be part of the previously installed window coverings mechanism. Alternatively, the user can retrofit a continuous cord loop to a previously installed window coverings mechanism.

The continuous cord loop system may spread and retract the window covering by raising and lowering, laterally opening and closing, or other movements that spread the window covering to cover the architectural opening and that retract the window covering to uncover the architectural opening. Embodiments described herein generally refer to raising and lowering blinds either under control of an external motor system or manually, it being understood that that these embodiments are illustrative of other motions for spreading and retracting window coverings. External actuator210incorporates a motor drive system and controlling electronics for automated movement of the continuous cord loop220in one of two directions to raise or lower the blind204. In one embodiment of window covering system200, the continuous cord loop220includes a rear cord/chain224and a front cord/chain222. In this embodiment, pulling down the front cord raises (retracts) the blind, and pulling down the rear cord lowers (spreads) the blind. As used in the present disclosure, to “advance” the continuous cord loop means to move the continuous cord loop in either direction (e.g., to pull down a front cord of a continuous cord loop or to pull down a back cord of a continuous cord loop). In an embodiment, the blind automatically stops and locks in position when the continuous cord loop is released. In an embodiment, when at the bottom of the blind, the rear cord of the continuous cord loop can be used to open any vanes in the blind, while the front cord can be used to close these vanes.

As seen in the isometric view ofFIG. 1, an external motor100generally corresponding to the external motor210ofFIGS. 5, 6may include a housing102that houses a motor, associated drive mechanisms, and control electronics. External actuator100includes various on-device controls for user inputs and outputs. For example, external actuator100may include a touch strip104(also called slider or LED strip). In the illustrated embodiment, touch strip104includes a one-axis input device and a one-axis visual display. External actuator100further includes various button inputs including power button106at the front of the housing, and a set of control buttons110at the top of the housing. In an embodiment, control buttons110include an R/F button112, a Set button114, and a Group button116. In an embodiment, buttons106,110are physical (moveable) buttons. The buttons may be recessed within housing102or may project above the surface of housing102. In lieu of or in addition to the touch strip and the physical buttons seen inFIG. 1, the input controls may include any suitable input mechanism capable of making an electrical contact closure in an electrical circuit, or breaking an electrical circuit, or changing the resistance or capacitance of an electrical circuit, or causing other state change of an electrical circuit or an electronic routine.

In various embodiments, alternative or additional input devices may be employed, such as various types of sensor (e.g., gesture sensor or other biometric sensor, accelerometer. light, temperature, touch, pressure, motion, proximity, presence, capacitive, and infrared sensors). Other user input mechanisms include touch screen buttons, holographic buttons, voice activated device, audio trigger, relay input trigger, or electronic communications trigger, among other possibilities, including combinations of these input mechanisms.FIG. 14shows an alternative external motor1000that includes input devices1004,1006,1012,1014, and1016generally corresponding to input devices of motor100. Additionally, the external motor1000includes a two-dimensional screen1008located on the front face of external motor1000above the LED strip1004and below the power button1006. Two-dimensional screen1008may be a touch screen, and may provide various input/output functions such as a virtual keypad, an alphanumeric display, and a graphical user interface, among others.

Referring again toFIG. 1, an input interface of external motor100may recognize various user input gestures in generating commands for opening or closing window coverings, and other system functions. These gestures include typing-style gestures such as touching, pressing, pushing, tapping, double tapping, and two-finger tapping; gestures for tracing a pattern such as swiping, waving, and hand motion control; as well as multi-touch gestures such as pinching specific spots on the capacitive touch strip104. In the cases of a two-dimensional user interface such as touch screen1008ofFIG. 14, additional user gestures may employed such as multi-touch rotation, and two dimensional pattern tracing.

The on-device controls of the present external motors incorporate a shade positional control input-output (I/O) device such as slider104. Slider104extends vertically on housing102along an input axis of the I/O device. The verticality of slider104naturally corresponds to physical attributes of shade positioning in mapping given inputs to shade control functions in a command generator, providing intuitive and user-friendly control functions. Examples of shade control I/O positional functionality via slider104include, among others:

(a) A gesture at a given slider position between the bottom and top of slider104corresponds to given absolute position (height) of the blind as measured by an encoder or other sensor;

(b) A gesture at a given position between the bottom and top of slider104corresponds to given relative position of the blind relative to a calibrated distance between a set bottom position and a set top position (e.g., a gesture at 25% from the bottom of slider104corresponds to a blind position 25% of the calibrated distance from the set bottom position to the set top position);

(c) Gestures at the top and bottom of the slider104can execute different shade control functions depending on the gesture. Pressing and holding the top of the slider104is a command for the blind to move continuously upward, while pressing and holding the bottom of the slider104is a command for the blind to move continuously downward. Tapping the top of the slider104is a command for the blind to move to its top position, while tapping the bottom of the slider104is a command for the blind to move to its bottom position.

(d) Upward and downward dynamic gestures (e.g., swiping) on slider104can be assigned different functions such as “up” and “down,” or “start” and “stop.”

Slider104provides a versatile input-output device that is well suited to various control functions of a window coverings motor drive system. Various shade control functions may be based on a one-axis quantitative scheme associated with the touch strip104, such as a percentage scale with 0% at the bottom of the touch strip and 100% at the top of the touch strip104. For example, the slider104can be used to set blind position at various openness levels, such as openness levels 0% open (or closed), 25% open, 50% open, 75% open or 100% (fully) open, via pre-set control options. A user can command these openness levels via slider104by swiping, tapping, or pressing various points on the slider. In addition, the slider command scheme can incorporate boundary positions for state changes. For example, a slider input below the one-quarter position of the slider can command the window covering to close from 25% open to 0% open.

Various functions of slider104may employ a combination of the one-axis input sensing and one-axis display features of the slider. For example, the LEDs strip140can illuminate certain positions along the touch strip104, with these illuminated positions corresponding to boundaries along the slider for state changes in a shade command structure.

Similar principles can be applied to other types of shade positional control input-output (I/O) device, such as a two-dimensional touch screen1008, gesture sensors, directional buttons, etc. For example, a two-dimensional input interface1008can include a one-axis control that receives user inputs along an input axis.

The mapping of given user gestures to given shade control commands, herein also called “positional commands,” can distinguish between commands applicable only to the local external motor100, versus commands applicable to multiple external motors. In an example, double tapping the top of a capacitive touch slider design commands the system to provide 100% openness for all windows coverings in a pre-set group of window blinds, rather than just the local blind. In another example, two-finger tapping commands the system to open all the window coverings connected within the network.

FIG. 2is an exploded view of the components of the external actuator100. Starting with the components at the front of the device at lower left, a front bezel130includes a power button glass plate that covers the power button106. A front lid glass plate134includes an aperture for the power button. Front lid136houses the power button106and serves as a transparent cover plate for the touch strip104. Visual display components of the one-axis strip104include LEDs strip (also called LEDs)140and diffuser138. The input sensor for one-axis strip104is a capacitive touch sensor strip142. These components serve as an input-output device for the external motor100, including an input interface that receives user inputs along an input axis, and a visual display aligned with the input axis. When fully assembled, the input-output device extends vertically on the exterior of the housing102.

Other input/output components include a connector for communications and/or power transfer such as a USB port146, and a speaker (audio output device)144. The LEDs and audio outputs of external motor100can be used by state machines of external motor100to provide visual and/or audio cues to signal an action to be taken or to acknowledge a state change. Visual cue parameters of the LEDs140include, for example: (a) different positions of LED indicators (blocks of LEDs) along slider104; (b) different RGB color values of LED lights; and (c) steady or flashing LED indicators (including different rates of flashing).

In examples of visual cues involving the group mode function. In an embodiment, the user can press Group Mode button116once to cause external motor devices in the network to light up their LEDs display, informing the user which devices will be controlled. When a user successfully presses the Group Mode116button to program external motor100to control multiple external motors in its network, the LEDs strip140of all external motors being controlled will change color from steady blue to steady green.

In examples of visual cues involving the Set function, when a user initiates the calibration procedure by pressing and holding the Set button, the LEDs strip140will change to red and blue to inform the user that the external motor100is in calibration mode. When the user successfully completes the calibration procedure, the LEDs strip140will flash green to indicate that the shade is now calibrated.

In a visual cue example involving setting position, when a user taps a finger at a particular position along the capacitive touch strip104, the LEDs strip140illuminates a block of LEDs at this last known position. This indicator informs the user of the position to which the shade will open or close.

In an example of audio cues, an audio alarm sounds to signal a safety issue. In a further example, the speaker144broadcasts directions to the user for a shade control function.

Motor drive components are housed between the main body150of housing102and a back lid170. The motor components include motor152(e.g., a 6V DC motor), and various components of a drive assembly. Components of the drive assembly include a worm gear154that is driven by the motor rotation and coupled to a multi-stage gear assembly160, and a clutch (not shown inFIG. 2). Gear assembly160includes helical gear162(first-stage gear), a first spur gear164(second-stage gear) rotatably mounted on sleeve bearings156, and a second spur gear166(third-stage gear). Printed circuit board148houses control electronics for the external motor device100.

Spur gear166is coupled via a clutch (not shown) to a sprocket184, also called driven wheel, mounted at the rear of back lid170. Continuous cord loop (chain)120is threaded onto sprocket184so that the motion of the drive components, if coupled to the driven wheel184by a clutch, advances the continuous cord loop120.

The drive assembly is configured for engaging and advancing the continuous cord loop coupled to a mechanism for raising and lowering the window covering. The drive assembly includes driven wheel184and a coupling mechanism (152,160, clutch) coupling the driven wheel184to the output shaft of the motor. The coupling mechanism is configured for rotating the driven wheel184in first and second senses. Rotation of the driven wheel in a first sense advances the continuous cord loop in the first direction, and rotation of the driven wheel in a second sense advances the continuous cord loop in the second direction.

Structural components at the back of external motor100includes a back lid cover178, sprocket cover190, back lid glass plate180, and sprocket lid glass plate188. These components are covered by back bezel192, which is coupled to a bracket194that serves as a mounting fixture for the external motor100.

FIG. 9is an elevation view of structural components and assembled working components from a motor drive subassembly500, as seen from one side. Front housing514and rear housing516envelop the drive train and other operational components of drive system500, but are here shown separated from these components. DC motor520, under power and control from printed circuit board532and battery pack528, has a rotating output shaft. Batteries528may for example be nickel-metal hydride (NiMH) batteries, or lithium-ion polymer (LiPo) batteries. Battery pack528can be located within the front housing514and rear housing516as shown, or can be external to these housings. A multi-stage gear assembly524includes a gear526in line with the motor output shaft, and a face gear528. The face gear528is coupled to driven wheel508by clutch system512. Clutch512is a coupling mechanism that includes an engaged configuration in which rotation of the output shaft of the motor520(as transmitted by the multi-stage gear assembly) causes rotation of the driven wheel508; and a disengaged configuration in which the driven wheel508is not rotated by the output shaft of the motor. In an embodiment, clutch512is an electrically operated device that transmits torque mechanically, such as an electromagnetic clutch or a solenoid. In another embodiment, clutch512is a two-way mechanical-only clutch that does not operate under electrical power.

Successive presses of the power button504toggle the drive assembly between engaged and disengaged configurations of the clutch system512. Power button504corresponds to power button106in the external actuator embodiment100ofFIGS. 1 and 2. In an embodiment, Power Button106turns on or off the device by engaging and disengaging the driven wheel or sprocket508respectively with the clutch system512. In another embodiment, pressing the Power Button106triggers power-on and power-off of the external actuator100.

In one embodiment utilizing a two-way mechanical-only clutch, when power button106is pressed in an ‘on’ position, the mechanical clutch will engage the driven wheel with the motor's output shaft and gear assembly. This is a tensioned position in which the mechanical clutch will not allow the driven wheel to be operated by manually pulling or tugging on the front chain/cords122or back chain/cords124. In this engaged configuration, when the external motor100receives a shade control command from the on-device controls or another device, it will energize the motor to turn the output shaft and gear, which in turn will turn the driven wheel. When the power button106is pressed in an ‘off’ position, the mechanical clutch will disengage the driven wheel from the output shaft and gear, allowing for manual operation of the front chain/cords122or back chain/cords124. In the disengaged configuration, if a shade control command is sent when the clutch is not engaged, the driven wheel will not turn.

In another embodiment, the clutch system is an electromagnetic clutch in which the driven wheel is always engaged with the output shaft and gear assembly. The electromagnetic clutch allows for manually operation of the front chain/cords222or back chain/cords224. This clutch does not lock the driven wheel to the output shaft and gears, but when electrically energised will engage the driven wheel and output shaft and gears. In a further embodiment, when external motor100is turned ‘on’ or engaged with the driven wheel via the Power Button106, the system will recognize user tugging on the front chain/cords or the back chain/cords. In one embodiment, when a user tugs on the front chain/cord122while the external motor is tensioned, the LEDs associated with the touch strip104will flash to notify the user that she can control the device with the capacitive touch strip instead.

In another embodiment, when the external motor is turned ‘on’ or engaged with the driven wheel via the Power Button106and a user tugs on the while the drive assembly is tensioned, external actuator100will recognize the user's action using sensors and/or encoders, and automatically lower or raise the blinds or take other action based on a command associated with the particular tugging action. The actions mentioned can include tugging on the front chain/cord122or the back chain/cord124.

In an embodiment, a sensor and/or encoder of external motor100measures the manual movement of the cords via a “tugging” or pulling action of the cord by a user. Mechanical coupling of the sprocket184to the gear assembly160includes a certain amount of slack, such that user's tugging on the continuous cord loop120will cause a certain amount of movement of the sprocket and this movement will be recognized by a sensor or encoder (e.g., encoder322,FIG. 7). Based upon the sensor or encoder output, a shade control command structure can include various shade control actions, and engage the motor to execute a given action. Tugging the cord while the external motor100is engaged and opening or closing the blind can send various commands, such as stopping the blind from opening/closing.

Examples of tug actions engaging the motor to execute shade control commands:

(a) Downward tugging sensed, engaging the DC motor in the same direction. For example, if the user tugs down the front chain/cords122, the motor would operate and lower the window shade;

(b) Downward tugging sensed, disengaging the DC motor. For example, if the user tugs down the back chain/cords124while the motor is raising or lowering the window shade, the motor will disengage and stop the shade at that position.

(c) Downward tugging sensed, engaging the DC motor in an opposite direction. For example, if the user tugs down the back chain/cords124, the motor will operating and raise the window shade.

Referring again toFIG. 1, The R/F button112is used to pair or sync the external motor to a mobile phone via radio-frequency chips (RF) including, but not limited to BLE (Bluetooth Low Energy), WIFI or other RF chips. The R/F button112can be used to pair or sync to third party devices such smart thermostats, HVAC systems, or other smart-home devices by means of forming a mesh network utilizing RF chips including various protocols. Protocols include but are not limited to BLE (Bluetooth Low Energy) mesh; ZigBee (e.g., ZigBee HA 1.2); Z-Wave, WiFi, and Thread.

FIG. 13is a flow chart diagram of a Grouping Mesh routine executed by an external motor in response to a grouping call received at902. For example, a grouping call may be triggered at806in the Group Mode routine ofFIG. 12. Upon receiving the grouping call, the external motor initiates BLE mesh mode, thereby communicating messages to other external motors in the group (BLE mesh) using a Bluetooth Low Energy protocol. For external motor networks that that use another protocol330(FIG. 7) for RF communications, such as ZigBee, Z-Wave, WiFi, or Thread, the grouping call routine would be modified at804to initiate communications with other external motors in the group based upon the applicable protocol.

The Set button114is used for calibrating or pre-setting the maximum opening and closed position of the blind. After the user mounts/installs the external motor100, the user can calibrate the device to manually set positions at which the blind is fully opened or fully closed. The user then presses the top portion of the capacitive touch slider104to raise the blinds all the way up. When the blind has reached the top position, the user again presses the Set button114to save the top position. The user then presses the bottom position of the capacitive touch slider control104to lower the blinds. When the blind has reached its bottom position, the user again presses the Set button to save the bottom position. The top and bottom positions set by a user can reflect preferences of the user and may vary from one external motor to another.

FIG. 10is a flow chart diagram of a Calibration routine executed by an external motor100. The calibration routine commences with a calibration command602, which can be effected by pressing and holding the Set button114of an external motor, or in some other way, e.g., input at a mobile device. At604the system passes control to the Shade Control state machine and to the Calibration state machine. The Shade Control state machine is discussed below with reference toFIG. 11. The Calibration state machine controls the command structure for LED indicators; calculates top and bottom positions selected by the user based on encoder pulse data; saves these top and bottom positions when confirmed by the user; and calculates distance between top and bottom positions to scale shade control commands to the calibrated positions. In these routines, the user can execute various motor control commands to move the blind to a desired top position. At606the system detects whether the user has selected and confirmed the top position by pressing the Set button. If so, the routine saves (calibrates) the top position at608. At610the system again passes control to the Shade Control state machine and to the Calibration state machine. At621the system detects whether the user has selected and confirmed the bottom position by pressing the Set button and, if so, saves (calibrates) the bottom position at614. Upon the user's final confirmation of calibration at614, the system exits the Calibration routine.

FIG. 11is a flow chart diagram of a Shade Control routine executed by an external motor100. At702the system receives a command to pass control to the Shade Control state machine. At704the system passes control to motor control routines. Motor control routines start and stop the motor; move the motor in a selected direction (up/down); move the motor to a selected position; and regulate the speed of the motor. Motor control routines are typically triggered by user commands, but can also be automated, e.g., upon sensing a condition affecting safety. At706, the system detects whether Group Mode is active for the external motor. If yes, the external motor's control system broadcasts708a shade control message to other motors in the group for execution. Shade control commands executed in response to the message708may vary among different external motors in a group. For example, shade control commands based on calibrated positions will vary depending on the top and bottom positions calibrated for each external motor. If the Group Mode is not active, the external motor exits the shade control routine at706; otherwise it exits the routine at708after broadcasting the shade control message.

In an alternative embodiment, instead of setting the top position followed by calibrating the bottom position, the calibration procedure sets the bottom position followed by setting the top position.

In another calibration embodiment, the user presses and holds the Set button114for a limited period of time to reverse the direction of motion. In this embodiment, if the user presses the top part of the capacitive touch slider control104with the intent to raise the blinds, but external motor100instead lowers the blind, the user can press and hold Set114within a specified timeframe to reverse this direction. The user then presses the top portion of the capacitive touch slider control104to completely raise the blinds, and then presses the Set button114to set the top position. The user will then press the bottom portion of the capacitive touch slider control104to lower the blinds, and then press the Set button114to set the bottom position.

In a further calibration embodiment, the user can press Set for auto-calibration, in which the external motor determines top and bottom positions via predetermined sensor measurements.

The Group button (also herein called Group Mode button)116adds multiple external motors100within a network into groups in order to control these external motors simultaneously. In one embodiment, Group Mode allow a user to control all external motors within the group from one external motor100. In an embodiment, to add additional external motors into a group, the user presses and holds the Group button116to enter pairing mode. The LED lights of touch strip104will flash orange to indicate the device is in pairing mode. In one embodiment, the user presses and holds, within a specified timeframe, the Group buttons of all external motors of the network she wants to add into the group. The LEDs color will turn from orange to green for all external motors that have been added to the group to indicate that pairing is successful. In another embodiment, the user can press the Group button116once to remove a device that is currently in the group, so that the Group button executes a toggle function to add or subtract the external motor from the group. In an embodiment, the user presses the Set button114to complete the pairing and linking of the external motors in the group.

To control a group of external motors that is linked or synced together, the user can activate group control by pressing the Group button116. In an embodiment, this changes the LEDs on the capacitive touch slider104to a different color. All external motors in this group will light or flash the same LED color to indicate that the external motors are now in group control mode. The user can then set the position of the blind by using the capacitive touch slider control104to control all linked devices.

FIG. 12is a flow chart diagram of a Group Mode routine executed by an external motor100. The group mode routine triggers shade control actions by other external motors within a group in response to a shade control command at the given external motor, once the user has set up the group. At802the routine commences upon pressing the Group button. Alternatively, the Group Mode routine may commence upon receipt of a Group Mode command from another device recognized by the external motor, such as a smartphone, smart hub, or third party device. At804the system determines whether the external motor has been calibrated. If the external motor has not been calibrated, the external motor's LED strip displays a flashing red error code. This notifies the user that the external motor must be calibrated before sharing shade control commands (positional commands) with other external motors in the group. If the external motor has been calibrated, the system allows all shade control commands to be broadcast to other external motors in the group on the network (e.g., BLE mesh). The system exits the Group Mode routine after flashing an error code, or after broadcasting the positional commands.

FIG. 7is a diagram of a motor drive control system300for continuous cord loop driven window covering systems. Control system300includes DC motor302, gear assembly304, and clutch306. DC motor302and clutch306are both electrically powered by motor controller308. Power sources include battery pack312. Users may recharge battery pack312via power circuit314using a charging port316, or a solar cell array318.

The central control element of control system300is microcontroller310, which monitors and controls power circuit314and motor controller308. Inputs to microcontroller310include motor encoder322and sensors324. In an embodiment, sensors324include one or more temperature sensor, light sensor, and motion sensor. In an embodiment, control system300regulates lighting, controls room temperature, and limits glare, and controls other window covering functions such as privacy.

In an embodiment, microcontroller310monitors current draw from the motor controller308, and uses this data to monitor various system conditions. For example, using current draw sensing, during calibration the control system300can lift relatively heavy blinds at a slower speed, and relatively lighter blinds at a faster speed. In another embodiment, microprocessor310monitors the current draw of the motor to determine displacements from the constant current draw as an indication of position of the window covering and its level of openness. For example, assuming the blind is fully closed (0% openness), if the current draw is at an average of 1 amp while raising the window covering, the current draw may spike to 3 amps to indicate that the fabric is rolled up and the window blind is in a fully open position (100% openness).

In another embodiment, monitored current draw measurements are analyzed to determine the direction of the driven wheel, and thereby to determine the direction in which the window blind is opening or closing. In an example, the external motor drive rotates the driven wheel one way, then the opposite way, while monitoring current draw. The direction that produces the larger current draw indicates the direction in which the blind is opening. This method assumes that more torque (and greater current draw) is needed to open a window, and less torque (and lower current draw) is needed to close a window.

In addition, microcontroller310may have wireless network communication with various RF modules via radio frequency integrated circuit (RFIC)330. RFIC330controls two-way wireless network communication by the control system300. Wireless networks and communication devices can include local area network (LAN) which may include a user remote control device, wide area network (WAN), wireless mesh network (WMN), “smart home” systems and devices such as hubs and smart thermostats, among numerous other types of communication device or system. Control system300may employ standard wireless communication protocols such as Bluetooth, WiFi, Z-Wave, ZigBee and THREAD.

Output interface340controls system outputs from microprocessor310to output devices such as LEDs342and speaker344. Output interface340controls display of visual cues and audio cues to identify external motor control system states and to communicate messages. Input interface350controls system inputs from input devices such as capacitive touch device352and buttons354. Input interface350recognizes given user inputs that can be mapped by microprocessor310to shade control functions in a command generator. For example, input interface350may recognize given user finger gestures at a touch strip or other capacitive touch device352.

In an embodiment, encoder322is an optical encoder that outputs a given number of pulses for each revolution of the motor302. The microcontroller310advantageously counts these pulses and analyzes the pulse counts to determine operational and positional characteristics of the window covering installation. Other types of encoders may also be used, such as magnetic encoders, mechanical encoders, etc. The number of pulses output by the encoder may be associated with a linear displacement of the blind fabric204by a distance/pulse conversion factor or a pulse/distance conversion factor. For example with reference toFIG. 5, when the window blind204is at a fully closed position (0% openness), a button of external motor210can be pressed and held to have the window blind raise to the top of the window frame, and the button can be released once at the top. The external motor210is able to measure this travel as the total length (height) of the fabric204and thus determine its fully open position, fully closed position, and levels of openness in between.

In an embodiment, control system300monitors various modes of system operation and engages or disengages the clutch306depending on the operational state of system300. In one embodiment, when DC motor302is rotating its output shaft under user (operator) control, or under automatic control by microcontroller310, clutch306is engaged thereby advancing continuous cord loop320. When microcontroller310is not processing an operator command or automated function to advance the continuous cord loop, clutch306is disengaged, and a user may advance continuous cord loop manually to operate the windows covering system. In the event of power failure, clutch306will be disengaged, allowing manual operation of the windows covering system.

FIG. 8is an input/output (black box) diagram of an external motor control system400.

Monitored variables (inputs)410of external motor control system400include:

412—user input command for blind control (e.g., string packet containing command)

414—distance of current position from top of blind (e.g., in meters)

416—rolling speed of the blind (e.g., in meters per second)

418—current charge level of battery (e.g., in mV)

428—smart-home data (e.g., thermostat temperature value in degrees Celsius)

430—current draw of the motor302(e.g., in A)

Controlled variables (outputs)440of external motor control system400include:

442—intended rolling speed of the blind at a given time (e.g., in meters per second)

444—intended displacement from current position at a given time (e.g., in meters)

446—feedback command from the device for user (e.g., string packet containing command)

448—clutch engage/disengage command at a given time

450—output data to smart-home hub (e.g., temperature value in degrees Celsius corresponding to temperature sensor output420).

In an embodiment, external motor control system400sends data (such as sensor outputs432,434, and436) to a third party home automation control system or device. The third-party system or device can act upon this data to control other home automation functions. Third-party home automation devices include for example “smart thermostats” such as the Honeywell Smart Thermostat (Honeywell International Inc., Morristown, N.J.); Nest Learning Thermostat (Nest Labs, Palo Alto, Calif.); Venstar programmable thermostat (Venstar, Inc., Chatsworth, Calif.); and Lux programmable thermostat (Lux Products, Philadelphia, Pa.). Other home automation devices include HVAC (heating, ventilating, and air conditioning) systems, and smart ventilation systems.

In another embodiment, external motor control system400accepts commands, as well as data, from third-party systems and devices and acts upon these commands and data to control the windows covering system.

In an embodiment, the external motor control system400schedules operation of the windows covering system via user-programmed schedules.

In another embodiment, external motor control system400controls the windows covering system based upon monitored sensor outputs. For example, based upon light sensor output422, the window covering system may automatically open or close based upon specific lighting conditions such as opening blinds at sunrise. In another example, based upon motion sensor output424, the system may automatically open blinds upon detecting a user entering a room. In a further example, based upon temperature sensor output420, the system may automatically open blinds during daylight to warm a cold room. Additionally, the system may store temperature sensor data to send to other devices.

In an embodiment, sensor outputs of motion sensor424are incorporated in a power saving process. Sensor424may be a presence/motion sensor in the form of a passive infrared (PIR) sensor, or may be a capacitive touch sensor, e.g., associated with a capacitive touch input interface of the external motor. In this process, the external motor system400hibernates/sleeps until the presence/motion sensor detects motion or the presence of a user. In an embodiment, upon sensing user presence/motion, an LED indicator of the external motor device lights up to indicate that the device can be used. In an embodiment, after a period of inactivity, the device enters a low power state to preserve energy.

In a further embodiment, external motor control system400controls multiple windows covering systems, and may group window covering systems to be controlled together as described above relative to Group Mode controls. Examples of groups include external motors associated with windows facing in a certain direction, and external motors associated with windows located on a given story of a building.