In Debian7, there is a directory for retrieving the Beaglebone Black CPU Temp. located at /sys/class/hwmon/hwmon0/device/temp1_input.
http://inspire.logicsupply.com/2014/12/ ... nitor.html
in Ubuntu 16.04 https://eewiki.net/display/linuxonarm/B ... tu16.04LTS this directory is unpopulated and has been removed from the operating system due to reports from TI saying that its to buggy and should not be used.
https://lists.linaro.org/pipermail/lina ... 16750.html and http://stackoverflow.com/questions/2809 ... bone-black
for to many reasons i am basically forced to upgrade my Bone to the latest Ubuntu release. however it is also critical that i continue to monitor the CPU temperature, i have had over heating issues in the past that caused catastrophic failure of the system. So basically i see no other alternative but to take the long road and add even more overhead to my board by adding yet another circuit only to monitor the cpu temperature.. if any one has an alternative approach please by all means let me know.
My current setup is a bare Beaglebone Black REV.C mounted on risers with plenty of airflow under the board as well as the sides and top, i have also installed a small heat sink http://www.ebay.com/itm/Heatsink-15mm-x ... rmvSB=true on the cpu with a micro fan http://www.ebay.com/itm/1pc-SEPA-MF15B- ... rmvSB=true that can be activated when needed, one of the reasons i need to know the CPU temperature.
What i would like to do is this https://learn.adafruit.com/thermocouple and installing the thermocouple inside the Heat Sink by drilling a small diameter hole cross ways to the center.. allowing me to once again monitor the temp of the CPU, or possible fixing it to the bottom of the board directly under the CPU. What i am not sure of is by doing it aether this way, will this short out the thermocouple or cause the thermocouple to not work properly..... or even make the readings very to much causing the system to kick on and off to much.
I understand that this is not a direct reading of the CPU's core temperature and that i will need to adjust my python code accordingly in order to keep the CPU temp below the critical line.
i have done a lot of research on this topic with little to no viable results. any way i need to know a way that i can monitor the CPU temperature within reason and access this data from within my python code without having to get to extravagant.
Ubuntu 16.04 on Beaglebone Black Cpu Temperature
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- Milesdyson
- Posts: 5
- Joined: Thu Jan 26, 2017 3:18 pm
- drewfustini
- Posts: 944
- Joined: Sat Dec 26, 2015 1:19 pm
Re: Ubuntu 16.04 on Beaglebone Black Cpu Temperature
This tutorial shows how to read MAX31855 thermocouple with Python on the BeagleBone:BANNED wrote: i have done a lot of research on this topic with little to no viable results. any way i need to know a way that i can monitor the CPU temperature within reason and access this data from within my python code without having to get to extravagant.
https://learn.adafruit.com/max31855-the ... y/hardware
You may want to post on the official BeagleBoard.org mailing list about advice for thermal management:
https://groups.google.com/forum/#!categ ... eagleboard
- Milesdyson
- Posts: 5
- Joined: Thu Jan 26, 2017 3:18 pm
Re: Ubuntu 16.04 on Beaglebone Black Cpu Temperature
Thank you for such s speedy reply drewfustini.
i understand that any recommendations are understood to be suggestions and that i am ultimately responsible for any undesired outcome.
Thank you for your time.
this is what i was meaning to link to, My questions on mounting the wire is still unclear, could you recommend a method on doing so? Will modifying a heat sink and inserting the wire cause any issue? do you consider this method overkill? is there another Adafruit product that may work better? or do you know of a better way of achieving the desired outcome?This tutorial shows how to read MAX31855 thermocouple with Python on the BeagleBone:
https://learn.adafruit.com/max31855-the ... y/hardware
i understand that any recommendations are understood to be suggestions and that i am ultimately responsible for any undesired outcome.
Thank you for your time.
- drewfustini
- Posts: 944
- Joined: Sat Dec 26, 2015 1:19 pm
Re: Ubuntu 16.04 on Beaglebone Black Cpu Temperature
Good questions. Unfortunately, I've not tried this myself or seen others discussing how to monitor the temperature of the SoC.
The BeagleBoard.org mailing list has a large audience so I've just posted there to solicit ideas:
https://groups.google.com/d/msg/beagleb ... 9EkRtODAAJ
The BeagleBoard.org mailing list has a large audience so I've just posted there to solicit ideas:
https://groups.google.com/d/msg/beagleb ... 9EkRtODAAJ
- drewfustini
- Posts: 944
- Joined: Sat Dec 26, 2015 1:19 pm
Re: Ubuntu 16.04 on Beaglebone Black Cpu Temperature
Here are some suggestions from the BeagleBoard.org mailing list:
Prevent overheating BeagleBone?
Graham on MCP9808 High Accuracy I2C Temperature Sensor Breakout Board:
William Hermans on thermocouple:
Prevent overheating BeagleBone?
Graham on MCP9808 High Accuracy I2C Temperature Sensor Breakout Board:
I use the MCP9808 for temperature monitoring. Simple I2C interface. Drops onto I2C-2 without device tree changes.
Adafruit has example code and breakout boards. Accuracy about 1 degree C, resolution to a fraction of a degree C.
I put one of the Adafruit breakout boards in the same airspace as the BBB, or whatever else I am monitoring.
I guess you could glue one (dead-bug) on top of the Sitara package.
I am not sure that cooling a BBB is a problem that needs solving, unless you are running it real hard, continuously, and have it bottled up.
William Hermans on thermocouple:
William Hermans on DS18B20 1-wire temp sensor:I have not used a thermocouple on the beaglebone it's self. I have however used a SPI interface MAX31855, and they ramp up fairly quickly, and are reasonably accurate.
As far as placement, I think you would want to place the cable end directly onto the processor die, with a bit of heat sink grease between both.
Another option would be to use a 1-wire temperature sensor. I have one here connected to a beaglebone at this moment, but I could not tell you offhand what the part number is . . .
So it's my understanding that these 1wire sensors in not as accurate as a thermocouple. However I think I could work well enough. As far as placement of these . . . well I'm not sure about that. A datasheet would need to be referenced. But perhaps directly on the processor it's self as well with a bit of thermo grease between the two ? Not sure. They're a similar package to a small transistor. Additionally, these are rather slow in response. I think the best 1-wire query "speed" is 750ms between reads. But I think if you need to read temperatures faster than this for this particular application . .something else is "wrong" ;)
The DS18B20 is the 1-wire sensor I'm using. I knew that when I initially connected it, but have not bothered to remember that after looking at the datasheet . . .too much else going on right now. They're really easy to read from using C, and C++( one or the other ), and probably any other language you'd care to use. Doing something similar in C++ I think I did in less than 75 lines of code, using no special libraries:
root@beaglebone:~# cat /sys/bus/w1/devices/28-*/w1_slave
f2 00 4b 46 7f ff 0e 10 f8 : crc=f8 YES
f2 00 4b 46 7f ff 0e 10 f8 t=15125
Please be positive and constructive with your questions and comments.