MySensors weather station
-
Hello,
I found this in the forum. Perhaps it helps for the wind direction detection.
https://forum.mysensors.org/post/17825
Especially here
http://www.philpot.me/weatherinsider.html -
Hello,
I found this in the forum. Perhaps it helps for the wind direction detection.
https://forum.mysensors.org/post/17825
Especially here
http://www.philpot.me/weatherinsider.html@marco4711 Thanks for the links. I still have a few more things that I want to try to get my setup working If it comes down to it, I may use MasterCATZ' idea of using a magnetic rotational sensor. I don't give up easily.
-
Well, the part finally finished. Roughly 46 hours. Overall, I think it will work good. It was a bit of a job clearing out all of the support material though.

The bottom turned out well.

The first few layers had some issues, but really nothing that will defeat it's purpose. Had me worried for a short time though, but I gave it the benefit of the doubt.

-
So, for the latest addition to my weather station, I decided to make a radiation shield to house a DHT22 temp and humidity sensor. I figured that I would also need a place to put the arduino to be used as a connection hub for everything and I figured this would be as good a place as any. This is my design for it:

The under side of the base is where the electronics will be mounted. I have designed the standoffs to mount an easy newbie board. and should have plenty of room for wire connections as these will be fairly basic.

In the event that water should get inside of the unit due to wind or other factors, I have designed the bottom cover with a tapered center going to a drain hole.

I have the radiation shield and rain gauge partially assembled for now for programming and testing. I will get some better pictures of that tomorrow and post them to the thread.
One other change that I decided on was for the wind direction sensor. Since I had a bit of trouble with the other designs that I tested using reed switches and IR phototransistors, I decided to try an AS5047P magnetic direction sensor. I ordered this one off of ebay. It was a bit expensive at $16 US plus $3.39 for shipping, but the person selling it mentioned that it comes with an extra chip. These sell on Digikey for $17 plus $7 and change for shipping, and the chips alone sell for around $9, so I didn't think it was that bad of a deal. I should have that later this week.

Once I get this assembled I think the last thing will be to figure out all of the programming, which I have a bit of a start on using the rain gauge code from the build section of the site. I have been researching the code for the anemometer, and that may take a bit of planning with everything else that I have running, but I think it can be done. With the new direction sensor module, that should be pretty straight forward as far as connection and code, I just need to decide if I want to connect it with SPI or straight analog. I am thinking though that this project is nearing completion. It was a bit of a learning curve building all of the parts, but I think it was a good journey.
As mentioned, I'll post more pics tomorrow.
-
looking good
I need to beef up my solar panels
I get 1 week before the low battery indicator switches on and I loose half my distance
instead of using 2x AA 1.5v batteries ( or 1.2v rechargeables )
I am just going to run 18650 cells and use a 4v solar panel
-
looking good
I need to beef up my solar panels
I get 1 week before the low battery indicator switches on and I loose half my distance
instead of using 2x AA 1.5v batteries ( or 1.2v rechargeables )
I am just going to run 18650 cells and use a 4v solar panel
@MasterCATZ I had actually thought of getting a small 6 volt SLA or AGM battery and connecting a small solar panel to it. I can knock out an easy battery box with a solar panel mount on my 3D printer. These are the solar panels I was looking at as possibilities:
https://www.amazon.com/Sunnytech-333ma-Module-System-Charger/dp/B00HQXQOIQ/ref=sr_1_28?ie=UTF8&qid=1499001654&sr=8-28&keywords=6+volt+solar+panel+charger
https://www.amazon.com/Portable-Module-System-Battery-Charger/dp/B01JLPM81I/ref=sr_1_39?ie=UTF8&qid=1499001192&sr=8-39&keywords=6+volt+solar+panel+charger
I just need enough power from the panel to power the arduino and sensors during the day plus a little extra to top off the battery. I figured if I ever decide to add more sensors to the station I'll have all the power I need to handle whatever I put on it. I have my Easy Newbie board set up with a 5V pro mini and power coming into the RAW input. I think I'll be set. -
Here are a couple pics of my first prototype mounting layout of the sensors. I may still use some elbows and get the anemometer and wind direction vane moved a bit higher than the other sensors. My fear is that with all of the sensors sitting on the same plane, wind passing by the other sensor housings may affect the readings of these. The main one I am concerned with is the rain sensor. This is a minor obstacle that can be fixed with two PVC elbows.


