This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Marine Anemometer Project
#1
I'm new to OpenCPN, OpenPlotter.  I've installed it on a RasPi4 and played around with the charting and have started giving thoughts for a DIY autopilot to use with PyPilot.  As part of that I started looking at Marine Anemometers and got rather a big sticker shock.  I'm assuming the cheap weather stations (La Crosse, AcuRite, etc) have too slow an update and crappy direction resolution (N, NNE, NE...).  Having worked with Microcontrollers and software for many years, I am struggling with the price jump to Marine gear.  I'm guessing its just... what the market will bare!   Dodgy  Of course, I did a search here on the forum and saw several comments about others starting one, but I didn't see any complete projects laid out.  Maybe they finished them and decided to go into production and undercut the other guys by say... half price. Big Grin  But half of those systems is still too rich for my sensibilities!

Maybe there is some fundamental road block that I'll slam into in a bit, but as of now, I don't see it.  I've laid out a tentative solution and I have some parts coming in tomorrow to test my WAG's.  Based on what I have so far, I'm looking at an all up price of around $10 US and certainly less than $20.

Thinking optimistically that the mechanical and electronic parts are going to work, I've given thought to the communications aspects with OpenMarine.  I started looking around and I must be looking in the wrong places.  I was looking for a top-level architecture of communications paths.  I see it accepts many standards (NMEA 0183, 2000, Signal K, CAM, and SeaTalk, etc).  Haven't quite decided on weather to support NMEA 0183 or Signal K or both.  Any suggestions on that?

What I'm most interested is the communications path.  I plan on it being wireless and would like to use WiFi.  I'm assuming that either most people have a router on board or they set up the RasPi as an access point.  Either way, once connected would I be using a TCP/IP connection, UDP/IP, HTTP or ????   Also, I can't tell... is it more typical that there is a RasPi running OpenCPN and a second one running PyPilot or are they both running on the same RasPi?  Either way, if I should be using a connection based protocol (TCP) would I need to connect to both OpenCPN and PyPilot?  ... Or does something else handle all the other apps that might need wind data?  I've seen plenty of YT on the pretty pictures OpenCPN has and things working, but nothing on how that is all working under the covers?  I gather OpenCPN needs wind data for the virtual dials and I know PyPilot has modes to use wind data so they both need it.  Anyway, it would be helpful...
  1. Are there top-level, technical communications links you might have that would help me?
  2. I've seen where some boats will have more than one anemometer... say on the mast head and one low on the back rail and sometimes on the bow pulpit.  How does OpenCPN/PyPilot use such data and how is it differently formatted to distinguish which one is which?

Of course, if I come up with anything that is useful, I'll be making it Open Source in case someone else has a similar DIY bent... or is equally disenchanted with $1K+ anemometers.
Reply
#2
I am a broken annometer away from doing this myself.

my research led me to the Assembly instruction section of open boat projects:
https://open-boat-projects.org/en/

which shows designs for a variety of annometers but no full write up. It could be in German, hid in their forum though.

in any case trouble shooting of a Raymarine Annometer shows that all it is is two hall effect sensors and a pulse sensor. the pulse is for speed and the two hall effects are used 180 degrees opposed to sense wind direction. I think two give you better accuracy and linearization, and is one of the reasons you have to sail around in circles to calibrate the sensor when you get it.

if I were doing this project I would attach it to an ESP32 as some very simple analogue inputs and use the onboard wifi to transmit NMEA0183 and signalK. NMEA0183 could be used by anyone with a laptop, really and SignalK would be picked up via the SignalK server. most of the communication layer is done for you if you use SensESP:

https://signalk.org/SensESP/pages/getting_started/

for good measure I would throw in a BME280 for Temp/Humidity, GPS receiver and/or Compass - this might push you to the $20 range!!

Check out my YT channel for some SensESP projects
Reply
#3
(2024-02-14, 04:03 AM)Techstyle Wrote: I am a broken annometer away from doing this myself. 

my research led me to the Assembly instruction section of open boat projects:
https://open-boat-projects.org/en/

Thanks for all this. I'm on pretty much the same track as two of those on that site. I also bookmarked your YT and subscribed. I need to check it out!

A quick glance at one of those... it kind of looks like the anemometer is the sockets server and OpenCPN makes the connection. Is that correct? Or is it the other way around and OpenCPN has the socket listener?

Needs more study!
Reply
#4
(2024-02-14, 04:32 AM)Inq Wrote:
(2024-02-14, 04:03 AM)Techstyle Wrote: I am a broken annometer away from doing this myself. 

my research led me to the Assembly instruction section of open boat projects:
https://open-boat-projects.org/en/

Thanks for all this.  I'm on pretty much the same track as two of those on that site.  I also bookmarked your YT and subscribed.  I need to check it out!

