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

DRV8701: Explain the Equation 10 in 8.2.3.2

$
0
0

Part Number: DRV8701

Dears

1.why there is demand of maximum voltage VM in EQ10 when VM is different from external H-Bridge supply?

2.Where is Equation 10 derive from ?


RE: DRV10987: drv10987

$
0
0
Ken,

It looks like the MotionFire module is based on an FPGA controlling individual high side + low side gate drivers www.ti.com/.../lm5101b
This is not an integrated solution.

From your initial request it sounds like you want an integrated solution that mimics the MotionFire module. My product line doesn't have a device like this and I haven't been able to find something similar searching the TI website.

Regards,
Brian

RE: DRV8432: Single magnitude mode: external bootstrap voltage for 100 percent duty circle

$
0
0
Hi Sven,

We have a partial update for you.

We are still trying to determine the reason for the current flowing into the boost.

The reason for the higher 24k resistor value was to limit the current when the output is low. A 47V drop across the resistor creates quite a bit of wasted power. Another method to limit the current is to add switches to disable the 60V to the bootstrap capacitors when the output is low.

Is there any way you can operate the device at higher PWM frequencies? A small pulse of 50 to 100ns may be all that is required to replenish the bootstrap capacitor. This would remove the need for the additional circuitry.

DRV8432: Single magnitude mode: external bootstrap voltage for 100 percent duty circle

$
0
0

Part Number: DRV8432

Hello,

Following to the customers wish we have implemented an external bootstrap voltage option according to the TI proposal, please see the attached document. The external bootstrap voltage is isolated and related to the 48V supply.

We have noticed that when the High-Side-mosfet is ON, the output voltage of the bridge is 33V, while the bootstrap voltage is only 42V.

So we reduced 24K resistor to 2K2, we obtained 47,4V from the bridge output, and bootstrap voltage changed to 56V. So far so good.

Due to the reduced resistor value we have increased power loss when the High-Side-mosfet is OFF and the output is Low. It’s appr. 1W, because the bootstrap voltage is 13V and external 12V_ISO is 60V (seen from GND). Please find the attached schematic, the mosfet's switches below are for external bootstrap volltage while the driver is in the reset state.

 

Is that a wrong way to reduce the 24K resistor to 2K2? In this case we have got 1.8mA current flowing into the “BST_A” pin. What is the reason for such a high value of 24K?

 

Best Regards

 

Vitali

[View:/cfs-file/__key/communityserver-discussions-components-files/38/DRV83x2_5F00_84x2_5F00_100percent_5F00_duty_5F00_cycle.pdf:1230:0]

RE: DRV8873-Q1: The fault report in case of DRV8873H-Q1

$
0
0
Hi Matsumoto-san,

・DIS_CPUV=0b -- Correct
・OCP_MODE=00b -- Correct
・ITRIP_REP=0b or 1b(Does it depend on ITRIP pin setting?) Correct, nITRIP determines if a fault is reported.
・TSD_MODE=0b -- Correct
・OTW_REP=0b -- Correct

In case you missed it, Section 7.3.3 provides some of this information:

The following configuration settings are fixed for the hardware interface device option:
• CPUV is enabled
• OCP_MODE is latched shutdown
• TSD_MODE is automatic recovery
• OL_DLY is 300 µs
• ITRIP level is 6.5-A if current regulation is enabled by the nITRIP pin
• OLA is activated when the open load diagnostic is enabled by the nOL pin
• No option to independently set the outputs (OUTx) to the Hi-Z state

DRV8873-Q1: The fault report in case of DRV8873H-Q1

$
0
0

Part Number: DRV8873-Q1

Hi all

Would you mind if we ask DRV8873H-Q1?

On the datasheet P28, there is the description of the fault report.
We assume that it contains -S1 version.
Could you let us know the fault report in case of DRV8873H-Q1?
In case of DRV8873H-Q1, should we regards as follows?

・DIS_CPUV=0b
・OCP_MODE=00b
・ITRIP_REP=0b or 1b(Does it depend on ITRIP pin setting?)
・TSD_MODE=0b
・OTW_REP=0b

Kind regards,

Hirotaka Matsumoto

