Uncategorized

How to troubleshoot a DRV8833 motor driver module problem?

How to troubleshoot a DRV8833 motor driver module problem?

Ask QuestionAsked 10 days agoActive yesterdayViewed 203 times1

I am trying to control a DC Motor with a DRV8833. To be precise, I have this module from MJKDZ (which, I believe, is not the original one from TI).

I measure the voltage on the input pins, they are as expected, but the output pins have 0 V. My input pins have those values:

GND :  0 V (connected to ground)
VCC : +5 V (from a battery power)
IN1 : HIGH (+3.7 V from an ESP32).
IN2 : LOW  (0 V)
IN3 : not connected
IN4 : not connected

Every output pin has 0V (including “ULT”, which may indicate a fault condition). All grounds (ESP32, battery, etc) are connected.

I am wondering how I can “debug” what’s going wrong.

Do you think I may have overheated it while soldering the pin sockets (I learned soldering when I was a kid from my father probably like many of you, but I didn’t do it for a while and now I am terrible at it)? Or could it be an over-current issue?

So, just to be sure that the issue is really on this particular module, could I try connecting an even simpler circuit like this (basically excluding things related to ESP32):

GND :  0 V (connected to ground)
VCC : +5 V from regular power
IN1 : +5 V from regular power (HIGH)
IN2 :  0 V (connected to ground) (LOW)
IN3 : not connected
IN4 : not connected

and expect the potential difference between OUT1 and OUT2 to be 5 V ?motor-controllershareedit  follow edited Nov 10 at 10:42tlfong011asked Nov 9 at 20:19Onur Celebi5955 bronze badges

  • 1It looks like You burned it somehow – fifi_22 Nov 9 at 21:07
  • 2Have you connected the “EEP” pin to anything? I’m assuming that this pin corresponds to the DRV8833’s SLEEP pin (in the same way that ‘ULT’ probably corresponds to FAULT). According to the DRV8833 datasheet that pin has an internal pull-down, which will disable the device if left unconnected. – brhans Nov 9 at 22:37
  • 1A key problem here is that you are not asking about the chip itself, but rather about a mystery module, and so leaving key details of the chip connection unspecified. We might also ask if the module is correctly manufactured with the chip well aligned and soldered; we could even ask if the chip installed is actually a DRV8833 at all. – Chris Stratton Nov 9 at 22:50
  • 1@brhans you are right, it was the EEP pin. On this image I thought the jumper not been soldered, letting EEP unconnected would enable the device, but it was the opposite. – Onur Celebi Nov 13 at 11:05

add a comment

2 Answers

ActiveOldestVotes4

@brhans you are right, it was the EEP pin. On this image I thought the jumper not been soldered, letting EEP unconnected would enable the device, but it was the opposite.

Thank you very much @brhans @chris-stratton @fifi-22 @tlfong01shareedit  follow answered Nov 13 at 11:08Onur Celebi5955 bronze badges New contributor

add a comment-3This question’s answers are a community effort. Edit existing answers to improve this post. It is not currently accepting new answers or interactions.

Update 2020nov18hkt1715

drv8833 pwm setup

YouTube of DRV8833 Driving a 12VDC GB37 Gear Motor PWM 12.5kHz, 50% Duty Cycle

DRV8833 Motor Driver Testing – tlfong01 2920nov18


Update 2020nov18hkt1521

DRV8833 hardware setup for manual jumper signal testing

drv8833 testing manual

Summary – IN1, IN2 jumper wire signals to (a) 0V, 3V3 and (b) 3V3, 0V to make sure motor moves CCW and CW. Results = OK.


Question

How to debug my DRV8833 motor driver module?

Details of problem

  1. All module output pins (including the fault status pin) measure 0V.
  2. Voltage source (battery), and MCU (WiFi Controller ESP32) have grounds shorted.
  3. Module pins were soldered by a not very experienced hobbyist and therefore module might be damaged

op drv8833

drv8833 spec summary

drv8833_block_diagram

drv8833 schematic

Answer

Update 2020nov17hkt1511

The OP has confirmed that he forgot to enable the DRV8833 by shorting the EEP (Sleep) jumper cap, therefore causing all zero’s at output pins. I hope to make a follow up remark later, including a reminder for future readers and DRV8833 newbies.


Update 2020nov10hkt2216

I just read that some DRV8833 output signal pins should not be connected to ground, or damage would arise:

(1) Using the DRV8833motor driver – Ulrich Buschbaum 2014oct28

