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

DRV8838: Can this part family drive CAP Loads?

$
0
0

Part Number: DRV8838

Hi - I am looking for a half bridge driver that can drive capacitive loads. Can the DRV8838 family drive a 10 uF load at around 100 kHz? I might also try to drive up to 50 uF using the DRV8838.

I saw someone posted about driving a piezo - so I am hopeful.


RE: DRV2665: Unable to generate output voltage on DRV. IC likely resets

$
0
0
Hi Aditya,

Were you able to test this on an actual board?
Are there further questions on this matter?

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

DRV2665: Unable to generate output voltage on DRV. IC likely resets

$
0
0

Part Number: DRV2665

Hello Everyone,

We are trying to use a DRV 2665 for running a 1µF Piezoactuator at 10Hz or lesser. We have setup the example circuit, are able to communicate with the IC via I2C(100khz), able to change the Status and Gain register.

The program is setup as an infinite loop - Read from 0x01 and 0x02, print values via serial (band rate 115200). Write 0x2C and 0x0E to respective registers, read values again after writing and print. Intention is to drive DRV2665 via Analog Input (from voltage source)

The register values change back to default values after the loop ends and restarts. The likely cause is that the IC undergoes a reset without any explaination.

Our experience is very similar to another user (Thread name - DRV2665 Override Bit by Chris Vogt) He solved the problem by ordering more ics and found that his existing code worked with the replacements, indicating that the first batch of ICs might have been defective. 

#define reg_DRV_Status 0x02
#define reg_DRV_Gain 0x01
#define reg_DRV_FIFO 0x0B

#define data_DRV_Status 0x0E
#define data_DRV_Gain 0x2C
#define data_DRV_H 0x7F
#define data_DRV_L 0x00   

void i2c_write(int , int, int, int);

void setup() 
{
}
void loop() {
// Reading config
  Serial.println("DRV Gain Value");
  i2c_read(ADDR_DRV, reg_DRV_Gain);
  Serial.println("DRV status Value");
  i2c_read(ADDR_DRV, reg_DRV_Status);

  i2c_write(ADDR_DRV, reg_DRV_Status, 0x00, 0x00);//Exit Standby mode
  i2c_write(ADDR_DRV, reg_DRV_Gain, 0x2C, 0x00);//Choose Analog Mode
  i2c_write(ADDR_DRV, reg_DRV_Gain, 0x2D, 0x00);//Set gain to 50V
  i2c_write(ADDR_DRV, reg_DRV_Status, 0x0C, 0x00);//Set timeout to 20 ms
  i2c_write(ADDR_DRV, reg_DRV_Status, 0x0E, 0x00);//Set override to 1

  //i2c_write(ADDR_DRV, reg_DRV_FIFORO, data_DRV_FIFORO, 0);

  Serial.println("W DRV Gain Value");
  i2c_read(ADDR_DRV, reg_DRV_Gain);
  Serial.println("W DRV status Value");
  i2c_read(ADDR_DRV, reg_DRV_Status);
}

void i2c_write(int address, int reg_ister, int data8, int data16)
{ 
  if (address == ADDR_AMC)
  {  
  Wire.beginTransmission(address);
  Wire.write(reg_ister); 
  Wire.write(data8);
  Wire.write(data16);
  //Serial.println("W 16bit");
  }  else  { 
    Wire.beginTransmission(address);
    Wire.write(reg_ister); 
    Wire.write(data8);
    //Serial.println("W 8bit");
    }
  Wire.endTransmission(true);
    //delay(delay_led);
}             

void i2c_read(int address, int reg_ister)
{ 
  Wire.beginTransmission(address);
  Wire.write(reg_ister);
  Wire.endTransmission(false);

    if (address == ADDR_AMC)
  {  
  Wire.requestFrom(address, 2, true);
  }  else  { 
  Wire.requestFrom(address, 1, true);
 }
    while(Wire.available())    // slave may send less than requested
  { 
    byte c = Wire.read();    // receive a byte as character
    Serial.println(c);         // print the character
  }
  //delay(delay_led);
}

Relevant info:

1. Our breakout boards do not have a thermal pad to connect the base to ground. The datasheet "recommends" it be connected to ground and a heatspreader. Can this be a reason for the IC to reset?

