Sciencemadness Discussion Board

K type thermocouple, data acqisition and calibration with Owon B41T+ ohm meter

semiconductive - 8-8-2024 at 13:18

I've been needing Thermal data acquisition capabilities for monitoring chemical reactions and processes; I'm not good at doing it manually and miss a lot of clues when not paying sufficient attention.

There's a reasonably low cost and attractive ohm meter for hobbiest/amateur use, which is capable of logging temperature, voltage, current, and resistance; It's called the Owon™ B41T+ meter (eg: Blue Tooth™ enabled).

This meter is meant to connect to Android™ phones using an app, but an open source library exists to operate it from Linux™ which many people may find more useful.

https://github.com/sercona/Owon-Multimeters

I have compiled and tested the Owon™ Blue Tooth™ reader on a Raspberry PI™-3 embedded computer. The PI is a low cost, educational Linux device that is sufficient to control/automate simple (non-critical) heating and monitoring of chemical processes.

The Linux™ based Owon™ library works, well! (from command line, at least).
However, the meter itself is not a very accurate device with some known flaws:

https://lygte-info.dk/review/DMMOwon%20B41T%20UK.html

But, since the meter works very well with Linux; I'm going to try and calibrate and work around the design defects.

I have bought four devices to get a sample of how production varies on these meters and what kind of precision can be expected. I bought two batches of two meters.

At 20 [°C], I measured the temperature offset of all four meters and collected them into a calibration text file:

calibration_owon.txt
Code:
#ALIAS MAC_ADDRESS Tcalib Toffset Tfreeze Tboil meter1 A0:6C:65:CA:89:56 20.0 6.1 NaN NaN meter2 A0:6C:65:CA:90:15 20.0 0.9 NaN NaN meter3 A0:6C:65:CA:58:ED 20.0 1.5 NaN NaN meter4 A0:6C:65:FD:46:EA 20.0 2.15 NaN NaN

Meters 1 and 4 came in the first order, Meters 2 and 3 came from the second order. The MAC addresses seem to indicate that these meters are already from mixed batches, and not sequential production.

Meter1's offset is out of specification for the K type thermocouple probe.
The probe itself states an accuracy of ±2.5 [°C], and the meter spec sheet states an overall accuracy of ±( 1% + 5 [°C] ).

I don't believe the error is primarily caused by K type thermocouple manufacturing variations. I've switched probes among meters and didn't see the temperature measurements affected by more than ±0.2 [°C]

However, using completely different probes I had laying around (unspecified) from other manufacturers did not agree well; so there may be an impedance sensitivity in the meter. I'm not entirely sure.

But: I think a major issue exists in the compensation electronics of the ohm meter, itself.

However; for completeness, I've ordered 3 Berkeley Glass type probes which ought to be more accurate, along with an adapter for standard K thermocouples; This will allow me (in the near future) to test the meters thoroughly and also have probes with chemical resistance (rather than the bare metal probes that comes with the Owon meter!).

For now: because K probe wire is prone to attack by acids, etc.
I have dipped the raw thermocouple wires that came with the meters, in Permatex™ Sensor Safe, High Temp Gasket Maker, (orange, #81422).
It needs to cure for at least 24 hours, and if you'd like a smoother finish, can be re-dipped in the same silicone thinned with EthylAcetate (MEK substitute).

Two of the sensors were twisted with multiple contact points, so I unwound them to make sure all four probes were identical with just a single weld point for measurement of temperature. These probes ought to behave identically, and I ordered five spares since they are low cost. They may be useful in sacrificial situations as a disposable probe.

A measurement made with Meter#1 and a silicone dipped probe, is shown here:

https://www.sciencemadness.org/whisper/viewthread.php?tid=15...

There was an unexpected drift in temperature overnight, and the temperatures measured were suspicious because they correlated with power line voltage fluctuations.

Since Meter#1 is out of specification, I also decided to short it with a thicker steel wire and not a thermocouple. This will allow me to use Meter#1 to track the temperature compensation electronics inside one Meter separate from any thermocouple interaction.

In the following plot, all four Owon meters were placed next to each other on a desk in very close proximity. There were three themocouple probes, all placed in open air roughly an inch apart and three feet away from the meters.

I used AA batteries in the meter, 2000[maH] NiMH's, and they are lasting for more than three continuous days without getting a low battery warning.

This is an ambient air test, so no power is applied and the traces associated with power do not show on the graph. ( They are 0. )

I have tracked all four meters, starting at 10PM local time, with the following result:

track.png - 46kB

I noticed during manual operation some problems with bad samples appearing.
I wrote a simple python (3) script to record data on the Raspberry™ PI, and to reduce the bad samples allowed in to the recording. The meters occasionally sample at the wrong time and inject about 1% false readings. This script is a strong rejector of repetitive data, AKA data that oscillates by ±0.1 [°C] along with false data jumps of more than 1.5 [°C]. Therefore, this software is NOT recommended for tracking fast temperature changes in industrial processes; it's far too simple with no error handling capability and is meant only to capture long term temperature trends without putting a lot of wear on the raspberry PI's SD card.

I am not affiliated with OWON™ in any way, nor are the people writing the drivers; so it is likely that the meters will change specification in the future and this code will be adversely affected.

However, open source code allows you access to fix problems, and gives an educational example that is hopefully, somewhat useful. This script is good enough for my desired initial tests of the meters.

But (for example) the script needs to be modified to include corrections in temperature scale, offset, and K type non-linearity, and safety/error handling for general usage. ( And whatever else you really need. :) ) It's not my purpose here to release production software; just alpha quality for educational/experimentation.

