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.

DRV8212: Minimum PWM pulse width for DRV8212 to prevent sleep mode. Missing information in the Datasheet?

Part Number: DRV8212
Other Parts Discussed in Thread: , DRV8210,

Hi everyone!

I'm trying to drive an RC circuit (resistor in parallel with a capacitor) with the DRV8212 H-Bridge controller. The resistor is for now a substitute for a Peltier module which will be driven both to heat and cool down, hence the need for an H-Bridge. The reason for the parallel capacitor is that I want to use a very low voltage Peltier module (max 0.5V) and it's the most efficient way I can think of for a battery-powered device to do this. The voltage at the VM pin is 1.2V, and so I want to use duty cycles low enough that the RC circuit will filter the voltage to below the 0.5Vmax for the Peltier.

My problem comes when I use high frequencies (50kHz) and low duty cycles (<25%). When this is the case, i.e. pulse widths below 5µs, the H-Bridge seems to randomly stop working. I can only assume that, with pulse widths below 5µs, the DRV8212 isn't interpreting this pulse as wide enough to keep itself working and automatically shuts down. I've ran the tests at different frequencies and it seems that the breaking point are the 5µs that I've mentioned of PWM pulse width, i.e. I can run at 50kHz 25%Duty, or 10kHz 5%Duty, but below those duty cycles for these frequencies the system just stops working.

Can someone corroborate that this behavior is to be expected? I've tested that the input signals to the H-Bridge have the proper shape with an oscilloscope, so the fault is not on the microcontroller side driving the inputs (the edges look very vertical and smooth).

On the attached picture, the CH1 and CH2 traces are the voltage on either side of the load resistor for a PWM frequency of 10kHz at 5% duty cycle (5µs pulse width). In white, the difference between the voltages of the resistor, that proves the H-Bridge to be working at this frequency. Note that the Y positions on the CH1/CH2 has been offset to lower values for better visualization, as has been done in the opposite direction for the substracted waveform.

Thank you for your time

