Quantcast
Channel: Motor drivers forum - Recent Threads
Viewing all 14309 articles
Browse latest View live

DRV8711: DRV8711DCPR

$
0
0

Part Number:DRV8711

Hi , 

We would like to use below TI motor driver part in our existing design. part is as below

DRV8711DCPR

In existing design  we have used controller which does not have SPI interface. 

If we need to interface with our exiting micro controller is it possible to use it in parallel or IO mode? as current controller doe not support SPI interface.
Alternately can you pl. suggest any chip for this ? so that we can use motor driver in IO mode. We need at least 128 micro steps. 

Pl. revert at urgent. 

Thanks in advance.

Regards,
Amod

 

 


DRV8873-Q1: Is there any concern to drive Brushless motor by using DRV8873-Q1?

$
0
0

Part Number:DRV8873-Q1

Hello Team,

I'm Yuta Kurimoto TIJ FAE.

I got a question from customer about DRV8873-Q1. They want to drive 3-phase brushless motor by using DRV8873-Q1.

Of course I know we have portfolio of dedicated brushless motor driver but DRV8873-Q1 will be passed customer's certification so customer want to use DRV8873.

Q1. Is there any concern to drive brushless motor by using DRV8873-Q1?

Customer especially worried about below sentence.

"TI does not recommend tying the OUT1 and OUT2 pins together and drive a load. The half bridges may be out of synchronization in this configuration and any mismatch in the input commands can momentarily result in shoot through condition. This mismatch can be mitigated by adding an inductor in-line with the outputs."

Block diagram image is like below. They will use 3 half bridge.

Thanks,

Yuta Kurimoto

DRV8885: setting M0 and M1 about DRV8885

$
0
0

Part Number:DRV8885

About setting of M0 and M1,
Are there any restrictions when switching settings during operation?
For example, Non-Circular 1/2→1/2 step→Non-Circular 1/2
Regards,

DRV8711: DRV8711 OCP

$
0
0

Part Number:DRV8711

Hi Team,

The customer is experiencing below issue and needs your help.

********************************************************************************************************************************************************************************************

Check resistance is 0.01 Euro, drive voltage is 24V, MOS transistor CSD18531, drive motor running for a period of time began to report BOCP and UVLO errors, clear the mark bit is the same. We also hope to point out which direction to look for the problem.

Thanks.

DRV8870: DRV8870 chip burned down

$
0
0

Part Number:DRV8870

Hi Team,

The customer's board uses 6 DRV8870 to drive the motor. There are 2 problems need your help.
1. The chip burned and the PCB copper was gone.
2. The surface of the chip is not damaged. The customer uses a multimeter to measure the output and it has a voltage. Once loaded, it hasn't output. And the six DRV8870 on the board are like this. I have attached circuit diagram.

The customer said that this was happened at the time of power-on.

DRV8703-Q1: Motor brake not working

$
0
0

Part Number:DRV8703-Q1

Hi,

 

My customer is using DRV8703-Q1, and they are trying to brake the motor, and it is not working correctly.

The Hbridge driver is in Mode 0,

 

 

 

In how much time should the motor stop ?

 

How slow is the slow decay?

 

Their motor seems to be overshooting its position.

 

Is there any application note related to this brake Low side slow decay?

 

Thanks,

Fredrik

BOOSTXL-DRV8323RS: EVAL-Board DRV8323RS: Power Input wires VM and VDrain blow up.

$
0
0

Part Number:BOOSTXL-DRV8323RS

EVAL-Board DRV8323RS: Power Input wires VM and VDrain blow up.

We use the driver eval board to drive a 7 pole pairs BLDC motor (max power approx. 340W). The commutation is done by a CPU with implemented current controller. We are using the board in 6xPWM mode. All internal control registers of the DRV were left on the default values.

Due to errors in the software, the commutation sequence didn’t start right away after power on, because no interrupt from the HALL sensors occurred. So, the BLDC was standing still and the current gauge showed 0,04 A (40mA nominal driver board current), since there was no updated commutation pattern from the CPU.