Code:
#!/bin/env python # Read a crude temperature from an Owon B41T+, and compensate it for fixed bias. # Written August, 2024 by Andrew Robinson of Scappoose. # Version 0.99.0 # This code is released under the GNU public license, 3.0 # https://www.gnu.org/licenses/gpl-3.0.en.html import sys from subprocess import Popen, PIPE import math if len(sys.argv) != 2 : print( "Command format is: %s meter_name", sys.argv[0], file=sys.stderr ) quit(1) meterID=sys.argv[1] alias,mac,Tc,To,Tz,Tb="","",0,0,0,0 f=open( "calibration_owon.txt", 'r' ) for calibration in f: alias, mac, Tc, To, Tz, Tb = calibration.split() if (alias==meterID or mac.upper()==meterID.upper() ): break else: print( "MeterID %s not found in calibration_owon.txt", meterID ) quit(1) Tc,To,Tz,Tb=float(Tc),float(To),float(Tz),float(Tb) f.close() f=open( "thermlog_"+alias+".dat",'w' ) print( "Thermal data log\n",file=f) f.flush() lastval,jitterval,count=0,0,0 with Popen(["stdbuf","-oL","owon_multi_cli","-a",mac,"-t","bt41"], stdout=PIPE) as p: while True: text=p.stdout.read1().decode("utf-8") sample=text.split(' ') if (sample[2]!='Deg'): print("Meter is in wrong mode") quit() time,val,units,x =sample val=float(val) count+=1 if (count<100) and (( val == lastval ) or ( val == jitterval )): continue count=0 if ( abs(val-lastval)>1.5 ): lastval=(val+lastval)/2. # Block spurious jumps jitterval=lastval continue jitterval=lastval lastval=val print( time,(" %6.2f"%(val-To))," ",units,x.strip(), file=f ) print( "\r\t%6.1f %s%s\t"%( val-To, units, x.strip()), end="" ) f.flush()



In the plot, there is significant variation from meter to meter both in the scale of the temperature changes and/or in the offset drift.

These meters were all turned on and allowed to sit for over an hour before being calibrated at the same room temperature; so, I expect they were all at nominal operating temperature and are not affected by initial warm up errors.

Random drift can't really be compensated for, but I'm hoping the meters are precision devices where I can correct repeatable errors.

Three of the plots, Meters 2,3,4, show more temperature fluctuation in reaction to air currents compared to Meter 1 (which has no external probe). Meter1 reacts much more slowly to ambient temperature changes since the case of the Meter shields the chip-set from actively moving air.

I am seeing a separation of temperatures by 1 [°C] over a three degree change in temperature between thermocouple probes.

This ~30% difference is a rather large error between thermocouples!

Presently, I am considering the following strategy to characterize the meters and allow calibration:

I plan to short all four meters' thermocouples out, and collect data on the temperature compensation circuits inside the meters to allow statistical characterization and correlation of the thermal compensation circuits.

Then, put three K probes into a test tube of silicone oil, and slowly warm it; while keeping Meter1 as a temperature compensation reference.

This, hopefully, will allow me to correlate the probe non-linearity of the probes to each-other.

Finally, test all three probes in an ice water bath; and then in a barely boiling water bath, to get reasonably complete calibration data for them over a wider temperature range and estimate how much random (uncorrected) drift the Owon meters have.

Then write a calibration function which attempts to do error correction and improve the accuracy of the recordings. Note: The number appearing on the meter can not be changed remotely, and will continue to display the meter's intrinsic error.

Only data recorded onto a Linux™ host is improved by my scripts.

More to come in posts below ...


[Edited on 9-8-2024 by semiconductive]

semiconductive - 16-8-2024 at 11:14

I've run a few tests, and there's quite a bit of variation in the operation of the meters.

Using long term stored (4 years) Energizer™ AA, NiMH batteries 2000 [mA·H], gives roughly 70 Hours of operation before a low battery warning comes on. This ought to be the minimum operation time for NiMH batteries.

The meters take roughly an hour to complete warm up drifting, for best precision.

This is a 70 hour plot of temperature variation measured using shoring jumpers. It's measuring the room temperature fluctuation for temperature compensation ; which ought to be extremely close for all four meters. But there is a variation of about 2.5 degrees. Note meter 1, which is out of spec for measurements, actually pulls into specification during the first hour of this plot and maintains.