A quick glance at one of those... it kind of looks like the anemometer is the sockets client and OpenCPN makes the connection.  Is that correct?  Or is it the other way around and OpenCPN has the socket listener?

Needs more study!

Some people connect to OpenCPN directly, it has the ability to connect to a serial/networked stream in SignalK or NMEA0183 format.  It is one way, but in my opinion, it is better to pull everything to signalK and then distribute out from there.  At the Annometer end, it probably doesn't matter.  if the Annometer talks NMEA0183 over Wifi, then SignalK or OCPN, or anything else will be able to read it in.
Reply
#5
I've made a little progress.  Got some equipment in and printed some test fixtures and run some tests.  

I keep a website.  It is mainly a journal so I can have access to it anytime, anywhere. I always seem to lose my paper notes.  I pay for the site.  There are no advertisements on it, no cookies.  You'll very quickly see, a techy is writing and not a marketer/salesman.  I wrote up my first two installments for this project discussing the goals and then the first battery of proof-of-concept tests.  I'm currently working on the software refinements of the libraries I'm creating for the sensor and will be presenting test results (for the proof of concept test articles) in the third installment.  If you have any comments or questions, you can post here or there... I don't really have a preference.  

Like I mentioned... I'm not doing this for money... I'd just like to give back something to the OpenMarine community.  Here, we have a near free chart plotting system that spans all kinds of sensors.  We have PyPilot doing a better job than most of the autopilots with near free DIY hardware.  It just struck sour note that we have to spend from $300 to well over a thousand dollars simply to get wind speed and direction into this system.  Especially since I can't yet see why they cost that much.  Only time will tell if I'm on the right track.

Please give a read - https://inqonthat.com/aiming-for-a-20-ma...nemometer/
Reply
#6
(2024-02-18, 12:33 AM)Inq Wrote: I've made a little progress.  Got some equipment in and printed some test fixtures and run some tests.  

I keep a website.  It is mainly a journal so I can have access to it anytime, anywhere. I always seem to lose my paper notes.  I pay for the site.  There are no advertisements on it, no cookies.  You'll very quickly see, a techy is writing and not a marketer/salesman.  I wrote up my first two installments for this project discussing the goals and then the first battery of proof-of-concept tests.  I'm currently working on the software refinements of the libraries I'm creating for the sensor and will be presenting test results (for the proof of concept test articles) in the third installment.  If you have any comments or questions, you can post here or there... I don't really have a preference.  

Like I mentioned... I'm not doing this for money... I'd just like to give back something to the OpenMarine community.  Here, we have a near free chart plotting system that spans all kinds of sensors.  We have PyPilot doing a better job than most of the autopilots with near free DIY hardware.  It just struck sour note that we have to spend from $300 to well over a thousand dollars simply to get wind speed and direction into this system.  Especially since I can't yet see why they cost that much.  Only time will tell if I'm on the right track.

Please give a read - https://inqonthat.com/aiming-for-a-20-ma...nemometer/

Nice,  I read your page.  Spec. looks good!!

one comment I would make is about the resolution of the speed Sensor.  When racing, especially in light wind, we are looking at small changes in wind speed, down to 0.1kts.
Reply
#7
And what about yachta wind sensor? https://open-boat-projects.org/en/windsensor-yachta/ the only change I made was replacing the bearings with ceramic ones.
https://photos.app.goo.gl/JpHgi5PBL4VCE6NP9
https://photos.app.goo.gl/nabaghSC2iDRTCCSA
Reply
#8
(2024-02-18, 06:17 AM)Techstyle Wrote: one comment I would make is about the resolution of the speed Sensor.  When racing, especially in light wind, we are looking at small changes in wind speed, down to 0.1kts.

As I freely admitted in those goals, I'm a rather self taught sailing novice.  I've only raced a couple of times.  I did get a very close second once in my Winnebago class Rolleyes .  I dropped the spinnaker in the drink rounding the last turn. 

Even from my experience (and location) I was definitely going to focus on low speed ability.  Speeds that barely lift VHS tape.  In the back of my mind (after any initial version) I've even been considering how to handle the speed component caused by the boat rocking.  I've been in dead calm wind (that I and the sails seem to feel) and can clearly see the VHS tape whip Starboard/Port as the boat rocks back and forth.  I just imagine a rooster spinning telling me 3 knots as the boat rocks +/- 15°.  Big Grin

If it's not too much trouble, can you talk to how you handle say... a 5.0 to 5.1 knot change in what you do to trim the boat?  I can imagine it might be difficult in a few words.  If so, is there some Internet article you might recommend for my education in light wind, race handling?

(2024-02-18, 10:15 AM)wiktorsam Wrote: And what about yachta wind sensor? https://open-boat-projects.org/en/windsensor-yachta/ the only change I made was replacing the bearings with ceramic ones.
https://photos.app.goo.gl/JpHgi5PBL4VCE6NP9
https://photos.app.goo.gl/nabaghSC2iDRTCCSA

