Turbo and thermal control

Something to keep in mind with the drivers with linear regulation is that the driver will often get hotter than the rest of the light. I observed this with the H17F. When in the 3A linear mode the output would drop sooner than when in the FET mode even though there was more current in the FET mode.

If you have a 7135 bank on your driver best is to get it potted

I had my revived Imalent light with TA triple channel Bistro, calibrated to 65dC, but the light seems to cool to 38dC and not stepping up again

It seems to me that it would be better to be temp dependent than some arbitrary time out since ambien temperature and unique host conditions play a large roll in determining where a light reaches quilibrium(or doesn’t). I’m all in favor of whatever works the way it’s supposed to rather than something that works only under the right conditions. With so much going on in driver developement in the last few years I accept that with any new driver or UI it takes literally years to beta test even seemingly minor changes but sometimes it seems that developement outpaces stability management and is the most intensely frustrating thing about modern computer software developement. This seems like a blueprint for getting lost and ending up with a slew of really cool drivers none of which work quite right. Sorry, that kind of digressed into a mild rant.

Ok, it sounds basically we're all on the same page here. Easyb there is no programmed dead time in bistro before going back up. That's just delay in the heat moving through the insides of your light. This is why true PID regulation si very very hard, especially if you want to achieve a smooth result. These delays have to be tuned into the system and the gain has to be known in advance, and this depends on the light. For a high end light you can get this tuned up but for a generic driver I think it's hard.

At TA, I'm not sure the 30c more thing. The idea is that the light goes down, and stays down, maybe for a long time... until you need turbo again. By then it was already cooled. You don't necessarily want a higher threshold, your'e just going for a second shot... after it at cooled at some later time when you need to see something else. This is why a minimum time on tap up would work though. That min time should be set less than overheat time assuming the temp settled. If it didn't settle, you'll overshoot, but you wanted more tubro too soon, you can feel the light, you know what you're doing. Presently that min time is 4s. That's kind of by accident of how the code works. It's a bit short. Going higher needs a different programming mechanism to avoid other issues though. But even 4s works pretty well. 15 would be better.

I'll have this scheme (temp threshold, jump down, tap up) in the next HD release. It works now(unrelased) but there's a small race condition where once in a while tap-up doesn't work. Also I think the biscotti-HD timeout has a bug in the present release.

Oh I agree about the issue of not knowing what mode to step down to. I'm not using the BLFA6 turbo-2.

I have a macro TURBO_STEPDOWN. At the moment I haven't moved it to the config files but it is overidable in them. The default is RAMP_SIZE/2 but of course you make crazy enough ramp where that won't work. This wiill have to be te responsibility of the modegroup designer, but of course their can be some light where turbo is 8 times more power than the light can actually handle. That's the responsibility of whoever makes such a crazy light.

The enxt question is if I will apply it to the bistro-classic-HD build. I think I will. The whole point of remerging the code base was to able to take advantage of new improvements in all the builds. If all I do is try to exactly re-recreate the original bistro, there's not much point. That build will have the same basic features and modes as classic bistro, and should work on the same hardware (not OTSM by default), but enhanced some.

I meant temperature window, not time. There is a temperature range where the output does not increase or decrease. At least that is my understanding. See here.

Ah yes, I hadn't taken much notice. There's a tiny hysteresis, but it's a whole 3 degrees. I don't think that's the main issue. Even if that was 1 it would still oscillate. It just ramps down too fast. Even after turbo is turned off the driver is likely to keep getting hotter for a little time. But you get it right for one light and it will be wrong for another.

Anyway, I got a minimum-turbo time logic now that actually was more efficient anyway. So every entry into turbo resets a clock. After the clock runs out, it measures temperature. If the temp is too high it jumps down (not ramps). If the temp is fine though, it stays in turbo. This is not meant to be a long like 1 minute turbo timeout. It's meant to be a conservative 10 or 15 second minimum that insures that after a tap up, you still get that much time. If your hand starts burning, you'll figure out what to do.