This suggests meter 1 might have rosin core flux that didn't get cleaned off inside of it, or another issue. But, it's the major source of experimental error when I used it in another thread.

shorted.png - 11kB

This brings up the question of how to characterize these meters statistically.

They were all placed right next to each-other on a desk, during testing.
So, they ought to have experienced the same temperature.
But, as temperature changes, there are slight variations in when each meter reacts (seconds to minutes). This got me to thinking about the mixing rate of air in a room and, chemicals in a test tube.

Each meter has a slightly different thermal mass, and air mixes randomly above them via diffusion which could vary by a few tenths of a degree for minutes at a time.

Air, when exposed to a constant temperature, will approach thermal equilibrium using an exponential decay because of diffusion. ( Tf - Ti )( 1 - exp(-seconds * mixConstant )

When I analyze the data, then, rather than just assuming the temperature is exactly the same; I'd like to estimate what temperature each meter is exponentially approaching from a moving series of 5 consecutive data measurements; and use the correlation between meter approach estimates to figure out what a best estimate of room temperature is; and extract meter biases such as thermal mass differences from the estimate.

The raw text files of capture data, with no temperature offset is appended for your own review and analysis:

Attachment: thermlog_meter1.dat (181kB)
This file has been downloaded 44 times
Attachment: thermlog_meter2.dat (178kB)
This file has been downloaded 45 times
Attachment: thermlog_meter3.dat (179kB)
This file has been downloaded 46 times
Attachment: thermlog_meter4.dat (177kB)
This file has been downloaded 41 times

The time-stamp is in seconds, the temperature (as marked), is in degrees.

[Edited on 17-8-2024 by semiconductive]

Twospoons - 16-8-2024 at 14:14

Hate to say it, but a lot of that Chinese made gear doesn't have a good rep in the EE community, especially low-end multimeters.
You might want to look at Phidgets. if you have a specific telemetry need.
I've used a few of their modules for relay control and pressure monitoring. They have prewritten drivers which are easy to interface to your own code, for multiple platforms.

Rainwater - 16-8-2024 at 16:05

I suggest repeating your test with a tempature buffer like boiling water or ice water.
This should give better results than open air.
Can you give more details about the probes themself. Are they enclosed?
How do the welds look?


[Edited on 17-8-2024 by Rainwater]

semiconductive - 16-8-2024 at 20:42

Quote: Originally posted by Rainwater  
I suggest repeating your test with a tempature buffer like boiling water or ice water.
This should give better results than open air.
Can you give more details about the probes themself. Are they enclosed?
How do the welds look?


[Edited on 17-8-2024 by Rainwater]


I will definitely repeat the first experiment, several times.
Presently, I would say I have one bad meter in four that was bad from the manufacturer.

All four probes had good looking welds before I encapsulated them in orange permatex silicone. I need to do an ohms measurement, though, to make sure the wire (itself) doesn't have variances in thickness; and have ordered 5 more spares.
I'll take close up microscope photos of the welds when I get them.

I received 3 Berkeley glass precision K probes this week; The wires travel up a teflon pipe to the connector at the top. I thought the probe tip would be under teflon, but it's not; it's still bare metal, which makes it's chemical resistance no better than Owon originals.

I'm not sure what to do about that. Silicone dipping is decent chemical resistance, but isn't nearly as good as glass or teflon. The phiget website probes are low cost, but i'm not seeing clear descriptions of whether they are encapsulated or not.

The Urea I was melting in another thread, affected the bare metal K probe; perhaps by forming ammonia ions that changed the K probe significantly. The probes performed much differently after dipping in silicone. ( a lot better! )

But notice, in this thread:
The post is a graph, with data, that is strictly the meter's electronics themselves with no K probes; I have a single metal type shorting both junctions at the meter to test the chips without a probe.

Why?
Every K measuring thermocouple meter has a chip which does temperature compensation for the electronics; eg: because thermocouples themselves measure the difference in temperature between the meter junctions and the probe's bi metallic-junction. To know the actual/absolute temperature of the probe, the meter has to subtract off the temperature inside the measuring chip.

This is true even with Phiget branded probes.

Air temperature compensation for the meter, can't be avoided without having a dual probe set-up with an ice bath temperature reference 0 celsius; and that's way too much work for me.

What's obvious is that Owon doesn't calibrate their meters; and their factory accuracy is ±3 °C because the temperature compensation circuit is off by *that* much. The bigger question is how badly does the temperature compensation change between meters; Because if the error is constant, it can be subtracted out.
It's only non-constant errors that I need to be worried about.

I am presently re-running the experiment with no probes, but mylar capacitors 0.1uF across the junction. This allows me to get rid of electrical interference noise and test the meter's at high impedance.

The difference in performance of the shorted test, and the open test, will allow me to figure out worst case errors the meters themselves will cause. ( I'm BSEE, so I know what to do about that part. )

There's no way (even with Phidgets, as previously linked) to not have the electronic circuit compensate for ambient room temperature drift. So, I will need to test it regardless of what brand probe reader I get. The software I'm developing is just command line scripts, that can be linked to any brand of meter that Linux accepts.

After finishing my present open test, I'll get photos of the Berkeley probes and put them in a distilled water bath; and re-run the experiment with all 3 probes in a temperature buffering liquid as you suggest. Pictures will be posted below.... I expect Aug 19th,2024.

If someone knows where to get good quality K probes that are encapsuated in glass or teflon; I'd be happy to buy and test a few. I'm a bit annoyed with what I've got, and I don't want stainless steel.

Twospoons - 16-8-2024 at 21:15

Quote: Originally posted by semiconductive  


What's obvious is that Owon doesn't calibrate their meters; and their factory accuracy is ±3 °C because the temperature compensation circuit is off by *that* much. The bigger question is how badly does the temperature compensation change between meters; Because if the error is constant, it can be subtracted out.



In manufacturing calibration is 'expensive'. It takes time and that costs money, so you don't do it for cheap products. Temperature calibration is especially challenging because of the thermal time constants involved.

The alternative is using a precision temperature sensor for the reference, but that also costs money. A mediocre NTC thermistor is a few cents, a precision silicon sensor is a few dollars.

Cheap meters are made to be 'good enough' for basic work, but don't expect any real accuracy. Cheap meters are notorious for giving wrong readings once the battery gets a bit weak.
Most people wouldn't even notice because they wont bother to check and only have one meter.
Its like that old saying " A man with one clock always knows what time it is. A man with two clocks is never quite sure."

Sulaiman - 17-8-2024 at 10:03

It is easy to push a thermocouple through a glass tube until a few mm from the open end,
melt the end of glass tube and crimp it with pliers.
(or press onto a flat surface to make a surface probe, not easy)
I get a good seal and fairly quick response time.
Any insulation on the wires will be in contact with hot or molten glass for a while, even PTFE melts but it doesn't matter.

semiconductive - 17-8-2024 at 18:03

Quote: Originally posted by Sulaiman  
It is easy to push a thermocouple through a glass tube until a few mm from the open end,
melt the end of glass tube and crimp it with pliers.
(or press onto a flat surface to make a surface probe, not easy)
I get a good seal and fairly quick response time.
Any insulation on the wires will be in contact with hot or molten glass for a while, even PTFE melts but it doesn't matter.


Hmm... Interesting thoughts.
I'll have to experiment.

Supposedly, J thermocouples when over 450C begin to take in impurities even from the air. Diffusion of carbon and other impurities into the surface of the metal will change the thermal profile of the junction over time. This is apparently a problem in Kilns and other high termperature applications of J thermocouples.

So, there is some risk in glass encapsulating that impurities in the glass could change the probe electrical characteristics a little bit.

Although, considering I'm using software to calibrate the meter ... those changes can be programmed out, as long as they are consistent. So, that's not a reason to avoid trying glass sealing.

I also have capilary tubing, which would fit exactly one wire. That would allow me to guarantee with my shaky hands that the metal doesn't short when the tube is melted shut.

I wonder if I can pull a vacuum on it and make some kind of fixture, so I can cause the glass to melt shut automatically along the whole length of thermocouple wire as I apply torch heat. Anyone tried using vaccum to collapse glass tubes, and have any pointers?

Also: I see, theoretically:

Teflon powder sinters at 400degrees C.

My chemistry mantle can actually handle that temperature directly; and I have titanium based kiln salt, which can take white heat without melting -- but still dissolve afterward in water. That should make an excellent mold for teflon poweder; I might try putting the Berkeley probes into a pile of teflon dust, inside a cap shaped mold, and sinter teflon dust onto the tips of the three probes;

The kiln salt won't react with teflon, guaranteed, and will wash off, afterward, leaving solid teflon on the tips of the thermocouple.

Vaccuum molds make high quality sintered products; but I'm not quite sure how to make them. I'll have to study a bit more.




Rainwater - 17-8-2024 at 18:52

i protect my kiln k-type with a alumina cover, the rod stones are easy to find online, and a little bit of slip as mortar and its a air tight seal.
For a distillation thermometer, I use a thermometer 24/40 adapter and soda glass tube, sealed at one end with a few drops of baby oil pipette'ed into the tip.
The soda glass is super easy to work with, you can use a candle to melt it, but a stronger heat source is recommended.

You might be better off using a mcu and dev board, it would be much cheaper.

Twospoons - 17-8-2024 at 19:32

With the glass encapsulation don't you run into issues with the different expansion coefficients? K-type thermocouples are ~17x10-6/°C, soda glass is half that ~8x10-6°C.


Sulaiman - 17-8-2024 at 23:28

Even worse; I used borosilicate glass tubing (3.3 ppm/oC)
Seems ok so far (famous last words ;)
I've not used this probe much above 100oC because I used it mainly in glass stills,
and common plastic adapters melt if too hot,
so I use a PTFE adapter (the type used for overhead stirring),
even PTFE is melted by boiling az. sulphuric acid, or Hg, at atmospheric pressure.

Side note: a few turns of the pvc tubing carrying condenser cooling water,
wrapped around the neck that has the thermometer adapter
(thermocouple or traditional mercury in glass)
keeps plastics from melting - so far.
A ground glass thermometer/thermo- well/pocket is better, but causes slow response to temperature changes.
The best that I have is a couple of quickfit thermometers that have ground joints
- too expensive to replace, so not for my normal 'casual use'

semiconductive - 18-8-2024 at 20:38

Quote: Originally posted by Rainwater  
i protect my kiln k-type with a alumina cover, the rod stones are easy to find online, and a little bit of slip as mortar and its a air tight seal.
For a distillation thermometer, I use a thermometer 24/40 adapter and soda glass tube, sealed at one end with a few drops of baby oil pipette'ed into the tip.
The soda glass is super easy to work with, you can use a candle to melt it, but a stronger heat source is recommended.

You might be better off using a mcu and dev board, it would be much cheaper.


Edit: Just checked, most slip without glaze, is not air or water tight. You need to use stoneware slip, porcelain, or something with a high glass content to make it air tight. The slip itself, however, can change the properties (slightly) of the thermocouple metal.... :D

It's not the cost which primarily is bothering me. I mean, I'm not interested in forking out $500+ per thermometer, which is easy to do -- just check the Omron™ site. They aren't 'cheap' with all their solutions. Some are quite spendy.

The MCU route has issues of a different kind; for I usually end up with wires hanging out all over the place and the plastic is only ABS ( 80C, not even boiling tempertaure melts it ). A U.S. dev kit (straight from Taiwan) is typically $100, American. That's sort of the base price for Parallax™, Microchip™, and other dev kit manufacturers up through 2020. ( Chineese ARM ESP-32's are only $3).

But: I'm more interested in ready made, if I can get it.

I have, for example, 20 Maxim™ precision thermocouple chip readers which are designed to exactly what I'm wanting to do ... but they don't come in a case, and aren't wireless, and would require me to program an MCU unit to operate them.

I've considered hooking them up, directly, to the Raspberry PI's experimental connector interface; which is an option.

But, I'm not excited about having a lot of spaghetti wire all over my desk, which tends to get wrecked when chemicals spill, or a fire breaks out; and then I start over. It's a reliability issue, and I'm disabled anyhow.

The Owon meters are running $65 or so, right now, on ebay. (Aug 2024).
That's comparable to a U.S. MCU dev kit in price and they are fully bluetooth bluetooth, so no wires. Each meter has it's own batteries, so no shorts from one meter to it's neighbor and no fires and no wrecked laptop, desktop computer, or Raspberry PI's when my shaky hands fail.

At most I wreck a $65 meter, and loose none of my experimental data. I like that better than loosing a laptop.

It does seriously surprise me that there aren't easily avialable glass encapsulated thermocouple probes on ebay or elsewhere. That's sort of a no-brainer for chemistry. Glass or teflon, choose one for your nasty application for that's what everyone uses; but I only see teflon PFA, K probes easily online. No glass.

I just bought two Digi-Sense probes, 8", for $27/each. That's $1 worth of thermocouple wire, + a tiny bit of teflon, and a $4 (retail) plastic connector sold for $27. And these were bought used, not new; but that's still over triple the cost of the components. It doesn't make a lot of sense to me; except that the chemistry market has some kind of pathetic supply-demand issue going on.

For distilling, I do the same as you; although I use a stainless steel K probe in a 24/40 glass sleeve and silicone oil rather than baby oil.

But look at the urea I'm melting;

https://www.sciencemadness.org/whisper/viewthread.php?tid=15...

A stainless distilling thermometer is not going to work for a tiny test-tubes with 1 CC's worth of urea.

Ideally, someone would sell a Bluetooth enabled "Good Cook™" type thermometer with a teflon coating for use in the kitchen that can be read from Linux and costs $25 or less. I'd love to get that from the local grocery store.

But I've searched for it, and it doesn't exist. Apparently not too many good cooks monitor their food with an android phone or Linux. .... ?

I have the engineering degree, and I could design a thermometer myself; but it's the issues like 3D printing a case for it, etc. and the time it takes to fight with microchip manufacturer's who don't give a damn if their data book is wrong, and you bought it because they lied (even if unintentionally) in their spec sheet; they aren't going to fix it for less than several million out of "YOUR" pocket.

The days of customer service are Gone in the USA.

I spent over a year with Microchip™ corporation, talking to an (essentially) incompetent and/or apathetic engineer who doesn't even know how to check how their own chip ought to function. A doctor spent over $10,000 on these MCU chips and pieces for me to make a board which was at the level of a undergraduate senior design project (SIMPLE!), and it won't run because the Microchip™ data sheets for the chip are incomplete, incorrect, pr possibly in some kind of stolen/infringement or copyright issue with MIPS™ corporation (?now defunct?), and I simply can't get a DEFINITIVE data sheet from Microchip actually *listing* the assembly language commands their chip uses or a Mips document (as, in an exact document; with specific year, that is not a pirated document floating on the web with no guarantees) -- showing exactly what commands the Microchip™ MCU executes, and under what conditions it becomes "undefined." eg: In the original mips 16B standard, it is claimed that jumps to *enter* compressed code mode work even in delay slots; but later Mips™ apparently had an internal fight of some kind, because newer manuals with modern Mips™ chips do not honor the original standard. You have to use a doubly big command, and put a NOP into the delay slot in order to call a "Space saving" mips 16B command. Talk about counter-productive.

This is an example of a jump to compressed code, failing.

https://www.youtube.com/watch?v=XxH2RnrFxXE

If I did something wrong in my program, you'd think an MCU application engineer could at least tell me -- hey, our chip isn't supposed to run that command in a delay slot. Here's the correct documentation, showing which version of Mips assembly our chip uses. But it's been 3 years, several thousand dollars, and their official response is "Can't replicate the problem." ( Supposedly my code actually *works* on Microchip™ headquarters simulators?!!!!!! )

This is the same company that bought out my favorite FPGA manufacturer out, Xilinx™, which is military grade. Brilliant design. (Or at least it was before Microchip™ bought it and took over management. I don't have any idea what it's like, now)

I'm am about at the point of despair at how the U.S.A. is internally allowing pirating of high quality companies by lazy ones, that destroy morale, let alone innovative capability for the future. We're in a shipwreck, in information technology.

The U.S.A. has screwed itself, and I don't have the tools to overcome that. Cheaper, doesn't really matter at this point. Anything purchaseable in the $<100 range I will look at. Just not gold plated costs.

eg: I'm not a millionaire. I'd like to be able to precisely measure the melting temperature of urea in a test tube as a hobbiest/science project over Bluetooth, using open source software (Linux.)

Why is this so hard to do? :D

It seems like every high-school physics and chemistry course ought to have equipment capable of doing this. ( They don't? )


[Edited on 19-8-2024 by semiconductive]

Sulaiman - 19-8-2024 at 06:10

Something like this ? https://www.ebay.co.uk/itm/364402319828
Available cheaper on other shopping sites,
Just to give the idea.

semiconductive - 19-8-2024 at 07:58

That's really close! And I note; that's Straight from China and it's not sold at my local U.S. grocery store.

Something like the inkbird™, but with a teflon coating on the probe instead of just bare metal.

The connectors I see on that device are not ANSI standard, so I can't plug my $27 digi K thermocouple into it which is teflon.

EDIT: bought the four probe version, slightly different model, but it still has no teflon coating on the probes. Sigh.

I just want to see if my Raspberry PI™ can actually read the Inkbird. Half the time, bluetooth gadgets from China don't work except with their app on a specific phone.
Quality control isn't really great on a lot of these products.

For example: the camera I use to photograph the test tubes is *supposed* to be wireless.

But it can only be read by a Android Phone running a specific app.
It doesn't work from a regular laptop or the Raspberry Pi™ over wireless.

So -- I have a USB cord. Darn it.
And the USB cord is android phone charger like; after 1 month, it started loosing contact every time I touch the camera to focus it -- it freezes up.

So, I bought another camera that at least has USB cord that is solid; and am still looking at other wireless cams that might work. :)



[Edited on 19-8-2024 by semiconductive]

semiconductive - 19-8-2024 at 10:01

OK. Monday Aug 19th is here. Let's see if I can make some progress.

The open circuit capacitor loading for three days looks like this:


meter_open.png - 10kB

And, either someone turned off the temperature control and temperature never went back down at night, over the last 3 days; or somethings weird about the meter readings.

Meter 1 and 4 as usual, are not playing nice. Visually, the others look to be tracking correctly with each-other.
But Meter 1, looks like it matches with Meter 2, and 3, better than meter 4.
Hmm...


Attachment: thermlog_meter1_open.dat (1000kB)
This file has been downloaded 48 times

Attachment: thermlog_meter2_open.dat (623kB)
This file has been downloaded 48 times

Attachment: thermlog_meter3_open.dat (2.5MB)
This file has been downloaded 49 times

Attachment: thermlog_meter4_open.dat (2.1MB)
This file has been downloaded 50 times

When I get the Inkbird™, I can run the same tests on it and compare it using my scripts (if bluetooth works with it to data collect on Raspberry PI™). So, I'm not wasting time (completely) by having bought Owon multimeters.

I found a sort of reasonable modeling paper for air currents in a room.
Now I just need to find it again... more to come.

Edit: the paper's link turned into a bibliography over night ... drat.
https://www.aivc.org/resource/ll-20-computational-fluid-dyna...

Looking at a typical simulation of a room with desks... and getting an idea of diffusion and convection rates.

https://youtu.be/mIeBvSp5nVk

There's not a lot of temperature variation over short distances of a meter. The mixing also tends to reach a steady state, and there's not a lot of swirling with random pockets of heat.

I think what I want to try, then, is the same as last post; to assume that there is an average temperature which all four meters are approaching at the same time on a single desk.

I'll write a script to curve fit an exponential slope for every 5 data samples, and use statistics to make a "best fit" of how and when the temperature is changing at each meter. Then I can make best fit statistical model of what single temperature change in my room (as a whole) *likely* caused all four meters to react in the way they did; ( A 1 meter, one vote, type system where truth is an average. )

Assume the model was the true temperature of my room -- and solve for how badly each meter reacted to the 'true' temperature. The meter most different from the others will get a bad score. etc.

Script being written ... more to come.


[Edited on 19-8-2024 by semiconductive]

Sulaiman - 19-8-2024 at 21:18

I would (and have) put a bunch of thermometers and thermocouples (or whatever probes)
suspended in a beaker of slowly heated, manually stirred, distilled water,
Starting with melting ice, ending with boiling water.
The BP may need compensation, depending upon your local atmospheric pressure.

DO NOT forget to remove any thermometers before they exceed their maximum rated temperature and explode.
(eg my favourite/reference thermometer, very accurate 0 - 50 oC)...RIP

If you are seriously going to try modelling airflow and heat transfer for a virtual room, just to calibrate thermometers,
then I think that you may be over-thinking a little ;)

