thefreeman’s HDR Anduril 2 high efficiency drivers - update : FWxA boost driver

I don’t know much about boost drivers and you seem knowledgeable enough to ask this question.

What needs to be changed so that the driver can reliably boost to something like 4.5v CC rather than 6v? This driver is constant current right?

Looks good :+1: . Looking forward to your test results once you get it built.

Do you have a 2D schematic / wiring diagram for this non-EE to try and understand this design? How many added components do you use for the dual sense circuit? I think you’d only need 3. A small fet, sense R, and maybe a pulldown R for the fet… I could be way off here, but it seems like there’s a lot of extra components here…

Also, this is extremely application dependent, but I’d think using a second half moon shaped PCB (maybe 0.8mm) and connecting it via header pins could be an option to get the rest of the components on the top side by moving the solder pads for the RGB/switch up to the top board. In lights where you have the depth for a large inductor you should also have room for this in my mind

Yes, because when the entire driver cavity is filled with the potting compound there’s no risk of components hitting the shelf.

BTW milling small holes in the shelve above the taller components is a trick I’ve seen before…but only in high end lights.

:+1: But … 32 components , 2 sides and 0402 size ! Just wondering what is and what for U2 and Q2? ;))

I'd say it can stock boost to just 4.5V, that unless the TPS61288 has some limit down there; but I don't see a reason for it not to.

If you can provide more information, do so. Leds are far from being constant voltage devices. A typical “6V” led, usually a blue pumped phosphor converted white led with 2 in series groups of dies, actually requires way more than 6V when driven hard, and barely 5V when driven very low. So, where did you got those “4.5V”?

Wait for thefreeman's input.

Ripple is due to the limited output capacitance of the 2 1206 capacitor, but the zigzagging is (I think) reduced loop stability with the XAL7030-222 spice model (as opposed to the ideal 2.2uH inductor+14mΩ DCR with which it was very stable), also the limited output capacitance, I’ll have to see how it is in reality, I’ll need to buy myself a scope for that and adjust compensation, maybe it would be good if I can fit another output capacitor.

Min output of TPS61288 is 4.5V, so it depends if you mean 4.5V or a little below.

Yes it is constant current.

I’ll post the schematic, just need to clean up a bit and annotate.

A mosfet, sense resistor, and a gate resistor, not sure the later is really needed, ZL don’t use any.
The mosfet is on the high current path and part of the current sense resistance, so it needs to have a low RdsON to not influence the sense resistance too much as they don’t have a precise resistance, a smaller size mosfet would have too much resistance for that.

Yeah but like you said it becomes more specific to a flashlight.

Ah alright.

U2 is the LDO, Q2 is used to switch between the two sense resistors, you’ll see the same on the LumeX1 driver, as well as ZL driver (2 mosfets because 3 sense resistors)

All components are necessary here (exept Q2 gate resistor maybe). As for 0402 I never used them but I doubt it’s that bad.

For less passives, the to be released MP3437 will be good for lower power boost driver since it’s more integrated (no external compensation network)

OK, and what lowest mode possible with minimum component and usual resolution?

If no moonlight mode is needed then we can remove R6,R7 and Q2 (bridging Q2 pads), with 10 bit the minimum outpout would be ~5mA with 5A max, the lowest level might flicker a bit similarly to lume1 or the new Fireflies lights, 3rd (1:340) and up should be free of flicker.

10 bit (210) sense resolution… lowest level might flicker? Is this because of switching noise?

Honestly, the dual sense resistor solution grabs my attention with respect to reducing sense voltage, not so much because of moonlight. Guess I'm fed up finding drivers like this buck driver with 4 - 5A output and 47.619mΩ sense (above 0.2V sense :facepalm: in a “3V” driver?) which, in my opinion, is a sloppy botch.

Still, in my honest opinion I find no reason for not wanting polished boost-buck engines, so full regulation independently of input voltage / battery SoC and power output.

