Weathershield failing? [solved]

Started by MPParsley, December 10, 2016, 01:26:03 PM

MPParsley

Hi,

I ordered a few weathershields and am seeing strange results with the example weathernode script.


  • They all give the same battery reading, namely 4.86v
  • One of them always gives 0 for temperature and humidity and for pressure always returns 6420.70

Any idea what could be wrong here?

Felix

Quote from: MPParsley on December 10, 2016, 01:26:03 PM
I ordered a few weathershields and am seeing strange results with the example weathernode script.
Can you include the link to that? There were changes recently, R2 has a new sample sketch.

DrSproc

#2
I saw the same odd behaviour with the Temp and Humidity
I suspect there is a bug in the new WeatherNode.ino... (new  https://github.com/LowPowerLab/RFM69/blob/master/Examples/WeatherNode/WeatherNode.ino WeatherNode R2 example; add SPIFlash ci dep)


Before...
sprintf(buffer, "BAT:%sv F:%d H:%d P:%s", BATstr, Fstr, Hstr, Pstr);

I got mine to work with this change...
sprintf(buffer, "BAT:%sv F:%s H:%s P:%s", BATstr, Fstr, Hstr, Pstr);

basically changing decimal digits to string...

8)

I'm running Arduino IDE 1.6.14

Felix

Good catch, thank you @DrSproc!
That is fixed now.

DrSproc

Awesome Felix...
Thanks for updating the example... I removed the other post on this... 

MPParsley

Hi Felix, I'm using the latest version of the code.

It would seem that I blew up a weathershield by attaching a 6 volt battery to the VIN pin of the Moteino.
I was under the assumption that the Moteino had a voltage regulator for this?

DrSproc

There is a...

3.3V onboard regulator (MCP1703) provides up to 250mA, input up to 16V (3.6-12V recommended), very low quiescent current allows this regulator to run your Moteino on battery for a very long time

Question is... did you reverse the polarity of the voltage by accident?

uh oh!

Felix

Quote from: MPParsley on January 13, 2017, 07:56:47 AM
Hi Felix, I'm using the latest version of the code.

It would seem that I blew up a weathershield by attaching a 6 volt battery to the VIN pin of the Moteino.
I was under the assumption that the Moteino had a voltage regulator for this?
Shouldn't be a problem, the only thing that will happen with 6V is the battery monitor circuit will maximize the input to A7 since it's optimized for use up to 5V, but this won't affect anything, just A7 readings will always show a max value of 1023 at 6V.

As @DrSproc pointed out - VIN can take up to 16V and should not blow up. BUT there is no polarity protection on the VIN pins.

MPParsley

#8
I didn't reverse the polarity but I'm puzzled as to what's going wrong here:
https://www.dropbox.com/s/7tacslg2ef8u1e3/Schermafdruk%202017-01-13%2015.01.37.png?dl=0

The sensor worked nicely on a single power source until the first peek in humidity (1). As of then it stopped sending data (took it out the refrigerator so temperature is rising).

But why did it stop sending?
a) relative humidity suddenly went to +85% and this is over the tolerance of the weathershield and causes more battery usage. See the small dip just before the humidity peak (3)
b) or battery was below 3.36 (2) which makes the node respond erratically?

In (4) I replaced the battery with a new 2 cell 6v battery (see peek to 4.68v). As of then I only got 1 reading when I powerd the sensor (expected a new reading every minute) and the all the readings were always the same as if the sensor was stuck/blown:
2017-01-12 18:00:261 3.34 16.87 47.00 29.49   -56 1
2017-01-12 18:02:291 3.34 13.88 52.00 29.52   -56 1
2017-01-12 18:19:171 4.86 22.45 57.00 18.93   -51 1 <= new battery
2017-01-12 18:20:041 4.86 22.45 57.00 18.93   -56 1
2017-01-12 18:43:211 4.86 22.45 57.00 18.93   -29 1
2017-01-12 18:46:171 4.86 22.45 57.00 18.93   -64 1
2017-01-12 18:48:351 4.86 22.45 57.00 18.93   -66 1
2017-01-12 18:49:341 4.86 22.45 57.00 18.93   -66 1
2017-01-12 18:50:431 4.86 22.45 57.00 18.93   -69 1
2017-01-12 18:55:081 3.34 22.45 57.00 18.93   -61 1
2017-01-12 18:55:471 3.34 22.45 57.00 18.93   -68 1
2017-01-12 18:57:071 3.34 22.45 57.00 18.93   -63 1
2017-01-12 18:58:271 3.34 22.45 57.00 18.93   -63 1

After a while a got new readings (different from the previous ones) but the sensor will only send a few minutes and then it stops:

