LowPowerLab Forum

Hardware support => Moteino => Topic started by: MPParsley on December 10, 2016, 01:26:03 PM

Title: Weathershield failing? [solved]
Post by: MPParsley on December 10, 2016, 01:26:03 PM
Hi,

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


Any idea what could be wrong here?
Title: Re: Weathershield failing?
Post by: Felix on December 12, 2016, 12:28:00 PM
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.
Title: Re: Weathershield failing?
Post by: DrSproc on December 17, 2016, 01:13:05 AM
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 (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
Title: Re: Weathershield failing?
Post by: Felix on December 18, 2016, 07:26:03 PM
Good catch, thank you @DrSproc!
That is fixed now.
Title: Re: Weathershield failing?
Post by: DrSproc on December 18, 2016, 07:51:44 PM
Awesome Felix...
Thanks for updating the example... I removed the other post on this... 
Title: Re: Weathershield failing?
Post by: 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?
Title: Re: Weathershield failing?
Post by: DrSproc on January 13, 2017, 08:32:30 AM
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!
Title: Re: Weathershield failing?
Post by: Felix on January 13, 2017, 08:41:54 AM
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.
Title: Re: Weathershield failing?
Post by: MPParsley on January 13, 2017, 09:12:11 AM
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?
Title: Re: Weathershield failing?
Post by: DrSproc on January 13, 2017, 06:06:15 PM
 :o

I would advise downloading the latest libraries and testing again... 

Try this - https://github.com/LowPowerLab/RFM69/blob/master/Examples/WeatherNode/WeatherNode.ino



Title: Re: Weathershield failing?
Post by: MPParsley on January 13, 2017, 06:15:44 PM
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
Title: Re: Weathershield failing?
Post by: DrSproc on January 13, 2017, 09:00:48 PM
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);
Title: Re: Weathershield failing?
Post by: MPParsley on January 14, 2017, 11:19:22 AM
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)
Title: Re: Weathershield failing?
Post by: DrSproc on January 14, 2017, 12:24:16 PM
 ??? 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...  :-\ 





Title: Re: Weathershield failing?
Post by: MPParsley on January 14, 2017, 01:11:22 PM
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.
Title: Re: Weathershield failing?
Post by: DrSproc on January 14, 2017, 01:22:05 PM
Don't give up try a fresh install as suggested.
8)
Title: Re: Weathershield failing?
Post by: MPParsley on January 14, 2017, 02:06:03 PM
I installed the latest IDE (1.8) reinstalled all the libs, same outcome. Now I do get a notification that an update is available for SPIFlash but it points to https://github.com/Marzogh/SPIFlash, not https://github.com/LowPowerLab/SPIFlash?

But as stated before, it can't be the software, I have different weathershields that are working properly.

I performed some more tests:
[1] BAT:4.86v C:0.00 H:0.00 P:6420.70   [RSSI:-36][ACK-sent] <= this one has no weathershield
[2] BAT:1.59v C:0.00 H:0.00 P:6420.70   [RSSI:-38][ACK-sent] <= this one has the faulty weathershield
[3] BAT:4.86v C:21.35 H:37.00 P:30.12   [RSSI:-32][ACK-sent] <= this one has a properly working weathershield
Title: Re: Weathershield failing?
Post by: DrSproc on January 14, 2017, 04:50:02 PM
ok Looks like you have a bricked shield...  :o :o :o :o :o :o :o
Title: Re: Weathershield failing?
Post by: Felix on January 16, 2017, 04:23:59 PM
I test all shields after assembly to ensure I can read the sensors etc. After that point a few things can happen obviously but it's hard to pinpoint the problem, not at least without looking at it.
If all-things-equal (software wise) you have a working one and one that's not working, then it could be something in hardware (soldering, zapped sensor?).
I can offer to look at it if you send it back and I can try to debug/fix it if possible.
Title: Re: Weathershield failing?
Post by: MPParsley on January 29, 2017, 07:32:05 AM
It's kind of you but I probably made an error soldering it.
All the pins seem to give contact somewhere on the board except for A5/SCL, I can't find any connection to it?

For example A4/SDA seems to be connected to one of the pins on the BME280 chip and the bottom right pin on the socket where the Si7021 would be.

Based on the green lines on the back I'd expect that SCL should connect to the bottom left pin on the Si7021 socket?
Title: Re: Weathershield failing?
Post by: Felix on January 29, 2017, 09:05:56 AM
A5 connects to the BME280, try to follow the trace and see where it stops having continuity.
Title: Re: Weathershield failing?
Post by: MPParsley on January 29, 2017, 10:25:55 AM
So when I soldered it the first time I must have accidentally "cut" the trace near A5 (probably too high temperature), I fixed it now and the weathershields properly working.

Thanks for the information.