Power supply and cable issues

28 13988
Edited by tkaiser at Mon Nov 3, 2014 08:03
seblucas replied at Mon Nov 3, 2014 06:45
The accuracy of DS18B20 is not really that bad ;)

I'll see when they arrive in a few weeks whether I got cheap clones or good ones (just ordered 2 x 10 DS18B20 and 12 DHT11).

I want to build cheap enclosures for all of my SATA capable ARM boards (Banana Pi, A20-OLinuXino-LIME2, Wandboard Quad and Cubietruck) combined with a 3.5" HDD that should be as small and as less noisy as possible. Will build a prototype, cram both 12 DHT11 and 12 DS18B20 into, start different temperature calibration runs in the range of 7° - 60° Celsius -- double checking whether the BananaPi responsible for recording the temperature values will automagically shutdown when the PMU's temperature exceeds approx. 55° --, will then try to 'calibrate' all sensors and do 'real world' tests with the enclosure stuffed with HDD and second Banana Pi under different load scenarios to verify if passive cooling solely done by convection works.

The 'final product' will be a present for our customers: Some sort of an ugly looking but functional monitoring appliance (running either OpenNMS or OMD) capable of recording TBytes of data from the whole network, able to check environmental parameters of the server cabinet the device is mounted in and could be easily extended to an 'IP camera' or 'LAN power strip' by simply adding cheap USB peripherals like the EG-PM2.

If we succeed building this stuff I'll document it here...

Interesting stuff, I hope you'll succeed (and maybe have fun BTW) and find interesting things

seblucas replied at Mon Nov 3, 2014 08:56
Interesting stuff, I hope you'll succeed (and maybe have fun BTW) and find interesting things

I will get back to the forum in any case. Even when we're completely failing with the enclosure approach we'll be able to gain many experiences worth to share.

For example: My first Banana Pi has heatsinks on A20, PMU and DRAM chips. When I measure the heat dissipation directly above A20 and PMU like I've done this way then after finishing a stress test the chip's internal temperatures decrease faster than the external thermal probe -- maybe related to the heatsinks and to be confirmed with my 2nd Banana Pi without attached heatsinks that arrived a few days ago):

The permanent monitoring itself gives also the possibility to estimate different probes without real measuring when the boundary conditions are known and controllable. For example the graph above: When you can measure ambient temperature and know how this affects the PMU's base temperature (depending on the type of enclosure when you're using one there is always a delay) and simply read out the PMU's internal thermal sensor (which is quite easy) then you could estimate roughly the A20's internal temperature by also considering both CPU utilization (via "iostat -c" or /proc/stat) or load and the PMU's reported actual current (which reflects the consumption of the 'system in a whole' as well as connected USB peripherals).

Then you could write a simple daemon that reads out the different data sources, does the necessary math depending on the duration and time offset of changes (eg. system load) and estimates other values that are 'costly' to extract directly (like the A20's internal temperature). And using RPi-Monitor you can easily plot real and estimated graph together and iteratively enhance the formula to estimate hard to read-out values correctly.

BTW: According iteration. I found out that I had to increase one DHT22 by 3 degrees and the other by 3.3 degrees so that they report almost identical and more accurate temperature readings. After doing so RPi-Monitor would show even minimal divergences in the graphs and then I thought from this graph that the DHT22 driven by 3.3V is a bit more unrealiable as the one on the 5V connection (jumping between 22.1° and 22.2° more often):

But later (when the temperature in my living room decreased obviously by 0.1°) I had to learn that both DHT22 still don't exactly match and their measurement differences is not 0.3° but 0.35° instead:

And yes it is fun most of the times. Will be even better when the sensors arrive from China in a few weeks. Then my daughter and me will bake cookies and we'll put Banana Pi and dozens of sensors into the oven in between to get calibration data ;)

I'm also waiting for 4 DS18B20, I burned my previous ones after some 5V / 9V unfortunate mismatch

I checked between 18:00 (last night) and 2:00 the standard deviation of my temperature reading (every minutes) was not above 0.2°C and that was during a slow drop of temperature. I'll send a graph later.

The 3°C difference is really puzzling me, I can't wait to hear from you when your DS18B20 will arrive, I trust them better ;) !

Edited by tkaiser at Mon Nov 3, 2014 10:47

And another experiment would be to use solely the easily accessible PMU's data (internal temperature, actual voltage and current -- all available below /sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/axp20-supplyer.28/power_supply) without even considering CPU utilization to get the ambient temperature without measuring it:

I started a stress test at 16:35 and put the whole setup (Banana Pi and DHT22) on top of one of the radiators at 16:39, stopped the stress test at 16:44 and put the hardware back on the table at 16:47.

Temperature reported by PMU (right axis in °C) and power consumption (product of voltage and current in mW on the left axis):

Internal and DHT22 thermal probes:

Given that ambient temperature doesn't change that fast it looks feasible to use the PMU's internal data to realiably estimate the ambient/surrounding temperature without the need for an external probe if the position of the Allwinner device in question isn't affected by dominating heat sources...

This sort of stuff should be possible by simply using postprocessing formulas combining different dynamic sources inside RPi-Monitor without the need for sophisticated math.

Dont forget to order an I2C/W1 brigde. It makes life much easier - prevents from time critical operations and protect the SOC, e.g. this one.

See this when running:
Bpi with DS sensors.jpg


Here is the screenshot promised, you'll see that I have almost no spike.

It's maybe because I only refresh temperature every minute, what's your refresh delay ?

Edited by tkaiser at Fri Nov 28, 2014 04:03

@T.S.: Thanks for the recommendation of an I2C/W1 brigde. I've seen that the manufacturer you recommended also sells a combined RS232-I2C/W1-module (might be nice to connect the Banana Pi to the serial ports of servers/switches in the rack). And there are a few more... also interesting how the 1wire-sensors behave when queried over large distances (using the RJ12 jack and high quality network cabling to interconnect)

Hmm... a lot to learn and consider

@seblucas: I let RPi-Monitor refresh its databases every 10 seconds and the values themselves get refreshed at an interval of approx. 7.5 seconds (using my quick&dirty

Edited by diablo2424 at Wed Dec 24, 2014 12:53
tkaiser replied at Tue Oct 28, 2014 06:25
EDIT: Updated bpi-monitor.tgz and contents of rc.local to include latest findings about reading out  ...

EDIT: Nevermind - I found it here:   sorry.

You have to log in before you can reply Login | Sign Up

Points Rules