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
Adafruit DRV2605L Haptic Motor Controller
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- Plasticsrepent
- Posts: 73
- Joined: Wed Dec 07, 2016 8:01 am
- adafruit_support_mike
- Posts: 67391
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Adafruit DRV2605L Haptic Motor Controller
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.
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.
- Plasticsrepent
- Posts: 73
- Joined: Wed Dec 07, 2016 8:01 am
Re: Adafruit DRV2605L Haptic Motor Controller
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.
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.
- adafruit_support_mike
- Posts: 67391
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Adafruit DRV2605L Haptic Motor Controller
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.
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.
- Plasticsrepent
- Posts: 73
- Joined: Wed Dec 07, 2016 8:01 am
Re: Adafruit DRV2605L Haptic Motor Controller
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.
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.
- adafruit_support_mike
- Posts: 67391
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Adafruit DRV2605L Haptic Motor Controller
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.
Any of the sketches in the DRV2605 library should get you started.
- Plasticsrepent
- Posts: 73
- Joined: Wed Dec 07, 2016 8:01 am
Re: Adafruit DRV2605L Haptic Motor Controller
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
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
- adafruit_support_mike
- Posts: 67391
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Adafruit DRV2605L Haptic Motor Controller
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.
- Plasticsrepent
- Posts: 73
- Joined: Wed Dec 07, 2016 8:01 am
Re: Adafruit DRV2605L Haptic Motor Controller
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 +?
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 +?
- adafruit_support_mike
- Posts: 67391
- Joined: Thu Feb 11, 2010 2:51 pm
Re: Adafruit DRV2605L Haptic Motor Controller
Yes.Plasticsrepent wrote:Are you saying to connect those to the IN1, and IN2 pins on the DRV8871?
Nope. Both signals will go high and low, so the order of connections doesn't matter.Plasticsrepent wrote:Does it matter which IN pin is connected to +?
- Plasticsrepent
- Posts: 73
- Joined: Wed Dec 07, 2016 8:01 am
Re: Adafruit DRV2605L Haptic Motor Controller
It works fantastically! I'm running a big 2 amp vibration motor, and everything seems happy.
Thank you Mike
Thank you Mike
- Plasticsrepent
- Posts: 73
- Joined: Wed Dec 07, 2016 8:01 am
Re: Adafruit DRV2605L Haptic Motor Controller
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
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
- noxxsound12
- Posts: 4
- Joined: Sun Jan 27, 2019 12:53 pm
Re: Adafruit DRV2605L Haptic Motor Controller
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
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
Please be positive and constructive with your questions and comments.