[Oshpark] BLF SRK FET v3 (46mm / LFPAK56 / Dual+Triple Channel / ATtiny13A+85)

It's also purty in the flesh, ahh, I mean FR-4 and copper, or whatever these things are made from . Wai'tn now for the LDO's.

Forgot bout that thread. The wrong LDO I bought Richard used in the TK61 driver he designed, listed in the OP here: https://budgetlightforum.com/t/-/31955

Figured it was well tested as he stated, so had to be a good one - PN# MC78LC50NTRG, spec here: http://www.mouser.com/ds/2/308/MC78LC00-D-110708.pdf

Again - this is the wrong one. Who knew?

Wait til you get a glimpse of her next sister :wink:

.

@TomE, yes, thatā€™s definitely a different LDO pinout on RMMs board. One can only guess why he changed to it, but at least layout did not dictate it.

Ohh - been working on this:

It's gonna drive this:

Firmware has been tested. It's Narsil as the baseline. The table of voltage levels have been updated to support the 360K/47K R1/R2. It comes straight out of the spreadsheet I used to calculate them. It's conditionally compiled in, as below. The calculated values work very well now. Found a bug in indexing these ADC values where indexing was off by one. Not sure, but thought I got this code from somewhere else, maybe Bistro?

#ifdef USING_360K
// The ADC values we expect for specific voltages: 4.4V to 8.8V (2.2v to 4.4v). This is
//  for using R1=360K/36K, R2=47K/4.7K, and direct connection from Batt+
//  to R1, no diode in-between, with an LDO and a 2S battery configuration.
#define ADC_44     236
#define ADC_43     230
#define ADC_42     225  // 100%
#define ADC_41     220
#define ADC_40     214  //  75%
#define ADC_39     209
#define ADC_38     203  //  50%
#define ADC_37     198
#define ADC_36     193
#define ADC_35     187  //  25%
#define ADC_34     182
#define ADC_33     177
#define ADC_32     171
#define ADC_31     166
#define ADC_30     161  //   0%
#define ADC_29     155
#define ADC_28     150
#define ADC_27     145
#define ADC_26     139
#define ADC_25     134
#define ADC_24     129
#define ADC_23     123
#define ADC_22     118
#endif

That driver used to be a lot roomier. :confounded:

:person_facepalming:

@TomE
now we know where the driver got toā€¦
just borrowing your picture :innocent:

.

I hope you can fix the 7135 issue. Even if DEL more or less had ruled out a thermal issue I will make the connection of Q1 to GND wider.

Any other ideas or needs for changes in your book?

That mod sounds good. Dunno bout anything else - I like all the versatility this driver offers. There's plenty of thru holes for Batt+, but I'd still like to do something more there, but not sure how. I'd like to be able to solder fill the thru holes but not sure if the holes are wide enough. Hard to see but the holes themselves appear to be covered in purple soldermask but I'd like to see the entire holes to be bare ENIG. This way solder filling should work well.

This is what I did for the contact surface:

