Difference between revisions of "Beth Test Bench"
Line 17: | Line 17: | ||
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. | 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. | ||
[[Image:Beth_board_close.jpg]] | [[Image:Beth_board_close.jpg|none|thumb]] | ||
==== PCBs ==== | ==== PCBs ==== |
Revision as of 05:07, 30 July 2010
Introduction
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 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.
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
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.