PORTABLE PROGRAMMABLE MASSAGE DEVICE
Cross Reference to Related Application
[0001] This application claims priority from U.S. Patent Application Serial No. 60/949,761, entitled "Portable Programmable Massager," filed July 13, 2007, which is incorporated herein by reference in its entirety.
Field of the Invention
[0002] This invention relates to a portable self-contained massage devices.
Summary of the Invention
[0003] A unitary self-contained portable programmable massage device is disclosed. The details of the invention are set forth below in connection with the detailed description of the embodiments.
Brief Description of the Drawings
[0004] Fig. 1 is a top view of a first embodiment of the present invention.
[0005] Fig. 2 is a first side view of the embodiment of the present invention depicted in Figure 1.
[0006] Fig. 3 is a second side view of the first embodiment of the present invention, viewed along the lines 3-3 of Figure 1.
[0007] Fig. 4 is a system block diagram of the embodiment of the present invention depicted in Figure 1.
[0008] Fig. 5 is an operation flow diagram of the embodiment of the present invention depicted in Figure 1.  [0009] Fig. 6 is a schematic of the embodiment of the present invention depicted in Figure 1.
[0010] Fig. 7 is a side view of a first exemplary motor mechanism that may be employed with the present invention.
[0011] Fig. 8 is a side view of a second exemplary motor mechanism that may be employed with the present invention.
[0012] Fig. 9 is a side view of a third exemplary motor mechanism that may be employed with the present invention.
[0013] Fig. 10 is a side view of a fourth exemplary motor mechanism that may be employed with the present invention.
[0014] Fig. 11 is a side view of a fifth exemplary motor mechanism that may be employed with the present invention.
Detailed Description of the Drawings
[0015] The present invention is described herein with respect to exemplary portable, self-contained, programmable massager 10, which is shown in Fig. 1. It will be understood that other programmable massagers and applications can be used in accordance with the present invention.
[0016] As seen, all components and elements of massager 10 described herein are disposed on or within a housing 20. As such, massager 10 does not need to connect to an outside source or device, such as a computer or hand controller, in order to operate. In this way, massager 10 is compact and completely portable.
[0017] It will be appreciated that personal massagers, including some of the aspects of the personal massager, are well known in the art. As such, certain aspects of the structure of  massager 10 will only generally be described herein. As seen in Fig. 1, programmable massager 10 comprises housing 20, which comprises first end 22, second end 21, and middle section 23. Housing 20 further comprises appendage 28, which extends from middle section 23.
[0018] To provide the massaging function, a plurality of motors 24 are disposed within housing 20. It will be appreciated by those in the art that plurality of motors 24 has a variety of output modes, such as vibration, reciprocation, rotation, etc. The selection of any of these output modes will cause first end 22 and appendage 28 to vibrate, reciprocate or rotate, accordingly, as described in greater detail herein.
[0019] In the depicted embodiment, and as shown clearly in Fig. 6, motors 57, 58 and 59 are disposed within housing 20. Each of motors 57, 58 and 59 are standard DC type motors. It will be understood that any or all of motors 57 - 59 may be bi-directional.
[0020] To implement the variety of output modes of the plurality of motors 24, motor mechanisms 30 and 32 are attached to the plurality of motors 24. As seen in Figures 7 to 11, mechanisms 30 and 32 may be any number of mechanisms that will provide a desired output mode. Example mechanisms are described herein. Specifically, Fig. 7 depicts an exemplary mechanism 500 that produces a rotation and rubbing output mode. Mechanism 500 comprises a motor 501 that is drivingly connected, by way of an output shaft 510, to a plurality of roller assemblies 520. As seen, each roller assembly 520 comprises a plurality of rolling elements 522 that are engaged to a frame 524. Each frame 524 is then engaged to output shaft 510, such that each frame 524 rotates at the same speed as output shaft 510. As each roller assembly 520 rotates, it deforms housing 20 to create a pleasurable massaging sensation.
[0021] Fig. 8 depicts an exemplary mechanism 600 that produces a vibration output mode. Mechanism 600 comprises a motor 601 that is drivingly engaged, by way of an output  shaft 610, to a weight 620. In order to produce a vibrating effect, weight 620 is engaged to output shaft 610 such that the center of weight of weight 620 is not co-axial with the axis of rotation of output shaft 610. In this manner, as output shaft 610 rotates, weight 620 will likewise rotate, but in doing so, create a vibrating sensation.
[0022] Fig. 9 depicts an exemplary mechanism 700 that produces a swirling and pumping output mode. Mechanism 700 comprises a motor 701 that is drivingly engaged to gear 710 through gear train 712. Additionally, arm 720 is engaged to the output shaft (not shown) of motor 701, such that arm 720 spins at the same speed as the output shaft (not shown). As gear 710 spins, it turns cam shaft 714. Rotation of cam shaft 714 in turn causes arm 730 to linearly reciprocate back and forth, along support structures 732 and 734. The linear reciprocation of arm 730, in turn, causes arm 720 to reciprocate back and forth, thus producing an swirling and pumping sensation.
[0023] Fig. 10 depicts an exemplary mechanism 800 that produces a pumping output mode. Mechanism 800 comprises a motor 801, drivingly engaged to a gear 812 through gear train 810. As gear 812 turns, it rotates cam shaft 814, which is engaged to both gear 812 and support structure 830. Cam shaft 814 is engaged to arm 820, such that rotation of cam shaft 814 causes a linear reciprocation of arm 820. Arm 820 is, in turn, connected to arm 840, which is supported on support structure 830 by bearing 842. In this manner, as arm 820 reciprocates, arm 840 likewise reciprocates, creating a pumping sensation.
[0024] Fig. 11 depicts an exemplary mechanism 900 that produces a spinning output mode. Mechanism 900 comprises a motor 901, drivingly engaged to an arm 910 through gear train 912. Arm 910 is supported by bearing 914, and connected to gear train 912 such that, as the  output shaft (not shown) of motor 901 rotates, arm 910 likewise rotates, creating a spinning sensation.
[0025] It will be appreciated by those in the art that any of the above mechanisms may be employed with the present invention. It will also be appreciated by those in the art that the description of the above mechanisms is exemplary only, as many different mechanisms can create similar or identical output modes and are within the scope of the present invention. It will further be appreciated by those in the art that the scope of the present invention includes the use of a mechanism that produces an output mode different from any described above, or an output mode that is a combination of those described above.
[0026] As depicted, motors 57, 58 and 59 are simple DC motors of different strength (torque), which directly corresponds to the type of mechanism used. Further, since for example, spinning can be either clockwise and counter-clockwise, changing the polarity of the power supply to any of the plurality of motors' 24 terminals, the motors 24 can change the turning direction. Controller 100, as described fully below, can direct the driving circuit (not shown) to change terminal polarity of each motor 24.
[0027] As seen in Figs. 1 and 4, massager 10 further comprises a plurality of program buttons 50 disposed on housing 20, proximate to second end 21. In the depicted embodiment, plurality of program buttons 50 comprise buttons 61, 62, 63, 64, 65 and 66. However, it will be appreciated that this is exemplary and not limiting. Program buttons 50 are in electronic communication with controller 100 (discussed below). Actuation of program buttons 50 causes controller 100 to induce an output mode of the plurality of motors. As such, each individual program button 50 corresponds to a specific output mode of the plurality of motors 24.  [0028] As described in detail below, massager 10 allows the user to create, store and later execute a custom program that induces the plurality of motors to enter into a sequential order of desired output modes. To aid the user in beginning and ending the recording of the custom program, record button 52 is disposed on housing 20 proximate to second end 21. To aid the user in executing the custom program, play button 54 is disposed on housing 20 proximate to second end 21.
[0029] To aid the user in determining which output mode has been selected, a plurality of indicators 60 are disposed on housing 20, proximate to second end 21. In the depicted embodiment, the plurality of indicators 60 comprises light emitting diodes. Plurality of indicators 60 can further indicate which custom program has been selected.
[0030] As seen in Figs. 3 and 4, massager 10 further includes power source 70 coupled to controller 100 and the plurality of motors 24. In the depicted embodiment, power source 70 comprises a plurality of batteries. To aid the user in determining the charge state of power source 70, a power indicator 62 may be disposed on housing 20, proximate to second end 21. It will be appreciated that indicator 62 can also indicate the when the charge state of power source 70 is low, and power source 70 and needs to be replenished or replaced.
[0031] FIG. 4 is a block diagram of a massager 10. As seen, massager 10 comprises a controller 100, which is in electronic communication with the plurality of motors 24. Through the electronic communication with the plurality of motors, controller 100 may induce an output mode of the plurality of motors.
[0032] In the depicted embodiment, controller 100 is a OTP IK 4-bit Microcontroller, serial # SH69P20C, manufactured by Sino Wealth Microelectronics, located at Wang Kwong Road, Kowloon Bay, Hong Kong, 39-33 Days Plaza Building 3301. A data sheet  depicting the features of the Sino Wealth controller can be obtained from Sino Wealth, and the contents of that data sheet are hereby incorporated in its entirety by reference.
[0033] Controller 100 may include a memory element 102. Memory element 102 may include a computer readable medium for causing the controller to induce an output mode of the plurality of motors. Memory element 102 may cause the controller to induce an output mode of the plurality of motors by way of software, firmware, hardware, or any combination thereof. For example, in the depicted embodiment, memory element 102 comprises a massager software or code (not shown), as an executable program.
[0034] Controller 100 is a hardware device for executing software, particularly software stored in memory element 102. Controller 100 can be any custom made or commercially available processor, a central processing unit (CPU), a semiconductor based microprocessor (in the form of a microchip or chip set), or generally any device for executing software instructions.
[0035] While the depicted memory element 102 is an Electronically Erasable Programmable Read Only Memory, the scope of the present invention includes any known type of memory element. For example, memory element 102 can include any one or a combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). Moreover, memory element 102 may incorporate electronic, magnetic, optical, and/or other types of storage media. Memory element 102 can have a distributed architecture where various components are situated remote from one another, but are still accessed by controller 100, but are still housed within housing 20.  [0036] The software in memory element 102 may include one or more separate programs. The separate programs comprise ordered listings of executable instructions for implementing logical functions. In the depicted embodiment, the software in memory element 102 includes the massager code for causing the controller to induce a selected output mode of the plurality of motors.
[0037] When massager 10 is in operation, controller 100 is configured to execute software stored within memory element 102, to communicate data to and from memory element 102, and to generally control operations of plurality of motors 24 pursuant to the software. As seen, exemplary model numbers and sizes of diodes, inductors, capacitors, resistors, transistors and other circuit elements used in the depicted embodiment are provided for ease of understanding in Fig. 6. Likewise, in the depicted embodiment, the substrate of the chip (not shown) should be connected to ground. The depicted embodiment employs a chip that has at least 16 output ports and input ports (technically 16 I/O) and with at least IK ROM size. It will be appreciated by those in the art that, depending on the type of controller used, the substrate can be either at ground level or at the power supply level.
[0038] By way of example, and in no way limiting, the depicted embodiment operates as follows. Each of program buttons 61, 62, 63, 64, 65 and 66 correspond to an output mode of motors 24. By way of example, and in no way limiting, program buttons 61 and 62 correspond to a spinning output mode of motors 24, program buttons 63 and 64 correspond to a short vibration pulse output mode of motors 24, and program buttons 65 and 66 correspond to a long vibration pulse output mode of motors 24. Furthermore, each output mode has 3 different speeds: low, medium and high.  [0039] As depicted in Fig. 5, massager 10 can be operated in a free mode, such as depicted in box 200, and a recording mode, such as box 300. To operate in free mode, the user first actuates power button 56, which is disposed on housing 20, proximate second end 21. At this point, the indicators 60 are unlit. The user then selects the desired output mode of the plurality of motors by actuating one of the plurality of program buttons 50. Actuation of one of program buttons 50 will cause controller 100 to execute the massager code, and induce an output mode of the plurality of motors 24.
[0040] By way of example, in the depicted embodiment, as stated above, program buttons 61 and 62 correspond to a spinning function. Program button 61 will decrease the speed of the spinning function, while program button 62 will increase the speed of the spinning function. If the user wishes to change output modes, the user will actuate another of the program buttons 50. If the user wishes to cease the use of massager 10, the user can then actuate power button 56.
[0041] To operate in recording mode, the user again begins by actuating record button 52. This causes controller 100 to begin recording the custom user set of instructions, or custom program, to memory element 102. The user then chooses a desired program button 50 and depresses it for 2 seconds. This causes controller 100 to record that output mode as the first in the sequence of output modes that comprise the user program. Once the desired program button 50 has been depressed for 2 seconds, a indicator 60 will flash green one time. The user then actuates record button 52. As seen in box 300 in Fig. 5, the time the user depresses record button 52 determines the time the selected output mode lasts.
[0042] If the user desires a second output mode be added to the custom program, the user simply follows the above steps. Once the second desired program button 50 has been  depressed for 2 seconds, indicator 60 will flash green twice, indicating that controller 100 has recorded the second output mode to the user program. The user then actuates record button 52 again. Once again, the time the user depresses record button 52 determines the time the selected output mode lasts before moving to the next mode or ending the user program.
[0043] If the user desires additional output modes to be added to the custom program, the above steps are again followed. It will be appreciated that the number of flashes will be the same as the order in the sequence in which that output mode is recorded. For example, if the user desires 5 different output modes in the user program, indicator 60 will flash green once when the first output mode is recorded, indicator 60 will flash green twice once the second output mode is recorded, indicator 60 will flash green three times once the third output mode is recorded, etc. Once the user has completed creating the custom program, the user actuates record button 52 a second time, and the controller will cease recording the user program to memory element 102.
[0044] When the user has completed creating the custom program, actuating play button 54, or powering off massager 10, will cause controller 100 to cease recording the custom set of user instructions.
[0045] In the depicted embodiment, the user can store up to 10 output modes per user program. Once the user stores 10 output modes, controller 100 automatically ceases recording output modes to the user program, and stores the user program in memory element 102. However, it will be appreciated by those in the art that the scope of the present invention includes an embodiment in which the user can store any number of output modes to a user program.  [0046] In the depicted embodiment, controller 100 is capable of creating and storing multiple sets of user instructions. The creation of subsequent user programs is accomplished in the same way as the creation of the first user program described above. To differentiate the various user programs, the play/record indicator 60 will flash different colors. For example, when recording the first user program, the play/record indicator 60 will flash green. When recording the second user program, the play/record 60 indicator will flash amber, etc.
[0047] As seen in box 400 in Fig. 5, massager 10 further comprises a program re-play mode, in which controller 100 recalls and executes a desired user program. In order to recall and execute a user program, the user first actuates power button 56. The user then actuates play button 54. Each time the user actuates play button 54, play/record indicator 60 will flash a different color, indicating which user program has been selected. If more than 5 seconds passes after the user actuates play button 54, the currently selected user program will be recalled and executed. It will be appreciated by those in the art that any amount of time can be used, and 5 seconds is exemplary and not limiting.
[0048] Additionally, if the user wishes to edit an existing user program, the user will actuate play button 54 until play/record indicator 60 flashes the correct color. The user then actuates record button 52, and follows the steps outlined above for recording a user program.
[0049] While specific configurations of the invention have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of this disclosure. The particular arrangements disclosed herein a meant to be illustrative only and not limited as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.