Vibrotactile actuators are commonly used in electronic devices and wearable accessories, such as smartphones and watches, to provide haptic feedback. Behavior of the actuator can change as a function of a load applied to the actuator. The load may be influenced by a range of factors, such as contact area between the actuator and a user, a type of tissue or material in contact with the actuator, and an amount of pressure applied to the actuator.
In order to sense a magnitude of the load applied, actuators typically employ back-electromotive-force (back-EMF) sensing. However, back-EMF sensing has the disadvantage of requiring the actuator to be electrically disconnected from surrounding electronics in order to reliably measure the back-EMF. This, in turn, requires additional switches and a multiplexer with a large number of channels to control the connection and disconnection of the back-EMF sensor, which increases the size, weight and number of components of the actuator.
The present disclosure uses a current-sensing design instead of back-EMF sensing in order to determine the load applied to the actuator.
In one aspect of the present disclosure, a vibrotactile device includes: a first actuator channel including a vibrotactile actuator and a resistor having a predetermined resistance positioned at an input of the vibrotactile actuator, wherein a current drawn by the vibrotactile actuator varies according to a load applied to the vibrotactile actuator; and wherein the current drawn by the vibrotactile actuator passes through the resistor; a processor configured to output a driving signal for driving the vibrotactile actuator; a loading sensor configured to measure a voltage drop across the resistor, wherein the processor is further configured to: receive voltage drop measurement data from the loading sensor; detect a load applied to the vibrotactile actuator based on the measured voltage drop; and control the driving signal based on the detected load.
In some examples, the driving signal may be a pulse width modulated (PWM) signal, and the first actuator channel further may include a low pass filter configured to filter the driving signal and a current amplifier. The loading sensor may include a current amplifier configured to amplify the voltage drop measurement and a low-pass anti-aliasing filter to filter the amplified voltage drop measurement. The processor may include an analog-to-digital converter (ADC) configured to receive the filtered voltage drop measurement. The processor may be configured to detect a peak in the voltage drop measurement data and determine an amount of loading applied to the vibrotactile actuator based on a height of the peak.
In some examples, the device may further include memory configured to store: a type of the vibrotactile actuator included in the first actuator channel, and one or more current-load correspondence mappings, each mapping indicating a relationship between a plurality of current levels and corresponding loads for a given type of vibrotactile actuator. The processor may be configured to detect the load applied to the vibrotactile actuator based on a current-load correspondence mapping associated with the type of the vibrotactile actuator.
In some examples, the device may further include a plurality of actuator channels including the first actuator channel, each actuator channel including a respective vibrotactile actuator and a respective resistor positioned at the input of the corresponding vibrotactile actuator, and a multiplexer including a plurality of inputs connected to the plurality of actuator channels and an output connected to the loading sensor. The processor may be configured to, for each actuator channel: receive voltage drop measurement data; detect a load applied to the vibrotactile actuator of the actuator channel; and control the driving signal output to the actuator channel based on the corresponding detected load. The driving signal may be a PWM signal. The processor may be configured to determine, for each actuator channel, a pulse width of the PWM signal applied to the actuator channel based on an amount of loading indicated by the voltage drop measurement data for the actuator channel. Additionally or alternatively, the processor may be configured to: determine at which ones of the vibrotactile actuators the load is detected; actuate the vibrotactile actuators at which the load is detected; and turn off the vibrotactile actuators at which the load is not detected. Additionally or alternatively, each actuator channel may further include a respective power gating switch configured to control a connection between an input of the actuator channel an output of the processor, and the processor may be configured to control each of the power gating switches to cyclically activate the plurality of actuator channels.
Another aspect of the disclosure is directed to a portable device including a housing and a vibrotactile device as described in any of the embodiments herein. The vibrotactile device may be disposed inside the housing.
In some examples, the portable device may be a handheld device. Each vibrotactile actuator may be disposed on either one of a left side or a right side of the handheld device. The processor may be configured to provide haptic feedback to the left side of the device based on whether the voltage drop measurement data for any of the vibrotactile actuators on the left side of the device indicates a detected load, and to the right side of the device based on whether the voltage drop measurement data for any of the vibrotactile actuators on the right side of the device indicates a detected load.
In some examples, the portable device may further include one or more orientation detection circuits configured to detect an orientation of the handheld device. The processor may be configured to: receive an indication of the orientation of the handheld device from the one or more orientation detection circuits; and in response to the received indication of the orientation of the handheld device, assign at least one vibrotactile actuator to the left of the device and at least one vibrotactile actuator to the right side of the device.
In some examples, the portable device may include a strap that is wearable around a user's wrist. The vibrotactile actuators may be positioned along a length of the strap to circumferentially surround the user's wrist when the strap is worn.
Yet another aspect of the disclosure is directed to a method including: outputting, by a processor, a driving signal for driving a vibrotactile actuator; receiving, by the processor, a voltage measurement indicating a voltage drop over a resistor positioned at an input of the vibrotactile actuator and having a predetermined resistance; calculating, by the processor, an amount of current drawn by the vibrotactile actuator based on the voltage measurement and the predetermined resistance of the resistor; and controlling, by the processor, the driving signal based on the calculated amount of current.
In some examples, the method may further include controlling, by the processor, a connection to each of a plurality of vibrotactile channels. Only one vibrotactile channel may be connected to the processor at a time. In some examples, calculating the amount of current drawn by the vibrotactile actuator may further include determining a peak current level using an asymmetric smoothing filter and calculating the amount of current drawn by the vibrotactile actuator to equal the determined peak current.
In some examples, calculating the amount of current drawn by the vibrotactile actuator may further include determining a mean square current level and calculating the amount of current drawn by the vibrotactile actuator to equal the mean square current level.
In some examples, the method may further include accessing, by the processor, current-load correspondence data indicating a plurality of amounts of current, each amount of current associated with a corresponding applied load, and determining, by the processor, a magnitude of a load applied to the vibrotactile actuator based on the calculated amount of current and the current-load correspondence data. In some examples, the method may further include determining, by the processor, whether the calculated amount of current is greater than or equal to a threshold amount of current, and outputting, by the processor, one or more haptic feedback signals to the vibrotactile actuator in response to the calculated amount of current being greater than or equal to the threshold amount of current.
The present disclosure uses a current-sensing design instead of back-EMF sensing in order to determine the load applied to the actuator. The speed of the actuator motor is a function of the amount of current consumed by the motor, whereby a change in the amount of current corresponds to a change in speed. This means that a change in the load on the actuator corresponds to a change in the current. For example, an increase in motor speed may correspond to an increase in current and to an increase in applied load. In order to measure the current, a resistor having a predetermined resistance is included at an input of the actuator. A voltage drop across the resistor is then amplified, low pass filtered and measured at a loading sensor. An amount of current consumed by the actuator may be calculated from the filtered voltage drop across the resistor. The amount of loading at the actuator may then be deduced from the calculated current.
The present disclosure may be implemented in devices having a single actuator or in devices including multiple actuators. For devices with multiple actuators, a load to each actuator may be separately determined by providing a separate resistor for each actuator channel and connecting all of the actuator channels to the loading sensor through a multiplexer. The multiplexer may be configured to cycle through the multiple actuators, thereby connecting one actuator at a time to the loading sensor and measuring the voltage drop of that actuator's resistor before proceeding to the next actuator.
For devices with multiple actuators, the current sensing may be utilized to detect which of the actuators are in contact with a user. This is because the loading at actuators in contact with the user differs from the loading at actuators that are not in contact with the user. The current sensing device may repeatedly cycle through current sensing operations for each of the actuators and determine, based on the sensed currents, which of the actuators are currently being used by the user. This determination can, in turn, be used to conserve energy at the device, such as by actuating only those actuators that are determined to be in contact with the user.
Altogether, the vibrotactile actuator design of the present disclosure provides several benefits over alternative designs using back-EMF sensing. Firstly, back-EMF sensing may not be suitable for some applications, such as applications that require simultaneous load sensing and actuation, such as for providing constant haptic response. Secondly, the current-sensing design requires fewer components, which in turn reduces a cost, size and weight of the sensor, especially for multichannel systems. Reducing sensor size and weight in wearables is especially beneficial, since users may not want to wear large and heavy accessories. Lastly, the current-sensing design can be operated continuously, whereas back-EMF designs can only be operated sporadically due to the need to deactivate and disconnect the back-EMF sensor in order to complete each sensor reading.
The controller 110 may be any electronic processor that may process, receive, transmit instructions and operational signals, or any combination thereof, including but not limited to a microprocessor or a microcomputer. The controller 110 may further include or be in communication with a memory device for storing electronic data that may be utilized by the device 100. Such electronic data may include but is not limited to operating system data, instructions, preset data settings, and software applications that may be executed by the processor, such as to provide content to a user of the device 100 such as audio files, document files, calibration information, user settings, and the like. The software applications may further control providing haptic feedback to the user in association with or separate from the provided content. Haptic feedback settings may further be based on the preset data. The memory may include, without limitation, volatile storage, such as random access memory, non-volatile storage, such as read-only memory, flash memory, magnetic storage medium, optical storage medium, erasable programmable memory or any combinations thereof. Additionally, the memory may be embedded in or separate from the controller, may be a removable or non-removable storage device, or any combination thereof.
The actuator channel 120 may include one or more vibrotactile actuators 122. In the example of
The actuator channel 120 may further include circuitry for connection to the loading sensor 130 for the purpose of sensing the or load applied to the actuator 122, such as a force applied by the user of the device 100. In the example of
The actuator channel 120 may further include additional circuitry for enhancing the load sensing across the resistor 124. For example, in
The loading sensor 130 may include each of a first and second input connected to opposite sides of the resistor 124. The voltage drop may be derived from a voltage difference between the first and second inputs. The loading sensor 130 may further include additional circuitry for processing the voltage drop, such as a current amplifier 132 for amplifying the sensed current drawn through the resistor based on the voltage difference between the first and second input ports. The current amplifier 132 may be a class-D amplifier having a gain sufficient to permit load sensing across the resistor 124, such as a 20× gain. Also, the current amplifier 132 may have a bandwidth that is relatively high compared to the output of the signal generator 112. For instance, in the case of a PWM signal output of about 540 kHz, the current amplifier 132 may be chosen to have a bandwidth of about 1.8 MHZ.
The loading sensor 130 circuitry may further include a low pass filter 134 to provide a low impedance input to the controller 110. The controller 110 may include an analog-to-digital convertor (ADC) for converting the analog voltage measurement into a digital indication of current drawn by the actuator 122. The ADC samples may have a 10 bit resolution.
The ADC of the controller 110 may sample an output current of the sensor at a frequency that is lower than a frequency of the driving signal, or even one or more orders of magnitude lower than the frequency of the driving signal. For instance, the ADC frequency may be about 10-100 kHz, such as 43.2 kHz. In such circumstances, the low pass filter 134 may further be configured to provide anti-aliasing for the ADC depending on the driving frequency of the controller 110 and the sampling frequency of the ADC. The loading sensor 130 may further include an amplification stage 136 between the anti-aliasing filter 134 and an input of the ADC.
In operation, the device 100 may sample current measurements across the resistor 124 in order to detect changes in loading at the actuator 122.
Detecting a magnitude of the current spikes may involve the controller 110 using a peak detection algorithm. One example peak detection algorithm may involve tracking values associated with current magnitude for each obtained sample and detecting a transition between rise and fall based on the tracked values. In other examples, instead of detecting a maximum current value, a mean square value of current may be detected, whereby a magnitude of the current may be inferred from the mean square value. Alternative known methods may be used for determining current magnitude. In any such method, the amount of loading on the actuator may be correlated to the detected magnitude of the current.
The example device of
Like in the example actuator channel 120 of
The loading sensor 330 of
Additionally, the device 300 of
In operation, the one or more switches 340 may cycle through the actuator channels 320 one by one, connecting one actuator channel to the loading sensor at a time. Power gating switches may further be provided to completely shut down the loading sensor when not in use, such as between current sensing operations during switching between actuator channels. This may be done in arrangements including the current amplifier 336, since the current amplifier has a quiescent current, for example between about 0.5 to 1.2 mA.
Timing of the switches 340 may be restricted by an amount of time that the low pass filter 334 needs to settle when switching to a new channel. In this regard, the switches may be programmed to switch between channel no more frequently than the settling time of the low pass filter 334 in order to obtain reliable current measurements at each of the channels. In one example arrangement, the settling time was found to be about 500 ms.
Additionally, the current detection algorithm performed at the controller may involve a smoothing algorithm for separating the detected current from other noise in the circuit. In some examples, an asymmetric smoothing filter may be applied to the sampled current values. For instance, a current detection algorithm that detects current peaks and determines their magnitudes may operate according to the following equations:
The example devices 100, 300 of
In one example application, shown in
In some examples, the actuators 411-418 may be positioned against an inner surface of the housing 401 in order to provide haptic feedback. In some examples, the actuators 411-418 may be strategically positioned at locations that users' fingers or palms typically positioned. For instance, the actuators 411-418 may be positioned on a back of the device housing 401, since a user's fingers are typically positioned at the back of the device 400. For further instance, the actuators 411-418 may be primarily positioned along sides of the back of the device housing 401 since the user's fingers would typically be positioned there.
In operation, current sensing may be used to determine which to of the actuators the loading from the user's fingers is being applied. For instance, the controller 410 may access a threshold value and compare the sensed current to the threshold value. A sensed current at or above the threshold value may indicate the presence of loading, which in turn may indicate the presence of the user's fingers. Different threshold values may be stored and accessed for different types of actuators. The sensed current information can be used to determine which of the actuators to activate, thereby causing only the activated actuators to vibrate. Such a feature can be used to conserve energy at the device, since actuators that are not in contact with or close to the user's fingers may be kept inactive.
In some applications, the actuators 411-418 may further be divided between halves of the handheld device 400, whereby only actuators on one half of the device are actuated together. For instance, the handheld device may include a controller—either the same as or separate from controller 410—for determining an orientation of the device 400, such as one or more accelerometers, gyroscopes, or both. If it is determined the device is being held in a landscape orientation, then left and right sides of the device may be actuated separately. For instance, using the example arrangement of
In another example application, shown in
At block 610, the one or more processors may output a driving signal for driving a vibrotactile actuator. In some examples, the driving signal may be a pulse modulation signal for driving the actuator.
At block 620, the one or more processors may receive a current measurement indicating a voltage drop over a resistor positioned at an input of the vibrotactile actuator and having a predetermined resistance. The voltage drop may be measured by an analog sensor and converted to a digital current sample in order to be inputted to the one or more processors. In some examples, the current measurement may further involve a filtering step in order to provide a low impedance input to the ADC of a controller including the one or more processors. Additionally, the current measurement may include a plurality of samples. The plurality of samples may be obtained for a predetermined duration of time after measurements begin to be collected from the actuator, such as at least a settling time of a filter included in the analog sensor.
At block 630, the one or more processors may calculate an amount of current drawn by the vibrotactile actuator based on the current measurement and the predetermined resistance of the resistor. Since the resistor has a predetermined resistance, a magnitude of the current flowing across the resistor may be derived from a voltage drop between ends of the resistor. Also, the amount of current flowing through the resistor may equal the current drawn by the actuator. Since current drawn by the actuator is a function of the loading applied to the actuator, the calculated amount of current can be used to detect loading at the actuator, and in some instances an amount of loading at the actuator.
The calculated amount of current may be a magnitude of a current peak, a mean square of the measured current, or another measure of current over the duration of time for which the current samples are collected.
At block 640, the one or more processors may control the driving signal used to drive the actuator based on the calculated amount of current. For instance, in the case of a PWM module generating the driving signal, a duty cycle of the driving signal may be increased in response to an increase in the calculated amount of current, and may be decreased in response to a decrease in the calculated amount of current.
The routine 600 of
The example routine 600 may be applied to actuators included in various devices such as handheld devices and wearables, including but not limited to smartphones and smartwatches.
The example devices and routines described herein have several advantages over prior haptic feedback systems that rely on back-EMF. Firstly, the actuators of the present disclosure do not need to be disconnected from the controller in order to reliably sense loading. Secondly, the current sensing approach requires less space and fewer components that back-EMF sensing, which in turn can reduce time and cost for device production. Lastly, current sensing may be compatible with some applications for which back-EMF sensing is not possible or not practical. Thus, the circuits arrangements and operational techniques described herein yield improvements in device cost, device size, and simplification of device operability.
Although the technology herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present technology. For example, although some embodiments described herein discuss parameters of an “app,” it is merely illustrative and it should be recognized that the same principles may be applied to other programs used by multiple users even if such a program is not generally considered to be an “app.” It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present technology as defined by the appended claims.
Most of the foregoing alternative examples are not mutually exclusive, but may be implemented in various combinations to achieve unique advantages. As these and other variations and combinations of the features discussed above can be utilized without departing from the subject matter defined by the claims, the foregoing description of the embodiments should be taken by way of illustration rather than by way of limitation of the subject matter defined by the claims. As an example, the preceding operations do not have to be performed in the precise order described above. Rather, various steps can be handled in a different order, such as reversed, or simultaneously. Steps can also be omitted unless otherwise stated. In addition, the provision of the examples described herein, as well as clauses phrased as “such as,” “including” and the like, should not be interpreted as limiting the subject matter of the claims to the specific examples; rather, the examples are intended to illustrate only one of many possible embodiments. Further, the same reference numbers in different drawings can identify the same or similar elements.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2021/050045 | 9/13/2021 | WO |