Other liquids (oils, molten salts or metals ...) could be used.

Or just multiple holes in a lump of Metal?

semiconductive - 20-8-2024 at 14:29

I have KASA™ electric plugs which can be programmed to deliver very precise amounts of heat (calories/watts), to a test tube. I agree with you: I really am planning on putting distilled water in a test tube, since that should not risk damaging even bare K probes.

I don't have any precision reference thermometers to wreck ... but stay tuned, as I do know the heat capacity of water.

Apologies; I'm a bit slow.

I haven't finished debugging my airflow correction script; I learned quite a bit from the last experiment.
Photos of the Berkely probes will eventually show, below...

If you look at the last plot, you'll notice that it continuously goes up with slight variations in reaction to temperature ?

I figured out why!
That rising temperature is directly correlated to the battery voltage dropping. I ran the batteries to dead, just to verify what the final temperature looked like as the meter began beeping and then turned off.

All four meters begin showing a false rise in temperature about ten to twelve hours after the battery low warning comes on (82 Hours or so of operation); and then the temperature drift becomes quite steep right before power off.

The major thermal drift, then, in these meters is actually caused by the temperature of the NiMH batteries as they warm/cool, and then finally die.

To get maximum precision from these meters, I'll have to be careful about how I charge and discharge the batteries. There's an initial overvoltage that doesn't last very long; and that causes all the meters to have a sharp temperature drift right after turn on; after that it's a fairly linear rise with the small variations due to change in room temperature.