RE: WEBENCH® Tools/DRV8307EVM: DRV8307EVM didn't work when using motor with 3 single hall wires

$
0
0
Murphy,

The motor is getting hot because it is not driven correctly. Many times this is an issue with the hall sensor connection. Does the motor seem to spin correctly, or does it have a difficult time spinning?

Can you double-check the hall sensors to make sure they are in the correct order?

Can you please double check that you followed the following items from the user guide?

"When using single-ended Halls, they require pull-ups. The DRV8307 comparator “-” pins should be biased with a middle voltage, so that a single-ended swing on the “+” pin is detected like a differential voltage. Connect the hall outputs to the "+" pins at P3 for normal Hall sensor types or to "-" pins for inverse Hall sensors.

Jumpers are installed on JP3 and JP4 between pins 2 and 3 (GND).

Please probe the "-" hall inputs to make sure they have 2-V on them.

If you have any other issues, please take a scope shot of the hall signals and send it to me.

DRV91680 Programmer

$
0
0

Hi,

Can MSP-GANG support DRV91680 for FW program? If not, please suggest right tool. Thank you.


RE: DRV8320: Cannot get BLDC motor spinning due to Gate Drive Faults Read more forums - Followup

$
0
0

Hi Rick, 

Thank you for your reply. I am using the second FET for when my current reaches close to 100A. For now I only use one. Let me try the resistor, and I will get back to you shortly!

Nick

DRV8320: Cannot get BLDC motor spinning due to Gate Drive Faults Read more forums - Followup

$
0
0

Part Number: DRV8320

Hello everyone, 

This is a followup to a problem I had earlier, which was sort of - but not really fixed by e2e.ti.com/.../2433911

My problem is that I cannot get my sensored brushless DC motor to spin with the DRV8320S chip.

I have followed the recommended startup procedure. 

PWM = 0;
MBRAKE = 0; // The brake 
MDIR = 0; // Motor Direction
ENABLEHALL = 0; // All Hall Sensors at 0v
ENABLE = 0; // Chip is off
waitms(1);
waitms(255); // Wait time
ENABLE = 1; // Turn on DRV8320s
waitms(10); // Wait for things to settle
drv2_write(); // Write the settings below
waitms(100); // Wait
ENABLEHALL = 1; //Enable the hall sensors
MBRAKE = 1; // Enable braking
MDIR = 1; // Set motor Direction

then I turn on the PWM at 10kHz

Let me describe again to you in point form what I have done, and when my result is. 

This whole testing is being conducted on a breadboard. Before jumping to conclusions, at one point in time I had my motor spinning on this breadboard. The only difference, was that it was being powered by a DRV8320H chip, not the SPI (S) version. At some point in time that configuration stopped working (while I was making the conversion over to the SPI chip version). 

SO here we are. I am powering everything with a 35v source 5a power supply. I have over 1000uF of bulk capacitance between my ground and VM lines. I use the required ceramic capacitors for the circuit, as indicated on the DRV8320 datasheet, page 22, figure 11. My motor is connected as it should be to the SHA, SHB, and SHC lines. 

The DRV8320S works flawlessly with SPI, everything from setting registers, to reading registers. In my code, I write to all registers twice to make sure that the SDO on the second write is the same as SDI (data in the current register is shifted out when new data is written). This is the case. 

These are my setting for the Chip:

//Register 3


SPI0DAT = 0b0_0011_011; //first 8 bits
SPI0DAT = 0b0010_0010; //next 8 bits

waitms(1);

//Register 2

SPI0DAT = 0b0_0010_000;
SPI0DAT = 0b0100_0000;


//Register 4

SPI0DAT = 0b0_0100_101;
SPI0DAT = 0b0010_0010;



//Register 5
SPI0DAT = 0b0_0101_0111; 
SPI0DAT = 0b0110_1001;

Basically as my N-Fets are very low Rds (0.018 ohms), I can get away with using a pretty low drive current. I use 1x PWM mode as I have the feedback from my motor hall sensors (which output correctly).