Another thing, I was thinking about the batteries that I want to use with this and I noticed that I have had the 4 - AA battery pack on for a few days now and they are still running. If I put together a pack of 2 18650 batteries, I should be good. Those batteries run at 3.7 volts, so 2 of them should give my 7.4 volts which should be no problem on the RAW input of the pro mini. My only worry with these would be overcharging them. Being that these are lithium ion batteries, they can be dangerous if overcharged. Just need to find a decent solar charging circuit for them. I am open for suggestions if anyone has any.
I hope within the next week I can have all of the OpenSCAD files cleaned up and posted on thingiverse. I wanted to post some of them a while back, but ended up making a few minor tweaks.
Enjoy...
-
So today as I was working on the rig to change the placement of the anemometer/wind direction assembly, I ended up dropping the assembly and broke one of the cups off. As I was getting ready to make a new wind cup assembly, I decided to make a small change in the design. The change that I made has the arms holding the cups lower to better prevent wind interference from the housing. Here is the new design.

I will post more pics tomorrow of the change in placement of the anemometer assembly with the new cups.
-
You could power the pro mini directly to vcc using just one lithium cell and remove the voltage regulator and led to save power.
@gohan Right now the only Pro Minis that I have left in my parts bin are 5 volt ones. Besides, I already have the newbie board fitted with the 3.3v regulator and power caps. Another compelling reason for using a 5v mini is that it is 16MHz instead of 8MHz for the 3.3v ones. I think that I am going to want the extra speed for the number of sensors I have connected to a single pro mini and the data that I need to collect. I need to use interrupts for the pulse counting of the anemometer, so the faster I can do those things, the better off I'll be.
-
@gohan Right now the only Pro Minis that I have left in my parts bin are 5 volt ones. Besides, I already have the newbie board fitted with the 3.3v regulator and power caps. Another compelling reason for using a 5v mini is that it is 16MHz instead of 8MHz for the 3.3v ones. I think that I am going to want the extra speed for the number of sensors I have connected to a single pro mini and the data that I need to collect. I need to use interrupts for the pulse counting of the anemometer, so the faster I can do those things, the better off I'll be.
@dbemowsk - are your goal to sleep this sensor or whats your thoughts running it with battery? It might be a hard nut to crack 5v 16mhz and batteries?
Love your thread btw! Keep up the good work :)
-
@dbemowsk - are your goal to sleep this sensor or whats your thoughts running it with battery? It might be a hard nut to crack 5v 16mhz and batteries?
Love your thread btw! Keep up the good work :)
@sundberg84 I don't plan to sleep the sensor at all. Putting the sensor to sleep would cause problems with the anemometer and the interrupt I need to use for that. The main reason for needing it to run on battery is that I plan to mount this up in the air on the top edge of my house. This is why I want to also put a solar panel on it. During the day the solar panel can run the sensor and charge the battery, and at night the battery can take over.
-
Are you sure you don't want to sleep sensor? If it is a matter of interrupts for anemometer, you could use a dinamic sleep time, like if you don't have any wind motion within 2 seconds put the node to sleep and wake it up on pin change
-
Not really, maybe just put the sleep in an IF statement and check if the time from last impulse from the anemometer is over than 2 sec then sleep, otherwise it just continues loop
@gohan So am I correct in assuming that an interrupt will wake a sleep timer? As long as I can catch the pulses from the anemometer, I don't see a reason I couldn't use a sleep timer. Just thinking about it, I may also want to use an interrupt for the rain gauge sensor for similar reasons. Not sure about the wind direction sensor.
-
@gohan So am I correct in assuming that an interrupt will wake a sleep timer? As long as I can catch the pulses from the anemometer, I don't see a reason I couldn't use a sleep timer. Just thinking about it, I may also want to use an interrupt for the rain gauge sensor for similar reasons. Not sure about the wind direction sensor.
-
So now that I have the wind direction sensor working, I need to try to migrate the code into my weather_station sketch. One option that I am working on implementing is a calibration button for North. So after I get things set up and mounted, I will use a compass to point the wind vane towards North. I will then press the calibration button which will save the current direction position to EEPROM if it is different than the one stored. The following code will then be used to get the true direction that the wind vane is pointing.
value = 360 * myAS5047.sensor_read() / 16383; //Read the value from the direction sensor as a value from 0 to 360 north_offset = EEPROM.read(address); //Read the offset value from EEPROM dir = ((value - north_offset) < 0) ? 360 - abs (value - north_offset) : value - north_offset; //Get the true direction /* insert code to read the button and if pressed, check the current value stored in EEPROM against the value read from the sensor and write the new value if it is different. If the sensor value matches the current stored value, then ignore the write to save on EEPROM writes. */So with this idea, I will need to know a few things. First, I am assuming that MySensors does EEPROM writes and reads. Is there a particular addreess pointer variable that I should use when writing my value to EEPROM? I will also need to know how I can get the address pointer to that data the same each time the arduino is reset, especially if MySensors does writes and reads.
As always, any input is appreciated.