But: The graph makes me pretty happy; I'm confident that I can correct the Owon meters using software. NiMH batteries are very predictable and repeatable.

I might even be able to do some precision calorometry with a little but of luck. :)

deadbattery.png - 41kB

-----

Photo is not experiment, but just setting up. Welds are quite visible.

I assume the white shaft is Teflon, although I haven't actually verified that.
But, in spite of these K probes being called Berkeley Glass : BGL 6073-47 ; they are bare metal as far as I can tell.

vlcsnap-2024-08-20-20h41m37s099.png - 455kB

This will probably link rot, but it's the image of how I bought the probes off e-bay.

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTFCRpB...

All three probes, as sold, were perfectly straight in the image. When I received them, I noticed that one probe was not made from a single piece of Teflon™ but three shorter pieces as if meant to make a shorter probe.

I bought probes in packaging with original stickers, suggesting they have never been used. But if that's the case, then the darkness on two of the welds indicates they didn't have a really good inert gas during manufacture. eg: These are possibly defects from the factory that someone messed up, being re-sold at low cost.

The owon probes didn't have oxidation on any of the welds. The spares I bought, I'll photo when they come in and see how they compare.



[Edited on 21-8-2024 by semiconductive]

semiconductive - 22-8-2024 at 23:14

First run of the filter program.
Air locally heats and cools in exponential patters, similar to resistor capacitor, resistor inductor circuits.

