To many pull-up resistors?

Hi,

I've created a light controller for my aquarium there are 90 separated channels each driven by a XL4001E1. The EN pin is driven by 6 PCA9685 each channel 6 * 16 has its own 1k pull-up resistor to create a positive signal to the EN pin.

The PCA9685's are driven by a single 3.3V LDO (LD1117AG) when connected to 12v, this results in a really hot LDO and no power to the chips. I assume this is caused by the low parallel resistance value of those pull-ups, is that correct? If so how can I fix this?

When the chips are directly driven by the NodeMCU (uses a AMS1117 LDO) there is no problem at all and all chips are working fine. How is this possible?

Can I just swap the LD1117AG for the AMS1117 and call it done as that one is working just fine?

Thanks
-Stefan

The heat is caused by uselessly burning-off 8.7 volts at whatever current your circuit is drawing.

Try running it off 5volts instead.

16 x 6 times a 1k in parallel is just over 10Ω. So yeah, that is some current. 3,3V / 10 = 330mA. Does not sound like much but the LDO has to convert the extra voltage at that current to heat. Aka (12V - 3,3V) x 330mA = 2,9W! That is quite a lot for a small regulator. So switching to a DCDC converter might be smart.

But on a footnote, that is without seeing a proper schematic! And just from my basic understanding of what you have. You might have another error. If you want to know for sure, make a schematic. Please NO Fritzing breadboard mess, hand drawing will do. An yes, you may leave out 100% duplicated parts if you indicate how its duplicated.

Hi,

Thanks for your fast reply.
Here the schematic of the main board with the NODEMCU (left out)

(left out 3 DS DS18B20+, Pullups I2C, and nodeMCU as they speak for them selfs)

Here the schematic for the PCA9685 modules I created:


(Left out the pinheaders)

How is it possible that the nodeMCU is able to run the modules just fine?

EDIT: Can't I just up the resistance to 10K? This will up the total Ohm's to around 110 = 33mA, right?

I had a look at the XL4001 datasheet, and it appears there is no need for those pull-up resistors. Just drive the EN pins directly from the PCA9685 outputs, and set the outputs to the totem mode [so they can drive high or low].