I need to verify this later.


Introduction

(1.0) This is a interactive/live answer in Agile (sort of chatting over) software engineering system development methodology style, to solve a debugging/troubleshooting problem.

The OP and all readers are welcome to interrupt this not yet completed answer any time to ask questions to clarify things, suggest ways to improve the answer, and point out any mistakes.

(1.1) To debug the motor driver, first thing first to read the following:

(a) Product sheet of the assembled breakout module to get a rough idea of the power requirements and function of the pin outs (which might be different from the chip datasheet.

(b) Datasheet of the chip, to get a rough idea of what external components are used to assemble the module.

(c) Schematic of the module.

To make the OP’s question more specific, (a) to (c) above is appended to his question.


Short Answer


drv8833 / DRV8871

(1.2) Troubleshooting/Testing Plan

The OP seems to be a newbie in motor driver DRV8833. He might also not that experienced in using WiFi controller ESP32 to do testing and debugging. So I will try to explain my suggested troubleshooting procedure as simple as possible.

I will start without using ESP32, and do a manual testing, to make sure the module can output something, and not as the OP was worrying, overheating and fried the module while soldering the module pins.

I will also start troubleshooting without using any motor, because even though DRV8833 has flyback protection diodes to absorb any huge back EMF voltage/current spikes when the inductive coils of the motor is switched off.

Instead of the motors, I will use a series resistor and a status LED to indicate the motor switch is turned on or off. And I will test just one motor switch to start of, because if one motor switch works, the other motor switch should be very likely also OK. Now this is a summary of the test setup:

(a) Put away ESP32 and motors. We will just use jumper connecting wires and connect by hand to Vcc or Ground as input driving signals to the DRV8833 module.

(b) For the output side, connect a 1kΩ resistor with a LED across the terminals +, – (Bout1, Bout2, as indicated in the following Adafruit DRV8833 schematic) originally for output to drive Motor A.

(c) Now the input side. We will just entertain Motor A, and forget Motor B, and the current sensing inputs ASENSE, BSENSE. So, we will will use 5 jumper connecting wires AIN1, AIN2, SLP (Sleep), FLT (Fault) and GND (Ground). Of course we also need to connect the motor power VM.

(d) I read Lada Ada in her DRV8833 overview that the other motor driver Toshiba TB6612FNG is very similar and have identical pin outs. So it is a good idea to test both drivers at the same time, comparing and contrasting for easy pairing/swapping troubleshooting. More details about TB1162FNG can be found in Ref (4) below.

/ to continue, …


Long Answer


References

(1) DRV8833 Module Driver Module – Ardushop €1.28 (This is the OP’s driver module)

(2) DRV8833 Dual H-Bridge Motor Driver – TI 2011/2015 (The datasheet of DRV8833 by TI)

(3) Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board Overview – Lady Ada

(4) Comparing DC Motor Drivers – EESE 2020jul16 (11.7/11.8 TB6612FNG)

(5) DRV8871 3.6-A Brushed DC Motor Driver With Internal Current Sense (PWM Control) Datasheet – TI

(6) DRV8871 H-Bridge Motor Driver Module with PWM Control Interface – AliExpress US$3

(7) AdaFruit DRV8871 Brushed DC Motor Driver Breakout – User Guide and Documantation – Lady Ada

(8) AdaFruit DRV8871 Assembly Notes

(9) Adafruit Current Limiting Stepper Driver with DRV8871 Overview – By Bill Earl

(10) Adafruit Guide To Excellent Soldering (for the OP inexperienced in soldering)

(11) AliExpress DiyMore DRV8871 6V5~45V PWM Control Single H-Bridge DC Motor / Stepping Motor Driver Module Board – US$3

(12) Understanding Motor Driver Current Ratings, Application Report SLVA505 February 2012, Peter Millett, Motor Drive Business Unit, TI

(13) L293D DC Motor Driver Control with STM32 – EG Projects, Engineering Garage 2019apr

(1) DRV8833 Imgur Video


Appendices

Contents

1. Appendix A – AdaFruit DRV8833 Notes

2. Appendix B – AliEXpress/TaoBao DRV8833 Notes

3. Appendix C – AliExpress/TaoBao TB6612FNG Notes

4. Appendix D – Lady Ada’s Overview on DRV8871, an improved version of DRV8833

5. Appendix E – tfong01’s DRV8871 Testing Notes


Appendix A – DRV8833 Overveiw by Lada Ada

Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board Overview – Lady Ada


drv8833 adafruit

Spin two DC motors or step one bi-polar or uni-polar stepper with up to 1.2A per channel using the DRV8833.

  1. With DRV8833, you get 2 full H-bridges.
  2. This chip is better for low voltage uses (can run from 2.7V up to 10.8V motor power) and has built in current limiting capability.
  3. You set it up for 1A current limiting so you don’t get more than 2A per chip, but you can also disable the current limiting, or change it to a different limit!
  4. The DRV8833 breakout has a polarity protection FET on motor voltage input.
  5. Each breakout chip contains two full H-bridges (four half H-bridges). That means you can drive two DC motors bi-directionally, or one stepper motor.
  6. Make sure they’re good for about 1.2 Amp or less of current, since that’s the limit of this chip. They do handle a peak of 2A but that’s just for a short amount of time, if you turn off the current limiting.
  7. What we like most about this particular driver is that it comes with built in kick-back diodes internally so you dont have to worry about the inductive kick damaging your project or driver!
  8. You also don’t have to worry as much about burning out the chip with overdriving since there is current limiting.
  9. There’s two digital inputs per H-bridge (one for each half of the bridge), you can PWM one of the inputs to control motor speed.
  10. Runs at 2.7V-10.8V logic/motor power.
  11. The motor voltage is the same as the logic voltage, but logic voltage from 2.7V or greater will work so no need to worry if you are powering the motors from 9V and using 3.3V logic.
  12. For higher voltages, check out the TB6612. For much higher voltages and currents check out the DRV8871!

Lada Ada


Appendix B – TaoBao/AliExpress DRV8833 Motor Driver Testing Notes

taobao drv8833 product

taobao_drv8833 module pin out

Appendix C – DRV8833 PWM Input Problem

I found that the DRV8833 module does not have any input pins for PWM speed control, like L298N and TB6612FNG.

Though DRV8833 has other pins such as Sleep, Fault, Current Sense, which should be useful for battery operated, mobile applications. However, these features are not useful my smart home applications,

So I am now testing TB6612FNG first, and only after testing OK PWM control, would go back to DRV8833 without PWM, or DRV8871 with PWM interface.


Appendix D – Lady Ada’s Overview on DRV8871

Adafruit DRV8871 Brushed DC Motor Driver Breakout Overview – By lady ada 2016

DRDV8871 Overview by Lady Ada

Crank up your robotics with powerful Adafruit DRV8871 motor driver breakout board. This motor driver has a lot of great specs that make it useful for a wide variety of mechatronics. In particular, the simple resistor-set current limiting and auto-magic PWM support make it super easy to use with almost any brushed DC motor.

Check out the specs for the DRV8871:

  1. 6.5V to 45V motor power voltage
  2. Up to 5.5V logic level on IN pins
  3. 565mΩ Typical RDS(on) (high + low)
  4. 3.6A peak current
  5. PWM control
  6. Current limiting/regulation without an inline sense resistor
  7. Undervoltage lockout
  8. Overcurrent protection
  9. Thermal shutdown

Using it is super simple. Connect your motor to the OUT terminal block. Power the board with 6.5-45VDC power on VMotor and provide the H-bridge input control on IN1 and IN2. You can even PWM the inputs and the driver chip will do the right thing.

You can set the current limiting with an external resistor Rlim. We solder in a 30K resistor by default for a ~2A current limit, however you can remove this resistor and/or solder a resistor over it to change the resistance and change the limit. – Lady Ada


Appendix E – tlfong01’s DRV8871 Testing Notes

Update 2020nov17hkt1458

The OP has confirmed that he forgot to enable the DRV8833 by shorting the jumper.

(This remark is out of date) I still have not received the OP’s confirmation on the details of his hardware and software configuration. In the mean time, I found another question on DRV8871, so I am now diverting to DRV8871, and would come back when the OP replies.


drv8871-1

drv8871 schematic

drv8871 v0.1

/ to continue, …


shareeditedited yesterdayanswered Nov 10 at 4:09tlfong011

  • 1fyi – See brhans answer as confirmed in Onur Celebi’s answer where he confirms that floating the EEP pin caused his problem. – Russell McMahon 2 days ago
  • @Russell McMahon, Many thanks for your help. So I have updated my remark in Appendix E of my answer. Cheers.. – tlfong01 2 days ago

comments disabled on deleted / locked posts / reviewsAdd Another Answer

Not the answer you’re looking for? Browse other questions tagged motor-controller or ask your own question.

.END

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.