It was only after checking this forum and found nothing of substance, that I set my sights on this project.  It was definitely before seeing that project.  I have some ideas that "might" offer a better solution.  Having time on my hands where I can't be sailing, I see this as a challenge that I just want to do and falls within my skillsets.  Only time will tell if I will be successful.  Maybe this forum is not the proper place for me to air my project progress.  

I am definitely not saying there is anything wrong with that one.  I only, tentatively looked at it when @Techstyle mentioned it earlier.  I say tentative only because working as a professional developer at a large deep-pocket company, we were strictly forbade even looking at Open Source code.  It brought up way too much liability.  Anyway, old habits die hard, but I guess those rules don't really apply here.  Cool   I just scrolled through that page you supplied and I see he was able to use the technique that I discussed as a failure in my Test 2.  I'll definitely study his design in detail.  it appears he used a stronger magnet which would have a stronger, larger, sweet-spot.  

I'm assuming the pictures you included are your implementation of that design?  It looks very nice!  Can you comment on how well it is working for you?  How long has it been out in the elements?  Do you critically race with it?  Have you noticed any limitations, that you would recommend improvements?
Reply
#9
@wiktorsam,

I've read through the documentation on that page and overall it seems very professionally laid-out and explained as if it was a product.  I would only go to that much trouble for mine if I thought there were actually people using mine... which is kind of a catch 22.  

Here are a few other things I noted:

Software / Hardware
  1. He uses an AS5600 Hall-effect encoder whereas I am (maybe was) using a QMC5883L which is a more general-purpose 3D Hall-effect sensor.  Considering its chip is handling all the noise issues, smoothing AND the trigonometry in hardware, it would put far less burden on the ESP8266 MPU (which he is also using).  It also would put far less burden on the software developer (ME  Big Grin).  I've ordered some to check them out in more detail, but I think from reading the datasheet, they will be a far better solution.
  2. I'm getting mixed signals.  It is clear that it does work with WiFi and works with OpenMarine.  However, to configure it, in one place he mentions a web interface and another it uses a Android App.  Maybe it is both, but it is not clear to me. 
  3. Although touted as an OpenSource project, it does not appear to be.  As far as I can see, he only supplies the binaries executables for both the ESP8266 MPU and Android App.  He explains that the compiling on Arduino is above the average abilities of the user base.  This may be true, but it also eliminates the OpenSource concept of extensibility.  You get what you get and only what he gives you.  I would supply both source code and binaries.  Mine would also not need an Android App at all.  It would be fully usable and configurable by a web browser and also work with OpenMarine.  It would be modifiable, extensible by anyone interested.

Sailing Points - Here are some things I wanted to address in my design.  I don't know if these would be considered significant.  Feedback from the forum is desired.
  1. Power usage - I'm guessing the Yachta probably uses around 400 mW.  Would there be any significant advantage to reducing this for the average user here or is this too trivial?  In my case, I do not have power at the mast head.  I'd either need to run the wiring or use a battery and/or solar cell.
  2. Aerodynamics - My logic says this could be improved.  When heeled over, the vane's feathers are fully (or worse partially) in the dome's wind shadow.  At the very least, this causes turbulence and fluttering around of the vane. Anyone using the Yachta... can you verify or dispute this conjecture?  I would at least attempt to reduce the diameter of the housing.  Although the PCB is a very nice feature, I would have laid out the components vertically  as much as possible to reduce the diameter.  I also would consider putting the vane on the bottom that way it is out of the heeled shadow.  Just a thought!
  3. Counting - I'm also wondering about an improvement on the speed.  All the anemometers I've seen use either a photodiode or hall sensor to count the revolutions.  The Yachta use 4 per revolution.  At high speed this is fine, but at low speed, a count only occurs at 90° intervals.  I'd like to consider using a second AS5600 on the rooster.  That way at every reading you would get an angle... Since it gives 0.1 degree resolution, it would have 900X the resolution of the Yachta.  Again, maybe... this is way more than useful.  
Reply
#10
(2024-02-18, 03:29 PM)Inq Wrote: If it's not too much trouble, can you talk to how you handle say... a 5.0 to 5.1 knot change in what you do to trim the boat?  I can imagine it might be difficult in a few words.  If so, is there some Internet article you might recommend for my education in light wind, race handling?
its more about watching the speed through water and wind speed at the same time, because as you are making adjustments, you are watching the boat speed for changes and checking the wind to see that its is an improvement you have made vs a change in boat speed.  we are trying to squeeze out the last 10th's of a knot available!!

(2024-02-18, 03:29 PM)Inq Wrote: If it's not too much trouble, can you talk to how you handle say... a 5.0 to 5.1 knot change in what you do to trim the boat?  I can imagine it might be difficult in a few words.  If so, is there some Internet article you might recommend for my education in light wind, race handling?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)