SUCCESS !!! - well sort of. I can now make an LRA vibrator click and pop and hum - very weakly, but it's definitely progress.
Recently, I posted about finding (I thought) a mythical LRA vibration motor. After spending the last few hours combing through the 62 page spec-sheet for the DRV2605L Haptic Motor Driver Chip from Texas Instruments, I'm almost certain it really is an LRA vibrator.
I'm using the Adafruit Haptic Motor controller board for the chip, so I'm also using Adafruit's library. Sparkfun also sells the same type of board along with a library. Both manufacturers have an excellent, easy-to-use implementation for driving standard ERM vibrators (lots of fun). And both have a function for sending audio signals, like music or voice, to an LRA. However, neither has a good example for the command set for LRAs.
Now I understand why, and it's not the fault of Adafruit or Sparkfun - the LRAs themselves are picky and tricky and each one is unique. The driver chip needs a lot of info about the physical operation of the LRA. There are lots of register bits to set and obscure mathematical formulas to deal with before the LRA resonates properly.
Although both libraries give you easy access to these register values, it doesn't do me much good because I don't have enough info about this specific LRA so I don't know what values that motor needs in those slots. Properly tuning the resonance for these motors seems more like a job for a skilled luthier, not an electronics hobbyist.
Nevertheless, I bravely went into the core CPP and H files (a scary thing for me) and set the hex values for some registry slots (according to page 15 of the manual). And what do you know - it works. The LRA moves and every one of the waveforms is distinct. Short or sharp or ramped or rumbling, they are all very distinct. But I have to have my finger touching the vibrator to feel them. When the vibe was still in a phone it would rattle my knee caps. So I'm still doing something wrong.
Compare this to using an ERM. The simple ERM just slings an off-balance weight around a shaft. It's easy to configure and the pulse is powerful. But the waveforms feel almost the same. Out of about 100 different waveforms, I can sense maybe five different feelings. The rotating mass just doesn't stop or start quickly enough, so the difference between a short pulse and a long one is negligible. A double or triple pulse feels like single pulse because the mass is still moving when the next pulse hits.
There may be ways to brake the ERM quicker, I'll explore more and report back. I know when I was making a haptic gaming chair I would hit the rumble-motors with a quick reverse or braking command to create a much sharper and stronger sensation. There could be commands for ERMs in these libraries that I just don't know about yet.
If I can find a well documented LRA cheaply enough I might get one or two. Until then I'll play with this scavenged one and randomly change values. I'm not the only one struggling with this issue of LRAs, so there are some good forum posts about it. But this whole process reminds me of the bad old days when electronics were obscure and difficult and confusing.
On a positive note, if the corporate "they" see enough of us playing with this (spending money) one of them will make us a nicely documented, simple to use LRA so we'll all buy them. Just sayin...
Disclaimer and Social
This page may contain affiliate links. As an Amazon Associate I earn from qualifying purchases.
Showing posts with label ERM. Show all posts
Showing posts with label ERM. Show all posts
Wednesday, May 30, 2018
Friday, April 13, 2018
Mythical Vibrator Found?
I might have found one of the legendary LRA vibration motors. I can't be sure yet, but all the signs are there. It looks like a standard ERM, but it acts more like a piezo and its magnet is incredibly powerful. (Check out the update - it is and it kind of works)
What's the big deal? Well the LRA (Linear Resonant Actuator) is rumored to have a better feel for haptic feedback devices. When your phone vibrates, or the screen clicks or taps or buzzes when you touch it - that's an LRA.
An LRA acts like a speaker. When current is applied, a weight moves back and forth in a linear motion. Like a speaker, this allows you to create complex waveforms that can be felt kind of like you hear waveforms in music.
Compared to a regular ERM (Eccentric Rotating Mass) vibrator, LRAs provide a wider range of sensations. That's why they're used for tactile feedback in all your phones.
You can find standard ERMs everywhere, from the tiny disk shaped motors in a bristlebot, to the huge versions in your back massager. They are cheap, readily available and easy to work with. But they have a very limited vocabulary. All you can really do is adjust the speed and duration. Even with modern controllers, you can't use ERMs for sophisticated feedback tasks.
By contrast, LRAs are difficult to source and many use connector sizes I'm not comfortable working with. You also need to be either a serious programmer or buy a specialty controller board to use them. I do own one of those controller boards, a haptic feedback driver, so I can test my newly found vibe as soon as I figure out how to tweak the registers. Luckily, this motor is also large enough and uses connectors that I can see without a magnifying glass.
If I get it working without blowing anything up, I will certainly post my experiences here.
What's the big deal? Well the LRA (Linear Resonant Actuator) is rumored to have a better feel for haptic feedback devices. When your phone vibrates, or the screen clicks or taps or buzzes when you touch it - that's an LRA.
An LRA acts like a speaker. When current is applied, a weight moves back and forth in a linear motion. Like a speaker, this allows you to create complex waveforms that can be felt kind of like you hear waveforms in music.
Compared to a regular ERM (Eccentric Rotating Mass) vibrator, LRAs provide a wider range of sensations. That's why they're used for tactile feedback in all your phones.
You can find standard ERMs everywhere, from the tiny disk shaped motors in a bristlebot, to the huge versions in your back massager. They are cheap, readily available and easy to work with. But they have a very limited vocabulary. All you can really do is adjust the speed and duration. Even with modern controllers, you can't use ERMs for sophisticated feedback tasks.
By contrast, LRAs are difficult to source and many use connector sizes I'm not comfortable working with. You also need to be either a serious programmer or buy a specialty controller board to use them. I do own one of those controller boards, a haptic feedback driver, so I can test my newly found vibe as soon as I figure out how to tweak the registers. Luckily, this motor is also large enough and uses connectors that I can see without a magnifying glass.
If I get it working without blowing anything up, I will certainly post my experiences here.
As an Amazon Associate I earn from qualifying purchases.
Shop through our Amazon links to help support this site.
Shop through our Amazon links to help support this site.
Also find me on:
Subscribe to:
Posts (Atom)

