Advice on using VN750 high side driver with ESP32

Hi everyone, hopefully I'm posting this in the right section.

So, I have a control board for some LED lights (12v) that currently has VN750 high side drivers on it.

Link to datasheet: https://www.st.com/resource/en/datasheet/vn750.pdf

These are currently controlled by a PIC16F877 and I'm looking to adapt it to an ESP32.

Currently, the connections are as follows on the VN750:
Pin1: GND
Pin2: Input from PIC with 6.8k resistor to GND
Pin3: +12v (with capacitor to ground)
Pin4: Not connected
Pin5: Output to + side of LED

Currently, the PIC turns them on either at full brightness or with PWM for dimming. If I connect 5v from the regulator that powers the PIC to the input pin, it turns on no problem.

It appears (If I'm reading correctly) that the input should turn on with as low as 3.25v. However, I am not able to get it to turn on either by PWM output directly from the ESP32 or from PWM output of a connected PCA9685 board powered by 5v with common ground.

I have a test program running that alternates between full on (100% duty cycle) and full off as well as ramps up from 0% to 100%, but I get nothing.

My first thought was maybe the pull-down resistor should be different for the ESP32 at 3.3v, but then I tried with 5v through the PCA9685 and it still didn't work.

Any suggestions? And, please don't say I should use a different driver unless you can recommend one that is the same side and pin configuration. I'm trying to not modify the board other than adapting it to the ESP32. Otherwise, I'd just make a new board and probably use something on the low side instead.

Any help would be appreciated, I'm still learning when it comes to these things.

Take a look at the data sheet, this may eplain why you are having problems.
2.3 Electrical characteristics
Values specified in this section are for 8 V < VCC < 36 V; -40°C < Tj < 150°C, unless otherwise stated
VCC Operating supply voltage 5.5 13 36 V
VUSD Undervoltage shutdown 3 4 5 .5 V
VUSDhyst Undervoltage shutdown hysteresis 0.5 V
It is a good part. It is going to need some level shifting to get it to work.

I was reading through that, but it's a bit confusing to me.

Supply voltage is around 12v, higher in some cases as this is an automotive application.

Undervoltage shutdown it typically 4v, which I figured might be the problem with the output directly from the ESP32 and is why I went with the PCA9685 powered off of 5v. While the VCC of the PCA9684 is 5v, the i2c lines are 3.3v, but it does work. I have an oscilloscope (still learning how to use) that shows a peak voltage of 4.96 while my multimeter shows 4.76 when pwm is set to 100%. When the PWM goes from 0 to 100, the RMS voltage varies and the pulse width seems to be working fine.

I understand that the undervoltage shutdown hysteresis has something to do with the automatic shutdown, but I am not sure what the 0.5v rating is exactly.

What confuses me is that the PIC chip can activate it, but nothing else does. If I'm reading things correctly, I think the PCA9685 can supply enough mA for the VN750 to turn on.

Do you think the 0.04v (based on oscilloscope) could make that much of a difference? Sadly, I do not have a variable power supply anymore, it died. Otherwise, I'd play around and see what the cutoff is.

This applies to Vcc (car battery), not Vin. See Figure 6 - Undervoltage.

I suggest a level shifter to 5V. Or a newer 3.3V input driver.

Forgive me, late night, half asleep and trying to figure things out. I see now that the undervoltage I was reading was for the vcc. But, I don't believe any of that applies to my situation because I am using a power supply that is putting out the correct voltage and would never drop down to the 5.5 v maximum shutdown voltage. So, now I'm even more confused about gilshultz reply and what those characteristics have to do with my problem.

Looking at the input characteristics, the low level max is 1.25v and the high level min is 3.25v. So, if my PCA9685 is running off of 5v and putting out just under that, shouldn't that be enough to trigger the VN750 without a level shifter? Or am I missing something else here?

This is now a different problem. I suggest you do some research, your input voltage range changed to 0 to 24V either normal reversed polarity. Expect transients in the 100V range. There is a good ap note AN2689 by ST on automotive electronics, it is easy to find with google. reading it will help you a lot. It will not answer all of the questions but get you started in the correct direction. If the lights have anything to do with safety systems such as headlights, tail lights, turn signals etc on a drivable vehicle humbly back out because of the liability associated with modifying those systems.

That will do, but not the 3.3V ESP mentioned in the topic title.

The lights have nothing to do with safety, and the circuit is not my problem as it was already professionally designed and meets any required standards for what it is. This is not in question and not what I am asking about at all, though I do appreciate the reference and will look it up so that I can learn more. And, at the moment, for testing, I am running it off of a home power supply, so I would think there should be no transients in the 100v range at the moment.

So, going back to the original post, all I'm trying to figure out is why the driver is not being triggered on the input by the 5v (reading as 4.96v) from the PCA9685 (connected to ESP32) when the PIC chip triggers it perfectly fine.

I realize the ESP32 is barely within range and with slight drops it may not trigger it, which is why I added the PCA9685 with 5v input, so that it would be high enough above the 3.25v minimum.

Then something is wrong. Either some defect or you missed to tell more essential details.

If the switch reacts on 5V but not on the output of the PCA9685 then you know where to look next.

1 Like

It's definitely confusing me.

VCC measures as 13.56, all grounds are commin. Circuit is as described in the first post. Here's a link to some images taken with my oscilloscope with measurements. Yellow is the output from VN750 (not turning on) and green is the input coming from the PCA9685. While the two folders appear to have similar images, note that the measurement info at the bottom is different.

Here's a link to some screenshots from my oscilloscope if it helps at all.

Also, there are 4 of these drivers on the board and every one does the same thing.

Without a reference line (0 V) the screenshots are of little help. Why different folders for input and output if you have a 2 channel scope?

From your description I suspect a missing GND connection for the input signal. It's simply incredible that a 5 V input signal shows different effect depending on its source.

I wonder if a schematic would be of any use.

The arrows point to GND/Ref.

Let's see an ESP output, then the ESP output conn'd to the PCA in, then the PCA out vs. the PCA in (all of that free of the VN750 assembly).

If you refer to my last post...

While I did not include the min voltage, one can assume that the voltage doesn't go negative and that, with DC voltage and a square wave, the reference line for 0v is at the lowest point, where the marks are on the left that say 1 and 2. Just because there isn't a line across, doesn't mean it isn't marked. The second green mark was a T, which was just the trigger setting as this oscilloscope has a trigger output. Thank you for pointing that out @runaway_pancake.

Sure, I could draw you a schematic, but it is literally as described. 12v (actual 13.56) in from power supply on VCC pin 3 (or tab), GND to pin 1, no connection to Status pin 4, input directly from PIC chip with absolutely nothing but a pull-down resister (6.8k) to GND halfway in between on pin 2, output on pin 5 directly to + side of lights.

When referring to the ESP output, do you want the i2c connections, or a PWM output from trying to go direct to the VN750? Sorry if I'm misunderstanding, but if you tell me exactly what you want I'll upload some more captures. I apprecaite the help.

Most interesting were a input/output comparison with a PWM signal. A single image is sufficient.

I guess this PCA device gets I2C from the ESP, resulting in various PWM from the PCA outputs. The PCA outputs are supposed to go to the VN-thingy inputs, affecting the VN-thingy outputs.
If there's no output from the VN's then something's missing in between (the ESP I2C signals, the PCA outputs). "Half-split" troubleshooting.
So, if you're sending the right I2C do you get a proper output from the PCA channel that you're "talking to"?

The test program I'm running changes all the channels at once. I used the example at Digital Town - PCA685 and LED's.

I get the same results from all 16 outputs, which seem to be working fine.

It was probably a little overkill with the multiple screenshots, but I wanted to show that the PWM was working properly. I wish it could just save a video.

My only thought at this point is that for some reason the PCA is not giving enough current to turn on the driver. Do you think that could be the case? Would the value of the pull-down affect this significantly enough?

Your digitaltown sketch wasn't what you were using before - was it?

I saw that there are two modes --
The LED output driver is programmed to be either open-drain with a 25 mA current sink capability at 5 V or totem pole with a 25 mA sink, 10 mA source capability at 5 V.

PCA9685 Datasheet by Adafruit Industries LLC | Digi-Key Electronics (digikey.com)
It seems the digitaltown sketch there is doing with LEDs direct - "open drain".
Your PIC may have been programmed for totem-pole. (IDK - I'm not a PIC guy.)
If they are indeed Open-Drain, then they need to be pulled up.

The VN-thingy, as I see it, doesn't need current so much as voltage.

PE - Reading further, the PCA is Default in totem-pole mode.

Hi, @kb1sph1

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?
Hand drawn and photographed is perfectly acceptable.
Please include ALL hardware, power supplies, component names and pin labels.
PLEASE not a Fritzy cut and paste.

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

Yes, that is the sketch I'm using.

Somehow I missed this. Ok, I played with the invert and totempole/open-drain settings (4 possible combinations. The default was indeed totempole. Setting to open-drain makes it look weird on the oscilloscope, not the typical square wave.

No matter what I try for these settings, nothing turns it on. Interesting enough, there are also IRLL024N HEXFETs on the board for smalled LED modules that are working perfectly fine from the PCA output.

Hi,
Do you have ALL the gnds connected together?

Have you got a pullup resistor for the OPEN circuit output?

Need pictures and schematic.

Thanks.. Tom.. :smiley: :+1: :coffee: :australia: