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?
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.
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
Good catch, thank you @DrSproc!
That is fixed now.
Awesome Felix...
Thanks for updating the example... I removed the other post on this...
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?
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!
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.
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?
:o
I would advise downloading the latest libraries and testing again...
Try this - https://github.com/LowPowerLab/RFM69/blob/master/Examples/WeatherNode/WeatherNode.ino
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
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);
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)
??? 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... :-\
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.
Don't give up try a fresh install as suggested.
8)
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
ok Looks like you have a bricked shield... :o :o :o :o :o :o :o
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.
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?
A5 connects to the BME280, try to follow the trace and see where it stops having continuity.
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.