Thermally sweeping Zener diodes - Page 1
Forum section: electronics / general

author: ch_scr
author_rank: Frequent Contributor
timestamp: March 14, 2023, 01:00:48 pm
content: IntroductionWhen putting Zener diodes in circuit, individually determining the "right" current to match the zero-TC with the intended "temperature of use" is of great value. With a fixture holding only the Zener diode, the thermal coupling is a lot tighter and the sweep and equilibrium times can be a lot faster, compared to a whole reference pcb in an air chamber. Even if the final current needs to be tweaked, to correct for the tempco of a whole assembly, the information collected can also be of use for that.Part 1 - HardwareI started by making a construction in Freecad to get an idea of the dimensions. The basic idea was an aluminum clamp for the TO3 case, coupled to a Peltier module, which is in turn coupled to a heatsink. The construction was of great use later, while fabricating the parts. All machining could be done with a drill press, table saw and hand tools - no CNC necessary.The clamp was made from 8mm aluminum plate. The PT100 for the temperature feedback to the TCB-NE Peltier controller is a Heraeus M310B. It is thermally coupled to the aluminum block with boron nitride thermal paste - not needed for the temperature range, but since it dries to a "crumply plaster" like consistency, removing the sensor is a lot less messy than with regular thermal compound.The lid to compress the stack onto the heatsink was made of FR2 (Pertinax) and had strips glued onto the bottom to center the clamp on the Peltier. It also acts as a spring to allow for thermal expansion. The FR2 was deemed not thermally conductive enough to be a problem.The thermal interfaces were coated in normal white thermal grease and the stack assembled. The insulation is made out of layers of hot wire cut Styrofoam.The lid plate is pressed onto the heatsink with metal screws. The small PCB on the fan is an Vbe multiplier, to adjust the fan speed by series voltage drop. This allows it to be run from the same power supply as the Peltier module controller. The heatsink doesn't get hot enough to warrant a thermally controlled fan, slight air movement is enough.Soon after completion, the realization came that on a dual channel SMU, a dual fixture would obviously make sense. The dual clamp is a mirrored version of the original, just the temperature sensor was moved to the center and because of that, the cable exits in a less convenient position. The clamp is one piece and as wide as the Peltier module. On the new lid, the glued centering strips were omitted, since it was found that friction was enough to keep the clamp centered.This is how it looks in use, with kelvin clips to get a reading right at the component leads. With the 12V / 4A Peltier module the temperature can be changed from 55°C to 15°C (131°F to 59°F) in slightly above 1 minute.I didn't attach the Freecad files, since you would need to find the same random heatsink and fan, which seems pretty unlikely. The detailed dimensions of the clamp are not critical aside from the center bore - I found TO3 diameter variation (between manufacturers) to be bigger than the clamping adjustment range and had to put in a strip of copper foil to fill the gap.

author: ch_scr
author_rank: Frequent Contributor
timestamp: March 14, 2023, 01:05:43 pm
content: Part 2 - SoftwareThe whole thing is controlled by a Python script, that pushes the data onto an QuestDB time series database. Grafana grabs it from there for visualization. All of that runs on an Intel Atom Thin Client (75% the speed of an Raspy 4, but a lot cheaper) under Linux. The TCB-NE is attached via USB-to-RS232 and the SMU is connected via LAN. There is a Python library for Keithley 2600 series SMU which made that part a lot easier. The script attaches information onto each data point, including which SMU made the measurement, the name of the DUT and importantly the "state of the sweep" - which can be "ramping", "dwell" to stabilize after ramp, and "stable" after that. That allows to filter the data for Grafana later, to show only the parts where the equilibrium has been reached. This picture shows exemplary unfiltered and filtered for "stable" only data of a single temperature sweep. Note this is still data for two different Zener diodes, hence why the "curves" look different.This is how a whole "sweep campaign" over multiple currents looks like, not really easy to make out the details......but zooming into a particular timespan helps to make out the zero TC temperature for a given current.The XY plot is the main reason why I implemented the "state of sweep" tags, to allow for a clear lines there. I'm still experimenting with the detailed visualization settings and axis labels. Grafana also has a few bugs left in this part. Also it does not respect the time range you set, which is why we see multiple sweep lines for two of the currents - while the absolute Zener voltage has drifted, the tempco curve is the same, indicating a repeatable result. To my great pleasure, it already almost looks like something from a datasheet...Setting up the XY plot is quite a hassle, any pointers or alternatives are much appreciated. I've already made use of "dashbord variables" in Grafana to reduce set up time for different DUTs and current sweep settings. For now this remains more of a gimmick and the normal sweep view is mostly good enough. For those curious I've attached the python script.

author: dietert1
author_rank: Super Contributor
timestamp: March 16, 2023, 08:07:19 pm
content: As far as i understand you automated both temperature and zener current and you need to vary both of them. Are you really sweeping temperature at each given zener current? Why not sweep current at a given temperature? Isn't that more efficient?Your experiment is interesting for me as i want to do something similar, except in my case there are some LTZ1000 and they won't be tuned for zero TC by zener current but by a resistor of 18 +/- some Ohm. Don't know yet how to automate the resistor variation. Maybe i have to do it by hand.Regards, Dieter