I don’t believe you mentioned what kind of lighting, BUT, if it’s some sort of LED technology, I’m wondering if it wouldn’t be more efficient, and result in a lower parts count if you drove some of those LEDs in series. The XL4001 can take a 40VMAX input, and the output can go to 37V. Even if it’s 12-14V COBs, you could double them up [though I’m guessing, based on the 2A limitation, on that XL4001, they probably aren’t. So, High Wattage LED’s? At 4V each [conservative MAX], that’s 37/4 = 9 LEDs driven by one XL4001.

Notice how I’m struggling with a lack of information? You could save me [us] from that by reading:

How To Use This Forum

OK, the schematic helps. So, why the heck are you using PCA9685s to drive those XL4001 EN inputs? Seems like HUGE Over-Kill, and a waste of functionality. I mean, those 16 LED controller outputs are capable of 4096 PWM duty-cycle steps, none of which comes in handy when driving XL4001 EN inputs?

Why not just use something like a TCA6416A I2C to Parallel Port Expander?

A subsequent post made it clear the PCA9685 to XL4001 does make sense [didn’t know the TCA6416A EN input could be used for PWM] – so, I learned something :wink:

Not correct. You can use the enable to PWM the buck converter (probably in constant current mode).

They don't specify any specs about it so you're on your own but it does work :slight_smile:

Thanks for your reply.

I didn’t know about the “totem mode” can this be driven as PWM or just HIGH-LOW? If so I’ll try that.

True, I could connect more leds in series but i’ve multiple colours that I would like to drive individually, also I would like to simulate clouds so driving them in so many channels gives me the ability to create shades within the aquarium. Also 12V is a much safer, I think, for use near water.

I’m running 360 3w leds in pairs of 4 colours differing from blue, redish and 3 different temperatures of white.

stefanfr:
(left out 3 DS DS18B20+, Pullups I2C, and nodeMCU as they speak for them selfs)

Actually, they don't. Why? 'cuz until we see exactly how YOU are using them, WE can't know if YOU know what the HECK you're doing. WE can't make that assumption, and then face ourselves in the mirror :wink:

No, it's important to show your work, so we know EXACTLY what yer up to. Need proof? You're having a problem, right? That proves you don't have all the answers. And for us to help you have the rest of the answers we need to see if you are making some incorrect assumptions.

PLEASE READ: How To Use This Forum!

Correct, the XL4001 EN is PWM driven.

Alright here the schematic for the left out parts:

stefanfr:
I didn't know about the "totem mode" can this be driven as PWM or just HIGH-LOW? If so I'll try that.

It's in the Datasheet ... you've read it, right?

And, presumably, being an LED output driver, it will behave the same whether open-drain or totem pole.

I did but I didn't understand if the totem pole was able to run PWM as I couldn't find anything specific about it. Only the global "Each LED output can be off or on (no PWM control), or set at its individual PWM controller
value."

Uhm, that part around the XL4001 seems to be completely wrong.... No feedback and nothing switching the inductor....

What kind of leds do you use? The PCA9685 can't drive that directly?

And yes, the PCA9685 is a PWM driver so that total pole does include it's normal operation :wink:

About the NodeMCU, I don't see it so I have no clue where it gets it's power from.

stefanfr:
I did but I didn’t understand if the totem pole was able to run PWM as I couldn’t find anything specific about it. Only the global “Each LED output can be off or on (no PWM control), or set at its individual PWM controller
value.”

Yes, Datasheets are quite typically, and annoyingly, void of such details. I would use the following logic:

  • Each LED output can do PWM.
  • An LED output driver can be programmed to be totem pole
  • Therefore, Each LED output can be totem pole AND do PWM.

stefanfr:
…I would like to simulate clouds so driving them in so many channels gives me the ability to create shades within the aquarium.
I’m running 360 3w leds in pairs of 4 colours differing from blue, redish and 3 different temperatures of white.

Sounds like it’s going to be frikin’ amazing!!!

And, have you read How To Use This Forum, yet?!?

@septillion, I’m driving 3w leds (700mA) at ±12V, so the PCA9685 cannot handle even a single led :stuck_out_tongue:

The feedback isn’t added since this is for constant voltage, and over voltage protection. This isn’t possible in my case as not all LEDs I use are at the same voltage. So a fixed over voltage protection will ether still fry the lowest voltage LEDS or limit the highest voltage LEDS. (I reverse engineered an Ebay driver where this was also removed). The typical application would indeed include the feedback:

@ReverseEMF, Thanks for explaining how I can read the datasheets better in the future.
I just read the How to briefly as I’m still at work. I’ll read it fully later to day. I understand that and error can be in the smalles detail. I’ll create my future posts with that in mind and post every detail needed to resolve an issue! Thanks!

You're right, it has separate feedback for current. Mixed it up with another driver. But it would be recommended to do connect it. It will give you the over voltage protection. (And it is overvoltage, not constant voltage!)

And note you would like a low ESR cap on the output. And note you are really pushing the LED's. A little bit less current will be barely noticeable but will probably extend the lifetime a lot.

stefanfr:
The feedback isn't added since this is for constant voltage, and over voltage protection. This isn't possible in my case as not all LEDs I use are at the same voltage. So a fixed over voltage protection will ether still fry the lowest voltage LEDS or limit the highest voltage LEDS.

So...I don't get what you're saying. Isn't there one XL4001 per LED? If so, then why would there be a "fixed over voltage protection"? Can't you configure the over-voltage protection for each LED case? And, also, you realize that you can set a MAX voltage, and still have a Constant Current going. It will lower the voltage to satisfy the LED Forward Voltage, for whatever current it is regulating at. In other words, current regulation will have a higher priority than voltage regulation, BUT, if, while trying to get the "programmed" current to flow, it raises the voltage to the set limit, it will stop at that voltage -- this is how over-voltage protection works. The result is, the LED will be driven at a lower current than it was configured for.