Adafruit DRV2605L Haptic Motor Controller

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
Plasticsrepent
 
Posts: 73
Joined: Wed Dec 07, 2016 8:01 am

Adafruit DRV2605L Haptic Motor Controller

Post by Plasticsrepent »

I'm only one week into the world of Arduino, so I have an immense amount of learning ahead of me. With that being my skill level, I have a couple of questions.
My project requires that I run two 24V DC vibration motors ranging from size RS-385, up to RS-455 depending on the requirements of the specific project. Some of these motors can draw as much as 3 amps. I need to have them spin both in forward and reverse. A braking feature for fast direction changes would be great, and they must also have the ability to change speeds. I start with a 110VAC to 24VDC 10A power supply and build from there. I haven't used them yet, but I have some small DC-DC 3A power Step-Down Adjustable Buck Converters 24V To 12v 9V 5V 3V for Arduino, which I can use if needed to possibly power the Arduino Uno SMD addition. UPS tells me I will receive my Adafruit order on Monday Dec 12th. The order includes an Adafruit DRV8871 DC motor driver which I think can do what I've described so far. (Any wiring or code suggestions would be greatly appreciated) As I was placing that order, I saw this incredibly interesting device. It's the Adafruit DRV2605L Haptic Motor Controller.
I added one of them to my order on the possibility I might be able to incorporate the wide variety of vibration patterns into an occasional project.
So that's what I'm trying to do. I assume the DRV2605L isn't designed, or intended to handle the sort of power draw required by my motors, but the DRV8871 is.
Finally, my questions are, can I combine the two drivers in such a way to have the DRV8871 handle the heavy lifting, and the DRV2605L tell my motors to make all those cool moves? How would it be wired, and please, please, some code to get me started!

Thank you so much for any help you can provide

Larry

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit DRV2605L Haptic Motor Controller

Post by adafruit_support_mike »

You should be able to drive the DRV8871 with signals from a DRV2605.

How well that will work for multi-amp motors is a more complicated question.

The DRV2605 is designed for small vibration motors, and those don't have much momentum. Larger motors with more mass might not even notice what the DRV2605 is trying to do.

User avatar
Plasticsrepent
 
Posts: 73
Joined: Wed Dec 07, 2016 8:01 am

Re: Adafruit DRV2605L Haptic Motor Controller

Post by Plasticsrepent »

Thank you for the fast reply.
In this case, does the DRV2605L replace the Arduino altogether, providing input signals to the DRV8871, and running it's own sketch instead of one uploaded to the Arduino? I would like to test it, but don't have a clue how to wire it.

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit DRV2605L Haptic Motor Controller

Post by adafruit_support_mike »

You'll still need a microcontroller.

The DRV2605 has a built-in ROM library of pulse patterns, but the microcontroller tells it which pattern to play. There is a 'triggered output' mode that plays a pattern when the DRV2605 sees a signal on one of its input pins, but you still need a microcontroller to configure the pattern and pin.

User avatar
Plasticsrepent
 
Posts: 73
Joined: Wed Dec 07, 2016 8:01 am

Re: Adafruit DRV2605L Haptic Motor Controller

Post by Plasticsrepent »

Thanks Mike.
The fog is beginning to clear, but I still need newbie level help on how to make the wiring connections between the
Arduino---->The DRV8871 driver----> and the DRV2605L Haptic Motor Controller. Of course I also desperately seek help on a sketch to make all this happen.
Input from anyone is welcomed.

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit DRV2605L Haptic Motor Controller

Post by adafruit_support_mike »

You need to connect the output of the DRV2605 (which generates the signals) to the input of the DRV8871 (which provides the power). Then you connect the output of the DRV8871 to the motor.

Any of the sketches in the DRV2605 library should get you started.

User avatar
Plasticsrepent
 
Posts: 73
Joined: Wed Dec 07, 2016 8:01 am

Re: Adafruit DRV2605L Haptic Motor Controller

Post by Plasticsrepent »

I apologize for being so slow (new) but I'm still very unclear. Is it still connected to the Arduino as shown in the tutorial, and by connect the output of the DRV2605 (which generates the signals) to the input of the DRV8871 (which provides the power), do you mean the motor pads on the DRV2605? Or is the output you speak of different, and which pins do I connect to on the DRV8871?
If you were to do a wiring diagram showing the connections between the Arduino, DRV2605, DRV8871, to the motor, I promise not to ask any more questions.

Thanks

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit DRV2605L Haptic Motor Controller

Post by adafruit_support_mike »

Connect the DRV2605 to the Arduino as shown in the tutorial, then connect the DRV2605's motor outputs to the inputs of the DRV8871 as if it was a motor. Then connect the DRV8871's motor outputs to the motor.