Very interesting and well written OP. Separate, sound ideal to me for at least the following reasons:

  • Turbo to help preserve battery charge. Say when someone kicks in turbo to find something, then puts the light down to pick up the object and use it. Forgetting the light is in turbo and the cell or cells are draining at a high rate.
  • Thermal control as a always-on safety measure for when you live with elderly, young, or irresponsible, or non-flashaholics. Also for accidental activation. Stepping down, but not back up.

Ok, I'd still call both of those what I thought of case 1 but I hadn't thought of the battery aspect. The third useful case, and you see it bike lights, is trying to get the most you can out of the light at a level that can maintain an acceptable temperature, and in the case of bike lights can react as that level changes with wind speed. That's really hard though, but I think gets much easier if you're designing for one specific light.

I think this turbo boost I'm implenting will cover your two cases just fine anyway. It doesn't go back up automatically. The whole "back up" concept is just wrong to me automatic regulation, shouldn't have come down too far in the first place. But this thing I'm dong isn't automatic regulation. It's just turbo boost and thermal/battery protection. Doing a bit of code organization so will need a little testing, might be a few days to get around to posting it. I still have the mark 1 (buggy) version in my light.

I think you misunderstood what I was getting at.

Here is what I am thinking at the moment:

1: You activate turbo (or any mode high enough to cause the light to overheat)
2: It runs at that mode until the temperature setting you selected / calibrated is reached.
3: It steps down to the next mode down in your normal mode group (like the A6, not like bistro)
4: If it still overheats then it steps down another mode (this could be either a timed check of the temp or I would prefer to have another temp check after the first step down that is 5-10c higher then the first in order to account for heat moving through the light.) All adjustable in the defines of course.
5: It stays at whatever level it stops overheating at until you manually turn it back up.

5A: It steps down at a very inopportune moment and you immediately bump it back into turbo knowing that it is getting hot but willing to let it.
6A:When you bump it back up within the first ~10 seconds of the step down it adds say 10-15c to the target temperature before stepping down again. This way you get more then 1 seconds at turbo before it steps down again. Plus since you just stepped it back up it knows you are holding it and thus you must know what you are doing. If you wait longer then 10 seconds before stepping it back up it does not change the temp setting.
7A: you can repeat step 6A until a max temperature is reached where it will then force it down to moon. This would most likely be the limit of the internal temperature sensor or around 125c, whatever is first.

The idea with this setup is that it stops the light from overheating in the case of it being left tail standing someplace and doesn’t hunt for the output level.

It also protects the light from damage due to extreme temps (most of the components can handle 150c for short periods without damage, I mean they are soldered together hotter then that afterall).

Yet, it still allows you to override the thermal settings, at least temporarily, if you are actively holding it (and thus can keep turning it back to turbo). I know I have had times when I want to use turbo but the thermal settings just keep fighting me every 3 seconds, it is a pain. Upping the temp so that I go at least 10-20 seconds between it stepping down would make it much more useful while still keep a good enough safety factor.

If someone is actively holding the light then they should be able to figure out if it is too hot and stop bumping it back up to high.

I do agree with no liking fixed timer settings, they are too ridged.

If calibration is needed could you designate one mode as the step down mode (highest output with stable temp for that light)? Any higher level that exceeds the calibrated temp steps down to that level after a 15 second delay and stays there. You can immediately tap to go back up with the same 15 second window before step down or let the light cool some to get a longer window.

It would need so much calibration per light this would be hard to do without the screen flashing that we are working on now. With that in play then pretty much anything like this could be set.

Although I am still very much against using time over temperature. It will take so much more calibration per light and still will not compensate for the environment. Simply increasing the max temp solves all of this.

Virtually none of us run lights near what they can actually handle anyways, they can run at upwards of 100c and be fine (external temps). So there is a large window to play with for increasing the max temp before we have to worry about damage. Just discomfort / burn risk if you touch the head.

