The Texas Buck driver series, Q8 / Skyray King 2S/4S buck driver RELEASED!

Yeah, the boards will be about $15-20 depending on where you get them. Might get them a little cheaper from china.

So basically it will cost as much as the Q8 to upgrade the driver lol.

Hence why I am thinking about giving an op-amp a go after this one is done.

Here goes. Hopefully I didn't mess anything up. Your risk, not mine. Only buy and build what YOU want. I have nothing to do with it. :)

Parts list for 16.8V input, 12V nominal output, driving 4p xhp-35 at 2.5A per LED, 576 khz, 10A total (can go higher, but it’s an experimental driver)

The Parts

(see shopping list below if impatient)

MCU: Attiny85 the normal one, attiny85-20SUR I believe is usually fine. V version is also fine I think. (However if driving with 4.2V an attiny85V should probably be used because this driver presently requires an LDO for the mcu even for 1S batteries and the LDO will need to operate below the lowest battery level, needs more thought though and wil require some resistor value changes)

LDO: MIC5235 3.0V (other voltages CAN work, but require some resistor value changes)

Buck IC: LM3409 10-MSOP-PowerPad (or EP)

Inductor, must be 17.15*17.15mm or very close. 10uH absolute minimum inductance. 30mohm max resistance.

Vishay IHLP6767GZER150M11 is a good choice since resistance matters most. It's very expensive though, $6!!, but other alternatives are about the same.

Diode, "8PowerTDFN" (might be compatible with similarly named footprints?) STPS30M60DJF-TR has a low 0.5V Vf and low leakage current when hot.

Mosfet:

Powerflat 5x6 p-channel FET (PFET), Infineon BSC084P03NS3 G Balances low Rdson with low gate capacitance. Gate charge divided by voltage should be less than ~12nF at worst. Half that is better. Rds on should probably be less than 20mOhm at worst. Low Rdson is good for high power. Low gate charge is good for low-current efficiency. It's usually some tradeoff.

Caps:

C2 10.uF 0805, Vcc bypass 4V minimum, 6.3V or more highly preferred, 10%

Cf 1uF 0603, Gate drive bypass, 16V 10%

C1 10uF 1206 , LDO input bypass, 35V 10%

Cf2 10uF 1206, Iadj voltage filter, 4V minimum (6.3 preferred). 10%, x7r preferred but 125C rated should do. Alternative: 220uF for soft mode transitions. Tantalum and high ESR (ohms even) are OK here.

Cin 10uF 1206 or 1210, Input cap, 35V 10%, two minimum, 3 x 1206’s should fit. 4 might fit and is even better. <20% dissipation factor at 1Mhz, 10% prefered.

Co 10uF 1206 or 1210, Output cap, 35V 10% One is enough but two is insurance. <10% dissipation factor (5 is better), with good performance up to 1Mhz.

Just buy ten of 1206 10 uF caps and you’re set. Cin and Co should be high quality caps.

Coff 470pf 0603 35V Buck off-time cap.

All caps should be ceramic unless stated, X7R or better strongly preferred (125C or higher rated) .

Resistors:

R1 220k 0603 for e-switch 22k for clicky maybe. (with OTC mods now under development, the clicky issue will dissappear)

R2 12k 0603 for e-switch, 1.2k for clicky maybe.

R5 4.7 ohm 0603 1/8 to 1/4 watt might be wise here, but 1/10 should be ok I think.

BR This has no purpose on this light. You can use the pads to get voltage for wiring something.

Rf2 3.9K 0603

Rf3 2.7K 0603 (Could use 4.7k and 3.3k also for a little softer mode transitions with the 220uF cap)

Roff 4.7k 0603 with the 470pf Cf, this will give very roughly 580 khz, which seems ok.

Rsense, 2512, current sense resistors, X 3. 0.074 ohm each, 2W rated, adjusted for max current, see below.

Ruv2, any value, 0-ohm is even ok. 4.7k is also fine for example

Ruv1, leave off.

All resistors should be 1% tolerance, rated for high temperature, 155C preferred, 1/10 W or more unless specified

Jumpers