Meanwhile the current controller recognized the zero current and tried to reach the desired current by increasing the duty cycle. Soon the duty cycle reached 100%, but was not put through to the driver board due to missing interrupt in the CPU. Then, as I poked the BLDC to trigger an interrupt, suddenly a firework began. The PCB routings V_M and V_DRAIN completely burned away and also the case of the driver shows some burned spots. See the marked positions in figure 01 below.

The source voltage was set to 28V and a current limiter was set to 1,6A and DIDN’T trigger during the whole event (!).

On a second, identical driver board, it accidently happened again. The same conditions. The same spots burned away.

See Figure 1 in the attached file.

Due to project specification, we reworked the board slightly. We removed the three low-sided shunts, bridged the shunt terminals and placed only one shunt on Phase A (0,011 Ohm instead of 3 x 0,007 Ohm) to measure only one current value (see the pictures below). Connection was tested and was also working well before the above-mentioned accident.

Further, the soldering pads beneath the screw output terminals for the phases on the first board were damaged due to vibrations during former testing and needed to be bypassed from the MOTA, MOTB and MOTC test pads (see the pictures below). These connections were checked after soldering too and were also working well before the accident. The second board had no damage on any of the terminals.

We don’t understand what can be the reason blowing up the power supply wires on the DRV8323RS. If there was an extremely high current because of the 100% duty cycle, wouldn’t it blow up the MOSFETs or the shunt in the first place? A high Back-EMF blowing up the DRV because of high voltage peaks on the measure inputs (such as SHA, SHB and SHC inputs) seems also very unlikely to us, since the BLDC didn’t even spin up.

We ask the community about similar experience with the Eval-Board and the component DRV8323RS. Is there any explanation what happened?

(Please visit the site to view this file)

In the attached file you will find photos of Board 1 and Board 2.

Board 1 is shown in Figure 2, Figure 3 and Figure 4.

Board 2 is shown in Figure 5, Figure 6 and Figure 7.

DRV8323R: Must DRV8323R use 47nf cap between CPH and CPL pin?

$
0
0

Part Number:DRV8323R

Hi team,

I would like to know DRV8323R must use 47nf cap between  CPH  and CPL pin.  What about 50nf?

Thanks!


DRV8711: DRV8711 sleep mode vs stopped pulses

$
0
0

Part Number:DRV8711

Greetings! I have multiple DRV8711 connected to single PWM uC output! I have to select which drive to operate somehow. Which is better? To put the unselected drives in sleep mode or to use AND logic on the PWM to pass pulses only to the drive I want? If I use sleep mode am I going to have unwanted movement on the motor when the driver switches between sleep mode and active mode?

Thanks!

DRV102F/500 Replacement option with similar current rating

$
0
0

According the Product Discontinuance Notification 20180715000.3 TI announced discontinuance of TO-263 and TO-220 packages affecting the part DRV102F/500, in the PDN TI recommend PN DRV104PWP as replacement with same functionality but not pin-for-pin equivalent and not exactly parametrically equivalent, according each datasheet the part should work as replacement except for the current rating, the driver DRV102F/500 support high output at 2.7A but the proposed DRV104PWP replacement driver only support 1.2A, there is one variant of this driver that remains as high-side switching and support 2.7A too?

(Please visit the site to view this file)

DRV8301: No load, Vds overcurrent flag keeps triggering, PULLING HAIR OUT :)

$
0
0

Part Number:DRV8301

This happens across two identical boards.  I start PWM.  All 3 channels run properly for about 1 second.  Then I get the FAULT and FETHC_OC flags, and the C phase gate outputs goes hi-z.  Both boards do the same thing.  

This is a re-layout (Rev 2) of an identical design, except I changed the FETs and did some rearranging of the parts on the board.  Same exact code on Rev 1 runs fine.  

I trap the fault in the debugger then read the SPI registers, which then confirm what I stated above.

