[retired] [WIP] 20mm single sided & 17mm double-sided ?-amp linear driver - surprisingly good!

:expressionless: = my level of comprehension
:bigsmile: = my level of glee
:beer: = my BAL

looking forward to seeing how this gets used.

I did some cleanup to the 17mm version this evening. No major changes.

  • Added GND ring vias.
  • Made LED+ and LED- vias directly perpendicular to each other and evenly spaced from the edge of the PCB.
  • Added a covered pad for LED+.
  • Straightened up the bottom a small amount.


https://oshpark.com/shared_projects/flBsJz93

OK, I did some testing.

We’ll need an FET better suited to this purpose than NXP PSMN3R0-30YLD or Vishay 70N02. Supfire’s M6 driver uses Din-Tek 30N02 (DTU30N02). Unfortunately DTU30N02 is a DPAK part, making it rather large (phsyically) for this application. I don’t fully understand what makes this part a better fit than the other FETs, but I’m working on it. One clear difference is the Threshold Voltage.

Maybe Vishay’s SiR800DP is a good option, datasheet link. Gate charge is higher than DTU30N02, but still in the range of what I think is reasonable (someone correct me!). Drain and dissipation are higher as well, not that they matter at this level (both are very high/good). Also, “Applications” listed in the datasheet are similar. :wink:

I flashed STAR momentary v1.0 on an ATtiny13A with these modifications:

  • disabled turbo
  • disabled LVP
  • switched to Phase Correct PWM (maintained standard fuses)
  • #define MODES 0,5,10,15,20,25,30,35,40,45,50,55,60,70,80,90,100,125,220,230,240,250,255

Here is my stripboard setup with a DTU30N02 and 4v input. As before I’m setup with 5x cheap R100 which achieves a regulated 2.29A

At the lowest output levels the scope’s interference is too much for the QX7136 to cope with, so output flickers and the waveform shown is inaccurate. Here is a “big picture” shot of the waveform generated at a “low” level.

As you can see, there is a lot of noise on that. Zooming in, we see the nature of the noise.

I think that the output waveform looks very agreeable. Note that the pictures show an output of maybe 2.4v! While this may not be the smoothest output ever, it’s free of the normal “off” pulses we see from a 7135 driver. I think that this driver will be much more efficient than I realized at low levels. Note that in the most zoomed in image, voltage never drops below 1.7v and does not exceed 3v.

There are a lot of modes, so I do not absolutely guarantee that these are 100% lined up, but they should be quite close. These are shots of what the controller was doing with the DRV output to the gate. Note that there is only so much juice available on DRV and the scope may have disrupted behavior some at lower drive levels.
PWM Level: 0/255
PWM Level: 5/255
PWM Level: 10/255
PWM Level: 15/255
PWM Level: 20/255
PWM Level: 25/255
PWM Level: 30/255
PWM Level: 35/255
PWM Level: 40/255
PWM Level: 45/255
PWM Level: 50/255
PWM Level: 55/255
PWM Level: 60/255
PWM Level: 70/255
PWM Level: 80/255
PWM Level: 90/255
PWM Level: 100/255
PWM Level: 125/255
PWM Level: 220/255
PWM Level: 230/255
PWM Level: 240/255
PWM Level: 250/255
PWM Level: 255/255

Nice work Wight, are you aiming to be the most prolific driver creator on BLF? :slight_smile:

Is the 7136 similar to the 7135, just without the internal mosfet? If so, can you spare one of these devices? The only suppliers I can find of 7136 are on Aliexpress, never used them dont seem to like PPal….:frowning:

Heh. :wink:

I’m not really sure how they compare from a technical perspective. Based on the output waveform in post #18 it seems that when implemented with the external FET, the QX7136 behaves pretty differently from the xxx7135. If I recall correctly a 7135 will turn fully on and off during PWM.

When used by itself the QX7136 can be set to between 10mA and 400mA using an external resistor. I have not tried using them that way, this is my first implementation with the QX7136. I don’t see much point in using them that way anyway.

I can probably help you out if you need it. That said, this eBay seller shipped promptly and packaged well, I was happy with the purchase: http://www.ebay.com/itm/370787091970 The listing says that they ship worldwide.

There are other products which are also called 7136, be sure not to become confused when shopping. The HT7136 is definitely NOT the same thing, if a person was in a hurry they could accidentally purchase the wrong thing.

OK, I’ve implemented “bypass” on my stripboard. My test setup has a lot of resistance, but it does function properly with a high-drain cell.

In order for the bypass to function, code changes were required. Basically the normal ATtiny pin-output “off” state causes a problem when hooked up to the DRV/gate stuff. Therefore we cannot use the code Werner posted over here (post#61). Instead we must keep that pin in High Impedance mode, what Atmel calls “Tri-state” or “Hi-Z”. When we’re ready to do the bypass we then put the pin in Output High (Source) mode. Table 10-1 in the datasheet shows the register setup necessary.

I’m putting the proof-of-concept code here. Sorry my code sucks so bad, it’s just a proof-of-concept. It’s not intended to provide a usable interface. EDIT: hint - the bypass is only functional in v009.c. Earlier versions are me mucking around with testing levels and things or me figuring out how we needed the pin state setup.


Side note: I also noticed that the M6 actually uses a bank of 0805’s rather than 1206 sized resistors. In order to have the same power-handling capability you must spend twice as much on resistors, but it should allow more granular setting of current. (0805’s have 0.5W handling but cost the same as the 1206’s which have 1W handling.)


EDIT: The next step is to determine dropout voltage, but I think I’ll have to build the real driver for that testing to have any meaning.

I’m an avid reader of your threads and I’m almost on the verge of beginning to gain an appreciation for what this particular driver can do.

As you may have noticed from my thread-title edit, I’ve gained a little bit more appreciation for this driver myself!

Thanks for the scope shots. Does anyone have a link to a thread in here somewhere with scope shots for 7135? Also, the QX7136 has pins on both sides, are they the same pin on both sides (making it a 3 pin component) or are they actually different pins (making it a five pin component)?

Is it correct to assume that you can skip using PWM and use a pot as a sense resistor and thus have output control? (always wanted that :-) )