You will need to jumper the battery pad to 4S for this setup. That requires 1 jumper. To my surprise most SMD jumpers are specced only at <50ohm. Vishay has some in 1218 and 2010 rated to < 4 or 5 mohms and 12 to 20 A for about $0.50 cents each. Personally, I'd just use some solid copper wire.

Adjustments

RSense

Max current occurs at 0.248V drop across Rsense.

So Rsense_total=0.248/Imax.

But there are three resistors, so if they are the same, they should each be:

Rses1=3*0.248/Imax. Err on the high side of resistance values to be safe.

But no software adjustment can ever make the current higher than the max value set here.

Ex: 2.5A for xph35*4= 10A total.

Rses= 3*0.248/10=0.074 , closest match, 0.075 ok.

Soft mode transitions:

To achieve slow (~0.33 s RC) you can use a Cf2 of 220uF and adjust speed by increasing or decreasing Rf2 and Rf3. Some options are:

Rf2: 3.9K, Rf3: 2.7K (flintrock's favorite) ~0.35s RC time

Rf2 4.7K, Rf3 3.3K ~.43s RC time requires one less new value. Much larger and the current control circuit gets an offset, but it should be < 0.7% offset with these values still. Twice as high could still be ok but I think these RC values should feel nice. PWM will be used to get lowest modes anyway so a small control offset is ok.

These are chosen to prioritize standard resistor values, but either matches the max control voltage to better than 1.2% after bias current correction. For best precision you can use a 1.02K and a 715ohm, but won’t get very soft mode transitions and probably won’t notice the precision improvement. If you’re using a 10uF cap anyway, then you can as well use these lower resistor values.

Expert tuning:

Roff:

In brief, increasing Roff decreases buck frequency, nearly proportionally, and of course decreasing Roff increases frequency. You can vary it by about twice in either direction. Higher frequency uses more switching power which is important for low power modes, however lower frequency has more ripple current which also impacts low power modes. For middle modes, low frequency is best. For lowest modes, it's not clear yet (maybe never will be).

The frequency of the buck is determined by the offtime and the duty cycle. The duty cycle is approximately Vo/Vin. The off time is given by equation 4 in the manual:

http://www.ti.com/lit/ds/symlink/lm3409-q1.pdf

or approximated by equation 6 (might as well use 4).

The frequency is (1-Vo/Vin)/t_off. As Vin gets very close to Vo this approaches 0 frequency, so as you near direct drive for low batteries or high current, the buck just stays on. For 16.8V in and 12 to 13V out, a good frequency target is probably around 500khz.

Iadj:

Rf2, Rf3, Cf2, LDO voltage, and a pwm duty cycle all determine the current set point. This set point is controlled by a voltage intput to the IC and you can read about how that's achieved here:

Only duty cycle should really need to be adjusted though (through software modes) for current control. Max current is adjusted with the sense resistor, not with this. Of course software could limit the duty cycle, but that’s not the safest approach to limiting current.

LM3409 low voltage shutoff

Ruv1, Ruv2 are the voltage divider for buck IC shutoff. This is redundant with MCU shutoff. You can leave off Ruv1 entirely and use pretty much any value at all for Ruv2 then. This will disable this feature.

If you want to use this feature, there are two concerns, the cuttoff value and the hysteresis. If the IC cuts off at 2.7V but the unloaded battery voltage recovers to 3.1V and the hysteresis is only 0.1V, it will immediately turn back on because the IC is still powered. There is no mechanism to interface this with software to lock out or lower the mode, so it will probably flicker on and off. Best is probably to have very large hysteresis. Presumably a power cycle will reset the hysteresis and mode programming that starts in low modes could allow the light to be turned back on at lower power, so the best solution is probably to use a large hysteresis. Hysteresisis in volts per cell h is:

h=.000011*V*Ruv2

Then

Ruv1=1.24*Ruv2/(Voff-1.24)

So a 110k Ruv2 would give 1.2V/cell hysteresis, should be enough, and pairs well with a 33k Ruv1 for a 2.7V cuttoff, 36k for 2.5V, or 30k for 2.9V. These are not included in the default shopping list. The default shopping list leaves this feature disabled.

Shopping list

Digikey carts will apparently expire and they only work on digikey.

This is better:

References Quantity digikey Description
U1 1 ATTINY85-20SURCT-ND IC MCU 8BIT 8KB FLASH 8SOIC
LDO 1 576-2783-1-ND IC REG LDO 3V 0.15A SOT23-5
U2 1 LM3409MY/NOPBCT-ND IC LED DRIVER CTRLR DIM 10MSOP
L1 1 541-1287-1-ND FIXED IND 15UH 14A 14.4 MOHM SMD
D1 1 497-12421-1-ND DIODE SCHOTTKY 60V 30A POWERFLAT
Q1 1 BSC084P03NS3 GCT-ND MOSFET P-CH 30V 14.9A TDSON-8
C2 10 1276-2872-1-ND CAP CER 10UF 16V X7R 0805
Cf 1 311-1446-1-ND CAP CER 1UF 16V X7R 0603
Cf2,Cin,Co,C1 10 1276-6767-1-ND CAP CER 10UF 50V X7R 1206
Cf2 alternate 1 490-13970-1-ND CAP CER 220UF 6.3V X5R 1206
Coff 10 1276-1094-1-ND CAP CER 470PF 50V X7R 0603
R1 10 311-220KHRCT-ND RES SMD 220K OHM 1% 1/10W 0603
R2 10 311-12.0KHRCT-ND RES SMD 12K OHM 1% 1/10W 0603
Roff, Ruv1 10 311-4.70KHRCT-ND RES SMD 4.7K OHM 1% 1/10W 0603
R5 10 RNCP0603FTD4R70CT-ND RES SMD 4.7 OHM 1% 1/8W 060
Rf2 10 311-3.90KHRCT-ND RES SMD 3.9K OHM 1% 1/10W 0603
Rf3 10 311-2.70KHRCT-ND RES SMD 2.7K OHM 1% 1/10W 0603
Rsns 3 696-1670-1-ND RES SMD 0.075 OHM 1% 2W 2512

See section above about the battery contact jumper, not listed in this table.

The 10 uf 1206 Ci Co caps keep going on backorder. That's because they are cheap and seem to be really nice caps.

These are an alternative, at twice the price, and slightly worse ESR, but still good and maybe available much faster: 1276-3103-1-ND, or 1276-3102-1-ND


USING THE SHOPPING LIST:

You can install

https://1clickbom.com/ in firefox (doesn't work as well in chrome)

And cut the table above and hit paste in the browser tool, and "complete" (hit complete several times actually, waiting for it to update between each, seems to help) to get shopping carts at all digikey, mouser, Newark, Farnell, (no arrow :() .. Click the add to cart icon on each to automatically create a shopping cart on any of them. Click "copy" and you get a table with part numbers from all of them. It's pretty nice actually. Of course a few parts are missing at mouser etc because these were chosen at digikey.

Updates, changed C2 to 10uf and now 0805, as needed for LDO. Chanted R1 and R2 to work with 1.1V reference as now standard in bistro.

-Removed JMP from cart, added Jumper section for battery jumper explanation.

-Updated description of BR in line with this board.

Most of those resistors are chosen as the cheapest, not the best. You can get lower temperature coefficients for a price. TA says many of the big parts are also maybe cheaper on Mouser. I think that was arrow. Anyway, mouser is actually a few cents more.

Like buying a Corvette and going to Discount tire for the 4 for $99 special when you need tires… Why are those the cheapest resistors? I plan to build this driver, I don’t want the cheapest, I want the best or it isn’t worth the time y’all have spent sorting all this out.

Nah, it's more like getting it with stock tires actually. These are all 100ppm/C which is quite good actually. For 100C delta (so up to 125C absolute) that means 1% change, so at most you're at 2% total off the nominal value then. Yes for 2 resistors that could be read as 4% total, but it's not since the thermal coefficient isn't random, and both heat up the same way.

In fact though having two in every divider means it's almost no effect at all since they both change in the same direction. This won't hurt performance. The worst it will do is mean your max mode 0.5% different than what you think, as if it will really be that close even if we did use 0.1% resistors. Of course you can order what you want, but I think these are actually the most sensible. Anything more is probably like probably like buying gold plated fuses for the AC input to your audio amp.

I suppose I might not have been careful to match brands for dividers. I probably could do that at least. I'll give it a look when I get a chance.

I measured resistance from PBx pins to both VCC and GND on an unconnected MCU. I got varying results but the lowest was in the 4 to 5 mega ohms range. Things are probably different when it’s mounted on a driver.

I didn’t think about the zener case either. In any case I’d guess that a driver with the LDO solution would provide more stable readings than one with the zener solution, or at least differently. The zener does what it does, it’s passive, but the output pin of the LDO probably behaves differently when there is no input voltage.

The off time cap is measured before it gets any voltage. The cap doesn’t get charged until the pin it sits on is set to output high in the firmware, at least this is the normal method in “standard” driver designs if things haven’t changed lately.

Updated cart above. To give an idea how powerful that browser tool I linked is.. it generated this for me from my table above, and populated my shopping carts for all of them:

(NOTE THIS IS NOW DEMONSTRATION ONLY, NOT CORRECT COMPONENTS)

References Qty Description Manufacturer MPN Manufacturer MPN Digikey Mouser RS Newark Farnell
U1 1 IC MCU 8BIT 8KB FLASH 8SOIC Atmel ATTINY85-20SUR ATTINY85-20SURCT-ND 556ATTINY8520SUR 68T3811
LDO 1 IC REG LDO 3V 0.15A SOT23-5 Microchip MIC5235-3.0YM5-TR 576-2783-1-ND 998MIC52353.0YM5TR 71Y1742
U2 1 IC LED DRIVER CTRLR DIM 10MSOP Texas Instruments LM3409MY/NOPB LM3409MY/NOPBCT-ND 926LM3409MY/NOPB 7615678 14R4586 1735797
L1 1 FIXED IND 15UH 14A 14.4 MOHM SMD Vishay Dale IHLP6767GZER150M11 541-1287-1-ND 70IHLP6767GZER150M1 7487615 13T1269 1845594
D1 1 DIODE SCHOTTKY 60V 30A POWERFLAT STMicroelectronics STPS30M60DJF-TR 497-12421-1-ND 511STPS30M60DJFTR 8290456 97W2993 2325863
Q1 1 MOSFET P-CH 30V 14.9A TDSON-8 Infineon BSC084P03NS3GATMA1 Infineon BSC084P03NS3GATMA1 BSC084P03NS3 GCT-ND 726BSC084P03NS3EG
C1 1 CAP CER 10UF 25V X7S 0805 Murata GRM21BC71E106KE11L 490-10496-1-ND 81GRM21BC71E106KE1L 8851764 96Y9268 2611935
C2 10 CAP CER 0.1UF 16V X7R 0603 Yageo CC0603KRX7R7BB104 311-1088-1-ND 603CC603KRX7R7BB104 6698763 68R4769 432210
Cf 1 CAP CER 1UF 16V X7R 0603 Yageo CC0603KRX7R7BB105 311-1446-1-ND 603CC603KRX7R7BB105 68R4770 1458900
Cf2,Cin,Co 10 CAP CER 10UF 50V X7R 1206 Kemet C1206C104M5RACTU Kemet C1206C104M5RACTU 1276-6767-1-ND 603CC206KKX5R8BB106 14N2184 2581103
Cf2 alternate 1 CAP CER 220UF 6.3V X5R 1206 Murata GRM31CR60J227ME11L 490-13970-1-ND 81GRM31CR60J227ME1L 55Y9932 2494472
Coff 10 CAP CER 470PF 50V X7R 0603 Samsung CL10B471KB8NNNC 1276-1094-1-ND 7665238
JMP 1 RES SMD 0.0 OHM JUMPER 3/4W 2010 Yageo RC2010JK-070RL YAG3380CT-ND 603RC2010JK070RL 98K7919 9235523
R1 eswitch 10 RES SMD 360K OHM 1% 1/10W 0603 Yageo RC0603FR-0736KL 311-360KHRCT-ND 603RC0603FR073K6L 68R0080 1799338
R1 clickie 10 RES SMD 36K OHM 1% 1/10W 0603 Yageo RC0603FR-0736KL 311-36.0KHRCT-ND 603RC0603FR073K6L 68R0080 1799338
R2 eswitch 10 RES SMD 47K OHM 1% 1/10W 0603 Yageo RC0603FR-0747KL 311-47.0KHRCT-ND 603RC0603FR074K7L 5047363 68R0098 2146120
R2clk, Roff 10 RES SMD 4.7K OHM 1% 1/10W 0603 Yageo RC0603FR-0747KL 311-4.70KHRCT-ND 603RC0603FR074K7L 5047363 68R0098 2146120
R5 10 RES SMD 4.7 OHM 1% 1/8W 060 Vishay MCT06030C4708FP500 Vishay MCT06030C4708FP500 RNCP0603FTD4R70CT-ND 594MCT06030C4701FP5 96Y9432 2614446
Rf2 10 RES SMD 3.9K OHM 1% 1/10W 0603 Yageo RC0603FR-07390KL 311-3.90KHRCT-ND 603RC0603FR0739KL 5046916 68R0081 2143821
Rf3 10 RES SMD 2.7K OHM 1% 1/10W 0603 Yageo RC0603FR-07270KL 311-2.70KHRCT-ND 603RC0603FR0727KL 68R0067 2136427
Rsns 3 RES SMD 0.075 OHM 1% 2W 2512 International Resistive LRC-LR2512LF-01-R075-F International Resistive LRC-LR2512LF-01-R075-F 696-1670-1-ND 66LR2512LFR075F 7717792 88K2583 1254661

It's also possible to feed it alternate MPN's for each row so that the cart will get filled for all vendors.

It is complimentary to this:

https://greasyfork.org/en/scripts/19082-digikey-export-cart-possibly-to-bom. Which exports digikey shopping carts. Must install greasemonkey first.

Ah.. yes, Now I remember being confused about THAT when I saw it before. I now got C1 and OTC confused... well, because there is no OTC in this driver! Never mind. C1 is I guess only a bypass and maybe useful for the bleeder. Somehow I had that right in my parts description, just a not-so momentary lapse of reason.

Very nice work, I am busy today but I will sit down and check out those items later along with tweaking the driver to see about removing the jumper and squeezing a 1206 cap in there.

Also curious how arrow will compare in the final price outcome. Particularly with free shipping they have now.

Funny, that Texas Ace wants free shipping from Arrow when Mouser is in his backyard…

I honestly have only ever made one order from mouser, all I remember about it is that it was just so so. Prices were a bit higher then digikey, the website was far harder to navigate then digikey (although massively better then arrow) and the shipping cost was a bit cheaper but not significantly so IIRC.

My biggest issue with shipping is that out of all the orders I have made shipping is generally at least $10 for some parts that weigh all of an ounce and should cost all of $3 to ship.

When I only need $7 worth of parts and spend $10 on shipping, that should have cost $3, that bothers me.

Not to mention that to date Arrow has been cheaper on 90% of parts I have compared (they also have a price guaranty apparently, although not sure how it works).

Mouser is in Mansfield, you could drive over and pick stuff up and pay zero shipping.

They also have an option to use USPS for shipping at the lower rates, it’s not really clear though and you almost have to ask for it.

I buy almost all my components from Mouser. Have built hundreds of FET drivers with parts from them, a few times I’ve gotten stuff from DigiKey and the shipping costs were similar. Then the DigiKey site got difficult to access and I quit using them altogether.

Yeah so I was getting things all mixed up with the OTC momentarily and yet C1 does seem to play a role in this and the point of adding a controlled resistance maybe is even more clear. There's some weird stuff going on there. Without C1 I wouldn't think R1 matters for OTC, it just the highest resistance path to ground. Reading the docs it's not at all clear to me that attiny will shut down consistently, but I don't know. It seems like going with a 10x or 100x higher capacitor for OTC and a parallel resistor would put the discharge RC time entirely into our control and decouple it from all the side effects of every voltage and leakage in the whole system. I bet all this stability voodoo of minor changes here and there just dissappear. It also should allow to get rid of R1 and R2 entirely in direct drive non-zener lights without impacting OTC.

I'm seeing now this could be tested in a 1S non zener light without changes just by removing R1 and shorting the R2 pin to the OTC pin to create the RC. Then just have to choose the right OTC and R2 for desired RC. I've got a $0.50 0805 220uF cap picked out already. There may be cheaper options at 100uF or so.

Analog version?

So this thing is basically an analogish driver with a digital click controller and took a little thought (we'll still have to see) to cram that together. However, it's also possible to ditch the MCU entirely and just replace the Iadj stuff with just an ldo, pot, cap and resistor or two. The pot could be mounted in place of the e-switch for a fully analog light. Of course clicks have some use, always knowing really what mode you're in, so you know what to expect for heat and runtime, and some features like battery monitoring, thermal control etc are nice. But simplicity and analog control are also very attractive features that us humans tend to find comfortable. I don't know how hard it would be to find a nice pot knob that could fit on say a Q8. As for battery monitoring, we could undervoltage shuttoff back to the LM3409 (lol, I just asked about removing it, not even gone yet). And I think the LM3409 has some kind of thermal shuttoff built in as I recall, maybe pretty extreme though.

Interesting, I knew they were in Texas but didn’t know they were in DFW.

Although Mansfield is still a good drive from me. DFW is a huge place and just keeps getting bigger! You can drive for 1.5 - 2 hours in some places and still be in DFW! And thats without traffic.

Now at 3 in the morning on a toll road on the other hand, that time can be cut down to about 20 minutes…….

I use digikey simply because their website makes sense and you can narrow down the parts you are looking for far easier. Mouser is several steps behind when it comes to this.

In my case I best it would cost me the same in gas to pick it up as to ship it.

First off the OTC is a non-issue for this driver as it will be setup as an E-Switch driver in virtually all cases. It is not used for an e-switch.

Also the voltage divider can indeed be removed and the internal reference used with 1S setups but not with anything higher.

I also forgot that for e-switch lights we generally use 47k/220k voltage divider. Needless to say I do not deal with e-switch lights much.

Interesting idea, doubt many would use it but never know what someone would do with such an idea.

In this size at least yes. I momentarily forgot that earlier when I was looking at circuits instead of the board, and with all the discussion of it. I might raise the idea in another thread.

Yep, and it makes it a simple place to test this RC idea. Once my hot air station gets sorted, I might just give it a go. I've got all the bits, enough for two to compare for that matter.

Yes, so I'm not sure this is settled. I went with 360k/47k because we had strong confirmation of 36k/4.7k working well for 4S clicky. That will give the same divider obviously, and there are no OTC issues, so I thought that should be fine. Most of the early adopters will have the 220k on hand if needed anyway, so worst case is we change it and learn. Anyway, we can certainly change the part list if we're sure. I'm still not.

About the jumper:

So I’m probably missing it, but I just can’t see how that lower right quadrant could ever be ground. The upper right is + and the upper left is - and in 4s all other battery contacts are not ground. (the ground of a battery maybe, but not the ground, any raised voltage will due for the uv pin). I’m assuming there will be a jumper connecting the bottom two pads then.

For 2 S one of each of the bottom right and bottom left must be plus and minus. The mid voltage plane must be at the tail. There’s no other possible way. But I can’t imagine why the lower right would be ground. That would require connecting diagonal pads which is not simple to even do. The only thing that makes sense in 2S the lower right is connected to hot and lower left to ground, with vertical jumpers or traces on each side.

I’m wondering if you forgot to flip the board over in your head when you said that’s ground. If I’m confused, ok, but if I’m not, the jumper thing is real simple so maybe worth double checking.

I still think we should redo the voltage divider to whatever is ideal for the voltage in this case. Very few people have the components on hand for high voltage builds as it is so not a big deal to start over in this case.

Am I right that 4x the R2 should be roughly what we need to get the same reference voltage for the MCU with 4x the voltage?

So it would seem that an 47k/880k ish would be what we need?