Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 7 Next »

General Information

Instrument: 3 Axis Ultrasonic Anemometer 1590-PK-020/w with 4 14-bit analog outputs

Manual: WindMaster

Current Device Status (12/2/2021)

Analog output settings are configured to read out U, V, W, and sonic temperature at 32 Hz with an output range of 0-5 V. For U, V, W, this range has been set to correspond to -5 to +5 m/s and for temperature this range corresponds to -40 to 70 degrees C.

Analog outputs are then connected to the T7:
U - channel 1 - AIN0
V - channel 2 - AIN1
W - channel 3 - AIN2
sonic speed - channel 4 - AIN3

Sample Dataset taken over 10 min:

image.png

And zoomed in to ~half a second of data taking:

image.png

Relevant code for analyzing binary datafile

# -*- coding: utf-8 -*-
"""
Created on Tue Nov 30 02:11:06 2021
​
@author: brodi
"""
​
import pandas as pd
from sqlalchemy import create_engine
​
def load_pd(db_fi: str, table: str) -> pd.DataFrame:
    """
    loads pandas df from db given table name
    """
    engine = create_engine(db_fi, echo = False)
    with engine.connect() as sqlite_connection:
        df = pd.read_sql(table, sqlite_connection)
        
    return df


If database file is named anemometer, for instance, you can load it into a dataframe and then convert the relevant voltage measurements into wind speed and temperature with:

# Load datafile into pandas data frame
db_fi = r"sqlite:///anemometer.db"
df = load_pd(df_fi, "anem")

# Add columns in correct units
# because the units are +/- 5 m/s, 0 to 5 V
df['vx_ms'] = (df.vx - 2.5) * 2
df['vy_ms'] = (df.vy - 2.5) * 2
df['vz_ms'] = (df.vz - 2.5) * 2

# because sonic temperature is measured on a scale of 0 to 5 V
# from -40 to 70 C
df['tsonic'] = -40 + df.vsonic/5 * 110

#Plot data
plt.plot(df.t, df.vx_ms, label = 'Vx')
plt.plot(df.t, df.vy_ms, label = 'Vy')
plt.plot(df.t, df.vz_ms, label = 'Vz')
# plt.plot(df.t, df.tsonic/8 - np.mean(df.tsonic/8), label = 'Temp')

plt.legend()
plt.xlabel('Time')
plt.ylabel('Wind Speed (m/s)')
plt.show()

plt.plot(df.t, df.tsonic)
plt.xlabel('Time')
plt.ylabel(r'Sonic Temperature ($^o$C)')
plt.show()

Which gives the first plots in the previous section.

Relevant pin connections (all of which are copied from the manual)

Output pins from the anemometer (p. 15 of manual):


To change the analog output settings, connect a RS 432 serial port to a windows computer and to the anemometer outputs. 

RS 432 serial port pin connections (p.32 of manual):

For the serial connector we were using, pin 2 was white, pin 3 was yellow, pin 5 was orange, but apparently this isn't necessarily generically true.

The windows computer should have WIND software downloaded on it. Follow p. 46 of the manual.


Mounting plate



through bolts are McMaster Carr 



  • No labels