In the previous blog, I received the thermal switches and examined them closely, refining my experiment and performing some initial characterisation exercises by testing the temperatures at which they actuated and their contact resistance. In this blog post, I take a slight detour to look at the magnetic characteristics of the thermal switches, teardown two of the units in the “name of science”, check the overload behaviour of one of the switches, complete the build and finally commence the long-term thermal cycling experiment.
Table of Contents
The documentation from Kemet about the thermal switches makes it clear that it uses a magnetic reed switch, arrangement of annular magnets and Thermolite material with a very specifically engineered Curie point. However, while removing the thermal switches from the component sorter, I noticed that they seemed to have some external magnetic fields, as they liked to “stick” to each other. As a result, I was curious to see what the field arrangement might look like.
Unfortunately, being in Australia, magnetic viewer film is not easily available in large sizes, but I did manage to spend some money on a small sample size card which I have placed over a hard drive neodymium magnet showing there are two pairs of poles in this magnet. What will it show for our thermal switches?
For the OHD3-115M make-type switch above, it seems to show four clear magnetic regions.
For the OHD5R-105B break-type switch in the heatsink-mountable package, it seems like there are two magnetic regions instead. Is this a pattern?
Trying the OHD1-50B break-type switch, again, two magnetic regions appear.
Comparing this with the OHD1-90M which is a make-type switch with the same package, we can see four magnetic regions. The cause is revealed in the Teardown section later on in this blog post.
External Magnetic Influence
As the switches are based on magnetic reed elements, it makes sense that they would be potentially influenced by external magnetic fields. The datasheet for the TRS series product indicates the potential for external magnetic field influence and suggests mounting the device such that the internal magnet is perpendicular to the external magnetic field to reduce the influence on temperature.
However, this led me onto a different sort of thought – could I abuse this property to make testing the thermal switch easier? Perhaps, I could test the higher temperature switches for contact cycle life only, without the hassle of actually heating and cooling the switches.
I got out a small neodymium magnet and a make-type switch – sure enough, placing the magnet at the right location caused the switch to actuate. I tried again with a break-type switch and it did the same.
So, then I thought, why not try to actuate it with a electromagnet – it’s easy to control and could rapidly cycle the reed. Unfortunately, just wrapping 0.7mm insulated tinned copper wire didn’t yield enough field strength even with 2A running through the coil. I tried breaking apart a relay and using the relay’s electromagnet to get a response – no dice.
The good thing is that the unit seems to need quite a bit of external field strength to actuate, meaning that it should be robust to relatively normal levels of magnetic fields. The unit does switch silently, unlike some bimetallic units which might "click" audibly.
The not-so-good thing seems to be that if you go out of your way to actuate it with a neodymium magnet, you could possibly cause damage to the contacts as you will see in this "silent video" above. In the case of the make-type switch, I could reliably get them “stuck” together even without the external magnet, almost as if they had welded despite respecting the current/voltage/power limits. A swift “flick” or “thwack” of a tool would release the reed and it would seem to perform normally – however, I’m not sure if any permanent damage would result. It could have deformed the contact into a geometry that is not expected or caused uneven contact pressure, so the switches used in this section of the blog have been sacrificed in the name of science in the Teardown section later in this blog.
But perhaps a slight disappointment for me is that this is not an easy, fair, accurate and reliable way to test the endurance of the switching contacts as I had imagined.
Another concern I had was the potential for overload of the switch contacts. The current ratings for the OHD5R series are not particularly high at 0.1A, while there are some loads that could have an inrush current. The TRS series datasheet has a mention of inrush – apparently 3A from a lamp load on the 0.5A rated switch is anticipated, which would be a 6x rating.
As a result, I decided to put the OHD5R-105B through torture that is not endorsed by the manufacturer’s datasheet just to see what would happen. This is the same switch I had quickly passed magnets over in the last section without issue, so it should be adequate for this test.
My ultimate overload behaviour test used the Keithley 2450 SourceMeter with the KickStart 2 software’s I-V Characteriser module. The first is just to measure the contact resistance as a function of current, all the way to 1A and back down to 0A in a dual-sweep, which would correspond to 10x the rated current.
The graph shows that the resistance was mostly level up to 600mA, then increasing slightly to just above the 150mOhm rating, likely reflective of accumulated heat. While this is no endorsement to switch 600mA with a 100mA-rated switch, I suspect the 6x inrush overload from the TRS-series datasheet could reflect this characteristic. The switch did not fail despite passing 1A, which is impressive, although I suspect if the contact resistance increased significantly due to age, the power dissipated at the contacts could cause failure. The ratings from the manufacturer are usually conservative to ensure the components can meet their full rated service life with adequate reliability margin.
Seeing this was the case, I would dare to go one step further and switch the contacts under a 1A (10x-rated) load (with 1V across the contacts to respect the 1W load switching limit) using the neodymium magnet which does not guarantee ideal switching. This was achieved by setting I-V Characteriser to a fixed current bias, deriving the contact resistance over a five-minute period. At first, I let the contact soak the 1A for three minutes to see if the accumulated heating would change its behaviour and then I switched it quite a few times.
The contact resistance rose initially, first quickly and then slowly before peaking by about two minutes. Switching the unit resulted in a number of instances of higher-than-normal contact resistance for slow switching which recovered very quickly. Quick switching with the magnet did not exhibit this, the post-test internal resistance actually fell which was surprising. No contact welding was experienced. This suggests to me that the break-type switch seems to be quite robust to overloads and in-rush at switching, at least in the short term.
Having now an abused OHD3-115M and OHD5R-105B that would not be trusted to meet original specifications, I felt the best thing to do was to open them up to get a glimpse of what was inside and how they managed to squeeze things into such a small size – especially with the OHD5R series.
The first to be disassembled was the OHD3-115M which I quickly discovered was in a hard, crumbly plastic case. I thought it could have been ferrite, but alas, I was wrong! All it took was a gentle squeeze in a vice and it started to come apart, revealing the interior. I guess this means one shouldn't overtighten the mounting screw, or else they might find the casing will crack!
Cleaning up as much of the plastic as I could without breaking it further, I believe this is the magnet-ThermoLite-spacer-ThermoLite-magnet construction as alluded to by the data. In this case, the ThermoLite rings seem to be rather thin compared to the other elements and gold in colour.
Extracting it out of the package did not go so well, and instead resulted in the breakage of the glass capsule containing the reed contacts which were still spotlessly clean. Regardless, that’s a make-type sensor, so what about the smaller break-type OHD5R?
Giving this one a squeeze did break it apart, although managed to break all of the elements at the same time. The arrangement is situated “vertically” when mounted with the tab facing upward, with the magnet-ThermoLite-magnet arrangement as indicated in the information provided.
A physically compact reed seems to be used, and the reduced contact area is likely to be responsible for the limited current rating. Regardless, it is this difference in arrangement of elements is responsible for the different magnetic signatures observed earlier.
I had ordered some thermocouples from element14 which were supposed to arrive at the beginning of the week from overseas but somehow encountered some unforeseen delays. That was not ideal and I really didn’t want to be taking up yet another week waiting. As a result, I decided to go ahead with the build as proposed, instead, using my own stock of bead-style K-type thermocouples instead.
As stated in the last blog, I will be focusing on the 50 degree Celsius and 60 degree Celsius break type switches. I will be testing one of each type, as the other unit will be held in reserve for a quick project that came to mind for a future blog. The heating and load resistances will be made up of a number of 100-ohm 1% metal-film through-hole resistors, these being the Multicomp Pro MCMFF04FF1000A50 (Order Code 1602162) units. For the OHD1-50B which has a 300mA switching current limit, six resistors are used in parallel, twisted together, with the thermal switch in series.
Wires are attached and the assembly is soldered together. The Brown and Blue wires connect across the thermal switch to read the voltage across the switch and ascertain its status, while the Red and Black wires are used to supply 5V to the assembly.
To keep the assembly from shorting out on itself and affecting the results, while providing some protection from expansion/contraction-induced abrasion, hard-wearing heatshrink with a 220 degree Celsius rating is used to insulate the connections which have their sharpest points clipped off with flush-cutters. The resistors are clear of the heatshrink, to provide sufficient area for heat transfer into the switch.
To keep things simple, I have decided to opt for an opposite side mounting which may cause some thermal-lag to occur and possible under-estimation of temperature. I could have opted for a 90-degree mounting as previously surmised, but the risk of movement causing a direct thermal path from heating resistor to thermocouple was too undesirable. The assembly is smothered in non-conductive thermal compound to provide a more consistent thermal transfer which should reduce temperature variances.
This is then covered by another layer of heatshrink. The elements are then bound together using 0.9mm galvanised steel fencing wire which is twisted to increase the tension. This keeps the resistors and thermocouple beads in contact with the body of the thermal sensor. I initially experimented with solid-core tinned copper wire, but it did not have enough tensile strength and snapped before reaching a satisfactory level of tension. Previously, I did think of applying another layer of heatshrink to act as a further insulation against external draughts, however, due to the sharp ends of the wire, I decided against it. More rapid heat dissipation should improve the cycle times, resulting in more cycles being accrued inside the test period.
The same process was undertaken for the 60 degree Celsius break-type switch, however, instead of six resistors, this one had eleven which have been arranged in a bit of a curve to match with the body of the unit. This would achieve the full current capacity for this type of switch (550mA).
The resulting sandwich is a bit thicker, but it will hopefully do the job as I had envisaged.
In order to automatically log data and keep the experiment running safely, I wrote a Python program that uses pymodbus to talk to the B&K Precision DAS240-BAT Multi-Channel Recorder and pyvisa to talk to the Keysight E36103A 20V/2A Single-Channel Power Supply. I previously thought I would use the R&S HMC8043 and have each switch on a separate channel, but as I can use the DAS240-BAT to monitor each channel status, having that level of control was no longer necessary and a single-channel supply would suffice. This would free up the HMC8043 for other experiments, should they arise. The program polls the DAS240-BAT continuously and writes a new log line every time any of the channels exhibits a change including the present UNIX timestamp from the time module, as Modbus-TCP based endpoints do not have the ability to signal changes to the host. This is also printed to the terminal for debugging. Every 30-seconds, it will query the E36103A to keep the TCP connection open and alive (as long idle times may cause the OS or device to close the connection). Based on both read-out temperatures, if either exceeds 90 degrees Celsius, a command is sent to shut down the power supply output and close logfiles, terminating the experiment in case of a welded switch. The code uses the struct package to deal with the 16-bit data type from the DAS240-BAT and the math package for its handling of the NaN code that is returned in case of out-of-range from the DAS240-BAT. This is necessary in case the thermocouple fails open, although the DAS240-BAT does not have an open thermocouple detection feature, it is likely that the reading may stray outside the configured recorder range of 20-100 degrees Celsius and be caught. The code listing is below.
# Experimenting with Thermal Switches - Torture Program # Uses B&K Precision DAS240-BAT as data logger, four channels as T, V, T, V # Uses Keysight E36103A to provide power # by Gough Lui - February 2022 from pymodbus.client.sync import ModbusTcpClient as ModbusClient import pyvisa import struct import time import math def readAnalog(chan) : rb = client.read_input_registers(6+2*chan,2) assert(not rb.isError()) value = struct.unpack('!f',struct.pack('!I',(rb.registers<<16)|rb.registers)) return value resource_manager = pyvisa.ResourceManager() ins_e36103a = resource_manager.open_resource("TCPIP0::192.168.xxx.xxx::5025::SOCKET") ins_e36103a.read_termination = "\n" ins_e36103a.timeout = 10000 # Connect to Client Address - Change to match your settings! client = ModbusClient('192.168.xxx.xxx', port=502) client.connect() print("Beginning Experiment ... ") print("Setting Up - E36103A") ins_e36103a.write("*RST") ins_e36103a.write("SOUR:VOLT 5") ins_e36103a.write("SOUR:CURR 1") ins_e36103a.write("OUTP 1") ins_e36103a.query("*OPC?") f = open("datalog.csv","a") lch1=float("nan") lch2=float("nan") lch3=float("nan") lch4=float("nan") kat = 30 lka = 0 try: while True : ch1=readAnalog(1) ch2=readAnalog(2) ch3=readAnalog(3) ch4=readAnalog(4) rtime = time.time() if str(lch1)!=str(ch1) or str(lch2)!=str(ch2) or str(lch3)!=str(ch3) or str(lch4)!=str(ch4) : f.write(str(rtime)+","+str(ch1)+","+str(ch2)+","+str(ch3)+","+str(ch4)+"\n") print(str(rtime)+","+str(ch1)+","+str(ch2)+","+str(ch3)+","+str(ch4)) lch1 = ch1 lch2 = ch2 lch3 = ch3 lch4 = ch4 if time.time() - lka > kat : ins_e36103a.query("*OPC?") lka = time.time() if ch1 > 90 or ch3 > 90 or math.isnan(ch1) or math.isnan(ch3) : raise KeyboardInterrupt except KeyboardInterrupt : print("Stopping due to Interrupt or Over-Temperature") # Close Modbus Client when Done f.flush() f.close() ins_e36103a.write("OUTP 0") ins_e36103a.close() client.close()
The log files contain raw data which will be processed by another program I will write, that will identify and aggregate the switching threshold temperature at each cycle, cycle maximum and minima and cycle times. It is expected that this program logging raw data spews out about 85MiB of data per day and I intend to run it for one to one-and-a-half months, so I would expect to need to process about 3.8GiB of data which is too much for simple tools like Microsoft Excel.
The Experiment Commences!
With everything hooked up, I used some alligator clips just to hold the two “pods” to the carry handle of the E36103A to keep them in a stable position. Starting the script, I watched the screen on the DAS240-BAT remotely …
I saw both units heating up smoothly and then, voila … the switching action happens just as expected, although the switching temperature seems a bit lower than expected. I think I know the reason why, which I will explain when I come to a full analysis of the data in a future blog. The current readings on the E36103A are very much within the expected range – both switches on should be a total of 850mA and the E36103A is reporting 842mA or a 0.94% error, matching the 1% resistor rating. The lower temperature switch is cycling much more rapidly than the higher temperature switch – this has to do with the heat loss to the surrounding environment, thermal mass and power being released by the resistors. Waiting for the units to settle, we get into a steady rhythm.
Zoomed out, I can see that the switches are regulating temperature rather nicely – I’ve now got two thermal-oscillators and my construction seems to be sufficient for now. The data is being logged successfully for later analysis … now I can just sit back and wait for the data to roll in! It’ll be a month and a half until I reach the point where I shut this one down, assuming the switches do not fail prior to that time. A back of the envelope suggests we are seeing about 30-second cycle times on the 50 degrees Celsus switch, and 70-second cycle times on the 60 degrees Celsius switch. For a 45-day period, this would equate to 129,600 cycles and 55,542 cycles respectively assuming no mishaps. This is quite an achievement given the limited time for the design challenge and exceeds the lifetime of a normal power relay (10,000 cycles electrically), is on par with the average lifetime for a traditional thermostatic switch (100,000 cycles) but is not quite up to the generally claimed lifetime for the magnetic reed-based thermal switch (500,000 cycles). To speed up the cycle time would likely require active heating and cooling methods, for example, by Peltier although such modules may themselves fail first due to the temperature cycling.
To finish, a quick thermal image as evidence of the two hot “pods” which are being tortured.
This has been a rather long but interesting blog where I discover a few more things about the Kemet Thermal Switches that I never knew. For example, it’s possible to tell the difference between a make and break-type thermal switch by the magnetic field signature emanating from the device. It’s also possible to switch the internal reed with an external magnet, but it is not recommended from my experience with the make-type reed seemingly getting stuck. The reason for the difference in magnetic field signature has to do with the construction of the make and break-type switches which was confirmed in the teardown, which also showed that the products were encapsulated in a hard but brittle plastic rather than ferrite or ceramic material. The thermal switch torture configuration was assembled at long last and put into operation. The data acquisition system is running based on a Python program I developed and indicates that the system is oscillating as expected, although the temperature threshold seems a little low. I suspect I know the reason why – I’ll elaborate on this in a future blog when the data is fully collected and analysed. At this time, the system delivers about 85MiB of data per day, with an expected total of about 129,600 cycles for the 50-degree Celsius switch and 55,542 cycles for the 60-degree Celsius switch by the conclusion of this design challenge if all goes well. I’ll have to write another data analysis program to sift through the 3.8GiB of anticipated output to extract the values of interest.
That brings this instalment to a close, and now that the experiment is officially running, I probably won’t have too much to report until the results are in, which will take all of the 1.5 months or so that remain. However, I have thought of something I could build, so perhaps I’ll be able to blog about that as a detour while the switches are being tortured. Hope to see you in the next blog!
[The Torturing Thermal Switches Blog Series Index]
- Blog #1: Torturing Thermal Switches – Cycle Testing Cut-in, Cut-out, Hysteresis & Contact Resistance
- Blog #2: Torturing Thermal Switches – Unboxing, Initial Characterisation & Experimental Refinements
- Blog #3: Torturing Thermal Switches – Magnetic Characteristics, Teardown, Overload Behaviour & Commencing the Cycle Experiment! (this post)
- Blog #4: Torturing Thermal Switches – Contact Bounce, Overvoltage & Building a Component/Filament Dryer
- Blog #5: Torturing Thermal Switches –Temperature Measurement Complexities, Switching Deviations, Data Analysis & Interim Results
- Blog #6: Torturing Thermal Switches – Latching Fault Circuit Design, Weighing In, and Checking Contact Resistance
- Blog #7: Torturing Thermal Switches – A Minor Glitch, *Final* Results & Conclusion