Driving Haptic Vibration and Feedback in Wearables
Augmented reality, virtual surgery, limb replacements, medical devices, and other new technologies need to incorporate haptic vibration motors and feedback to give the wearer a full sense of how they are interacting with their environment. Unless these cutting-edge applications include haptic vibration and feedback, users are forced to rely on their other four senses to understand the real or virtual environment. Low cost components to support haptic feedback have been available since the days of clamshell cell phones to support these applications, and designers are only limited by their imagination.
After a recent inquiry by a new client, I’ve had to jump into the world of haptic vibration and feedback. If you’re an audio electronics designer, then you’re likely familiar with transducers and how to pair them with amplifiers, MCUs, or other components. Whether or not you’re familiar with transducers, there is an embedded software problem to be solved, particularly when you consider the sensors being used to trigger haptic feedback.
Choosing a Haptic Vibration Motor
A haptic vibration motor comes in two varieties: variable amplitude and variable frequency. Obviously, these motors can be broken down into different motor structures, such as vertical oscillating, linear, and eccentric rotating mass (ERM) vibration motors. The ERM motors were common in old pagers and early cell phones. Vertical oscillating motors and linear motors are similar in the way they drive a force against a package. These motors can be mounted to the board or to the package over a pair of wires.
The coin/pancake style shown above is basically an amplitude-controlled DC motor, where the frequency can be varied from ~10000 to ~15000 RPM by varying the DC voltage seen by the motor. The DC voltage required to drive these motors typically ranges from 2 to 5 V, and the devices require between ~50 to ~100 mA. A number of studies over the past 2 decades have found that the optimal vibration frequency for haptics ranges from 150 Hz to 180 Hz. AC versions are also available (see the table below).
Another type of haptic vibration motor is a linear resonant actuator (LRA). This type of motor has a strong resonance within a narrow bandwidth. These devices shouldn’t be used with frequency controlled haptics, but they are very useful for voltage-controlled haptics, as they will respond at the driving frequency (i.e., they are an AC motor).
Impedance Matching or Impedance Bridging?
Bringing these motors into a real system is not such a challenge, as they do not create the same conducted and radiated EMI problems as larger motors. If placed on the board (i.e., as an SMD component), they should be placed near the board edge and near the region that will allow the user to best perceive the vibration. Lay out boards for these components as you would any other small DC/AC motor.
Due to the voltage and current requirements, there is always a question of impedance matching vs. impedance bridging when connecting a vibration motor to a driver. Haptic vibration motors are essentially transducers that output a specific low frequency mechanical vibration in response to a low frequency electrical signal.
If you read some tutorials on transducers, even on heavily technical popular websites, you’ll find some design recommendations that state impedance matching between the source IC and a transducer is required. This was just such advice one would find on EDN and Hyperphysics, until several complaints forced the site owners to change their content. Whether impedance matching or impedance bridging should be used depends on the nature of the driver.
If the driver is effectively a current-controlled voltage source (i.e., low output impedance), then impedance bridging should be used to transfer high output voltage to the motor. This is basically what is done with modern audio equipment. However, if the driver has the converse functionality, the motor should be selected such that its impedance is much lower than the source impedance. Transmission line effects are not relevant here as we are operating in the 100’s of Hz.
Haptic Feedback Algorithms
An important part of haptic feedback is varying the vibration sensation as some other input into the system changes. Data can be input into the system alongside some measurements from external sensors and used to control the haptic vibration intensity. These systems can be open loop or closed loop systems, and they resemble the control strategies used in industrial control systems.
Haptic feedback algorithms are lightweight enough to be embedded in an MCU or small FPGA, as long as the device has enough inputs to support the other functions in the product. Haptic feedback algorithms still need to be designed to particular products, and these algorithms are still an active area of scientific and engineering research.
If you plan to incorporate haptic vibration and feedback into a new PCB, you should use the CAD tools in Altium Designer® to layout your new board and place component models for your haptic vibration motor. The MCAD tools can help you design your board to neatly fit its enclosure and prepare for manufacturing.