XRW2G Sensor Hookup Pin-Out Information
The default communication settings are as follows:
Modbus ID = 24
Baud Rate = 9600 (8N1)
The pulse_time register shows the amount of time between the last two pulses from the anemometer, with a 100 microsecond resolution. The following formula converts that reading into Hz:
10000 / pulse_time = pulse frequency in Hz
You can then calculate wind speed by using the anemometer's transfer function. For example, with our #40R anemometer (where Hz > ~0.153):
(Frequency in Hz * 0.857) + 0.725 = Wind Speed in MPH
Likewise, the "pulse_min_time" register keeps track of the lowest pulse_time number recorded (corresponding to the fastest two pulses, or highest gust of wind). This value can be used in a similar manner to calculate your Wind Gust. This value is reset by reading register 45, so if you want to record the maximum wind speed between each reading, you'll need to perform a read operation on register 45 immediately after each data read.
The pulse_count register keeps a running count of the pulses received from the anemometer. This value is also reset by performing a read on register 45. This number can be used to calculate your average wind speed for each interval. You simply divide the result by the number of seconds in your interval to get the average frequency in Hz. For example with our #40R anemometer, if you are reading data (and resetting via register 45) once every 60 seconds:
pulse_count / 60 = Average frequency in Hz
Where Average Frequency is > 0:
(Average Frequency in Hz * 0.857) + 0.725 = Average Wind Speed in MPH
Likewise, the 32bit pulse_sum value (spans two registers), can keep a running tally of the pulses over an extended period of time. Reading register 46 resets these values. One application would be to read and reset these values at midnight of each day. Then you simply divide that result by 86400 seconds in a day to get your average frequency for the day. That result can then be run through the anemometer's transfer function to calculate your average wind speed for the day.
The Analog channels report raw ADC values of 0 to 4095 which corresponds to the input range of 0 to 5 VDC. The only exception is Analog Channel 0 which corresponds to 0 to 100 VDC (measures input voltage of XRW2G module.) Note that the maximum input voltage of the XRW2G is 76VDC.
The analog current_value is the last ADC reading, while the averaged_value is an average over the past 16 seconds.
Analog channels 1 and 2 are typically used for Wind Vanes and each have a 200Kohm pull-down resistor. Removing Jumper JP1 disconnects these resistors from the ground bus and allows the inputs to "float".
Analog channel 3 is typically used for our standard LM335Z based temp sensor. It has a 4.7Kohm pull-up resistor hard-wired to the +5V bus.
Finally Analog channels 4-7 are additional 0-5V analog inputs. They each have a 2.2Kohm pull-up resistor. Removing Jumper JP0 disconnects these from the +5V bus, allowing the inputs to "float".
The XBee, RS-232, and USB version XRW2G modules have an additional internal jumper "JP3". When this jumper is in place on start-up, it puts the XRW2G into the World Data mode (transmitting a binary stream of data at a user-settable interval). If removed on start-up, it places the module into modbus mode for configuration or direct querying. Click here for additional information on the World Data format.