2. Does making a circuit on a breadboard reset the IC? I ask as the Datasheet specifically mentions that distance to capacitors must be as short as possible. We expected degraded output voltage and frequency response (which can be minimised on a PCB), but do not expect the IC to reset as a result.

Do you have any suggestions to rectify the problem or perhaps suggestions as to where a cause for this behavior lie? 

With Kind Regards,

Aditya Bhuvaneshwaran

RE: DRV8303: Dead time setting DRV8303 vs DRV8301

$
0
0
Hello Olrik,
Below is a more detailed description of DTC behavior . We will plan to include this in the datasheet in the future.
- When a INH_x or INL_x transition of L->H is applied to any of the PWM pins , DRV8301 will internally delay the signal for the DTC dead time and then apply it to the output
- This is not done for H->L transitions
- So, for example if INH_A (L->H) and INL_A (H->L) are applied at exactly the same time at the input , INH_A will be delayed by DTC time while INL_A will be applied immediately. So, no shootthrough.
- If the microcontroller already has a dead time in the above example (INH_A comes 100ns late from MCU) , then INH_A will be delayed by a total of (100ns + DTC)

There are also other safeguards
- Truth table will block intentional INH_x, INL_x L->H at the same time
- Internal handshake will verify that the output is low before turning on the other driver in the same phase

DRV8303: Dead time setting DRV8303 vs DRV8301

$
0
0

Part Number: DRV8303

Hi

my customer is unsing DRV8301 and DRV8303.

When looking into the dead time configuration by the external resistor in the DS for DRV8303 it should not be added to the dead time set extrnaly by the MCU while at DRV8301 it should be added.

Based on some testings the DRV8303 shows exact the same dead time behaviour like the DRV8301 - it seems that the value set by the register is added to the external set MCU dead time like DRV8301.

Parts are used in 6 PWM mode.

Do you have a more detailed describtion of the dead time of DRV8303 and if it should be added or not ?

See DS extracts below.

 

 

 

 

Best wishes,

Olrik

RE: CCS/DRV8881EEVM: drv 8881eevm Software

$
0
0
Ken,

Martin is out this week. He will contact you to setup something when he gets back.

John

CCS/DRV8881EEVM: drv 8881eevm Software

$
0
0

Part Number: DRV8881EEVM

Tool/software: Code Composer Studio

I bought a EEVM 2 months ago and just can't get it to work since; this despite help from TI engineer. Just cannot install the software. Instruction manual does not help e.g. where it says install from web or install from file, I tried both options separately - no luck. Then when it gives 4 options to check (fig 16) I get only get 3, the last one launch I just don't get. So I end up with the icon on my desktop which doesn't work; when clicked it asks for the exe file and that's the end of it! Does anyone know how this works?

RE: DRV8350: OCP

$
0
0

Adam -san

Thank you very much for your supports.

Is it possible to disable OCP of low side? ( I would like to keep high side OCP enabled.)

Regards,
Nagata.


RE: DRV8847SEVM: Performing a 1A output at 50% duty cycle

$
0
0
Florent,

DRV8847 just pass the input voltage to the output. It doesn't boost the input voltage. So, if the input is 5V and load is 5.5ohm, the peak current is 5V/5.5ohm=0.9A.

DRV8847SEVM: Performing a 1A output at 50% duty cycle

$
0
0

Part Number: DRV8847SEVM

I Ti community,

I am currently using the DRV8847S EVM in order to drive a Peltier Cell ( so I drive it like a DC motor ) with 1A, so I'd like to use the DRV8847 at his full potential with a 2A output and 50% duty cycle on the H brigde, wich will leads to a constant 1A.

The problem is that I tried to supply the board with 5V, and I am not able to reach a 2A ouput. I first tried to use the 2 PIN interface with a PWM on IN1 and IN2 at GND, and I am able to see my current wich is shaped by the PWM, but I am not able to reach more than 1A, even if I connect all the jumpers of the Rsense resitors as you can see below.

I also tried to use the Parralle bridge interface as they proposed on the datasheet but I am not able to see any signals :

Any suggestions that might help me ?

Thanks,

Florent

RE: DRV8350: OCP

$
0
0
Nagata-San,

The VDS sensing for HS and LS are enabled or disabled together, SEN_OCP is only for the LS, there is no way to disable VDS OCP for only the low side.

Regards,

-Adam

DRV8350: OCP

$
0
0

Part Number: DRV8350

Hi, team,

Could you please give me your advice if over current protection could be disabled?

