In the past, I developed the system for airport lane friction coefficient measure. Now it uses in 14 airports. It has the same principles (load cell, ADC, data transfer (serial to WIFI interface)). I wrote laptop client software and UI myself on c++.
But after that, I found Node-Red. And I was impressed with possibilities and fascinated support.
1, 2, 3, 4, 5, 6. Independent weight scales. Each consists of the load cell and Loadcell-Modbus converter (PCB w/o housing)
7. DIN enclosure with Raspberry PI3 B+ inside.
8. IOTON PI-FACE (my interface for Raspberry PI with RS485, RTC, UPS, power controller, WATCHDOG, GPIO connector for modules e.t.c.)
9. IOTON DIO4.1 (my universal isolated I/O module)
10. OMRON E3S-X3CE4 (photoelectric switch)
11. LED traffic light for the driver.
12. IP camera for the license plate recognition.
13. Truck model (I need to add one more axle)
14. Interchangeable license plate model.
Left to right: 0.2ton Load cell, my Load cell - Modbus interface (in stainless steel housing), MICRIO MPU & DI8 input module.
500 samples video (16sec):
As you can see, I have around 120 counts of noise Peak-to-Peak.
Lets calculate the counts... 24bit = 2^24 = 16 177 216 counts. Noise of my system = 120 counts. So I will have 16 177 216 / 120 = 134810 noise free counts, it's around 17 bits. Not so bad.
For 200 kg sensor (in real life it has 400 kg full range, 200 kg for tension and 200 kg for compression), I will have an accuracy of around 200 000 * 2 / 134810 = 3 gram.
If you're using the AD7799 ADC, that's just about the best you could expect. I assume you are measuring with no load in an electrically quiet environment. What happens in the "real world", particularly with a load and some mechanical noise?
Yes, the smooth node is very convinient tool in Node-Red.
But in this case, I use ADC in very slow mode (freq 4.17 Hz).
Also I thinking about digital filter implementation inside my device(I think it will be sliding average filtering) with conrol filter parameters thru Modbus registers, for easy usage with old PLCs with CodeSys p.e. for example.
Noise with load is not a big problem(really, I did this measurement on the video with loaded load cell, load = load cell weight, around 400gram).
To eliminate mechanical noise I'm using hard analog filtering (second-order 5hz).
Much more dangerous - bad thermal stability of the load cell. But I implement temperature measurement, and I have load cell temperature data in one of Modbus registers. So I can do some compensation for the temperature disturbances.
Also, I have another variant of my device mounting(I think it's the best noise immunity solution). Also I will have an actual loadcell temperature data. I think I will get the stainless steel enclosure for it next week.
Maybe it's a little bit off-topic. But I have a video about my device PCB assembly. I think it's the fastest method for prototyping and low mass production. Maybe it will help save time for somebody)
how to save money on stencils, and how to made paste printing tool for fast, double side printing:
I think Node-Red is a very convenient tool for hardware test purposes.
In the past, I used mainly Simulink, but now I can solve near all tests for the slow processes with Node-Red.
Yesterday I did preliminary load cell temperature drift test.
As you can see I have 16000 / 30 = 533 counts temperature drift for 1 degree Celsius. It's more than 4 times higher than noise, and it's unacceptable for accurate measurement.
I use expensive hi-class (C3) load cell. Let's calculate how the load cell meets specifications.
C3 - accuracy class
Temperature effect on zero balance TKzero must be less or equal +//0.0014% for 1 degree Celsius from the full scale.
My ADC has 24bit resolution, so the number of counts = 2^24 = 16 777 216 and calibrated exactly for this load cell full scale
Temperature drift = 533 counts
So:
TKo = 533 / 16 777 216 / 2 * 100 = 0.0016%
It's slightly higher then I see in the specification.
Let's calculate temperature drift error in grams. I use 200kg load cell which works in both directions (tension and compression) so it has 400kg full scale.