In one of my previous projects I built a masthead wind sensor using an Arduino to process the signals and output a NMEA string. Next I wanted to make an instrument on the boat to display the information. I found a cheap non-working B&G Network Wind display on eBay which fit the bill and set about taking it apart. The display is analogue with a motor and hall sensor to move the wind angle arm. I found that the arm was on too tight and was rubbing on the backing, making it hard for the motor to drive it. After fixing this, I also changed the coin cell battery in the unit which was dead flat. Next I investigated how to simulate the inputs!
Before I bought the unit, I did some research and found that B&G have freely available documents on their website describing the signals that their masthead anemometers generate. The speed input is a simple pulse of varying frequency, and the direction input consists of three analogue inputs that follow an offset sine wave pattern through 360 degrees.
So to drive these three analogue inputs from an Arduino, I used the analogueWrite function combined with a low pass filter for smoothing. This Low-pass Filter Calculator is a great tool for finding suitable values to experiment with. I ended up with a 2K resistor and 22uF capacitor for each of the three signals. I also ignored the fact that the proper signals peak at 6.3V and just used the 5V peak from the Arduino, which seems to work fine.
With a bit of testing I was able to plot the speed vs pulse frequency relationship in order to display the apparent speed correctly. Although my current algorithm (code here) is quite rough and needs to be more accurate, I will also rewrite it so it uses proper timer interrupts. Otherwise I have successfully given new life to an old wind display by simulating a masthead sensor, and can now work on merging it with my other projects for a complete DIY wind system! Stay tuned!