No, at least not with a conventional potentiometer. Two Three things stand in your way: 1. The pot must be able to dissipate enough power (0.05*X.X amps). 2. The pot must be extremely low value, we’re talking about a pot that’s has a sweep like 1 ohm to 0.0025 ohm or something. +3. I think that wiring in a pot as a sense resistor could introduce a lot of extra wiring resistance and things and give unexpected results.

Is your interest simply in having a knob to freely adjust brightness, or are you specifically interested in using a potentiometer in place of a sense resistor? If you just want a brightness knob, I did recently start a little bit of work on that. Our discussion in this short thread about the classic Lambda VaraPower driver led me to start hacking up some code. I posted about it in the STAR firmware thread in a small handful of posts strewn between 670 and 715. Most notably #688, #712, and #715.

I’ve set that aside for the moment, but if all you want is a driver which lets you adjust the brightess freely/continuously with a knob then that will be easy. I’m shooting for a driver with LVP which lets you adjust the brightness with a knob.

I don’t have a link to that. Therefore I took a minute to check a single 7135 at an unknown duty cycle (looks like 70% maybe?) and see what it looked like. I was surprised! It mostly doesn’t turn fully off… mostly. It totally ends up all the way off for a brief period during each PWM pulse though, take a look below. This is not how I thought the output looked on these, actually. [Note that the small yellow marker one division above the bottom in the lower left is 0v.]

As to your other question, it’s a 5-pin component. It can drive an LED at low currents on it’s own, without an FET. We don’t use that pin here (Pin ‘LED’). The other pins are DRV, CS, GND, VDD. It’s in the datasheet.

Thanks for the answer about the problems that come with using a potmeter for setting the sense resistor value.

I tried to read through the lambdalight thread with my limited grasp of electronics, but what spoils for me the use of a pot for varying brightness in that type of driver is that the pot setting is converted into pwm after all.

Thanks for the scope photo! Interesting indeed. It doesn’t shut off fully for very long at all.

You’re welcome. If you want a PWM free output you can probably implement that by feeding the ATtiny’s PWM into an LD-29. IIRC that outputs a smooth constant current at every drive level, but the MCU outputs PWM.

I agree. I’m speculating that the short “full off” is where we get the resonance/buzzing from, but I could be wrong.

The Rds(on) of SiR800DP is much lower than DTU30N02 while Qg is higher. Another MOSFET I recently looked at is the Vishay SiS414DN. That one has a slightly lower Rds(on) than DTU30N02 while having a lower Qg. The “Output Characteristics” graph looks very similar, while Transfer Characteristics are shifted to slightly lower voltage.

Based on what little I know, I think both are strong candidates for this application. I’ve got to figure out my inventory on other parts and then I’ll place a Mouser order. If anyone has thoughts on other FETs which they feel may be good candidates, now would be the time to speak up. :slight_smile:

I made a 17mm single-sided-stacked-PCB version:

  • The silkscreen has not been updated significantly, it is messy and incorrect.
  • The thin horizontal lines displayed inside the larger copper pours are all OSH Park rendering artifacts. The copper pours are solid.
  • The top PCB is symmetrical, it may be placed face up or face down. It may be “remote” mounted but it must be isolated from the flashlight body in any case of course.
  • The top PCB is 15mm in diameter and 10mm wide.
  • The top PCB is designed to be rotated either 55º or 75º. 55º is the recommended rotation and is the one displayed here.
  • Four (4) size 1206 sense resistor pads are available.
  • 3 connections are required between the two PCBs: GND, Csense, and DRV. Csense is the center connection, DRV is available on the two small vias, and GND is availble at the end beyond the sense resistors.
  • Two 1.2mm vias are provided for GND on the daughter PCB. The second 1.2mm via may be used to attach GND to a GND screw on the pill.
  • LED+ connects to the bottom, parent, PCB and bypasses the daughter PCB. LED- connects to one of the four 1.2mm vias next to the FET on the daughter PCB.
  • (This board is not available to order since I just slapped two boards into one Gerber.)

Using my low-end test equipment with the driver regulating at 2.45A and no reverse polarity protection diode dropout appears to be ~0.24v. Not bad, but I can certainly imagine better.

I’ve just measured a single 7135 regulating at 0.37A, no reverse polarity protection, and dropout appears to be ~0.18v.

Again, I may not be measuring perfectly. That said:

With 7x7135 at 2.17A regulated… I’m seeing a 0.26v dropout. Current seems a little low for 7x7135, so I expect I’ll be re-doing that test.

Depending on how dropout scales on the QX7136 I can see it being equivalent to or better than 7135’s.