author: Kleinstein
author_rank: Super Contributor
timestamp: March 16, 2023, 11:54:08 pm
content: I would also prefer a slow temperature scan and a fast current scan. For just looking (manually search) for zero TC, one can also use the self heating part to the zener. With a higher current or zero current one can get a small variation of some +-1 K and look at the settling after changing the current. Setlling after a change in the current is usually relatively fast (like a few seconds), though at high current (like with many of the 2DW232) there can be quite some change in temperature.For the LTZ1000 compensation one can do much of this with math. The extra resistors reacts to a change in the current with temperature. This can be calculated reasonable well. So the only thing to measure is the unheated TC and ideally the voltage over R1 to get the temperature effect there (extrapolate to 1.12 V at 0 K). For the LTZ1000, one could use a variation of the set voltage to get a rather fast temperature scan.

author: Andreas
author_rank: Super Contributor
timestamp: March 17, 2023, 05:21:44 am
content: Quote from: dietert1 on March 16, 2023, 08:07:19 pmHello,I have also thought about that for 1N829 diodes. (but never tested it).I had the idea to compensate self heating by pairing diodes with opposite sweep current.So that the sum of self heating remains constant.with best regardsAndreas

author: coppercone2
author_rank: Super Contributor
timestamp: March 17, 2023, 08:05:31 am
content: I always wanted to hook up a electronically valved butane torch to thermally sweep components instead of all the resistive heating, im sick of all the ovens, you turn into god damn martha stewart. the hell with all the machining, the blocks, the insulation, the time constants

author: serg-el
author_rank: Regular Contributor
timestamp: March 17, 2023, 08:38:28 am
content: The work of my script to find the zero temperature coefficient current.The work of the script was described in the topic about 2DW232.It can be seen from the script that these zener diodes can have two zero temperature coefficient points.

author: iMo
author_rank: Super Contributor
timestamp: March 17, 2023, 08:42:47 am
content: I saw somewhere in past they found the TC=0 current simply by measuring Vz/Iz at T1 and T2 (or something like that - just a measurement at 2 points, was it at the same current, or?,) and some simple math gave them the result. I cannot find that info again, though..

author: serg-el
author_rank: Regular Contributor
timestamp: March 17, 2023, 09:10:19 am
content: I don't remember this.My 2DW232 has a huge technological spread.To combine into groups to reduce noise, you will have to select from dozens of pieces.

author: ivo
author_rank: Regular Contributor
timestamp: March 17, 2023, 12:17:44 pm
content: At some point it may just be easier computing exact values you want using python / matplotlib rather than trying to massage grafana into showing what you wantFor instance, for each tempco curve, you can get numpy to fit a nice 2nd order curve approximation. Then you can just find the 0 derivative point to get the exact temperature the zero TC is at. Then you could start graphing the plots of those (zero TC point vs current), see what relationship you get.

author: ch_scr
author_rank: Frequent Contributor
timestamp: March 17, 2023, 01:46:52 pm
content: Yes, I sweep the full temperature at each current level. I tried to do just one temperature sweep; to measure all the currents at each temperature step - but got inconclusive results. One explanation might be, some diodes (and especially the ones that I've used for that experiment) have stronger "thermal hysteresis". In the sweeps depicted above, the voltage is always stable after reaching equilibrium at the temperature hold step. But look at the sweep below, of a non-hermetic, non-"Diamond brand" 2dw236 - you can see the strong "thermal hysteresis drift" and how this is influenced by changing direction of the thermal sweep. This was done with the same setup, just the different zeners, I'm convincedthe origin of the effect is not insufficient thermal coupling. Also note how much more noisy the zener voltage is.With the Diamond brand, they do not show that effect (or only in one of the 10 I've measured so far, and not as strong there) maybe that scheme could work. But if the sweep took only 2h instead of 9h, it would not make much difference to me - I change the zeners in the fixture in the morning before going to work, and in the evening before going to bed...This is how the "noisy 2dw236" look (ignore the three diamond brand in the picture); the Aliex seller depicted the diamond brand in the article description, but sent the others. The silicon inside looks different, too. I should send some to Noopy, probably.I can't be sure it's "statistically significant" yet, but so far with 10 samples "Diamond brand 2dw232, 15-4 datecode", 9 of them had the Zero TC point in the 3.5 to 6.5mA region.Yes, I've thought about writing a python script, to query the data from the database, average together all the "tagged with stable" readings for each temperature at a given current and calculate a 2nd order approximation, to automatically get the excact zero TC on a sliver platter. Not really my strong point though, tbh.

author: serg-el
author_rank: Regular Contributor
timestamp: March 17, 2023, 03:07:34 pm
content: What type of stabilizers do you have?I have one.

author: ch_scr
author_rank: Frequent Contributor
timestamp: March 17, 2023, 03:57:14 pm
content: Regarding the "Diamond brand, datecode 15-4", on the outside, they look exactly like yours, orlike the ones Noopy has shown. They were purchased a few weeks ago on Aliex. I haven't found one of them that I'm willing to sacrifice and open it, yet - hence I can only suspect the inside. The "other type" is the black and gold type shown above, much more noisy and in non-hermetic case. The three "other diamond brand" shown above, were sent to me from another forum member, and are "true original one's" that he got from zlymex "back in the day" when the topic originally came up. I have not measured them, yet. I want to put my observations in the 2dw23x thread, when I have them together.