User avatar
Plasticsrepent
 
Posts: 73
Joined: Wed Dec 07, 2016 8:01 am

Re: Adafruit DRV2605L Haptic Motor Controller

Post by Plasticsrepent »

Thanks for hanging in there Mike.
So the DRV2605 obviously has one +, and one -, motor outputs. Are you saying to connect those to the IN1, and IN2 pins on the DRV8871? Does it matter which IN pin is connected to +?

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit DRV2605L Haptic Motor Controller

Post by adafruit_support_mike »

Plasticsrepent wrote:Are you saying to connect those to the IN1, and IN2 pins on the DRV8871?
Yes.
Plasticsrepent wrote:Does it matter which IN pin is connected to +?
Nope. Both signals will go high and low, so the order of connections doesn't matter.

User avatar
Plasticsrepent
 
Posts: 73
Joined: Wed Dec 07, 2016 8:01 am

Re: Adafruit DRV2605L Haptic Motor Controller

Post by Plasticsrepent »

It works fantastically! I'm running a big 2 amp vibration motor, and everything seems happy.

Thank you Mike

User avatar
Plasticsrepent
 
Posts: 73
Joined: Wed Dec 07, 2016 8:01 am

Re: Adafruit DRV2605L Haptic Motor Controller

Post by Plasticsrepent »

I may have spoken prematurely.
I was thrilled when the first motor I hooked up worked perfectly, by performing each effect from the DRV2605 library as expected. By connecting the motor outputs from the 2605 to in1, and in2 of the DRV8871, as you suggested, it seemed almost too easy. It was! That first motor is a very high-quality, 24V, all ball bearing, metal brushed, coreless motor. I measured it's full load current at 1.25 amp. Full load in this case is a 23 gram, highly eccentric rotating mass, aprox 7000RPM at 24V. There were absolutely no problems. Except, that motor is 30 mm in diameter, and the project I'm working on now won't work with anything larger than 27.5 mm. I have piles of those things, so I started testing. After the 11th motor failed to work, I stopped testing, to start thinking. I eventually came up with a wild guess based on my observations. The smaller motors would wiggle back and forth slightly, then stop for a moment, and then wiggle again. Not all of the effects from the demo library are of the same duration, and I noticed the wiggles coincided precisely with the start of each new effect, as observed on the serial monitor. I'm guessing, Or actually wondering, could these lower quality motors, with heavy cores, and in most cases, higher full load current requirements, have starting current appetites, that bump up above the 2 amp current limiting feature of the DRV8811? It looks like the motor tries to run the effect, only to stop until it tries to run the next one. Does that seem at all likely to be the problem?

The particular motor I would prefer to use on this project is an RS-395SH 24V regular carbon brushed motor, which requires 1.7 amps when running at full load.
Is it possible I can solve this problem by changing the RLIM resistor on the DRV8871? What amperage would you recommend I increase the current limit to, and what resistor is required to accomplish that? Also what wattage resistor is needed, and do I bridge over the existing resistor, or do I need to remove it?
Almost there!

Thank you

User avatar
noxxsound12
 
Posts: 4
Joined: Sun Jan 27, 2019 12:53 pm

Re: Adafruit DRV2605L Haptic Motor Controller

Post by noxxsound12 »

Hello,

Thank you both for your informations!

I'm running in the exact same issue here ...

The DRV2605 is performing really well with any motors below 5V. I wanted to use a more powerful DC motor therefore I've added a L298N DC driver and connected the output of the DRV2605 to the input of the L298N driver.

Unfortunately, in this setup we can see that all motors (from 12 to 24V) that I'm connecting to the L298N aren't able to take up some speed. From what I am assuming, they are trying but the weight momentum seem to big compare to the signal speed of the DRV2605 ... that's really a shame but when you think about it, it make total sense.

When the DRV2605 would take 10ms to start a small motor, it would maybe take 100ms for a larger one however, during those 100ms, the DRV2605 might be delivering other signals already.

My questions are:
1/ if we were to overpower the motors to "help" them start much faster, would that help? Would that even be possible?
2/ Do you see a workout around this? In the previous post, you talked about the changing the resistor, which one are you referring to? Did it worked on your side?

Any one has another suggestion?

My main goal is to be able to drive a 12V ERM motor out of a sound signal (AC) ... the DRV2605 seemed to be the perfect fit that usecase but maybe not, any other way to do that without the DRV2605?

Do you think that a DRV8871 DC Motor Driver could solve this? It has a hight current output peak.

Thanks a lot in advance for your responses

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”