Sensorboard

Testing of the sensorboard requires, that all other PCB's are working properly. The 10-pin ribbon cable must be connected to the Adapterboard and the single Audio cable to J5 must be connected to the Cubieboard Headphone Connector (GND comes via the ribbon cable). It is recommended to perform the electrical tests before sealing the POM-block. A loudspeaker is connected via a CINCH cable to J4. Take care that the outer conductor of the CINCH-connector is isolated from the metal housing, otherwise the audio amplifier for the Vario does not work properly. The Audio Synthesis is made on the Cubieboard using ALSA (Advanced Linux Sound Architecture). The Volume can be controlled with alsamixer from the shell. Persistent storage of the alsamixer-settings can be made with alsactl store. Here are more details about the Audio Vario. Some components (MS5611, MPU-9150) do not offer direct access to their terminals, therefore the testpoints can be located more far away as expected.

Test Points Sensorboard (Connected to Adapterboard via 10-pin ribbon cable and to Cubieboard earphone via single wire)

Test Point Description Nominal Value Measured Remarks
ST1 5 V DC IN 5 V If not present, check orientation of 10-pin ribbon cable
ST2 3.3 V DC AS1360 U5 3.3 V Supply for MPU-9150 Motion Processor U1
ST3 3.3 V DC AS1360 U6 3.3 V Supply for MS5611 Pressure Sensor U2
ST4 3.3 V DC AS1360 U7 3.3 V Supply for MS5611 Pressure Sensor U3
ST5 3.3 V DC AS1360 U8 3.3 V Supply for AMS5915 Differential Pressure Sensor U4
ST6 AUDIO IN AS1701 Triangular DC-Offset 1.5 V +/- 1.3 V Audio-Input J5 for Amplifier U9, Signal comes from Cubieboard Headphone Connector. Measured referring to GND, Volume set to max. with alsamixer and in XCSoar
ST7 AUDIO OUT CINCH Triangular +/- 2.6 V Differential Audio-Output J4 for Loudspeaker, must be isolated from housing! Measured between outer and inner conductor of CINCH-connector, Volume set to max. with alsamixer and in XCSoar
ST8 I2C SCK I2C I2C Serial Clock
ST9 I2C SDA I2C I2C Serial Data

Testpoints Sensorboard Top

Test Point Description Nominal Value Measured Remarks
SB1 3.3 VCC EEPROM 3.3 V Supply for Serial EEPROM U11, Pin 8
SB2 3.3 VCC SNGLWRBM 3.3 V Supply for the Single Wire Bus Master U10, Pin 1
SB3 SNGLWRBM IO IO IO of the Single Wire Bus Master U10, Pin 2 to be measured only on malfunction of external temperature sensor

Testpoints Sensorboard Bottom

Testing the I2C-Devices

Tests of the I2C-Bus devices are made with i2cdetect, which can be found at the OpenVario ftp-Server ftp://ftp.openvario.org/images/archive/ filename: CARD_CB2_70LVDS_20140704_0646.img.gz (Size: 1.3 GByte)

Quit XCSoar with “Ctrl C” and use the utility program from the above mentioned image

sudo i2cdetect -y 1

from the command-line the result should look like (except for the comments):

0x18 ...... Single-Channel 1-Wire Master (U10)
0x28 ...... AMS5915 Differential Pressure Sensor for Indicated Airspeed (U4)
0x48 ...... ADS 1110 Analog to Digital Converter for Battery Voltage (IC4 on Adapterboard)
0x50...0x57 Serial EEPROM (U11)
0x68 ...... MPU-9150 Motion Processing Unit (U1 Gyro Accelerometer Magnetometer)
0x76 ...... MS5611 Static Pressure Sensor (U2)
0x77 ...... MS5611 TEK-Pressure Sensor (U3)

Screenshot i2cdetect

Screenshot i2cdetect

If one or more devices can not be seen with i2cdetect, reworking is required. The most critical components are MS5611 and MPU-9150, both having their solder pads underneath. If no I2C-device at all can be seen, check the I2C-Signals ST8 and ST9 using an Oscilloscope. The Signal should roughly look like:

I2C-Screenshot Oscilloscope

In the future (since end of 2015) all released images will include i2cdetect by default. If you want to avoid to download an 1.3 Gbyte image, you can use the following instructions to install i2cdetect.

  • Connect the Cubieboard with the Internet via Ethernet cable
  • Quit XCSoar and Exit to the Shell in the OV-menu
  • Type at the command prompt:
opkg update
opkg install i2c-tools
i2cdetect -y 1

Preparing the I2C Serial EEPROM

The Serial EEPROM (U11) contains correction data for the sensors and other information, e.g. the serial number. Before the EEPROM can be used, it must be initialized. This can be achieved with the Linux program sensorcal using the Option -i

sensorcal -i  

After a successful initialisation, the 6-digit serial number of the device can be written using

sensorcal -s xxxxxx

For xxxxxx I used three leading Zeros, my builder-number followed by the letter A for my first sensorboard and followed by the letter B for the second one. At the moment only the offset correction data of the differential pressure sensor is written to the EEPROM. In a future Version the other sensor corrections will also be stored in the EEPROM (for better interchangeability of boards), but at present their data is stored on the SD-card in the file sensord.conf. Have a look at the sensord, a Linux-daemon, which communicates with the SensorBoard.

The Calibration of the Differential Pressure Sensor can be made using the Option -c

sensorcal -c  

This automatic Sensor Calibration Routine is accessible from the OV-Menu

Back to Electrical Tests

Back to OpenVario Hardware Architecture