I am making a device that will monitor temperature and pressure in my hold luggage during a trans-atlantic flight.
As a test I put it in my freezer and it froze! Freezers operate at about -20°C which should be well within the operating range of all the electronics (in fact the display froze at about -2°C).
There is a 16F18326 (timing is using a clock crystal) a LPS22 temperature and pressure sensor and an LCD display.
All devices say they are good to -20°C. Can anybody think of why it is freezing.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Not experienced this. My advice would be to a series of SWDT checkpoints saving the checkpoints to reprimanded or send to external data logger. This could help isolate issue.
Hopefully, someone has a better answer.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The "Absolute Maximim" operating temperature of a NewHaven LCD display is -20C. I imagine that other have a similar spec. But "freezing" at -2C seems problematic.
My guess is that the "freezing" may be moisture related. Was the board/Device in a sealed water tight enclosure ? Does the board have a conformal coating? Lots of stuff at play here.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Totally unscientific experiment here.
I knocked up a circult on breadboard with with following:
- PIC16F18326
- SSD1306 OLED display
- LED
- 3xAA NiMH batteries
The code is attached. Every 5 seconds it takes a temperature reading, puts it on the OLED and flashes the LED.
Provided my code is correct, the temperature reading is taken from the core of the PIC. This is done by setting the ADC input to Temperature Indicator Module (see section 16 of the datasheet), then reading the ADC. (This required a hack of the a-d.h, adding #define ANTEMP 61 at the start).
Initially, I put the circuit in the oven. The reading seemed to increase when the oven was turned on, then decrease when the oven was off and the door opened.
I then put the circuit in the freezer, with a pot of water. The reading dropped dramatically and after 25 minutes it was showing 0 but everything was still running.
After 60 minutes the water is froze over the top and everything is still running.
After 24 hours in the freezer...it's working fine.
To be honest, I was expecting the NiMH cells to give up in the cold because based on past experience the capacity of NiMH cells is much lower when they are below freezing.
It's warming up now. There is condensation all over it and while it was OK to start with, the OLED is flickering every now and then. I'm sure it will be fine once it's warmed up and dried out.
Youtube: https://youtu.be/n0DgWnVT9UQ
This doesn't solve the original question though. My test confirms that the PIC16F18326 is good down to really low temperatures, however it could still be any of the other components.
I'd suggest adding a heartbeat LED to check whether the PIC is still running, and there is power in the batteries.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I love this thread! Peter, I don't think NASA could have tortured that circuit better than you have.... Well maybe if they tossed in a cup of salt! ;-)
Chris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
So, my test scenerio. I put on my Earth, Wind and Fire outfit. I thought I looked cool but I actually looked pretty chilled. And, as expected the wife went cold. This did cause a freeze. The code operated as expected.
Anyone else suffered this sort of crazy lockup?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I tried out the circuit and it worked. So either it was a moisture problem or my hold baggage did not go below zero. I will analyse the data when I return. I just hope I've coded the data collection correctly as I had no time to do a complete test.
The 'freeze' was the data stopped updating the lcd was still giving a static reading (midas I2C display). It may well have been a moisture problem.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just to report that I have narrowed down the problem to the crystal oscillator*. I have changed the crystal and tried different capacitors and it now goes down to -17°C before stopping, but will restart when the temperature rises.
* it's a 32.768 kHz clock crystal which claims to be good to -20°C
As for the data the pressure data did not record properly, but the temperature showed that there was no extremes (lowest in flight was 14 °C) in fact the lowest temperature was on the ground before the bags were loaded on the plane (about 4°) which is strange as the ambient temperature that day was over 30.
I am going to repeat the experiment and this time I have had time to test so it should work.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Finally got it to work (well sort of it's good to the nearest hPa in pressure). So here is the graph I got of pressure in the baggage hold of a plane (conclusion it is pressurized to a about 7500 feet).
The baggage hold was also heated as no adverse temperatures were recorded.
Thanks! The steps are real and are 10millibar. So the pressure rapidly went to 806 mb then 796,786,776.
The peak at the left is a short hop before the main flight and the wiggles on the right are hills driving from the airport (M23/M25 etc)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am making a device that will monitor temperature and pressure in my hold luggage during a trans-atlantic flight.
As a test I put it in my freezer and it froze! Freezers operate at about -20°C which should be well within the operating range of all the electronics (in fact the display froze at about -2°C).
There is a 16F18326 (timing is using a clock crystal) a LPS22 temperature and pressure sensor and an LCD display.
All devices say they are good to -20°C. Can anybody think of why it is freezing.
Not experienced this. My advice would be to a series of SWDT checkpoints saving the checkpoints to reprimanded or send to external data logger. This could help isolate issue.
Hopefully, someone has a better answer.
The "Absolute Maximim" operating temperature of a NewHaven LCD display is -20C. I imagine that other have a similar spec. But "freezing" at -2C seems problematic.
My guess is that the "freezing" may be moisture related. Was the board/Device in a sealed water tight enclosure ? Does the board have a conformal coating? Lots of stuff at play here.
When you say the display froze, what do you mean? Did it crack/break or did it just temporarily stop working until it warmed up?
I have a 16F18326 and an OLED display. I'm going to make up a circuit and freeze it now :)
Last edit: Peter 2017-01-30
Totally unscientific experiment here.
I knocked up a circult on breadboard with with following:
- PIC16F18326
- SSD1306 OLED display
- LED
- 3xAA NiMH batteries
The code is attached. Every 5 seconds it takes a temperature reading, puts it on the OLED and flashes the LED.
Provided my code is correct, the temperature reading is taken from the core of the PIC. This is done by setting the ADC input to Temperature Indicator Module (see section 16 of the datasheet), then reading the ADC. (This required a hack of the a-d.h, adding
#define ANTEMP 61
at the start).Initially, I put the circuit in the oven. The reading seemed to increase when the oven was turned on, then decrease when the oven was off and the door opened.
I then put the circuit in the freezer, with a pot of water. The reading dropped dramatically and after 25 minutes it was showing 0 but everything was still running.
After 60 minutes the water is froze over the top and everything is still running.
Edit: https://www.youtube.com/watch?v=HLoyHuxRyE8
I'll check again after leaving it overnight.
Last edit: Peter 2017-01-30
After 24 hours in the freezer...it's working fine.
To be honest, I was expecting the NiMH cells to give up in the cold because based on past experience the capacity of NiMH cells is much lower when they are below freezing.
It's warming up now. There is condensation all over it and while it was OK to start with, the OLED is flickering every now and then. I'm sure it will be fine once it's warmed up and dried out.
Youtube: https://youtu.be/n0DgWnVT9UQ
This doesn't solve the original question though. My test confirms that the PIC16F18326 is good down to really low temperatures, however it could still be any of the other components.
I'd suggest adding a heartbeat LED to check whether the PIC is still running, and there is power in the batteries.
I think you just invented the IcePIC Peter :)
I love this thread! Peter, I don't think NASA could have tortured that circuit better than you have.... Well maybe if they tossed in a cup of salt! ;-)
Chris
Interesting.
I did code review of lcd.h. To my surprise I found the following:
So, my test scenerio. I put on my Earth, Wind and Fire outfit. I thought I looked cool but I actually looked pretty chilled. And, as expected the wife went cold. This did cause a freeze. The code operated as expected.
Anyone else suffered this sort of crazy lockup?
Lol :-)
I tried out the circuit and it worked. So either it was a moisture problem or my hold baggage did not go below zero. I will analyse the data when I return. I just hope I've coded the data collection correctly as I had no time to do a complete test.
The 'freeze' was the data stopped updating the lcd was still giving a static reading (midas I2C display). It may well have been a moisture problem.
Just to report that I have narrowed down the problem to the crystal oscillator*. I have changed the crystal and tried different capacitors and it now goes down to -17°C before stopping, but will restart when the temperature rises.
* it's a 32.768 kHz clock crystal which claims to be good to -20°C
As for the data the pressure data did not record properly, but the temperature showed that there was no extremes (lowest in flight was 14 °C) in fact the lowest temperature was on the ground before the bags were loaded on the plane (about 4°) which is strange as the ambient temperature that day was over 30.
I am going to repeat the experiment and this time I have had time to test so it should work.
Finally got it to work (well sort of it's good to the nearest hPa in pressure). So here is the graph I got of pressure in the baggage hold of a plane (conclusion it is pressurized to a about 7500 feet).
The baggage hold was also heated as no adverse temperatures were recorded.
Last edit: David Stephenson 2017-06-20
Damn cool!!
Thanks! The steps are real and are 10millibar. So the pressure rapidly went to 806 mb then 796,786,776.
The peak at the left is a short hop before the main flight and the wiggles on the right are hills driving from the airport (M23/M25 etc)