OpenMarine

Full Version: Ultrasonic Anemometer
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
Cool Ultrasonic Anemometers for wind direction and speed seem to be the "best solution" since there are no moving parts, reasonable accuracy, and the price is plummeting.

This Thread is for COMMUNITY INPUT & PARTICIPATION to implement a modern ultrasonic anemometer in OpenPlotter
(no other 'Ultrasonic Anemometer' threads were found at this time of post, so perhaps this is a meeting of the minds forum)

For example, Alibaba lists several under $150USD, Search Alibaba below in quotes:
"Hy-wdc2e Mini Low Price Ultrasonic Anemometer"
It claims; RS232 output, (1 update per second is slower than Racers want (10Hz), yet fast enough for others, imho.)
Hacking into the circuitry of such a product is up for discussion too.

In this thread , the goal is to adapt such a purchased anemometer,
or build one with the several GitHub open-source projects as a starting source. (faster MPUs are available now)


And Interface it to the SignalK server

Spec Goals:
Wind speed sensitivity 0.5m/s
Wind speed range 0 through 30m/s
Wind direction to 1 degree
Data throughput as close to 10Hz as we can get

Design Approach for Discussion: 
1) Is the "Hy-wdc2e" the best candidate for our efforts? (possible 5-10Hz response if their in-house team agrees- thanks SailAlpha)
2) Is the ESP8266 best to translate and WiFi up-link to the SignalK server, The SigSens compiles on an Arduino IDE, so is preferred. (no, changed to ESP32 and BLE 19Feb2021)
3) SignalK compliance and compatibility assurance of Best Practices
4) Is BLE/solar Cell (remote installation without wiring feasible)
5) Can BLE and WiFi be configured and used simultaneously on a yacht?

Thoughts?

Current Issue(s) aka Project Update:
24FEB2021 Update:
Bluetooth BLE REQUIRES "Location Enabled" on the phone for use, completely negating the BLE low power advantages with an unnecessary and power hungry GPS.
Google says this is as "Intended" and not a bug. They have made BLE , pointless.
NO path to connect the Anemometer to SignalK has a resolvable robust method at this point.

