Beth Test Bench

From PaparazziUAV
Jump to navigation Jump to search

Introduction

Beth fixture.jpg

The Beth test bench is two things:

  • 1. A three degree of freedom mechanical test bench
  • 2. A paparazzi build target that provides the code and configuration for the Lisa/Overo and Olimex STM32 boards mounted on item 1

Architecture

Potentiometers

The mechanical system is laid out with one potentiometer measuring azimuth mounted below the rotating electrical joint. The joint provides complete rotational freedom while also providing six electrical circuits. A pair of circuit is used for passing GND, another for power (+12V), and the final two circuits for CAN communication. Above the azimuth joint, two additional potentiometers measure elevation and tilt.

Beth joint close.jpg
Beth render joint.jpg

Beth Boards

The azimuth potentiometer is sampled using a Beth board, and another identical board is used to sample the elev/tilt pots. The two boards communicate on the same CAN bus. Each of these boards provides a socket for the Olimex STM32 header board, a 5V LDO, a op-amp for buffering the ADC inputs, a CAN transceiver, and the connectors for interfacing.

Beth board close.jpg

PCBs

Software

The main_coders target in sw/airborne/beth will build and flash via Olimex JTAG the olimex header boards mounted on the beth boards.

Compile and upload by launching the following command:

paparazzi3/trunk$ make AIRCRAFT=BETH main_coders.upload

Initially I2C was used for inter-board com, but that was abandoned in favor of CAN.

Science Payload

Beth payload.jpg

On the end of the long carbon arm are two brushless motors with controllers and an attachment point for the control system. At this time we are using a paparazzi Lisa board and a crista IMU. Lisa fetches the pot measurements via the CAN bus interface, and interfaces to the outside world using wifi. This wifi traffic includes uploading new overo programs (via scp), starting the programs (via ssh), paparazzi telemetry and datalink (via link's -udp option)

Lisa is programmed with two separate targets in sw/airborne/beth :

  • 1. main_overo : Linux application that runs on gumstix overo; libevent driven loop that sends telemetry, receives datalink, initiates the spi link com with Lisa's stm32, and is otherwise free to run control algorithms.
  • 2. main_stm32 : runs on stm32; recuperates pot values from CAN, reads IMU, sends the motor commands, and responds to the overo spi link transactions (receiving thrust and pitch commands from overo and sending sensor data back: see AutopilotMessageBethUp and AutopilotMessageBethDown structures for details).

The overo must have a linux system running on it, and this is acheived using the openembedded omap3-lisa-image recipe LisaOveroImage.