So, what I've done is wrote a finite impulse response filter in python (no libraries required, just python 3) to regressive exponential filter the temperature outputs.

Even though the following single file has all four data meters included, none the less the file size is smaller than even a single meter.

Attachment: impulse.dat (381kB)
This file has been downloaded 45 times

filtered_open.png - 12kB

All I have left to do is write a program to correlate the phase differences so that I can estimate the thermal time constant differences between meters. Then I'll upload the script, and try calibrating the battery effects on the four meters against each-other.




Rainwater - 13-9-2024 at 16:21

I was asked a few weeks ago in a job interview to design a pt1000 frontend from scratch,
couldn't help but wonder how this project is going.
Were you able to fix the drift error, now that you know the cause?
What features do you wish you had?
Any advice or wants and wishes

semiconductive - 14-9-2024 at 10:14

I'm still working on it -- the rainbird came, last week; but I haven't been able to get it to talk to Linux yet. And, that's always the main rub with these things ... people design them to work with either windows or android phone, and they don't design them to work general purpose with any operating system that exists today or in the future. I may need to do some packet sniffing and reverse engineering ... sigh.

It's one of the major reasons our technology sectors are such a mess. I've seen several engineers burned out at companies when they try do their job right -- and replaced by opportunists. Honesty is seldom rewarded. ( Note I have a patent, it is in full production -- but not by anyone who paid for it. )

