My little project - Boundary Layer Sonde

Posted on
  • Hi All,

    My little Espruino project is to build a sensor pack to measure the lower boundary layer of the atmosphere (up to 1000ft AGL) with a multicopter.

    Weather balloons, or "sondes" as we call them measure pressure, air temperature and humidity, and via GPS drift calcs, wind speed and direction up to around 70hPa (way high). These are great and is awesome info. to feed into weather numerical models to forecast the weather for the next five days or so. Downside? They are complex to do and cost around £200 per flight, unrecoverable and use our dwindling helium reserves.

    What if you are small civil or military airfield who simply wants to know if fog tonight is likely, or expected low cloud clearance time? Yes, you could throw a sonde in the air (if you have the gear). Or a glider school needing an atmospheric profile to judge soaring possibility? Vertical atmosphere profile for 1000ft or so, equally valuable.

    So I've taken a COTS hexacopter kit that is now flying. I've also built a "sonde" using pressure (BMP085), air temperature (MAX31855 ADC + K thermocouple) and relative humidity (Honeywell HIH-4030) sensors. Time and position of data is important so I've added a GPS sensor.

    Once a second, all sensors are logged to a flight file on the SDcard for later download (Vaisala commercial sondes log every two seconds). The platform flies a vertical profile from ground to max height at a specific rate of climb. Once landed, the data can be downloaded, analysed and used for those questions about fog, low cloud, thermals etc.

    The multicopter logs it's own flight data and from that I've found you can get fairly accurate wind direction and sensible wind speed from the IMU data. This needs trials.

    This was a fun project for myself, being a weather geek, but my employer is so excited about it, it'll be in flight trials in July.

    I would just like to thank everyone who has helped, especially Gordon.


    2 Attachments

    • image.jpg
    • image.jpg
  • An extreme weather video (45knts gust while topping out): http://youtu.be/4TldITTHqmE

  • Wow, awesome.

    Does the Espruino have wireless contact with the ground? It doesn't sound like it - LoRa would definitely work for transmitting bits of data back to the ground, so you could get realtime data (if that's something you even care about)

    Of course, nobody's written the code to control any of those from Espruino yet. (a whole bunch of us have some variant on it that we bought and haven't gotten around to using)

  • That's amazing - thanks for posting up. It's a really good use for Quadcopters!

    Do you have a graph of the kind of data you get?

    This kind of this opens the door for all kinds of stuff (not just weather) - for instance you could fly to 'scan out' a whole area of ground. You could map out all the thermals, and with a magnetometer you might even be able to notice deposits of things under the ground.

    Of course, nobody's written the code to control any of those from Espruino yet.

    Modtronix have kindly sent me some of their SX1276 boards (which should arrive in a week or so). Not sure when I'll get time, but I do intend to try and develop a module for them.

  • @DrAzzy No, no comms on it, yet. Plan is keep it independent of the airframe systems, so attaching it to the 433Mhz telemetry link is a no no. But there is no reason I couldn't add some form of downlink and ground station.

    @Gordon Some graphs below but these are from the flight in the video above while, a) running on an Arduino Pro Trinket and b) using the temperature reading from the pressure sensor hence being a very laggy die temperature. That was the push to add a Max31855 and tiny K type thermocouple and add GPS for accurate time and position. All that led me to make the switch to Espruino. The whole thing has been running all day on the ground and giving sensible readings so is ready to fly. More once I've got some flights in.

    Cheers

    Ian


    4 Attachments

    • image.jpg
    • image.jpg
    • image.jpg
    • image.jpg
  • @Gordon Magnetometer might be interesting to try, problem would be having it accurate enough to be useful but shielding it from the mass of mag fields from the brushless motors and power system.

    I am looking at flying a dust sensor and various gas sensors on low air quality days to try and find the depths of those conditions.

    Cheers

    Ian

  • Really cool project!

  • @IanWatkins various air quality instrumentation would be amazing! Did you consider dangling the sensors a metre or two below the Quadcopter? It might make the measurements easier + less noisy.

    It's a bit different, but imagine being able to fly backwards and forwards over some polluter (a volcano, power station or factory?) and build up a volumetric map of the pollution levels.

  • Hi Gordon,

    A few metres below would be way too close to the rotor wash downdraft. In still conditions rotor wash extends to around 5m below (it produces 7kg of thrust). But for things like sensitive magnetometers it'll be necessary, so a long multi stayed drop line is more than possible.

    For gas measurements, above the craft on a tall boom will work fine (induction side is much calmer) I'm especially interested in this as they are about to build a waste incinerator not 5 miles away. "They" say the exhaust gases will be safe but what you suggest is exactly what I want to do. I.e. Fly a 3D grid box downwind of the exhaust stack and monitor various gas levels. I already have the permissions of the farmers that own the land around the site because they are all concerned.

    Flying the instruments opens up all sorts of possibilities. And glad to say I found the Espruino, makes it all so easy to throw on some sensors. :)

    Cheers

    Ian

  • ...most likely the exhaust gases are safe... as long as nothing out of the ordinary / parameters happens. But when something like that happens... think a bit about Tschernobyl ...

  • Some more data from the other day just before a cold front and associated rain band arrived. The data below is from 15 minutes before the rain arrived and was almost windless....


    3 Attachments

    • f22-pressure.png
    • f22-relativeHumidty.png
    • f22-temperature1.png
  • ...and 15 minutes later when the wind had picked up and first drops of rain were falling.


    3 Attachments

    • f23-pressure.png
    • f23-relativeHumidity.png
    • f23-temperature1.png
  • I'm looking to move to a single sensor for packaging reasons and the Bosch BME280 is my first candidate to try on an Embedded Adventures MOD-1022 board. More info and links on another thread here.

    Cheers

    Ian

  • Wow, that's great - thanks for posting the graphs. It's amazing how the temperature changes.

    I guess it's hard to do on a single battery charge, but it'd be amazing to be able to go up and down repeatedly and actually animate the graph over time as the weather changes :)

    I'll try and help out with the BME280 - Hopefully it won't be too painful to do :)

    Have you seen this? http://www.eetimes.com/document.asp?doc_­id=1325134

    The BME680 doesn't seem to be available yet, but when it arrives it might be really interesting for you :)

  • At first glance it seems that the Bosch BME280 can be used with I2C, so I think it should be fairly easy to port over to the Espruino?

    I can have a first pass at translating the C to JS if that is helpful - or were you planning to write it from scratch @Gordon / @IanWatkins?

  • @alexanderbrevig I don't have enough experience for a port myself, although it is something I'm building up to. As always it's finding the time. So if anybody wants to have a go, it would be most welcome. As I said on the other thread, I'd expect the BME series from Bosch is likely to replace the BMP and other series on most breakouts soon and is being touted as the IoT chip of the future.

    @Gordon Doing multiple flights is the ultimate goal. In those situations where the weather might go into fog and where the impact is high, e.g. busy airfields, being able to sample every hour, every 15 minutes, or almost continuously could be very useful. As flights typically only take three minutes (depending on altitude), then you would get three or four flights per set of batteries and just keep changing them out/charging as long as you need to fly. It only takes a minute to change the flight batteries out. Once I've settled on a sensor package, and the BME280 looks a likely candidate, I plan to add a 433Mhz radio downlink for live collection and monitoring of the data as it is sampled. Little bit of web browser coding and live graphs will be possible. BME280 will greatly simplify the physical setup as then it will be just the BME280 and a GPS module attached to the Espruino rather than my current setup of BMP180, HIH-4060, MAX31855 + K type TC and GPS which is getting messy. Power usage will also decrease as well. Nice.

    On the graphs above, with almost no wind on the first flight, you see these small temperature inversions (temperature actually rising with height) and is what causes air pollution and mist/fog to hang about in a layer just above the ground on cool mornings/low wind days. The second temperature graph as the front is arriving, wind has picked up and has mixed those few hundred feet of atmosphere together giving a much more homogenous atmosphere (and can be seen less obviously in the humidity as well). It's neat to see in action.

    Yes, the BME680 also looks interesting with the air quality sensor as well. I've seen a paper by Bosch (but typically cannot find the link) where they have shown they can replace the much larger, heated MQ type specific gas sensors with the MEMS packages soon. That will truly make tiny sensor packages which you can use anywhere. Exciting times. :)

    Cheers

    Ian

  • As stated in the other thread (I'll keep the rest of my comments with respect to the BME in that thread from now) I started a port here. It is just a quick pass C to JS translation, and should provide a good start for the port. I'm not entirely sure how to use the I2C lib to match the Arduino version. See you in the other thread!

  • Hi, it's interesting that I am doing the exactly the same project with BME280. The difference is that I'm using DJI Phantom 1, and Arduino Uno.

    I'm just trying to calibrate the BME280, and minimize the effect of airflow created by blades. Where did you mount the sensors?

  • Hi @Arnold

    I have the sensor in the little white radiation shield on the top of the mast in this picture.

    From lots of flights I worked out the sensor needs to be at least a blade diameter above the plane of the blades. So if you run 12" blades, the mast needs to be at least that otherwise you get bad pressure values.

    Also the mast needs to be as light as possible and as stiff as possible. Otherwise you can get lots of nasty pendulum effects which make it impossible to fly.

    Let us know how you get on.

    Cheers

    Ian


    1 Attachment

    • image.jpg
  • Why don't you leave it hanging with a string under the copter?

  • Prop wash destroys the pressure readings.

  • Oh ok. I wouldn't have thought it would be better above, and so close.

  • Above it only needs to be twice the prop diameter.

    Below is needs to the best part of 15 times that as the craft produces 7kg of thrust at full power.

    While the craft is climbing, the sensors on the mast are in clean air.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

My little project - Boundary Layer Sonde

Posted by Avatar for IanWatkins @IanWatkins

Actions