19 RayMarine Signals
RayMarine doesn’t provide ordinary consumers with data on the internal workings of their instruments, so we need to put our oscilloscope on the instrument leads to find out what is going on. By measuring how they perform, we can make some guesses about what’s inside.
The signals from the wind, speed, and temperature sensors are slow enough and simple enough that we could process them in software on a microcontroller without needing too much expertise. RayMarine has already looked after that for us in this case, but we could use what we have learned to point us in the right direction for measurements of other quantities.
AirMar Speed / Temperature / Depth
The system combines all three of these functions in a single through hull transducer sourced from AirMar with a paddle wheel on one side and piezo echo sounder on the other side.
Depth
Shield is ground
Blue shows bursts, approaching 500 volts peak to peak at the start of each burst and sustaining at about 120 volts peak to peak. The period is about 5 microseconds for a frequency of 200 kHz, which matches up with the specs on the analog version of the AirMar DST800. Bursts come about 3 times per second, with each burst lasting about 650 microseconds.
Black shows the same bursts, but at a lower voltage. Max is about 140 V peak to peak, settling down to about 30 V peak to peak.
Neither seems to be affected by moving the transducer. They are 180 degrees out of phase with each other, so the peak difference between the signals is about 640 volts.
With the speed of sound in water at about 1500 m/s, the return signal would lag the sent signal by about 1.33 ms per metre of water depth for a two way round trip. In air, there is no return signal evident on the scope unless it is hiding in the noise. This is probably better left to electrical engineers. Those 200 kHz signals are faster than we can easily handle in software and will need some analog expertise.
Speed
Red is the 8 volt power supply.
Green returns a voltage of either about 0.2 volts, or about 7.5 volts, depending on the position of the paddlewheel. A full turn of the wheel yields hi-lo-hi-low for the four bladed wheel, suggesting a small magnet in each of two opposing paddles for weight balance, sensed by a Hall effect sensor or similar in the body of the transducer. A simple digital pulse train is easy to process, especially at relatively low frequencies like the 5.6 Hz / knot listed in the spec sheet.
Temperature
White shows about 0.78 volts at room temperature and Brown shows close to zero at room temperature. They are probably the two leads to a thermistor for temperature measurement.
Wind
Red and Black are 8 volts and ground to power the anemometer.
Wind Speed
Yellow shows pulses with two regions of higher voltage per rotation, but the pulses are not nice even on/off switching. The analog level output stays fixed for a given angular position, even if the anemometer is not turning.
Wind Direction
Green and Blue are continuous values rather than pulsed and vary with the angle of the vane between 2 and 6 volts. With the vane straight ahead, Green is at 6 and Blue is at 4. Straight back, Green is at 2 and Blue is at 4. Wind at 90 degrees from Starboard, Blue is at 6 and Green is at 4. Wind at 90 degrees from Port, Blue is at 2 and green is at 4. The behaviour appears sinusoidal, with blue most sensitive to changes around 0 and 180 degrees while green is most sensitive around . Propose:
(1)
Strong Green tells us if we are upwind or downwind, while strong Blue tells us if we are near the beam on Port or Starboard. Then we can use the other to best estimate the actual angle.
This sort of response is consistent with an analog resolver, using stationary and rotating coils, with the AC elements converted to DC output by signal conditioning circuitry within the sensor head.
Representing Continuous Rotation
We can represent a wind angle or a compass angle as -180 to 180, or 0 to 360, but both those schemes have discontinuities somewhere in the circle. For example -180 and 180 are the same angle, but if we average them we’ll get zero, the exact opposite direction. Although -180 to 180 is a good representation for a human, we need a continuous representation if we are going to do math with the data. The combination of the sine and cosine of the angle is continuous, so we can track each as running averages, then extract the angle from the sin and cosine values for display. If we think of our NESW compass directions
- Sine and Cosine will both be positive in the first quadrant and both negative in the third quadrant
- In the second quadrant Sine will be positive while Cosine will be negative
- In the fourth quadrant Sine will be negative while Cosine will be positive
Thus we can distinguish the full rotation even though Sine or Cosine alone is unambiguous only over a range of half a rotation.
If we know exact values, we could use either the Sin or Cosine parameter to resolve the angle. If we have measured values with some inherent error, we can improve the estimate of the angle by choosing the most sensitive parameter based on the region we are in. Near North or South, use the Sine parameter to calculate the angle. Near East or West, use the Cosine parameter.
Inverse trig functions can vary with implementations, sometimes returning values in the range and sometimes , so you should always coerce them into the range you expect if you want your code to be portable.
We can use this idea to store and manipulate values effectively in software, even if we get them from the instrumentation system in degrees.