Another reason is that sometimes even the equations in physics, are -- well, wrong. I have a Jaz spectrometer that I want to use while doing the freezing to boiling recalibration -- and to my horror, I've noticed that the NASA analysis from the 1970's on blackbody radiation -- is slightly wrong. 1% or less error -- but it's a very subtle mistake.

https://physicsdiscussionforum.org/integration-of-planck-s-b...

Solving the equation correctly is slow going. I'm very close, but life will interfere and I may not get enough functional hours to solve the calculus for another three weeks. You can expect me to start posting again, here, in about a month. ( October 2024. ) I'm very slow to complete tasks ... not exact a desirable trait in an engineer.

On the other hand: I DO know a few ways to fix the drift error because:
The B41T+ meter, itself, is a very precision device; just not calibrated.
They have put a 20000+ count analog to digital converter inside it.

The simplest way to fix the drift error is simply to build an external battery pack or power supply that has a precision voltage regulator in it. And it's fairly obvious to me why the meter company didn't do that themselves; true precision regulators require zeners in the 6.2v region along with a carefully selected compensation diode -- and glass passivation. It's not something that will work at 2.4V worth of battery rail without building a complicated charge pump. It also requires buying precision *selected* parts -- and testing them before assembling. That's about a month of engineering by itself. I've actually done it before, so I can just reuse an old design. But a mass producer isn't going to want to do that.