The RS422 failed to be able to convert the Garmin 78sc; awaiting O-Scope repair for analysis
Set-up & Programming Environment; ESP32 (switched to use BLE instead of WiFI, Arduino IDE, SignalK on RPi 3 under OpenPlotter
The intent is to leave the Arduino IDE code for the ESP32 User Adaptable to allow fine-tuning for each application preference, and make the rest robust
Ultrasonic Anemometer pricing can be $139USD with RS232, TTL output
The manufacturer might be able to increase the output speed to 10KHz
Added Autopilot use, which needs 10KHz data stream and accuracy when tilted, and be heavy rain tolerant
Racers also need 10KHz update rate
BLE is being pursued for accessibility in the libraries and and to avoid WiFi/Router latencies
ESP32 BluetoothLE as a Broadcast Server
An Android phone APP is also being written as a Client to display data graphically to anyone on board

Many USB connections are intermittent on the ocean vessel: I expect to build an enclosure using NMEA 2000 connectors.
Alibaba NME-2K IP67 , Panel and Cabled, with tinned wires for a few USD each are proposed: link below
A 3D printed box to house the RPi, PSU, powered USB board/modded to NMEA 2K panel connectors
https://www.alibaba.com/trade/search?fsb...+connector
My day job involves overseas circuit and device design/manufacture. From the Alibaba listing, the maker mentions an inhouse design staff and that they own the IP. I suggest you contact the maker and suggest a 5-10 Hz update rate to best address the marine market. You may get samples by mentioning the specific size of the OpenPlotter user market and your open source efforts on this forum. The update rate could be a very minor change.
Excellent point. 5-10hz is a good and reasonable request with an in-house firmware team.
I'll look into the User Base of Openplotter and/or SignalK
Using an ESP8266 to format the Anemometer data to JSON/SignalK format and send to the SignalK WiFi Server under OpenPlotter:

Step #1; connect a Wemos D1 mini to SignalK to demonstrate the connection capability:

Getting the Wemos D1 mini ESP8266 to send data to SigSens.ino is tough.
SigSens.ino finally compiles with all the dependency libraries added to Arduino IDE,
and connects to the Rpi3 SignalK WiFi Server as provided by OpenPlotter
The Server shows the ESP8266 is present
The ESP8266 defaulted to some "FARY" name and won't configure, or is missing something
And the SignalK is not getting any data
There are so many libraries and dependencies #included to SigSens.ino, I don't know where to start debugging
Google searches cover so many topics and causes, Trial & Error seems the only path to solution
This is going to take quite a while to figure out . . . .

14Jan2021 Update:
SignalK Protocol notes an Arduinojson format.
I think the Arduino code must have HTML code embedded inside the *.ino or #Include to send this json text string to the Signalk Server
Not sure the exact string construction or method for initiating a "send" yet . . .
great challenge and promising start!
(2021-01-04, 07:36 PM)SailAlpha Wrote: [ -> ]My day job involves overseas circuit and device design/manufacture.  From the Alibaba listing, the maker mentions an inhouse design staff and that they own the IP.  I suggest you contact the maker and suggest a 5-10 Hz update rate to best address the marine market.  You may get samples by mentioning the specific size of the OpenPlotter user market and your open source efforts on this forum.  The update rate could be a very minor change.

From another Thread, Sailoog (Administrator) says this: (Referring to the download traffic of OpenPlotter)
"There is an average of 60 downloads every day. After the release of a new version this goes up to 100 daily downloads for 3 months aprox and then stabilizes in 60 aprox."

Im an EE, not a Marketing expert, but that might be at least 5000 active Users ?
Undecided
(2021-01-09, 05:30 PM)CaptnBry Wrote: [ -> ]Using an ESP8266 to format the Anemometer data to JSON/SignalK format and send to the SignalK WiFi Server under OpenPlotter:

Step #1; connect a Wemos D1 mini to SignalK to demonstrate the connection capability:

Getting the Wemos D1 mini ESP8266 to send data to SigSens.ino is tough.
SigSens.ino finally compiles with all the dependency libraries added to Arduino IDE,
    and connects to the Rpi3 SignalK WiFi Server as provided by OpenPlotter
The Server shows the ESP8266 is present
The ESP8266 defaulted to some "FARY" name and won't configure, or is missing something
And the SignalK is not getting any data
There are so many libraries and dependencies #included to SigSens.ino, I don't know where to start debugging
Google searches cover so many topics and causes, Trial & Error seems the only path to solution
This is going to take quite a while to figure out . . . .

14Jan2021 Update:
SignalK Protocol notes an Arduinojson format.
I think the Arduino code must have HTML code embedded inside the *.ino or #Include to send this json text string to the Signalk Server
Not sure the exact string construction or method for initiating a "send" yet . . .
Hi CaptnBry, I am new member as I discover your forum yesterday, I am very interest on Ultrasonic Wind speed/direction as I trying from last month to design and make one from scratch (components) and discover last week this unit HY-wdc2e witch I did contact them and they asking us $139.00 + shipping as they made a big batch of them, color black, RS232, RS485 NMEA-0183, so very attractive price. I uspect that they use Arduino STM32 as CPU just a guest. But I am interesting to use an ESP32 witch I could communicate in WIFi/BLE mode instead. I am a fan of using openCPN in W10 and Android. I use Visuino to develop my circuits on Arduino and ESP's MCU devices, so don't need to be a programmers in CC+ language. I use UNIX type of OS all my life and today I try to avoid this type of OS. Android and W10 period. I am interest in flowing up with this project of Ultrasonic device. Very..Very interesting.
I have a few concerns but otherwise ultrasonic sounds great.

1) wifi latency - from esp32 to esp32 probably ok, but going to raspberry pi I would ensure it is always below 100ms (prefer 10ms) or it will not be suitable for autopilot. Can we determine if this is possible? I think it may require an external esp32 to receive on a dedicated wifi/bt, and this would communicate with the pi on a serial port. The linux wifi stack cannot be relied on for realtime. It may work great for a while then get stuck and not send/receive data for more than a second. Especially if other wifi transfers are going on to another machine or something. Otherwise it will work with degraded performance, and people will just do it anyway and not realize that their boat is not steering as efficiently on wind mode as it really should. So I realize I cannot convince everyone, but this is the reason I do not want wireless wind sensors. You have to run power to them anyway and 4 wires is as easy as 2.
2) accuracy - are these sensors actually accurate to 1 degree? I seriously doubt it, and it's clear from the picture that they are not designed to take air when tilted but are intended to be perfectly vertical. When tilted turbulence will probably mess up the reading. At least a rotating vane feels wind the same as a sail so it compenates for this mechanically. To do this with ultrasonic needs tilt sensor and software compensation which is much more complicated.
3) cost - I'm not sure ultrasonic will ever be as cheap as mechanical. I built mechanical sensors which cost a fraction of the $139 figure and are accurate to 0.1 degrees.
4) power consumption - I don't think these use much power, but how much? For comparison, my mechanical ones are using 13 milliamps at 5 volts, so with linear regulator, 13 milliamps at 12 volts which is 1/6th watt.
5) heavy rain - it's well known that ultrasonic sensors cut out at some point if the rain is heavy enough. I also wonder how the accuracy is affected. Mechanical sensors feel rain the same way the sails do again, so even if the reading is different, it gives what you want.

I could probably make a list for why ultrasonic are probably better too.
Hi, I did found this URL, it is in french and this guy purchase it and made some test on it, this morning I did send him if he had a chance to open it and see what is inside, waiting for answer.
https://faire-ca-soi-meme.fr/domotique/2...n-du-vent/
Pages: 1 2 3