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.

DRV8932: DRV8932-Can GPIO logic control be used for driving instead of PWM?

Part Number: DRV8932

Hi,

We are in need to control 4 or 8 solenoids with 24V@500mA rating. I have found this part DRV8932PPWPR which well suits our application. However i have some confusion over controlling the 4 inputs.

In datasheet, its mentioned to use PWM pin for controlling the 4 inputs but instead I want to control them through GPIO as Software complexity reduces while driving through GPIO. In my application, i need to turn ON and OFF solenoid frequently(every 400ms) and hence i don't want to go with PWM approach.

Hence i want to know if Logic GPIO control can be used for the purpose. Datasheet specifies about logic control but its not clear as all the waveforms given are related to PWM control.

Regards

Kumar

  • Hello Kumar, 

    I am happy to be of help. Yes the GPIO pins of your microcontroller should be able to be used to drive the inputs, the driver will still see a square wave just as if it were run by PWM.


    Best,

    Pedro Arango Ramirez.

  • Hi Pedro,

    Thanks for your reply and suggestion. I have few more doubts on this as described below.

    1)I would like to add is out of 4, some i need to turn ON/OFF with 400ms interval while some i need to turn ON/OFF with 2sec-4sec interval(ON time and OFF time may vary in different solenoids and they won't be equal as well) or even more. So, GPIO drive should not be problem. Am i correct?

    2)Another thing i want to know is the amount of bulk capacitors required. Datasheet just mentions about using Bulk capacitors at power input pin (VM) however the value has not been suggested. As i have 4 solenoids which may switch at different interval, so is 1000uF or greater value of capacitor is sufficient for the purpose?

    3)Also, in general, for inductive loads, it is recommended to use bulk capacitors on load side, so shall i add individual bulk capacitors on "VM" pin near to each solenoids(close to load side)?

    4)Beside these, functional block doesn't describe about free wheeling diode which is important and recommended for inductive loads, so i want to know if i need to add external free-wheeling diode on the 4 outputs across the load.

    Regards

    Kumar

  • Hello Kumar,

    1) Yes, it shouldn't be a problem at all, each inx/outx works independently from each other so you should be able to drive them at different frequencies without issue.

    2) This is a good question, bulk capacitance selection is an extensive topic tat will depend on a variety of factors. You really only experience a problem when the bulk capacitance is too small. The drawback of larger bulk capacitors is cost and size, yet you should not see an issue with a larger capacitor. I believe 1000uF should be enough as is in typical solenoid applications 100uF is typical, however I must stress it depends entirely on the load and your mileage may vary.

    For more information on the factors to consider section 9.1 in the datasheet goes into more detail about Bulk capacitance. 

    3) It shouldn't be necessary as VM is already being regulated by the 0.01uF capacitors and the bulk capacitor, however if you experience issues it could be a next step in troubleshooting.

    4) Free wheeling diodes shouldn't be necessary as the internal diodes in the MOSFET should be sufficient for current recirculation and the inductive load kick when needed.

    Please let me know if you have any other questions, I'd be happy to help.

    Best,

    Pedro Arango Ramirez. 

  • Hi Pedro,

    Thanks for your clarifications. It helped a lot in understanding the part better.

    I want to know more on the "Over-current Protection (OCP) discussed in 7.3.7.3" and "Thermal Shutdown (OTSD) discussed in 7.3.7.4". After over current and/or thermal shutdown condition occurs, it has been mentioned that to recover nSLEEP pin reset pulse is required or power cycle is required.

    Under this condition, nFAULT pin will get low indicating fault condition but if it is so, how the micro-controller would know if the fault has been cleared or not? Until micro-controller knows that fault has been cleared, how micro-controler can give nSLEEP reset pulse? Does nFAULT pin gets high own its own if the over current/ thermal faults are cleared?

    Until micro-controller knows if the faults are cleared, micro-controller can't trigger nSLEEP reset pulse or system power can't be power cycled. How to handle this?

    Regards

    Kumar

  • Hello Kumar,

    To my understanding it depends entirely on the fault that is triggering the nPin. Table 7-4 in section 7.3.7.5 summarizes which faults will be cleared automatically and which faults require a pulse from nSLEEP in order to be cleared. Attached is the chart:

    Both current and thermals are latching faults, meaning that the only way to clear them is with a sleep pulse or power cycling. In both situations the device needs to stop operating in order to be protected from physical damage. Because both of these conditions happen due to using the device, then going into sleep mode should over time clear these conditions. Thermal shutdown and overcurrent protection are also intrinsically related to each other, higher currents create higher temperatures. 

    If continuous operation is desired and power cycling is not an option, you could do a thermal analysis and determine how much time it would be needed for the device to cooldown. Then whenever nFault gets latched for a certain period of time have the microcontroller send a pulse to nSLEEP once that time has elapsed to make sure the device had ample time to cool down. Additionally if this becomes an issue, then driving the devices with lower voltages and a lower overall current should be considered. 

    If this is the desired route please play close attention to the following table describing how to send an appropriate nSLEEP pulse:

    Please let me know if you have any other questions as I am happy to help.

    Best,

    Pedro Arango Ramirez.