The chip reads no errors until I turn on the PWM (the signal is 40% duty cycle at 10khz from a 3.3v pin). The motor makes a brief small noise during the time (1/4 second), and then stops making the noise and the chip faults. At this point I get an error on register 0 and 1. Register 0 reads 0b0000010110000000 (FAULT, GDF, UVLO) and Register 1 reads 0b000000000010100 (VGS_LB and VGS_LA). 

When I scope the pins of my mosfets (for the frist 1/4 second while it makes noise), I get the following: GHA = 35v GSA = 35v , GLA = 0v then some time passes after which GHA = 0v GSA = 0v , GLA = 12v and then back to GHA = 35v GSA = 35v , GLA = 0v.

I do not know what my problem is. Please help. 

RE: DRV10987: Spread spectrum modulation control

$
0
0

Hi Brian,

thanks a lot for the effort, i appreciate it!

Jonathan

RE: DRV8823: V3P3 power up delay at -5 degree C

$
0
0
Hi,
the problem disappear when V3P3 to GND capacitor is changed from 0.47uF to 0.1uF.
May I know the internal circuit of how V3P3 is generated and why 0.1uF can help?
In out datasheet, we have used 0.47uF except only in recommended application circuit we draw a 0.1uF.

DRV8823: V3P3 power up delay at -5 degree C

$
0
0

Part Number: DRV8823

Hi,

my customer is driving stepper motor with DRV8823.

They can drive the motor well at normal temperature, but need to wait for a while for the motor to run at -5C with the same control signal.

They found the problem is caused by delay power up of ABVREF, CDVREF, which are both from V3P3.

At 25C, ABVREF, CDVREF powered up at the same time with 24V at VM.

At -5C, ABVREF, CDVREF powered up 30 seconds later than 24V at VM. Which caused the stepper motor not rotating at beginning.

Schematic is as below:

Why V3P3 will delay such a long time at -5 degree C?

DRV10983: DRV10983_USB2ANY- Register writing error !!!

$
0
0

Part Number: DRV10983

I am trying to connect the TI DRV10987 EVM with USB2ANY using GUI. 

Initially a firmware update was recommended, so it was done. 

But now as Iam trying to connect, it gives an error message which reads:

DRV10983 USB2ANY.lvclass:Write Register.vi<ERR>
Register writing not successful!! Please restart the GUI and try again

I have provided 24 supply as well.

Kindly suggest how to resolve the issue.

RE: DRV10987: Please Help ! I can't spun my BLDC MOTOR with DRV10987.

$
0
0
Hi Cole,
I changed chip and using new parameter as recommended and motor start spin. :D
However,here are some fault as motor.The faultreg sometimes 0x0804 and always 0x0004,which means OverCurr fault and Ktabnormal fault.
Should I change parameter as turning guide?
And could you please tell me is Ktabnormal fault important for motor spinning?can i disable this lock bit?

RE: DRV2605: Cannot get haptic feedback either with LRA or Piezo

$
0
0
Hi Leon,

I'll give a close review to the schematic but I have a couple comments at this moment:
- Low-Pass Filter is not populated on the schematic (R37, R39, C8 and C9). Have you tried to place these components to form the LPF? The output signal from DRV2605 is a Class-D, so the filter is needed for the analog inputs of DRV2700.
- You mention LRA motor for the DRV2605 actuators, but from the device description in its data sheet and digikey, as well as your comment about driving it with DC voltage, it looks more like a motor (like ERM). Are you configuring DRV2605 to drive an LRA or ERM actuator? If you're trying with LRA config, I would suggest to change it to ERM.

Best regards,
-Ivan Salazar
Applications Engineer - Low power Audio & Actuators

RE: DRV8802: DECAY pin

$
0
0
Hi James-san,

Thank you!

Best Regards,
Koji Hamamoto

RE: DRV10987: Please Help ! I can't spun my BLDC MOTOR with DRV10987.

DRV10987: Please Help ! I can't spun my BLDC MOTOR with DRV10987.

$
0
0

Part Number: DRV10987

Hi,

I am using DRV10987 with my smart car application.,I have done what I can with Turning Guide.However,i can't spun my motor with under configurations.Here is my motor parameter and tested data:

void DRV_init(void)
{

		i2c_init(i2c0,100*1000);

		i2c_init(i2c1,100*1000);
 
		systick_delay_ms(1);				//Wait for set up 1ms

		do
		{
 
			i2c_write_reg(i2c0,DRV10987_Address,EECRTL,0x80,0x00);				//Setting EEPROM Access permission and DISABLE!!!!!!!! the motor

			i2c_write_reg(i2c0,DRV10987_Address,EEPROM1,0x00,0x00);				//clearer EEPROM Access code

			i2c_write_reg(i2c0,DRV10987_Address,EEPROM1,0xC0,0xDE);				//Setting EEPROM Access code

			gpio_init(G0,GPO,0);

//			systick_delay_ms(1);				//Wait for set up 1ms

		}while(i2c_read_reg(i2c0,DRV10987_Address,EEPROM2) != 0x0001);		//Setting EEPROM able to read

		gpio_init(G0,GPO,1);

		i2c_write_reg(i2c0,DRV10987_Address,CONFIG1,0
																								| p5_SpectrumControl_MASK
																								| FG_both_open_and_close
																								| FG_Only_Close
																								| FG_POLES(16),
																								0
																								| CLK_ADJ_SELECT(0)		  //0:FULL 1:HALF
																								| 0x5B );								//Setting to 3.5R


		i2c_write_reg(i2c0,DRV10987_Address,CONFIG2,0
																								| 0x0A,									//Page 24
																								0
																								| CommAdvMode(0)					
																								| 0x02  );									//Page 37
		
		
		i2c_write_reg(i2c0,DRV10987_Address,CONFIG3,0
																								| ISDThr_80ms
																								| BrkCurThrSel(0)
																								| BEMF_HYS(0) 
																								| ISDEn(0) 
																								| RvsDrEn(0)
																								|	RvsDrThr_6P3,								
																								0
																								|	OplCurr_0p4			
																								| OplCurrRt_6
																								| BrkDoneThr_0 );							

		
		i2c_write_reg(i2c0,DRV10987_Address,CONFIG4,0
																								| AccRangeSec(0)
																								| StAccel2(0)
																								| StAccel(1),								
																								0
																								|	Op2ClsThr(1,10)			
																								| AlignTime(6) );

		i2c_write_reg(i2c0,DRV10987_Address,CONFIG5,0
																								| OTWarmingLimit(0)
																								| CloseLoopStuckLock(0)
																								| OpenLoopStuckLook(0)
																								| NoMotorLock(0)
																								| AbnormalKtLock(0)
																								| AbnormalSpeedLook(0),								
																								0
																								|	SWiLimitThr(0)			
																								| HWiLinitThr(0) 
																								| IPDasHWlLimit(0)  );


		i2c_write_reg(i2c0,DRV10987_Address,CONFIG6,0
																								| SpdCtrlMd(1)
																								| PWMFreq(0)
																								| KtLckThr(0)
																								| AVSIndEn(0)
																								| AVSMMd(0)
																								| IPDRIsMd(0),								
																								0
																								|	CLoopDis(0)			
																								| CIsLpAccel(0) 
																								| DutyCycleLimit(0)  
																								| SlewRate(0)  );


		i2c_write_reg(i2c0,DRV10987_Address,CONFIG7,0
																								| IPDAdvcAg(0)
																								| IPDCurrThr(0)
																								| IPDClk(0),								
																								0
																								| CtrlCoef(4)  
																								| Deadtime(10)  );

		
		i2c_write_reg(i2c0,DRV10987_Address,EEPROM5,0x00,0x06);

		while(i2c_read_reg(i2c0,DRV10987_Address,EEPROM2) != 0x0001);

		i2c_write_reg(i2c0,DRV10987_Address,EEPROM5,0x00,0x02);

		while(i2c_read_reg(i2c0,DRV10987_Address,EEPROM2) != 0x0001);

		i2c_write_reg(i2c0,DRV10987_Address,EECRTL,0x00,0x00);

		systick_delay_ms(5);				//Wait for set up

/***********************************************************************************************************************************************/

		do
		{

			i2c_write_reg(i2c1,DRV10987_Address,EECRTL,0x80,0x00);				//Setting EEPROM Access permission and DISABLE!!!!!!!! the motor

			i2c_write_reg(i2c1,DRV10987_Address,EEPROM1,0x00,0x00);				//clearer EEPROM Access code

			i2c_write_reg(i2c1,DRV10987_Address,EEPROM1,0xC0,0xDE);				//Setting EEPROM Access code

			gpio_init(G0,GPO,0);
// 
//			systick_delay_ms(1);				//Wait for set up 1ms

		}while(i2c_read_reg(i2c1,DRV10987_Address,EEPROM2) != 0x0001);		//Setting EEPROM able to read

			gpio_init(G0,GPO,1);

		i2c_write_reg(i2c1,DRV10987_Address,CONFIG1,0
																								| p5_SpectrumControl_MASK
																								| FG_both_open_and_close
																								| FG_Only_Close
																								| FG_POLES(2),
																								0
																								| CLK_ADJ_SELECT(0)		  //0:FULL 1:HALF
																								| 0x5B );								//Setting to 3.5R


		i2c_write_reg(i2c1,DRV10987_Address,CONFIG2,0
																								| 0x0A,									//Page 24
																								0
																								| CommAdvMode(0)					
																								| 0x02 );									//Page 37
		
		
		i2c_write_reg(i2c1,DRV10987_Address,CONFIG3,0
																								| ISDThr_80ms
																								| BrkCurThrSel(0)
																								| BEMF_HYS(0) 
																								| ISDEn(0) 
																								| RvsDrEn(0)
																								|	RvsDrThr_6P3,								
																								0
																								|	OplCurr_0p4			
																								| OplCurrRt_6
																								| BrkDoneThr_0 );							

		
		i2c_write_reg(i2c1,DRV10987_Address,CONFIG4,0
																								| AccRangeSec(0)
																								| StAccel2(0)
																								| StAccel(1),								
																								0
																								|	Op2ClsThr(1,10)			
																								| AlignTime(6) );

		i2c_write_reg(i2c1,DRV10987_Address,CONFIG5,0
																								| OTWarmingLimit(0)
																								| CloseLoopStuckLock(0)
																								| OpenLoopStuckLook(0)
																								| NoMotorLock(0)
																								| AbnormalKtLock(1)
																								| AbnormalSpeedLook(1),								
																								0
																								|	SWiLimitThr(0)			
																								| HWiLinitThr(0) 
																								| IPDasHWlLimit(0)  );


		i2c_write_reg(i2c1,DRV10987_Address,CONFIG6,0
																								| SpdCtrlMd(1)
																								| PWMFreq(0)
																								| KtLckThr(0)
																								| AVSIndEn(0)
																								| AVSMMd(0)
																								| IPDRIsMd(0),								
																								0
																								|	CLoopDis(0)			
																								| CIsLpAccel(4) 
																								| DutyCycleLimit(0)  
																								| SlewRate(4)  );


		i2c_write_reg(i2c1,DRV10987_Address,CONFIG7,0
																								| IPDAdvcAg(0)
																								| IPDCurrThr(0)
																								| IPDClk(0),								
																								0
																								| CtrlCoef(4)  
																								| Deadtime(10)  );

		
		i2c_write_reg(i2c1,DRV10987_Address,EEPROM5,0x00,0x06);

		while(i2c_read_reg(i2c1,DRV10987_Address,EEPROM2) != 0x0001);

		i2c_write_reg(i2c1,DRV10987_Address,EEPROM5,0x00,0x02);

		while(i2c_read_reg(i2c1,DRV10987_Address,EEPROM2) != 0x0001);

		i2c_write_reg(i2c1,DRV10987_Address,EECRTL,0x00,0x00);

		systick_delay_ms(50);				//Wait for set up

			

RE: DRV8320: the different voltage between VM and VDRAIN

$
0
0
Hi Rick-san,

I am sorry for the delay in my response.

I appreciate you kind support. However the customer is now very busy. So that , it will take some more time to get the information.
You can close this post at this time. If I got the information, I will post the question again.

Best Regards,
Koji Hamamoto
Viewing all 21639 articles
Browse latest View live


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