2017-01-12 19:00:301 3.34 21.56 46.00 29.32   -74 1
2017-01-12 19:01:541 3.34 22.45 57.00 18.93   -69 1
2017-01-12 19:03:571 3.34 22.16 40.00 29.28   -71 1
2017-01-12 19:06:001 3.34 20.80 42.00 29.33   -75 1
2017-01-12 19:08:031 3.34 20.17 43.00 29.29   -74 1
2017-01-12 19:10:061 3.34 19.86 44.00 29.27   -69 1
2017-01-12 19:12:091 3.34 19.66 44.00 29.26   -69 1
2017-01-12 19:17:571 3.33 22.45 57.00 18.93   -59 1
2017-01-12 19:20:011 3.33 32.21 25.00 28.77   -65 1
2017-01-12 19:22:051 3.33 27.02 30.00 29.48   -67 1
2017-01-12 19:24:081 3.33 24.07 34.00 29.37   -67 1
2017-01-12 19:26:111 3.33 22.80 37.00 29.29   -68 1
2017-01-12 19:28:141 3.33 22.18 38.00 29.25   -68 1
2017-01-12 19:30:171 3.33 21.82 38.00 29.24   -68 1
2017-01-12 19:32:201 3.33 21.57 39.00 29.23   -68 1
2017-01-12 19:34:231 3.33 21.45 39.00 29.22   -70 1
2017-01-12 19:36:261 3.33 21.35 39.00 29.22   -69 1
2017-01-12 19:38:291 3.38 21.32 39.00 29.21   -70 1
2017-01-12 19:40:331 3.38 21.27 39.00 29.21   -69 1
2017-01-12 19:42:361 3.38 21.26 39.00 29.20   -68 1
2017-01-12 19:44:391 3.38 21.22 39.00 29.20   -67 1
2017-01-12 19:46:421 3.38 21.19 39.00 29.20   -67 1
2017-01-12 19:48:451 3.38 21.20 39.00 29.19   -68 1
2017-01-12 19:50:481 3.38 21.16 39.00 29.19   -69 1
2017-01-12 19:52:511 3.38 21.15 39.00 29.18   -68 1
2017-01-12 19:54:541 3.38 21.11 39.00 29.18   -73 1
2017-01-12 19:56:571 3.38 21.08 39.00 29.18   -71 1
2017-01-12 19:59:001 3.38 21.08 39.00 29.17   -69 1
2017-01-12 20:01:031 3.38 21.05 39.00 29.17   -53 1
2017-01-12 20:03:061 3.38 19.10 30.00 29.26   -53 1
2017-01-12 20:05:091 3.38 15.56 36.00 29.33   -55 1
2017-01-12 20:07:111 3.38 12.71 42.00 29.30   -55 1
2017-01-12 20:09:131 3.38 10.60 47.00 29.25   -54 1
2017-01-12 20:11:161 3.38 8.98 53.00 29.23   -54 1
2017-01-12 20:13:181 3.38 7.86 57.00 29.20   -54 1
2017-01-12 20:15:201 3.38 7.00 61.00 29.18   -55 1 <= humidity keeps rising and sensor stops sending data

Any ideas what went wrong?

DrSproc


MPParsley

Thanks for your reply but that is exactely what I'm using now and it is not stable.

See my code on https://gist.github.com/anonymous/473f041fbe48c0fb3dcc3861d5dfeae2

DrSproc

#11
why not use this... period_t sleepTime = SLEEP_LONGEST
and...
Just below the following line...>>> dtostrf(P, 3,2, Pstr);

please add the following code, enable serial output, and post the monitoring results from the serial prints...

   Serial.println(H);
   Serial.println(P);
   sprintf(buffer, "BAT:%sv C:%s H:%s P:%s", BATstr, Cstr, Hstr, Pstr);

One other observation, why omit the following?
pinMode(BATT_MONITOR_EN, OUTPUT);

MPParsley

#12
Hi DrSproc, I updated the code as you described.

The 1 second was a trial, the missing pinMode() is probably something that has been added recently (or I must have accidentally removed it).

I now always get the following:

0.00
6420.70
BAT:4.86v C:0.00 H:0.00 P:6420.70 (packet length:33)

Changing readTempC() back to readTempF() results in the following:

0.00
6420.70
BAT:4.86v C:32.00 H:0.00 P:6420.70 (packet length:34)

DrSproc

 ??? Looks and sounds like the software and libraries...

I would do the following... (backup all the old stuff first)

Download the latest Arduino IDE...
https://www.arduino.cc/en/main/software

Download the latest Libraries too.  each one listed here...
https://github.com/lowpowerlab/rfm69
https://github.com/lowpowerlab/spiflash
https://github.com/sparkfun/SparkFun_BME280_Breakout_Board/tree/master/Libraries/Arduino/src
https://github.com/lowpowerlab/lowpower

Install each latest library on the latest Arduino IDE...

Use this sketch to QA...
https://github.com/LowPowerLab/RFM69/blob/master/Examples/WeatherNode/WeatherNode.ino

Making sure it compiles before uploading naturally...

Then post the serial output on the forum...  :-\ 






MPParsley

#14
Instead of "https://github.com/sparkfun/SparkFun_BME280_Breakout_Board/tree/master/Libraries/Arduino/src" I'm using  "https://github.com/sparkfun/SparkFun_BME280_Arduino_Library" which should be fine.

It can't be the software because other weathershields are working properly with exactely the same software. I also tested the weathershield on different Moteino's with the same result.

Guess I'm going to give up on this one as it seems to be broken. Would have been good to know what caused it though.

I tested it in my freezer on -19°C, with a battery of more than 5 volts and a humidity of over 85%. One of these things must have killed it.