Things I've tried:

  1. Setting OCP_Mode to 2 or 3 - oddly, the channel still turns off - shoudn't this circumvent the protection mechanisms altogether?
  2. Reducing gate drive current - no effect (I also tried higher gate resistance (10 ohm) with no change
  3. Set OC_ADJ_SET to 31 (2.4v).  No effect.
  4. I've looked at all supplies around the driver - they look cleaner than on the older board.  
  5. I've monitored Vds vs gate signal and it looks proper I think.  

I have scope traces galore - can post.  Thanks in advance for any help.  I'm ready to jump out the window right now :(

Here's the parts of the schematic that matter:

DRV8308: Problem with writing and reading all register except 0x00

$
0
0

Part Number: DRV8308

Hi,

I am trying to use the drv8308 on our current project.

I am able to write/read register 0x00 of the chip.

When I try to read any of the other registers, I am reading 0xFFFF back from them (0x01 to 0x2A).

My SPI Speed is 288 KHZ.

My MISO Line has a pull-up resistor.

When I write and read register 0x00, all of the lines are nice and clean (0 to 5 volt signals) according to the scope and logic analyzer.

I have tried reading register 0x2a (Fault register). but all I get back is 0xFFFF. This is the same with all of the registers. All of the other SPI devices on the my SPI bus work perfectly.

I am definitely meeting all of the timing requirements according to the data sheet.

I have also looked at the threads where they are having issues with SPI.

Any thoughts as to why this is happening?

Thanks,

Reif Heck

Finna Sensors

DRV10983-Q1: Driver sends NACK over i2c when attempting eeprom writes

$
0
0

Part Number: DRV10983-Q1

I can read any register I want, EEPROM or otherwise. I can write to the control register for 0xC0DE and read it back. I can set the status register to enable mass write. When I try to write to 0x90, it sends a NACK in response. When I try to set the status register to individual access mode, it sends a NACK in response. If I try to re-send my commands in response to these NACKs, it keeps NACKing. I'm programming it via an MSP430F2618 that's supposed to eventually control it, and it's all soldered together at this point.
code in case that helps.

void write_eeprom(){

//I found two different methods to do this, so as long as there's no directly conflicting information, I'm choosing the most cautious blend of both methods.
//One conflict found: One says to wait for eeReadyStatus = 1 before you do anything else, the other says only wait for eeReadyStatus just before the CONFIG1-7 write.
//Chosen solution: Wait, then write, then wait again, with a loop counter on the first wait that breaks out within like 10 loops in case that's actually just wrong.

//Wait for eeReadyStatus, but only give it 3 tries before we try to move on
uint16_t eeReadyStatus = 0;
uint8_t loop_counter = 3; //Currently only waiting 3 times max, since we've got another wait loop later in the code.
while((eeReadyStatus == 0) && (loop_counter != 0)){
loop_counter--;
delay_ms(10); //Honestly, by the time we get to this line of code the device has probably been on for more than 10ms already, but whatever.
drv_read(DRV_EEPROM2_REG_ADDR, &eeReadyStatus);
//Yes I should maybe use my bits_from_range function but honestly it's just bit 0.
eeReadyStatus &= BIT0; //0x32[0]
}
//Set MTR_DIS =1 to disable the motor driver DRV_EECTRL_REG_ADDR[15]

uint16_t eepByte = 0;
drv_read(DRV_EECTRL_REG_ADDR, &eepByte);
eepByte |= BITF; //And set the only bit I actually care about.
drv_write(DRV_EECTRL_REG_ADDR, eepByte);

//Clear DRV_EEPROM1_REG_ADDR
drv_write(DRV_EEPROM1_REG_ADDR, 0x0000);

//Then we have to write 0xC0DE to DRV_EEPROM1_REG_ADDR
drv_write(DRV_EEPROM1_REG_ADDR, 0xC0DE);

/*~~~~~~~Shenanigans Test~~~~~~~~~~~
//This assumes you already did the safety checks and whatnot.
//we want... 0b(000)(0)(000)(0)(00000)(1)(10)
//for (res)(sren)(res)(er)(res)(ewren)(eam)
//Maybe the reserved bits are throwing me off.
drv_read(DRV_EEPROM5_REG_ADDR, &eepByte);
eepByte |= (BIT1 | BIT2);
drv_write(DRV_EEPROM5_REG_ADDR, eepByte);
//~~~~~~End Shenanigans Test~~~~~~~~~~~~~
*/


//Then we double check eeReadyStatus
//Do we want to clear eeReadyStatus before this to force the check?
//This one doesn't get a loop counter because we actually don't want to go until it's ready
//Though, TODO: add an error out response after some number of loops.
eeReadyStatus = 0;
while(eeReadyStatus == 0){
drv_read(DRV_EEPROM2_REG_ADDR, &eeReadyStatus);
//Yes I should maybe use my bits_from_range function but honestly it's just bit 0.
eeReadyStatus &= BIT0; //0x32[0]
if (eeReadyStatus == 0){
delay_ms(10);
}
}
delay_ms(500);

//Then we write the CONFIG1-7 data
//Current config source: LatestQ1Settings.csv
drv_write(DRV_CONFIG1_REG_ADDR, 0x0079); //DRV10983Q1 0x90 0x79

delay_ms(10);

drv_write(DRV_CONFIG2_REG_ADDR, 0x1A3F); //DRV10983Q1 0x91 0x1A3F
delay_ms(10);

drv_write(DRV_CONFIG3_REG_ADDR, 0x1800); //DRV10983Q1 0x92 0x1800
delay_ms(10);

drv_write(DRV_CONFIG4_REG_ADDR, 0x008F); //DRV10983Q1 0x93 0x8F
delay_ms(10);

drv_write(DRV_CONFIG5_REG_ADDR, 0x3B80); //DRV10983Q1 0x94 0x3B80
delay_ms(10);

drv_write(DRV_CONFIG6_REG_ADDR, 0x3C40); //DRV10983Q1 0x95 0x3C40
delay_ms(10);

drv_write(DRV_CONFIG7_REG_ADDR, 0x002B); //DRV10983Q1 0x96 0x2B
delay_ms(10);

//we want... 0b(000)(0)(000)(0)(00000)(1)(10)
//for (res)(sren)(res)(er)(res)(ewren)(eam)
//which ends up being 0x00 and 0x06

drv_read(DRV_EEPROM5_REG_ADDR, &eepByte);
eepByte |= (BIT1 | BIT2);
drv_write(DRV_EEPROM5_REG_ADDR, eepByte);

//This one doesn't get a loop counter because we actually don't want to go until it's ready.
//Though we do clear eeReadyStatus
eeReadyStatus = 0;
//Though, TODO: add an error out response after some number of loops.
//Also, yes both versions agree that this goes before the MTR_DIS re-enable
while(eeReadyStatus == 0){
drv_read(DRV_EEPROM2_REG_ADDR, &eeReadyStatus);
//Yes I should maybe use my bits_from_range function but honestly it's just bit 0.
eeReadyStatus &= BIT0; //0x32[0]
if (eeReadyStatus == 0){
delay_ms(10);
}
}

//Re-enable MTR_DIS = 0 DRV_EECTRL_REG_ADDR[15]
//Now, that bit is write only, and the rest are read only.
//But, I2C is byte by byte, not bit by bit.
//Furthermore, I don't know what happens when you only access one byte of a register that holds two bytes
//Or what happens when you try to write to a read-only register
//Or what happens when you try to write to a read-only register it tells you not to even access

eepByte = 0;

drv_read(DRV_EECTRL_REG_ADDR, &eepByte); //So, I'm going to read both bytes, in case I2C would get mad if I didn't access them both.
//Possible failure mode: bit 15 is "write only" and the rest are labeled readable but "do not access"
eepByte &= ~BITF; //And set the only bit I actually care about.
drv_write(DRV_EECTRL_REG_ADDR, eepByte); //And write to both bytes, figuring that either they're properly write protected and it won't matter.
//Or they're not actually write protected and I'm avoiding breaking something esoteric.


//If that doesn't work, replace the i2c writes to config1-7 with this:
//put reg_addr in 0x33 (eeprom programming3 register)
//put the data in 0x34 (eeprom programming4 register)
//Which is the the way it works in individual access mode.

}

DRV8836: Body diodes for EMF

$
0
0

Part Number: DRV8836

Hello!

I noticed DRV8836 block diagram shows the body diodes of the internal FETs.  Are these diodes meant for taking the brunt of the back EMF or will we need to use external diodes to take care of the voltage spike caused by turning off a coil?  While we plan to use the ‘Brake’ function at the end of energizing the coil to take care of the back EMF, we would still like to add some other protections in case this does not work properly.

So considering the case of simply going from driving the coil to the sleep mode where the FETs turn off, would the diodes internal to the DRV8836 survive? Should we count on these diodes to happily take the brunt of the back EMF and keep working?

Thank you!

Regards,
Ryan B.

DRV10974: Regarding motor drive with DRV10974

$
0
0

Part Number: DRV10974

The brushless motor is driven using DRV10974.

conditions
Vcc = 12 [V], Rcs = 180 [kΩ], R (RMP) = variable (about 7 to 180 [kΩ])

Even if R (RMP) is changed, the motor stops at about 60 [Hz] of FG.
Is this because Kt fell below 200 [mV]? (7.3.4.1 on the data sheet)
Also, the Kt range is 5 to 150 [mV / Hz] on the data sheet.
I think this condition is under 200 [mV] and the motor stops in this range. Is my recognition wrong? (6.5 Electrical Characteristics on data sheet)

In the end, I would like to drive the motor under the condition of Vcc = 12 [V] and FG = 1300 [Hz]. Is this possible?
If possible, I would be happy if you could tell me how.

Thank you for your reply.


DRV8343-Q1: Memory checksum fault detection feature

$
0
0

Part Number: DRV8343-Q1

Hi Team,

Could you tell me the behavior when getting Memory checksum fault? I especially want to know ;

1. Will nFAULT be latched low when detecting Memory checksum fault?

2. Is it possible to use SPI function in order to know the status of the Memory checksum fault register in the condition?

3. What should we do if DRV8434 gets the fault? Never recover? or might be recovered by Power supply toggle?

Regards,

Takashi Onawa

DRV8813: Humidity conditions for storage and operating after mounted

$
0
0

Part Number: DRV8813

Hello support team,

There were many failures of DRV8813 on our customer's circuit boards.

After DRV8813 was mounted on the circuit board, the board was stored for about a year in a relatively high humidity environment. And the board is powered on, then that DRV8813 failed.

The customer is investigating the cause now.
And he has a question.
- Regarding DRV8813, is there any problem under the following conditions as storage in mounted status or operating environment?
Temperature: 27 to 35 °C
Humidity: 85 to 95%

Sincerely,
M. Tachibana

DRV8701: DRV8701P Minumum PWM Frequency

$
0
0

Part Number: DRV8701

Hello,

What is the minimum and maximum PWM frequency of IN1/IN2?

Thank you,

RS

DRV8840: Now customers often burn out DRV8840 chip phenomenon,Please help to check whether there is any problem with the schematic diagram.

DRV10983EVM: n closed - loop control, it is easy to jam.Drive current is too small for only 20mA. How to adjust parameters?

$
0
0

Part Number: DRV10983EVM

In case of failure, observe DRV10983 register 0x10, starting from 0x0f-> 0x1f, and register 0x1e changes from 0x00 to 0x04/0x02/0x01 according to different rotation speed (5Hz/10Hz/20Hz).

At low speeds, failures are more likely to occur.

DRV10983Register address(HEX)

NUM(HEX)

20

59

21

2B

22

2A

23

01

24

1c

25

64

26

8A

27

FC

28

57

29

B5

2A

0D

2B

0E

Viewing all 14309 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>