Gabriel

  • Hi Gabriel,

    The voltage at the VM pin is 1.2V, and so I want to use duty cycles low enough that the RC circuit will filter the voltage to below the 0.5Vmax for the Peltier

    I think the issue here is that you are driving with VM=1.2V. The lowest voltage out device can support is 1.65V at VM. Is it possible to increase VM to a voltage higher than 1.65V and adjust your RC circuit and duty cycle to obtain the 0.5V?

    My problem comes when I use high frequencies (50kHz) and low duty cycles (<25%). When this is the case, i.e. pulse widths below 5µs, the H-Bridge seems to randomly stop working.

    The main factors that limit the minimum input pulse the driver can detect is the dead time + fall/rise time. Which is around 650ns. The driver should have no issues detecting a 5µs pulse. As I mentioned above, I believe the issue here is the low VM voltage.

    Is it possible to provide your driver schematic? 

    Regards,

    Pablo Armet

  • Hello Pablo, and thank you for the swift response.

    The issue shouldn't be with the VM=1.2V, since I'm using the DSG-package variant of the chip, which should support down to VM=0V according to the datasheet:

    I can provide a few screenshots of the schematic, yes, but it don't think it would clarify much since I'm using a microcontroller to do the job:

    The pin MODE would therefore be connected to the pin 5.6 of my µC, the pin IN1/PH to pin 0.4, and the pin IN2/EN to pin 6.2. The ground signals have a different name because they're separate PCBs and hence also separate schematics, but of course they're connected together.

    I have also attached a picture of the signal at the input of the IN1 pin of the DRV8212 generated by the microcontroller, where it can be seen that for a pulse of 5µs, the edges are very vertical and the voltage level is adequate at 3.3V:

    So, based on what I'm seeing, I really don't suspect the input driving to be the issue here.

    I've conducted a bit more of testing. I've created a routine in the microcontroller that will keep one of the control pins high for 200µs (double the time specified on the datasheet to wake up the chip, t_WAKE) in an attempt to wake it up and then keep it running as a workaround. It works for a few cycles of the PWM but then the device turns off for duty cycles below 4% at 10kHz, seemingly after (in the case of the screenshot) around 13 periods. At 10kHz, 13 periods amount to 1.3ms, which is consistent with the t_AUTOSLEEP of 0.9-2.6ms specified in the datasheet. We can observe this behavior in the picture below:

    In yellow (CH1), the voltage on one side of the load resistor at the output of the H-Bridge. In magenta (CH2), the voltage at one of the input pins of the DRV8212. In the magenta line we can first see the wide 200µs pulse that wakes up the IC, and then the series of 4% duty cycle pulses. In yellow, we can see how the H-Bridge turns on shortly after the turn-on pulse at the beginning, then it works for the following ~13 periods, and then simply stops letting current flow (as seen by the decay of current through the resistor). Remember that the sawtooth waveform is given by the capacitor in parallel with the resistor.

    It really seems to me as though the device is entering sleep mode based on the testing above. Maybe I'm missing something, so thank you for reading this in detail Slight smile

    Best regards

    Gabriel Rodríguez

  • Hi Gabriel,

    Thanks for the detailed information. 

    Hmm.. 4% of a 10kHz pulse is well within the time that this device can detect. I will run a couple of tests in the lab to confirm your results and hopefully understand what is happening.

    Please allow me 24 hours to run my tests.

    Regards,

    Pablo Armet

  • Hi again Pablo.

    Thank you very much! If you find something out please let me know Slight smile

    Best regards

    Gabriel Rodríguez

  • Gabriel,

    Will provide my results by the end of today. Thank you for your patience.

    Regards,

    Pablo Armet

  • Hi Gabriel,

    When this is the case, i.e. pulse widths below 5µs, the H-Bridge seems to randomly stop working.

    Stop working means the H-bridge output is 0v?

    What is your Vcc?

    I don't think the chip is in sleep mode, but it cannot deal with the input pulse less than 5uS for whatever the reason. You can characterize this by checking the output pwm signal when changing the input pwm -- reduce the input pwm pulse width until output is 0% pwm, and this is the min input pwm pulse. Output cannot follow pwm input down to 0% duty cycle, because it adds deadtime to avoid shoot-through the output FETs.

    Brian

  • Hello Brian and thank you for your response.

    In an answer to Pablo Arnet in this thread, you can find more extensive testing I carried out afterwards, where you can see screenshots of the oscilloscope showing the behavior I'm experiencing. That should answer your question of what I mean by "The H-bridge seems to randomly stop working".

    My VCC is 3.3V for the logic part of the IC, and 1.2V for the VM input that goes to the H-Bridge's output (in my case the Peltier element).

    "but it cannot deal with the input pulse less than 5µs for whatever the reason". The problem is that, on my testing, it can be seen it actually deals with this pulse width in terms of turning on the output of the H-Bridge. This behavior can be observed in the last screenshot of the oscillsocope that I've uploaded, where the output turns on for about 13 pulses but then simply stops responding to following pulses, as if it had gone to sleep mode. Also, the timing in which this happens is consistent with the datasheet's described timing "t_AUTOSLEEP".

    "Output cannot follow pwm input down to 0% duty cycle, because it adds deadtime to avoid shoot-through the output FETs". While that is true, on the datasheet the output dead time "t_DEAD" is specified as typical 500ns, which is an order of magnitude below the 5µs I'm experiencing.

    Sorry for the formatting, I'm not familiar with this forum yet and I don't know how to quote you like you did with me :)

    Thank you very much for your contribution, hopefully we can help clarify somehow the behavior I'm experiencing!

    Best regards

    Gabi

  • Hello Pablo,

    Sorry to be impatient but any news regarding the problem I'm experiencing?

    Thank you again for your time

    Gabi

  • Hi Gabriel,

    The pin MODE would therefore be connected to the pin 5.6 of my µC,

    Mode pin is low or high in your application? 

    Brian

  • It seems currently you're using MODE=0, but for your application I would think it's better to use MODE=1 for Phase and Enable with PH driven by MCU I/O pin and EN driven by MCU pwm output. At least you should try this mode and see if you have the same problem.

    Brian

  • Hi Gabriel,

    Apologies for the late reply. I was on sick leave yesterday so I couldn't get back to you. 

    I ran some tests with the DRV8210, I did not have a DRV8212EVM but both parts are identical. Anyways, Regardless of the VM voltage, the output will shutoff when the ON time is around 3.5µ - 4µs. Similar to what you have observed. 

    I'm meeting tomorrow with the design engineers to understand if this is expected behavior or an unexpected one. I will get back to you with hopefully good news tomorrow.

    Regards,

    Pablo Armet 

  • Hello Brian. Indeed I'm running the IC on PWM mode and not on Enable/Phase mode. The reason for this is that, by default, the PH/EN mode's "off" status is actually a Break status, where the "motor" (in my case the Peltier element with the capacitor in parallel) is short circuited through the low side. Since my purpose is to lower the voltage using a PWM signal with the capacitor/peltier acting as a Low-Pass filter, this discharges my capacitor through the low-side of the H-Bridge instead of through the Peltier, which isn't the desired outcome:

    On the other hand, the PWM mode has a "coast" status where, instead of short-circuited, the "motor" can be left floating, which is the desired status for my Low-Pass Filter:

    That's why I can't really use the PH/EN mode for my application. That said, thank you very much for your time and your help :) I wish I could have just used the other mode!

    Thank you again and have a great day

    Gabriel

  • Hi Gabriel,

    I'm trying to drive an RC circuit (resistor in parallel with a capacitor) with the DRV8212 H-Bridge controller. The resistor is for now a substitute for a Peltier module which will be driven both to heat and cool down, hence the need for an H-Bridge.

    Resistor in parallel with a cap is not a LPF for converting pwm to DC voltage. I would do this instead: having L and C in series as LPF with one side of L connected to the driver output (A and B for both filters) and one side of C connected to GND. So with 2 sets LC filters connected to output A and B, then the Peltier is connected to the LC LP filters. Then you can use the Phase/Enable Mode as the LC will filter the PWM pulses properly to output a DC voltage proportional to PWM input and Phase.

    Brian

  • Hi Gabriel,

    That's why I can't really use the PH/EN mode for my application. That said, thank you very much for your time and your help :) I wish I could have just used the other mode!

    I tested a few things in the lab today and here is my conclusion:

    • Conclusion: Driving the DRV8212 in PWM mode and such that both IN1 and IN2 are low (same to your case), the device will go to sleep once the duty cycle becomes too close. However, driving in PH/EN or independent half-bridge mode, the device will not go experience this behavior. Also, driving in PWM but going to the "BREAK" (IN1=3.3V, IN2=PWM) state instead of the "Coast" (IN1=0V; IN2=PWM) state will not cause the device to go into sleep mode.
    • Solution: The simplest solution if you wish to use PWM mode while going to "Coast" (IN1=0V; IN2=PWM), is to use the DRV8212P which is same device as the DRV8212 with the exception of the MODE pin becomes the nSLEEP in the DRV8212P. Because the DRV8212P does not have the autosleep function, the device will not go into sleep mode when duty cycle becomes too low. 

    Regards,

    Pablo Armet

  • Hello Pablo,

    Thank you so much for your testing and your time, I really appreciate it.

    I just can't help but wonder, is this a desired result in the IC? I feel like it should be clarified in the datasheet, because it doesn't seem obvious to me that this behavior would take place from the datasheet. Seeing how the "dead time" t_DEAD is just 500ns, I would expect to be able to at least reach down to 1µs pulses without a problem. Especially when the datasheet claims "0 to 100% duty cycle" and "0 to 100kHz", without further remarks about either of those, there should maybe be a warning in the datasheet about the low duty cycles in PWM mode while using high frequency modulation. +20kHz is very normal to prevent audible ringing in motors, so it's not an uncommon scenario either I guess. I think it may prevent other people from experiencing this issue if this was clarified in the datasheet beforehand, so we could go straight to the DRV8212P variant directly instead.

    Again, thank you so much for your time, I'll order the other ICs, solder some PCBs and, when I get it working, update this thread with my results (if not locked by then).

    Best regards and have a wonderful day

    Gabriel

  • Hi Gabriel,

    I investigated this with our design team and here is the root cause for the behavior:

    There is a rising delay of approximately 5us on Inx pins.

    So any pulse width <5us is treated as 0.

    That’s why even though 1pin is toggling with PWM the auto-sleep timer thinks both Inx pins are 0 and after auto-sleep time(13 cycles ~1.3ms) the device is turning off. However, if one of the INx pins is tied HIGH and the other toggled, the device does not go into sleep mode.

    Hope this is clear.

    We'll work on adding this clarification in the Datasheet

    Regards,

    Pablo Armet

  • Hi Pablo,

    However, driving in PH/EN or independent half-bridge mode, the device will not go experience this behavior.

    I investigated this with our design team and here is the root cause for the behavior:

    There is a rising delay of approximately 5us on Inx pins.

    So any pulse width <5us is treated as 0.

    I'm curious of why PWM pulse < 5us is not treated as 0 in PH/EN MODE? Why the delay is not applied to the PWM signal at the EN pin?

    Brian

  • Gabriel,

    Basically if there are ON pulses <5us while the other input signal is LOW, the driver will see those 5us pulse as 0V. The delay is only present when the device goes into autosleep/cost mode.

    Regards,

    Pablo Armet