The timeout here is NOT a turbo timeout like the past. It's a minimum time, not a max, and it's set small. Default is set to 10 seconds (unless you compile it differently of course). If you hit turbo tap and your light can't handle 10s more then that's on you. You've got a crazy light and you knew what you were doing when you pressed it, and maybe you should reduce your turbo mode. If it's still cool after ten seconds, it will keep going until it's hot. If you hit tap up though, it means you're engaged with the light. If it still gets too hot, you can tap out, or throw the light in the nearest river. If it's waterproof, it will timeout in 6 more seconds (took 4 to say ouch and toss), it won't boil off the whole river, and maybe you can catch it downstream.

If you do 30c "more" when does it expire? After you've been in drop down mode for 5 minutes, and just want another turbo boost, you don't need 30c more .. and 30c is probably WAAY too much anyway. 45 is ok in your hand 65 isn't. 30c is a huge difference, and if you've set the initial max to what you really should have, there probably really isn't that much more you can actually tolerate unless you're actually in a situation where charred flesh is worth it to push the zombies back and save your life. I think most people wont' notice the difference between this and BLFA6 except it will just seem to work better at keeping your light cool and giving you turbo as long as possible.

It definitely meets all the safety needs, the initial longest possible turbo need, the abilty to cool and re-up on demand, and the no random annoying mind of its own need. If it turns out people really need to press the shape of the extreme boundaries a bit more, then we'll see.

In general you probably need a delay time and a time constant, and the two aren't necessarily the same. In practice maybe there are some corners that can be cut to have it work pretty well on most lights, I don't know. Anyway, yeah, it's not like you run battcheck and write down the calibration number. These are tricky things to tune.

Well Tom E didn't chime in here, but I see he's adding a temp stepdown for the Q8 narsil now. Good, I think it needs it.

TA part of my reluctance with your thing is just KISS especially when combined with safety. If something is bumping your light switch in a bag, it may bump it many times. Ok probably it would bump it out of turbo, probably it takes an extra special Murphy's law kind of day before it gets bumped up to max accidentaly, and those kinds of days are rare right? Not in my life. If it can go wrong, it will. And maybe the light never reaches that max but smoulders right under it. As it is the internal threshold is likely much hotter than what you feel, but if getting there slowly in a confined space the whole light can get to that temp. It's more complication, more programming, more to go wrong, not clearly much to gain, but something to consider for next iterations.

For me I like my lights to always come on high and then step down to avoid overheating, damage or fire even in the event that it comes on in my pack. Turbo timers do not achieve this (just look at my picture). I like the way my zebra-lights step down in very small steps so I dont notice until everything is running the right temperature. I have been using led-4-powers ld-02 drivers in all my lights for a couple of years now because they give me this feature and they have never let me down, however they are a bit of a pain to setup for each light and are relatively limited in terms of modes. Enter Bistro, I purchased 4 of Richards MTN-17DDm with Bistro to make some mountable lights and absolutely loved the programming and ability to customize modes. (no mode memory, always start on high with thermal regulation with hidden strobes and a medium and moonlight mode). Step down works great and the modes are perfect. I even drilled out and replaced a LD-2 driver on one of the lights that I had already finished. Koodos to toykeeper for making Bistro. My only wish is for a constant step down like the zebralight and ld-02 so you dont notice when the light is dimming or brightening.

Good feedback, says the bistro thing does the main trick for folks on some lights at least.

I'm leaving the compile option for the original bistro method in. Anyway, your comment does shift the balance toward maybe not modifying the "bistro-classic-HD" default build. Not sure. Anyway, the old builds are really included for others to be able to customize with new features. Like if you like classic bistro but want OTSM, or want this. So it doesn't matter much what default I make. It should stay fairly close to the original in spirit though.

As you said, getting smooth ramp down setup for a particular light is hard. I suspect the new method I'm making won't meet that desire for you, but I also suspect you might like it better than the way it is. If you're going to be annoyed with noticable step down is it better to have 5 steps in rapid sequence or just come down once to a good compromise mode and be done with it? There's no dumb-timeout, not unless you have a stupid hot light that scorches in under 10 seconds of turbo time. So long as your light can last longer than that, the step down will be temp triggered.

For my lights I like getting the maximum lumens possible for as long as possible :slight_smile: So I think 5 small steps would be better than 1 big one.

I would prefer a dumb time based stepdown.