Got from here: etsy.com brass-discs-20-gauge (might be cheaper direct from their shop: https://boppermetalsupply.com/) in 1 3/8" size that fit well. All I did was drill the center hole and sand it down to get it flat, then reflowed to the driver. Bad thing was I added the brass disc only after reflowing the parts, so didn't get the PCB heated enough to use hot air, so had to use a torch.

Brass is preferred (to me at least) because it's harder than copper and I don't think has as much problems for electrically conduction loss from oxidation.

The thru holes seem to have filled up with rosin and not solder paste unfortunately. If I were to do this again, I'd apply solder paste maybe on the component side and apply the heat on the battery side to see if I could fill the holes first, before reflowing the copper disc.

From the picture above, clearly the larger ground thru holes are not coated with soldermask. I didn't closely look at the Batt+ thru holes though - I might be wrong there.

What is the rationale for calculating R1 and R2 in cases like a 12V SMPS input source, instead of battery cell(s)?

Huh? Dunno wut the heck a 12V SMPS source is. If you don't need LVP on it though, then you should disable the LVP in the code.

Well, i meant a wall adapter 6V or 12V or a battery, whichever the LED works with.

So i wonder what changes are required on the circuit, a different LDO for example, and also in the code. Btw, do you mean ā€œlow voltage programmingā€ by LVP?

Low Voltage Protection - the firmware logic to read the voltage level, and act on it accordingly if it's deemed to be getting low. We typically use two thresholds - one for a warning, and to drop output amps, then the next threshold to turn off LED output completely in order to save the cell from going below it's "safe" level. The two levels can be 3.2/3.0V or 3.0/2.8V.

Well, the board I built/shown in post #51 above has 2S (2 in series) Li-Ion input, so it gets from 6.0V to 8.4V input. It uses this LDO: https://www.arrow.com/en/products/mic5235-5.0ym5-tr/microchip-technology that supports up to 24V input, and outputs 5V, so it can handle a 6V or 12V DC source. If you want LVP, then the R1/R2 voltage divider resistors would have to be picked accordingly, and the ADC values to match - listed this all in post #51 for the 2S setup. This design though passes the source voltage along to the LED(s) - it doesn't buck or boost voltage to the LED(s).

Thank you for the explanations. Also, is this driver really capable of driving 16 x XP-G2? Iā€™m guessing the max. current is solely dependant on the FET.

I'm using 16 XHP50's so it's a lot more power than 16 XP-G2's. The FET I chose, the SIR404DP is capable, but I'm having problems with the 7135. I added a grnd jumper to help in heat, and added a heat sync on top of the chip, and it's surviving now, but not working normally - delays coming on, sometimes doesn't come on at all.

Don't have time to trouble-shoot it further now. Might get back to it, or eliminate the 7135 altogether

Well i found PH4030AL as a FET candidate, i think iā€™m on the right track.

Considering the 7135ā€™s low power rate, whatā€™s its purpose on circuit at all? ā€œSupportsā€ the FET or something?

PWM'ing FET's works great, specially at high PWM rates, but say for example you are getting 6 amps out of a FET on full, PWM'ing the 6A means you are pulsing 6A constantly. The way the 7135 works is it limits output to 350 mA, so to get 350 mA out, just drive it at it's fill capacity. So instead of continuously spiking 6A out, you get a smooth consistent 350 mA of output. This works way more efficiently than PWM'in a FET to get an equal amount of light output.

So we use FET+1 circuits/drivers for this reason. If you PWM the 7135, you get very efficient low modes, all the way from less than 1 lumen up to about 150 lumens.

Take that one step further like HQ did on this board design, add in a bank of 7135's and you get 3 output channels: 1 7135, bank of 7135's, and a FET. This way you get efficiency out of the middle modes as well, using the bank of 7135's. Wiring 7135's in parallel effectively adds them for total amps output. 8 7135's is 2.8A, 16 7135's is 5.6A, etc.

Bout that FET, there's a few things to look for. DEL and a few other BLFers could analyze the specs wayyy better than I could. I don't take the chance - I only use what's been reviewed, and then proven.

Hi cherkess_jan,

You find the formula explained in the STAR firmware of member JohnnyC:

VOLTAGE
Resistor values for voltage divider (reference BLF-VLD README for more info).<p>Reference voltage can be anywhere from 1.0 to 1.2, so this cannot be all that accurate<p>VCC
  |<p>Vd (~.25 v drop from protection diode)
  |<p>1912 (R1 19,100 ohms)
  |
  |---- PB2 from MCU
  |<p>4701 (R2 4,700 ohms)
  |<p>GND

ADC = ((V_bat - V_diode) * R2   * 255) / ((R1    + R2  ) * V_ref)<p>125 = ((3.0   - .25    ) * 4700 * 255) / ((19100 + 4700) * 1.1  )<p>To find out what value to use, plug in the target voltage (V) to this equation

R1 and R2 are a voltage divider, the voltage that is measured by Pin7 of the Attiny13a has to be brought below the reference voltage of this MCU which is 1.1V. Values below 1.1V result in a value between 0 and 255 which can be translated to a certain voltage at Pin7 and its equivalent, the cell voltage.

This is used to recognize when the voltage is below a level critical to the cell (to get low-voltage protection) or to measure and blink-out the cell voltage in general. In your case, planing with a fixed voltage power supply, I canā€™t see the need for measuring the voltage. But if you want to do so, you will need a divider that brings 12V down to 1.1V, so R1 should be roughly 10-12x the value of R2.

Sorry if some comes double with what TomE already wrote, but I had written the answer before I read his and now I just copy-paste :innocent:

I might have said it before, I havenā€™t heard of someone using this driver with 12V, itā€™s designed for single cell (1S, 4.2V) and prepared for 2 cells in series (2S, 8.4V), which already gives problems with the 7135s. I wouldnā€™t bet that 12V will work, perhaps as a FET-only driver. But if you get it working, be sure to let us know. :laughing:

.

And hereā€™s a teaser for TomE.

Yes, those are 70 LED+ vias and they donā€™t have soldermask. :smiley:
And some more optimizations for high current, might that be of any use?
I just have to double-check the oshpark preview and finish the doku.
And the tabs, of course.

.

.

I went with brass for contact rings as well, by the way. More durable, less weight, probably even easier to solder.
Downside of these is they are stamped out, so they are not completely flat. But they are 34mm outer diameter which is perfect for button top cells.
I admit that I prefer not to fill the vias with solder, so I milled a larger center hole and will use a board with LED+ vias inside this ring.

.

Wow!! Nice!! Agree - brass is the best choice there. Based on the amps I'm pumping thru it, it sure can take them. I believe SupFire and others also use brass for the contact ring.

For 12V for 7135's, Richard (MtnE) emphatically said in the past that 7135's will not work.

BLF SRK FET v3.3 Jester

.

So here I am once more
In the playground of the eagle boards
One more experience one more entry
In the oshpark profileā€¦

.

https://www.oshpark.com/shared_projects/JuAe4zh2

.



.

.

Inspired by DEL I went back to the idea of having the LED- path in front of the 7135s and revived a design of half-circles that I had already tried somewhere along the way.

The schematic of v3.3 is the same as v3.4, any further detail is the following post.

BLF SRK FET v3.4 HiPower

.

Based on v3.3, but with focus on high current.

Still triple-channel, LFPAK56, Attiny13A/25/45/85 and DELā€™s R5.
Adding indicator LED at Pin7 and layout improvements.
I kept the QuadPad to still be able to use dual-channel firmware.

.

Changelog from V3.2

To fit the needs for high current applications:

- 70 LED+ vias without soldermask

- more GND vias

- Wider current path from GND ring to FET source

- better heat transfer for Q1

- Increased GND plane

  • slightly increased bare copper on battery side GND ring

Other improvements:

- Added Ri7 and I7 for indicator LED at Pin7.

- Added 1 AMC7135

- Added a bleeder resistor from BAT+ to GND

- Reduced size of QuadPad to standard 0805 size

- Removed dedicated Rgate, as the gate resistor fits on the QuadPad and can be used instead of a zero-ohm-resistor between FET and MCU

- Redubbed Rmcu to R5

- Marked in/out for LDO

- Just one place for R1 and one for C1

  • Just a resistor in series per indicator LED

.

https://www.oshpark.com/shared_projects/4trVY7MM

.

.

.

.

Schematic:

.

Component list:

- 13A/85: MCU ATtiny13A or 25/45/85; 8S1 (SSU) or 8S2 (20SU)

- R5: Series resistor between VCC and MCU Pin1; 0805

- FET: N-Channel MOSFET at Pin3 or Pin6; LFPAK56

- (Rgate): Series gate resistor; use the QuadPad (FET-to-Pin3 or FET-to-Pin6); 0805

- Rpldn: Pulldown resistor (gate to GND); 0805

- Q1: Single AMC7135 at Pin5; SOT-89

- Q2-11: Up to 10 AMC7135 at Pin3 or Pin6; SOT-89

- D1: Schottky diode (~0.25V) for 1S (4.2V); SOD-323

- LDO: Low dropout regulator for 2S (8.4V) [LDO needs C1 and C2]; SOT-23-5 (Vout is pin5)

- C1: Input capacitor between Vin and GND; 0805

- C2: Decoupling capacitor for MCU; 0805

- R1: Voltage divider to VCC [before D1 / behind R5]; 0805

- R2: Voltage divider to GND; 0805

- Rb: Bleeder resistor from BAT+ to GND; 0805

- SW+: Pad for momentary switch to Pin2

- SW-: Pad for momentary switch to GND

- Tin/Rt1/Rt2/T+/T-/Ct: Temperature sensor

- I3/Ri3/I-: Indicator LED at Pin3

- I7/Ri7/I-: Indicator LED at Pin7

  • *2: Dedicated solder pads for Nanjg Star 2

Notes:

- Rt2 can be used as Nanjg Star 3

- OTC can be used as Nanjg Star 4

- A Zener can be placed on Ct, which is MCU+ to GND

  • A momentary switch at Pin3 can be soldered to the QuadPad