This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRV8870: DRV8870 for latching solenoid driver

Part Number: DRV8870

Hi - 

I'm trying use the TI DRV8870 (http://www.ti.com/lit/ds/symlink/drv8870.pdf) to open and close a 24V latching solenoid (http://www.deltaww.com/filecenter/Produ ... S-0730.pdf) using a Raspberry Pi 3 for some prototyping work. The solenoid takes a 24V pulse for 45 ms to open and then a reverse polarity pulse to close. 

I've wired the Pi and DRV chip as follows:

However, I'm not getting any output voltage from the chip. 

Can anyone offer any guidance as to what I've got wrong?

  • Hello Daniel,

    Can you provide a waveform of GPIO17 and GPIO18?

    Thanks,

    Matt

  • Hi Matt - GPIO17 and 18 are both 3V3 outputs from the Pi. I've tried numerous output states, but with 17 Hi and 18 Lo shouldn't I expect to see +24V and with 17 Lo and 18 Hi -24V? I've verified the 3.3V at the pins on the DRV8870 with a DVM. I've set both to Hi before changing the states to ensure the device isn't sleeping. Maybe I'm missing something here.

    Thanks for your help.
  • Hi Matt -

    Both GPIO17 and GPIO18 are 3V3 outputs from the Pi. I've verified the 3.3V at the pins with a DVM.

    I've set 17 Hi/18 Lo and vice versa with no luck. I've also set both to Hi to make sure the 8870 is not in sleep mode.

    Thanks for your help.
  • Hello Daniel,

    Can you confirm that you are using DSMS-0730-24? Make sure that the load resistance is 16 ohm as expected so we are not tripping the overcurrent protection.

    Are you using your own PCB board or the EVM? If it is your own board can you provide the layout?

    How are you interfacing the Raspberry Pi 3 board to the DRV8870 board? Please confirm grounding between the two boards.

    What is this on the schematic? It looks peculiar.

    Thanks,

    Matt

  • Hi Matt -

    Yes, I am using the DSMS-0730-24. I measured the resistance at 15.8 ohms.

    I'm using my own SMD adapter board to get the 8870 pins into a breadboard and then jumpering connections:

    GND of 8870 is in row 53 on the left and OUT2 is in row 7 on the right. I've wired in a ~1k ohm resistor across OUT1 and OUT2 and dialed down VM to 7.5V for troubleshooting - I'm measuring the voltage across it as I change the states on IN1 and IN2. The left + column is the 3V3 supply from the Pi and right + column is the 7.5V DC supply. The left - column is the Pi GND and the right goes to the - terminal on the DC supply and I've jumpered them together. 

    The peculiar schematic is just a poor job of cropping the circuit in the documentation to show that I omitted the ISEN resistor. I've since added the 20 ohm resistor you see in the photo above.

  • Hi Daniel,

    You shouldn't have a resistor as large as 20 ohm from ISEN to GND. This will cause the DRV8870 to limit the output current to 16 mA. Definitely short ISEN to GND.

    Thanks,
    Matt
  • Hi Matt - that was the original set up and it behaved the same - no measurable output.
  • Hi Daniel,

    It was worth a try. Can you confirm that the solder connections on the SOIC to DIP adapter board are solid? I don't have a great view of the board, but pin 7 looks suspicious from the image. If there is a cold solder joint, then the part may not be powered up.

    Do you have a way to measure the current flowing into the VM pin? You could look and see the current flowing into the 24V net from the supply. This will tell us if the DRV8870 is turned on or still in sleep mode.

    It would be great if you had access to an oscilloscope, which would be able to let us know if the outputs are toggling with a very low duty cycle.

    Thanks,
    Matt
  • Hi Daniel,

    We haven’t heard back from you, and are assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out)
  • Rick - thanks for following up. I switched the DRV8870 for the 8871 wired per the suggested circuit in the docs and it works fine with the solenoid. Still unsure of what the issue was with the 8871 but I'm all set for now.