I would like to disable only low-side OCP. Is it possilbe to realize it? As I checked register map, there is no bit to control enable and disable OCP. Could you please give your advice with hardware (external circuit) or soltware solution?

Regards,
Nagata. 

RE: Linux/DRV2605: How to control an ERM using the Linux input subsystem

$
0
0

HI,

May I know how you found fftest.

If possible, can you please share the binary.

My platform is ARM based linux. 

Regards,

Vijay

RE: Linux/DRV2605: How to control an ERM using the Linux input subsystem

RE: Linux/DRV2605L: Latest Android driver

$
0
0
Request you to share any information that will be helpful in this regard.

I see a driver for drv2605 already mainlined in the kernel. But that uses input framework. I was stuck in figuring out a way to test it

Also, I would like to know if the test code is available to test the drivers.

Linux/DRV2605L: Latest Android driver

$
0
0

Part Number: DRV2605L

Tool/software: Linux

Hi,

Our device is android based running on ARM chipset.

I just wanted to check if there is a latest version of this driver available? The kernel version that we are using is 3.18

Also, is there any guide that can be used to integrate this with android? We are currently on Android-Oreo.

Regards,

Vijay

RE: Linux/DRV2605: How to control an ERM using the Linux input subsystem

$
0
0
Thanks for sharing the information.

The device on which this needs to be integrated is an android based device.

Linux/DRV2605: How to control an ERM using the Linux input subsystem

$
0
0

Part Number: DRV2605

Tool/software: Linux

I am trying to test the DRV2605 using an ERM with the Linux driver (github.com/.../drv260x.c) installed. On startup the motor works during calibration, however I am unable to get it to work by writing to the device file as described in www.kernel.org/.../ff.html. Test code below

#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>

#include <linux/input.h>
#include <sys/ioctl.h>

#define BITS_TO_LONGS(x) \
        (((x) + 8 * sizeof (unsigned long) - 1) / (8 * sizeof (unsigned long)))
unsigned long features[BITS_TO_LONGS(FF_CNT)];

int main(const int argc, const char **argv)
{
    int fd;

    if (argc != 2) {
        printf("usage: %s <device-file>\n", argv[0]);
        return 1;
    }

    fd = open(argv[1], O_RDWR);
    if (fd < 0) {
        printf("Error opening file '%s': %s\n", argv[1], strerror(errno));
        return 1;
    }

    int num_effects;
    if (ioctl(fd, EVIOCGEFFECTS, &num_effects) < 0) {
        printf("Error getting number of effects playable at the same time: %s\n", strerror(errno));
        return 1;
    }
    printf("%d effects playable at the same time\n", num_effects);

    struct ff_effect effect = {
        .type = FF_RUMBLE,
        .id = -1,
        .direction = 0,
        .trigger = {0, 0},
        .replay = {
            .length = 1000,
            .delay = 0
        }
    };
    effect.u.rumble.strong_magnitude = 0x7F;

    if (ioctl(fd, EVIOCSFF, &effect) < 0) {
        printf("Error creating new effect: %s\n", strerror(errno));
        return 1;
    }
    printf("New effect ID: %d\n", effect.id);

    struct input_event play = {
        .type = EV_FF,
        .code = effect.id,
        .value = 3
    };

    if (write(fd, (const void*) &play, sizeof(play)) < 0) {
        printf("Error writing effect to file: %s\n", strerror(errno));
        return 1;
    }
    printf("Wrote effect\n");

    return 0;
}

 The program runs fine with no errors but nothing happens to the ERM. 

DRV8825: DRV8825 MODE Change timing

$
0
0

Part Number: DRV8825

During sending STEP successively when even defending timing diagram, is it possible to change and use MODE?

Is the weight which is at the time of a MODE change unnecessary?

RE: DRV8320: Synchronous rectification and asynchronous rectification setting

$
0
0
Matsumoto-San,

Synchronous allows excess current to circulate through the LS FET, this is preferred.

Asynchronous rectification causes more power loss as there is more resistance in the circulation path. When the customer is providing all the gate signals themselves (as in 6x mode), asynchronous can allow more simple control from the MCU. In 1x PWM mode it is mostly customer preference but the one benefit is that there will be less load on the charge pump as it does not have to switch the low-side FETs.

Regards,

-Adam
Viewing all 21675 articles
Browse latest View live


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