And then, I remember the thread Modifying a weird AC led driver from a gooseneck lamp which I opened long ago, featuring a very simple AC led driver which I found curious and smart:

There current delivery depends on input frequency times capacity. I wonder how this concept could be of help in low voltage drivers… probably not much. They really saved on such a driver, and guess it was not meant to break, by the way.

I suppose noise yes, the op-amp is precise enough, very low offset voltage (max10uV) and input curent bias so I think it’s not that, I don’t know what is the sense voltage in the new FF lights, it’s 60mV I believe in the lume1, 50mV in the KR4 driver (linear, but also have unreliable 1st and 2nd levels). So it would seem that 50~100 uV sense voltage is too low. I mentioned 1:65000 in the specs, that is 8bit on each ranges, with a 40mV sense voltage (5A, 8mΩ) that means 150uV at 1/255 and which should be high enough to avoid any problems. It would generate 200mW of wasted power at the max current which is quite low already, but it could be lowered further with a lower sense resistance, at the cost of resolution.

I love this forum.

Following

1 Thank

Nice work. I’ve also designed a driver around the TPS61288, it’s a bit different than yours though, it’s 17mm dual sided and intended to work with both E-switch and clicky switch. Parts are ordered and on the way.

One thing I don’t quite understand is why you are using a LDO? Are you using PWM though a RC filter? I’m not sure why you would do that with the ATtiny1616, is it to maintain Anduril compatibility?

It’s to give the MCU a fixed voltage supply so that the output PWM signal is also a fixed voltage (2.8V in this case), which is then filtered and divided down to Vsense.
But I have barely any knowledge of the MCU/firmware part, do you mean that with 1 series Attiny you can output a fixed voltage PWM no matter the supply voltage ? Or use the DAC maybe ?

Yes, the DAC. It’s what I use. I have not been using the 1616 specifically, I have used the 3217, but by looking at the datasheet it works the same way. I have just received an order with 1616s for my 61288 driver so I’ll find out soon enough anyway.

When using 2.5 voltage reference the DAC output is capped at 2.5V if MCU voltage is higher. Another benefit with the DAC is that it has better resolution than 10 bit PWM on the lower modes when using the 0.55 voltage reference. If requires some coding for smooth transmission between these voltage references if you want smooth ramping all the way through, but for me it’s worth the work to avoid LDO and RC filter.

That’s very interesting, indeed that means several parts fewer, unfortunaltely I really have trouble with coding in general, maybe one day I’ll have to learn, but for now I made it compatible with Anduril which output a PWM signal.

Are you getting reliable low levels when Vsense gets very low ? (See the discussion just above)

I do get a little instability on the lowest modes with 0.55 vref on my previous boost driver with MP3429. However, I did take your suggestion in the LumeX1 thread and added a second sense resistor and mosfet, so thanks for that. Space is a little tight on my 17mm driver after fitting the mosfet so I have been forced to “downgrade” to 1616 for this new driver, I couldn’t make it fit with the 3217.

Cool, glad it could help. But now with 2 sense resistors, one vref for the 8bit DAC should be sufficient ?

Are you going to use anduril with it (in e-switch mode) ?

Yeah, it’s a good suggestion, and looks like Loneoeceans method is the same. I could actually fit a tiny charge pump I’ve used before to keep mosfet resistance low, so I squeezed it in for the mosfet gate.

I only use my own firmware, for me it’s the fun part of the hobby. My firmware is E-switch, clicky switch and dual switch compatible as it is so no need for different firmware files for different lights.

I hesitated to use a charge pump gate driver like mic5019 to get a very low resistance, but I thougt that there was already enough parts, so I chose a mosfet that have arround 2.5mΩ at 2.8V, a bit expensive but not more than mosfet+driver. Ah but I forgot, the LDO is also to keep the mosfet resistance constant, without it the charge pump should virtually eliminate that resistance variation.