Key touch detection control method, device and system
By collecting pressing pressure data and load commands to control the motor movement, precise tactile detection of the buttons is achieved, solving the problem of damage caused by button pressure exceeding the threshold, and improving the lifespan of the buttons and the accuracy of tactile control.
Patent Information
- Application Number
- CN202310002427.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-03
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2043-01-03
AI Technical Summary
In existing technology, if pressure is applied to a button after the pressing pressure has reached the pressure threshold, it will cause problems with motor inertia and braking, resulting in the button pressure exceeding the threshold and potentially damaging the button.
By collecting pressing force data, obtaining load commands, determining the target pressure value, and controlling the motor to apply the corresponding pressing force within a set time according to the load commands, the motor is driven by the current value to move the pressing head, thus achieving precise control.
It reduces pressure overload on the buttons, lowers the risk of button damage, and improves the accuracy and reliability of tactile detection.
Smart Images

Figure CN116107451B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of button detection technology, and more specifically, to a method, apparatus, and system for tactile detection and control of buttons. Background Technology
[0002] With the rapid development of the electronics industry, buttons have become widely used as a medium for human-computer interaction, such as in remote controls, keyboards, and gamepads. Typically, when a user touches a button, a motor is controlled to move the button, thus enhancing the tactile feedback.
[0003] Currently, the tactile feedback of buttons is typically detected by load testing. This involves setting a pressure threshold, and when the pressure applied to the button reaches this threshold, the motor is stopped. However, due to motor inertia and braking, pressure continues to be applied to the button, eventually exceeding the pressure threshold. Summary of the Invention
[0004] One objective of this disclosure is to provide a new technical solution for a method, apparatus, and system for tactile detection and control of buttons.
[0005] According to a first aspect of this disclosure, a tactile detection control method for a button is provided. The method includes: acquiring pressure data from a sensor when the button is subjected to force; obtaining a load command for tactile detection of the button; wherein the load command represents a mapping relationship of the pressure changing with time over a set time period; determining a sub-time point corresponding to the load command and a target pressure value of the pressure at the sub-time point based on the pressure data; obtaining a current value corresponding to the target pressure value based on the target pressure value; and driving a motor to move a pressing head according to the current value within a sampling interval corresponding to the sub-time point, so as to apply a pressing force corresponding to the target pressure value to the button through the pressing head.
[0006] Optionally, before obtaining the current value corresponding to the target pressure value based on the target pressure value, the method further includes: determining the actual pressure value applied to the button by the pressing head at the sub-time point by the pressing pressure data; obtaining a pressure deviation value of the actual pressure value relative to the target pressure value based on the target pressure value and the actual pressure value; the step of obtaining the current value corresponding to the target pressure value based on the target pressure value includes: obtaining the current value corresponding to the target pressure value based on the pressure deviation value and the target pressure value.
[0007] Optionally, before obtaining the current value corresponding to the target pressure value based on the pressure deviation value and the target pressure value, the method further includes: acquiring displacement data from the sensor when the button is subjected to force; obtaining a target velocity value based on the pressure deviation value and the target pressure value; obtaining the actual velocity value of the button within the sampling interval based on the displacement data; obtaining a velocity deviation value of the actual velocity value relative to the target value based on the target velocity value and the actual velocity value; and obtaining the current value based on the velocity deviation value and the target velocity value.
[0008] Optionally, the load command is set such that the first target pressure value of the pressing force at the start of the set time length is greater than 0, and the set sampling time includes the start time.
[0009] Optionally, the load command represents the mapping relationship by a reference value of the pressing force within a set time length and the amount of change of the pressing force relative to the reference value over time; wherein, the amount of change is represented by a set amplitude and a coefficient of the set amplitude changing over time, and the coefficient is represented by the period and initial phase of the pressing force changing over time within the set time length.
[0010] Optionally, during the process of driving the motor to move the pressing head according to the current value, the method further includes: acquiring a switch signal output by a limit switch; and controlling the motor according to a set control mode when the switch signal indicates that the motor has moved to a set limit position.
[0011] Optionally, the load command is a first load command or a second load command; wherein, the first load command includes a pressing phase and a lifting phase, and the first load command represents the mapping relationship of the pressing force during the pressing phase and the lifting phase over time; the second load command includes the entire phase, and the mapping relationship of the pressing force during the pressing phase over time represented by the second load command is a mirror image of the mapping relationship of the pressing force during the lifting phase over time represented by the second load command.
[0012] According to a second aspect of this disclosure, a tactile detection and control device for a button is also provided. The device includes: a pressure data acquisition module for acquiring pressure data from a sensor when the button is subjected to force; a load command acquisition module for acquiring a load command for tactile detection of the button, wherein the load command represents a mapping relationship between the pressure and time over a set time period; a pressure value determination module for determining, based on the pressure data, a sub-time point corresponding to the load command and a target pressure value of the pressure at that sub-time point; a current value acquisition module for obtaining a current value corresponding to the target pressure value based on the target pressure value; and a motor drive module for driving a motor to move a pressing head according to the current value within a sampling interval corresponding to the sub-time point, so as to apply a pressure corresponding to the target pressure value to the button through the pressing head.
[0013] According to a third aspect of this disclosure, a tactile detection control device for a button is also provided, including a memory and a processor, wherein the memory is used to store a computer program; and the processor is used to execute the computer program to implement the method according to a first aspect of this disclosure.
[0014] According to a fourth aspect of this disclosure, a tactile detection system for a button is also provided. The system includes: a host computer for providing load commands; a pressing head for contacting the button; a motor for driving the pressing head to apply pressing force to the button; a sensor for detecting pressing force data; and a tactile detection control device, wherein the tactile detection control device is the tactile detection control device of claim 9; the tactile detection control device is connected to the host computer to receive the load commands sent by the host computer; the tactile detection control device is connected to the sensor to acquire the pressing force data; and the tactile detection control device is connected to the motor to drive the motor to move.
[0015] Optionally, the motor is a voice coil motor.
[0016] One beneficial effect of this disclosure is that by precisely designing the target pressure value at different times within a set time period and controlling the motor to move according to the load command, the designed target pressure value is applied to the button at each time within the set time period, thereby enabling precise control of tactile detection and reducing the situation where the button is damaged due to overload of pressure applied to the button.
[0017] Other features and advantages of the embodiments of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description
[0018] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the present disclosure and, together with their description, serve to explain the principles of the embodiments of the present disclosure.
[0019] Figure 1 This is a schematic diagram of the composition structure of a key tactile detection control system capable of applying a key tactile detection control method according to one embodiment.
[0020] Figure 2 This is a flowchart illustrating a tactile detection and control method for buttons according to another embodiment;
[0021] Figure 3 This is a schematic diagram of the operation of a tactile detection control device according to another embodiment;
[0022] Figure 4 This is a schematic block diagram of a tactile detection control device according to another embodiment;
[0023] Figure 5 This is a schematic diagram of the hardware structure of a tactile detection control device according to another embodiment. Detailed Implementation
[0024] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the invention.
[0025] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit the invention or its application or use.
[0026] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0027] In all the examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0028] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0029] <System Implementation Example>
[0030] Figure 1 This is a schematic diagram of the structural composition of a button tactile detection system capable of applying a button tactile detection control method according to one embodiment. For example... Figure 1As shown, the system includes a host computer 110, a pressing head 120, a motor 130, a force sensor 140, a displacement sensor 150, and a touch detection and control device 160. The system can be applied to human-computer interaction scenarios.
[0031] The host computer 110 can be, but is not limited to, various smartphones, personal computers, laptops, and tablets. The host computer 110 can control the touch detection control device 160 to turn on, off, and reset, and the host computer 110 can also send operation commands to the touch detection control device 160 to cause the motor 130 to turn on, off, and reset.
[0032] The tactile detection control device 160 can be directly electrically connected to the host computer 110, or it can be connected wirelessly via Bluetooth, etc., without limitation. The tactile detection control device 160 can be a controller. The output terminal of the tactile detection control device 160 is connected to the motor 130 and drives the motor 130 to move in order to control the pressing pressure of the motor 130 on the button 200.
[0033] The motor 130 can be fixedly mounted on the mechanical base 170. The motor 130 can be a voice coil motor, and the moving end of the voice coil motor has a good response speed. The moving end of the motor 130 can move to the corresponding position in response to the command output by the tactile detection control device 160. The mechanical base 170 can be, but is not limited to, the shell of a keyboard, gamepad, etc., and the buttons 200 on the mechanical base 170 can all slide along the thickness direction of the mechanical base 170.
[0034] The pressing head 120 is located between the force sensor 140 and the button 200 and is fixedly connected to the force sensor 140. The pressing head 120 contacts the button 200, and when the button 200 is subjected to a pressing force applied by the user, the pressing head 120 can transmit its own deformation to the force sensor 140.
[0035] Force sensor 140 is electrically connected to touch detection and control device 160. The end of force sensor 140 furthest from pressing head 120 can be mounted on the moving end of motor 130. Force sensor 140 can convert the force transmitted by pressing head 120 into an electrical signal and output the electrical signal to touch detection and control device 160. The electrical signal output by pressing head 120 can also be amplified by amplifier 141 and then output to touch detection and control device 160.
[0036] The displacement sensor 150 is electrically connected to the tactile detection and control device 160, and the displacement sensor 150 can be fixedly mounted on the mechanical base 170. The displacement sensor 150 can be a grating sensor, which can obtain the movement distance of the button 200 and output it to the tactile detection and control device 160 in the form of an electrical signal.
[0037] The system may also include a limit switch 180, which can be fixedly mounted on the mechanical base 170. The limit switch 180 may be a photoelectric switch, detecting whether the moving end of the motor 130 has moved to its limit position. When the moving end of the motor 130 is detected to have reached its limit position, feedback is sent to the tactile detection control device 160, which controls the motor 130 to stop moving or to retract in the opposite direction, thus limiting the movement of the motor 130.
[0038] The host computer 110 can also output a pre-set load command to the tactile detection and control device 160. The tactile detection and control device 160 receives the load command and controls the motor 130 based on the load command. The movement of the moving end of the motor 130 drives the pressing head 120 to move. This allows the force sensor 140 and displacement sensor 150 to feed back the collected data to the tactile detection and control device 160 in the form of electrical signals, which are then output to the host computer 110. The host computer 110 can also use the feedback data to judge the quality of the button 200 and display the judgment result on the display screen 190 associated with the host computer 110.
[0039] In the embodiments of this disclosure, the memory of the touch detection control device 160 is used to store a computer program for controlling the processor of the touch detection control device 160 to operate in order to implement a touch detection control method for buttons according to any embodiment. Those skilled in the art can design the computer program based on the scheme of the embodiments of this disclosure. How the computer program controls the processor to operate is well known in the art and will not be described in detail here.
[0040] <Method Implementation>
[0041] Figure 2 This is a flowchart illustrating a button touch detection and control method according to one embodiment. In this embodiment, the aforementioned touch detection and control device is used as the execution entity.
[0042] like Figure 2 As shown, the tactile detection and control method for buttons in this embodiment may include the following steps S201 to S205:
[0043] Step S201: When the button is pressed, pressure data from the sensor is collected.
[0044] Specifically, when a user triggers a button on the aforementioned mechanical base, the aforementioned tactile detection and control device collects pressure data from the sensor when the button is pressed.
[0045] Step S202: Obtain the load command for tactile detection of the button; wherein, the load command represents the mapping relationship of the pressing pressure changing with time within a set time length.
[0046] Specifically, the host computer determines the load command corresponding to the button and sends the load command to the tactile detection and control device. The tactile detection and control device then obtains the load command for tactile detection of the button. The load command represents the mapping relationship between the pressing pressure and time within a set time period.
[0047] In one embodiment, the load command is either a first load command or a second load command; wherein, the first load command includes a pressing phase and a lifting phase, and the first load command represents the mapping relationship of the pressing force during the pressing phase and the lifting phase over time; the second load command includes the entire phase, and the mapping relationship of the pressing force during the pressing phase over time represented by the second load command in the entire phase is a mirror image of the mapping relationship of the pressing force during the lifting phase over time represented by the second load command in the entire phase.
[0048] The load command can be set via the host computer. This load command can be a pressure curve showing the time-varying process of the pressing head from the moment it initially contacts the button, to the point of pressing the button to its limit, and finally to the point of releasing the button. Specifically, the load command can include a first load command F. com1 Second load command F com2 Among them, the pressure curve of the second load command during the pressing phase of the entire stage is symmetrical to the pressure curve during the lifting phase of the entire stage.
[0049] In one embodiment, the load command is represented by a mapping relationship between a reference value of the pressing force over a set time period and the amount of change of the pressing force relative to the reference value over time; wherein, the amount of change is represented by a set amplitude and a coefficient of the set amplitude over time, and the coefficient is represented by the period and initial phase of the pressing force over the set time period.
[0050] Specifically, the load command can be either the first load command or the second load command mentioned above. When the load command is the second load command, the second load command F... com2 This can be represented by a symmetrical pressure curve throughout the entire process of pressing and releasing a button; that is, the pressure curve during the pressing phase and the pressure curve during the releasing phase are symmetrical. Specifically, the button is pressed with an initial load value until it reaches its maximum value, then continues to move according to the load command curve, gradually releasing the button until the pressing force is zero. The specific algorithm can be expressed by the following formula:
[0051] F com2 =F initial +α·f(β·t+γ), 0<t≤t total Formula (1)
[0052] In the formula, t totalIndicates the time period corresponding to the entire stage; F initial This indicates the initial value of the load command, i.e., the reference value of the pressing force within the set time length, and F initial >0 ensures that the pressing head contacts the button at the initial moment of the pressing action; α·f(β·t+γ) is the above-mentioned change, f can be represented as a curve function and can be a trigonometric function; α can be the above-mentioned set amplitude and can be the curve amplitude, that is, it can reflect the change of pressing force with time within the set time; β·t+γ is the above-mentioned coefficient, β can be preset and β is used to adjust the period of the curve; γ is the above-mentioned initial phase and is used to adjust the phase shift of the curve.
[0053] Specifically, the first load command F com1 This can represent the inconsistent pressure curves during the button press and release phases, meaning the pressure curves during the pressing and releasing phases are asymmetrical. In the pressing phase, the button is pressed down with an initial load until the maximum load is reached; this is the pressing process. In the releasing phase, the button is moved away from it until it is released, at which point the pressing force is zero; this is the release process. The specific algorithm can be expressed by the following formula:
[0054]
[0055] In the formula, t≤t peak Indicates the pressing phase, t peak t represents the time when the load reaches its peak value. peak ≤t≤t total Indicates the lifting phase, t total This represents the time period corresponding to the entire process, and t peak ≤t total To impose a time limit on the pressing action; F initial The initial load value represents the reference value of the pressing force mentioned above during the pressing phase, and F initial >0 ensures that the press head contacts the button at the initial moment of the pressing action; F peak This represents the baseline value of the pressing force during the rebound phase; α1·f1(β1·t+γ1) is the aforementioned change, where f1 represents the curve function during the pressing phase and can be a trigonometric function; f2 represents the curve function during the release phase and can also be a trigonometric function; β1·t+γ1 represents the coefficient during the pressing phase; β2·t+
[0056] γ2 represents the coefficient during the rebound phase. α1 can be the preset amplitude mentioned above and can also represent the curve amplitude during the pressing phase; α2 can be the preset amplitude mentioned above and can also represent the curve amplitude during the lifting phase. β1 and β2 can be preset and are both used to adjust the period of the curve. γ1 and γ2 are both the initial phase mentioned above and are used to adjust the phase shift of the curve.
[0057] Accordingly, when adjusting the parameters in the above expression, the following must be satisfied: the time t for the load to reach its peak value. peak and the time t required for the entire process total To ensure the load command completes a full cycle, the periods β, β1, and β2, and the phase shifts γ, γ1, and γ2 of the load command are adjusted to ensure the load causes corresponding deformation of the key, which is then recognized by the algorithm. The amplitudes α, α1, and α2 of the load command are adjusted to meet the standard requirements for key pressure input. The initial value F of the load command is adjusted. initial and the maximum load command F peak This is to ensure that at the start of a cycle, the pressing head contacts the button and can fully press the button down. The initial value of the load command is F. initial and the maximum load command F peak All of these are the baseline values mentioned above.
[0058] In one embodiment, the load command represents a mapping relationship through a baseline value of the pressing force over a set time period, the amplitude of the pressing force over time over the set time period, and the period.
[0059] Specifically, the load command can be the above formula (1), where F in formula (1) initial This refers to the reference value of the pressing force within the set time length. In formula (1), α represents the amplitude of the pressing force's change with time within the set time length, and β represents the period of the pressing force's change with time within the set time length. Correspondingly, the load command F... com2 =F initial +α·f(β·t+γ), 0<t≤t total In other words, by combining the reference value, amplitude, and period, the pressure curve of the load command changes with time, showing an upward trend until the pressure value reaches the peak load value, and then a downward trend until the pressure value is 0. In other words, during the pressing and rebound process, the pressing force is output non-linearly, so the output current value can be determined by a curve matching the pressing force output, thereby improving the accuracy of the current value output to the motor.
[0060] Step S203: Based on the pressing force data, determine the corresponding sub-time in the load command and the target pressure value of the pressing force at the sub-time.
[0061] Specifically, when the user presses and immediately releases the button, causing it to rebound, i.e., when the user contacts the press head at a specific point in time, this point in time can be determined as the start of a cycle of the load command. This allows the time points within a cycle starting from this specific point to correspond to the sub-time points of the load command, thereby enabling the determination of the target pressure value corresponding to that sub-time point in the load command.
[0062] Similarly, when the user presses the button and releases it after a certain period of time, causing the button to rebound, the time points corresponding to the peak load and the time points when the load is about to fall below the peak load can be detected. The time period between the actual time point when the press head is in contact with the press head and the time point when the load peak is reached, and the time period when the load is about to fall below the peak load and the load is 0, are taken as a cycle. The sub-time point of the load command corresponding to the time point in this cycle and the target pressure value corresponding to the sub-time point are determined.
[0063] Step S204: Obtain the current value corresponding to the target pressure value.
[0064] Specifically, after determining the target pressure value, the tactile detection and control device can obtain the corresponding current value based on the target pressure value. The larger the target pressure value, the smaller the corresponding current value, resulting in greater resistance when the user initially contacts the press head and less resistance when the load reaches its peak, thereby improving the tactile feel of the user pressing the button.
[0065] In step S205, within the sampling interval corresponding to the sub-time, the motor is driven to move the pressing head according to the current value, so as to apply a pressing force corresponding to the target pressure value to the button through the pressing head.
[0066] The sampling interval between adjacent sub-times when the sensor collects pressure data can be preset, allowing the tactile detection and control device to output current to drive the motor. For example, with a sampling interval of 200ms, the sensor collects pressure data every 200ms, with corresponding sub-times of 0, 200ms, 400ms, 600ms, 800ms, and 1s.
[0067] Specifically, within the sampling interval corresponding to the sub-time, the motor is driven according to the current value corresponding to the sampling time. The movement of the motor can drive the pressing head to move in the direction of the user's touch finger, thereby applying a pressing force corresponding to the target pressure value to the button through the pressing head.
[0068] In one embodiment, prior to step 204, the process specifically includes: determining, based on the pressure data, the actual pressure value applied to the button by the pressing head output by the force sensor at a given time interval; and obtaining a pressure deviation value between the actual pressure value and the target pressure value based on the target pressure value and the target pressure value. Step 204 specifically includes: obtaining a current value corresponding to the target pressure value based on the pressure deviation value and the target pressure value.
[0069] Specifically, the force sensor in the system can detect and output the actual pressure value applied to the button by the pressing head during movement. The tactile detection and control device can acquire the actual pressure value applied to the button by the pressing head output by the force sensor. The displacement sensor in the system can be set to have a displacement value of 0 when the button is not pressed, and can output the corresponding displacement value when the button is pressed. The tactile detection and control device can acquire the displacement value of the button output by the displacement sensor. The force sensor can determine the difference between the actual pressure value and the target pressure value based on the target pressure value at a certain sampling time and the actual pressure value at subsequent detection times. This difference is the pressure deviation value. Based on the current value corresponding to the target pressure value, the current value can be adjusted using the pressure deviation value to adjust the pressing force applied by the pressing head, thereby reducing the possibility of damage to the button due to excessive pressing force applied by the user.
[0070] In one embodiment, before step 204, the following is further included: acquiring displacement data from the sensor when the button is subjected to force. The process of obtaining a current value corresponding to the target pressure value based on the pressure deviation value and the target pressure value specifically includes: obtaining a target velocity value based on the pressure deviation value and the target pressure value; obtaining the actual velocity value of the button within the sampling interval based on the displacement data; obtaining the velocity deviation value between the actual velocity value and the target value based on the target velocity value and the actual velocity value; and obtaining the current value based on the velocity deviation value and the target velocity value.
[0071] Specifically, the aforementioned host computer can be configured with a force controller, which can include a force feedforward controller and a force feedback error proportional-integral-derivative controller. The inputs to the force controller are the target pressure value and the actual pressure value. The target pressure value is input to the force feedforward controller, and the error between the target and actual pressure values, i.e., the pressure deviation value, is input to the force feedback error proportional-integral-derivative controller. Correspondingly, the output of the force controller is a speed command. The specific expression of the force controller is as follows:
[0072]
[0073] In the formula, K F F represents the feedforward control coefficient; ff This represents the feedforward force command output by the force feedforward controller, which is obtained by sampling the load command; KP K I K D F represents the feedback control coefficient. err This represents the difference between the target pressure value and the actual pressure value.
[0074] The tactile detection and control device determines the start and end positions corresponding to a certain sampling interval from the displacement data. Based on the start and end positions and the duration of the sampling interval, it obtains the actual speed value of the button within the sampling interval.
[0075] Specifically, the host computer can be configured with a speed controller. The speed controller can determine the difference between the actual speed value and the target speed value based on the target speed value and the actual speed value at a certain sampling time. The difference is the speed deviation value.
[0076] Specifically, the speed controller described above can include a speed feedforward controller and a speed feedback error proportional-integral-derivative controller. The inputs to the speed controller are the target speed value and the actual speed value. The target speed value is input to the speed feedforward controller, and the error between the target speed value and the actual speed value, i.e., the speed deviation value, is input to the speed feedback error proportional-integral-derivative controller. Correspondingly, the output of the speed controller is a current command, which drives the motor. The current command can be a current value. The specific expression of the speed controller is as follows:
[0077]
[0078] In the formula, K VF V represents the feedforward control coefficient. ff This represents the feedforward speed command, obtained by sampling the speed command output by the force controller, K. VP K VI K VD V represents the feedback control coefficient. err This represents the difference between the target speed value and the actual speed value.
[0079] In general, such as Figure 3As shown, after the tactile detection and control device receives the load command, it can receive force feedback from the force sensor, i.e., the actual pressure value. The actual pressure value is compared with the target pressure value to generate a pressure deviation value, which is then output to the force controller, thus achieving outer-loop control. The force controller then outputs the target speed value. A displacement sensor, such as a grating sensor, outputs speed feedback, i.e., the actual speed value. The actual speed value is compared with the target speed value to generate a speed deviation value, which is then output to the speed controller. The speed controller outputs a current value to control the movement of the moving end of a motor, such as a voice coil motor. The movement of the voice coil motor's moving end drives the pressing head, allowing the force sensor to output corresponding force feedback, thus achieving complete closed-loop control. Under complete closed-loop control, the movement of the motor's moving end is more precise, further improving the tactile feel of the user pressing the pressing head.
[0080] In one embodiment, the load command can be set such that the first target pressure value at the start of a set time period is greater than 0, and the set sampling time includes the start time.
[0081] Specifically, when a user contacts the pressing head, the pressing head receives pressure from the user's finger at the beginning of a set time period. Correspondingly, a first target pressure value needs to be set so that the user receives tactile feedback from the pressing head upon contact. This first target pressure value is greater than 0, and can be F from formula (1) or formula (2) above. initial In other words, by setting a first target pressure value, the tactile sensation when a user first touches the button can be effectively improved.
[0082] In one embodiment, step S205, during the process of driving the motor to move the pressing head according to the current value, may include: acquiring a switch signal output by a limit switch. When the switch signal indicates that the motor has moved to a set limit position, the motor is controlled according to a set control mode.
[0083] Specifically, the limit switch can be a photoelectric switch used to detect the motor's position in real time. The limit positions of the motor's movement can be set manually or by system default. The limit switch can detect when the motor reaches its limit position and send feedback to the tactile detection control device, causing the device to stop the motor or reverse its movement, thus limiting the motor's movement and protecting it.
[0084] One beneficial effect of this disclosure is that by precisely designing the target pressure value at different times within a set time period and controlling the motor to move according to the load command, the designed target pressure value is applied to the button at each time within the set time period, thereby enabling precise control of tactile detection and reducing the situation where the button is damaged due to overload of pressure applied to the button.
[0085] <Equipment Example 1>
[0086] Figure 4 This is a schematic block diagram of a tactile detection and control device according to one embodiment. Figure 4 As shown, the touch detection and control device 400 may include an instruction acquisition module 410, a pressure sampling module 420, a control module 430, an execution module 440, a detection module 450, and a data processing module 460.
[0087] The pressure data acquisition module 410 is used to acquire pressure data from the sensor when the button is subjected to force.
[0088] The load command acquisition module 420 is used to acquire the load command for tactile detection of the button; wherein, the load command represents the mapping relationship of the pressing force changing with time within a set time length.
[0089] The pressure value determination module 430 is used to determine the corresponding sub-time in the load command and the target pressure value of the pressing force at the sub-time based on the pressing force data.
[0090] The current value acquisition module 440 is used to obtain a current value corresponding to the target pressure value based on the target pressure value;
[0091] The motor drive module 450 is used to drive the motor to move the pressing head according to the current value within the sampling interval corresponding to the sub-time, so as to apply the pressing force corresponding to the target pressure value to the button through the pressing head.
[0092] In some embodiments, the pressure value determination module is used to determine, based on the pressing pressure data, the actual pressure value applied by the pressing head to the button at a sub-time, as output by the force sensor.
[0093] The pressure deviation module is used to obtain the pressure deviation value of the actual pressure value relative to the target pressure value based on the target pressure value and the actual pressure value.
[0094] The current value acquisition module 440 is also used to obtain a current value corresponding to the target pressure value based on the pressure deviation value and the target pressure value.
[0095] In some embodiments, the displacement data acquisition module is used to acquire displacement data from the sensor when the button is subjected to force and moves.
[0096] The current value acquisition module 440 is also used to obtain a target speed value based on the pressure deviation value and the target pressure value; obtain the actual speed value of the button within the sampling interval based on the displacement data; obtain the speed deviation value of the actual speed value relative to the target value based on the target speed value and the actual speed value; and obtain the current value based on the speed deviation value and the target speed value.
[0097] In some embodiments, the tactile detection control device 400 may further include a safety protection module, which is used to acquire the switch signal output by the limit switch; and control the motor according to a set control mode when the switch signal indicates that the motor has moved to a set limit position.
[0098] <Equipment Example 2>
[0099] Figure 5 This is a schematic diagram of the hardware structure of a tactile detection control device according to another embodiment.
[0100] like Figure 5 As shown, the touch detection control device 500 includes a processor 510 and a memory 520. The memory 520 is used to store an executable computer program, and the processor 510 is used to execute the method as described in any of the above method embodiments according to the control of the computer program.
[0101] Each module of the above-mentioned tactile detection and control device 400 can be implemented by the processor 510 in this embodiment executing the computer program stored in the memory 510, or it can be implemented by other structures, which are not limited here.
[0102] This invention can be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement various aspects of the invention.
[0103] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0104] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0105] The computer program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing state information from the computer-readable program instructions. This electronic circuitry can execute the computer-readable program instructions to implement various aspects of the invention.
[0106] Various aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0107] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0108] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0109] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions. It will be known to those skilled in the art that implementation in hardware, implementation in software, and implementation using a combination of software and hardware are equivalent.
[0110] The various embodiments of the present invention have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the embodiments in the market, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of the invention is defined by the appended claims.
Claims
1. A method for tactile detection and control of a button, characterized in that, include: When the button is pressed, the pressure data from the sensor is collected. Obtain a load command for tactile detection of the button; wherein the load command represents the mapping relationship of the pressing force changing with time within a set time length; Based on the pressing force data, determine the corresponding sub-time point in the load command and the target pressure value of the pressing force at the sub-time point; Based on the target pressure value, obtain the current value corresponding to the target pressure value; Within the sampling interval corresponding to the sub-time point, the motor is driven to move the pressing head according to the current value, so as to apply a pressing force corresponding to the target pressure value to the button through the pressing head; the load command represents the mapping relationship through the reference value of the pressing force within a set time length and the amount of change of the pressing force relative to the reference value over time; wherein, the amount of change is represented by the set amplitude and the coefficient of the set amplitude changing over time, and the coefficient is represented by the period and initial phase of the pressing force changing over time within the set time length.
2. The method according to claim 1, characterized in that, Before obtaining the current value corresponding to the target pressure value based on the target pressure value, the method further includes: Based on the pressure data, determine the actual pressure value applied by the pressing head to the button at the sub-time point, as output by the force sensor. Based on the target pressure value and the actual pressure value, the pressure deviation value of the actual pressure value relative to the target pressure value is obtained; The step of obtaining the current value corresponding to the target pressure value includes: Based on the pressure deviation value and the target pressure value, a current value corresponding to the target pressure value is obtained.
3. The method according to claim 2, characterized in that, Before obtaining the current value corresponding to the target pressure value based on the pressure deviation value and the target pressure value, the process further includes: Collect displacement data from sensors when the button is pressed and moved; The step of obtaining the current value corresponding to the target pressure value based on the pressure deviation value and the target pressure value includes: The target velocity value is obtained based on the pressure deviation value and the target pressure value; Based on the displacement data, the actual velocity value of the button within the sampling interval is obtained; Based on the target speed value and the actual speed value, the speed deviation value of the actual speed value relative to the target speed value is obtained; The current value is obtained based on the speed deviation value and the target speed value.
4. The method according to any one of claims 1 to 3, characterized in that, The load command is set such that the first target pressure value of the pressing force at the start of the set time length is greater than 0, and the set sampling time includes the start time.
5. The method according to claim 1, characterized in that, During the process of driving the motor to move the pressing head according to the current value, the method further includes: Obtain the switching signal output by the limit switch; When the switch signal indicates that the motor has moved to a set limit position, the motor is controlled according to the set control mode.
6. The method according to any one of claims 1 to 5, characterized in that, The load command is either a first load command or a second load command; The first load command includes a pressing phase and a lifting phase, and the first load command represents the mapping relationship between the pressing force and the lifting force during the pressing phase and the lifting phase over time. The second load command includes the entire phase, and the mapping relationship between the pressing force and time in the pressing phase of the entire phase, as indicated by the second load command, is a mirror image of the mapping relationship between the pressing force and time in the lifting phase of the entire phase, as indicated by the second load command.
7. A tactile detection and control device for a button, characterized in that, include: The pressure data acquisition module is used to collect pressure data from the sensor when the button is pressed. The load command acquisition module is used to acquire the load command for tactile detection of the button; wherein, the load command represents the mapping relationship of the pressing force changing with time within a set time length. The pressure value determination module is used to determine the sub-time point corresponding to the load command and the target pressure value of the pressing force at the sub-time point based on the pressing force data. A current value acquisition module is used to obtain a current value corresponding to the target pressure value based on the target pressure value; A motor drive module is used to drive a motor to move a pressing head according to the current value within the sampling interval corresponding to the sub-time point, so as to apply a pressing force corresponding to the target pressure value to the button through the pressing head; the load command represents the mapping relationship by a reference value of the pressing force within a set time length and the amount of change of the pressing force relative to the reference value over time; wherein, the amount of change is represented by a set amplitude and a coefficient of the set amplitude changing over time, and the coefficient is represented by the period and initial phase of the pressing force changing over time within the set time length.
8. A tactile detection and control device for a button, characterized in that, The device includes a memory and a processor, wherein the memory is used to store a computer program; and the processor is used to execute the computer program to implement the tactile detection and control method according to any one of claims 1-6.
9. A tactile detection system for buttons, characterized in that, include: The host computer is used to provide load commands; A pressing head is used to contact the button; A motor is used to drive the pressing head to apply pressing force to the button; Sensors are used to detect pressure data; and, A tactile detection and control device, wherein the tactile detection and control device is the tactile detection and control device according to claim 8; the tactile detection and control device is connected to the host computer to receive the load command sent by the host computer; the tactile detection and control device is connected to the sensor to obtain the pressing pressure data; the tactile detection and control device is connected to the motor to drive the motor to move.
10. The tactile detection system according to claim 9, characterized in that, The motor is a voice coil motor.
Citation Information
Patent Citations
Control method and apparatus of mobile terminal and mobile terminal
CN106371724A
Key feedback method and device, storage medium and electronic equipment
CN110134238A