Consider:
If you try to buy a precision low-voltage drop out regulator for your own design; be aware that many products on the market lie about their actual precision. Many of them are laser trimmed to get close to specifications at 20C but fail miserably away from that temperature -- and (worse) the adjustment ports will all have different resistances. eg: You can't consistently correct them by adding a fixed resistor because the internal resistor isn't even 10% precise. Adding a 'trim' resistor will make the chip go off into much WORSE error than no trim resistor at all.

My wish list:

Blue tooth enabled, ALL OS compatible (Linux, too), battery operated, long life (at least 70 hours of battery life), stays within 1%, and a *glass* sheathed thermocouple. eg: looks like a traditional glass thermometer with an electronic dongle on the top.

Note:
I bought several Maxim™ K thermocouple converter chips, which can be used with microcontrollers -- such as the MSP432 -- from TI™. But -- I am not even sure that they will perform any better on a battery and (main problem) it doesn't have bluetooth built in. eg: A major design issue is that typical bluetooth controllers run on a separate microcontroller from the thermometer circuitry -- eg: on an ARM™ chip; which are far higher power than needed for such an application. EG: look up ESP32 chips online -- from China they are $3 each. BUT -- 99% of the chip is un-necessary for a thermometer application. Those are general purpose microcontrollers, not ultra low power optimized; they are popular because they can be mass produced and that drives the cost down.


[Edited on 14-9-2024 by semiconductive]

Rainwater - 14-9-2024 at 16:28

When porting OS's, the first thing I look for is if cr/lf or lf is used. I never implement cr/lf but it gets inferred with many compilers and breaks a lot of my arduino projects when I port them to a custom board and mcu. Bit order and brad rate errors are the next most common issues. Then usb synchronizing follows that. After checking each, 99.999% of the time my issues are resolved

[Edited on 15-9-2024 by Rainwater]

semiconductive - 29-9-2024 at 16:30

These scripts, could probably be ported to Macintosh easily enough; but I think it would be a real challenge to port them to MS windows™.
Python is supposed to hide the OS dependent issues, but hardware seldom likes to cross OS's.
Android is already Linux backed, and I occasionally am able to get phone hardware to work with Linux™ or Raspberry PI™ systems.

But: There's no reason an arduino driver couldn't be written to talk to the BT41 meters, or even to emulate a wireless thermometer themselves. The same issue will remain, though. The analog front end for digitizing the thermocouple is both temperature and voltage sensitive.

I received the six spare thermocouples I ordered last month (August), and will take photos of the bare metal welds to show what kind of quality I got from China. As long as the metal alloy is correct, and the welds clean, there isn't much to go wrong with the probes, themselves, except that they are bare.

Photos, when I post next below: :)