Difference between revisions of "Lisa"

From PaparazziUAV
Jump to navigation Jump to search
m (typo)
 
(179 intermediate revisions by 17 users not shown)
Line 1: Line 1:
Lisa ( the Lost Illusions Serendipitous Autopilot) is a [http://www.st.com/mcu/inchtml-pages-stm32.html STM32]/[http://www.gumstix.net/Setup-and-Programming/cat/Overo-Setup-and-Programming/111.html Overo] board designed to run Paparazzi
<categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Autopilots</categorytree>
__TOC__
Lisa ( the Lost Illusions Serendipitous Autopilot) is a range of autopilots based on [http://www.st.com/mcu/inchtml-pages-stm32.html STM32] microcontrollers ( CortexM3@72Mhz ) designed to run Paparazzi.
There's no such thing as a perfect autopilot, only autopilots adapted to a particular purpose. This is the reason why the Lisa autopilots come in different styles for different uses.


== TODO ==
The first members of the family are:


* List of files currently being edited:
*Lisa/L, a design where the STM32 is associated to a gumstix [http://www.gumstix.net/Setup-and-Programming/cat/Overo-Setup-and-Programming/111.html Overo].
** none
*Lisa/M, a design focusing on cost and simplicity.
*Lisa/S, a design focusing on size and weight.


* Antoine:
==Lisa/L==
** work with Piotr on connecting the missing wires on the STM
** JTAG on STM32: ok
** I2C on STM32:
** SPI on STM32:
** USB for gumstix : does 5V need to be switchable ? (to allow reset from the gumstix)
** Todo's from sheet 3
** Check's from sheet 5
** Pressure sensor instruction to gany (redo airspeed computation), so he can finish the schematic for that (or finish it directly in the schematic)
** Check the routing rules below and add if planned on routing a certain part in a specific way


* Esden:
=== Description ===
** <strike>STM32 spelling and connection check</strike>
** <strike>Fix STM32 footprint pad sizes</strike>
** <strike>Routing rules that have to be followed</strike>
** <strike>Add specification of external pressure sensor ADC</strike>
** howto for STM32 gcc gdb toolchain (blinking LED or similar) (started writing one on [http://openhardwarewiki.org/wiki/Summon_ARM_Toolchain openhardwarewiki.org])


* Gany:
[[Lisa/L]] is a dual processor board autopilot designed to allow for the possibility of using Linux for Paparazzi airborne code.
** <strike>Check FT2232 footprint hw/lbr/booz.lbr  qfn-64 size & pinout
*** -> Changed pad size from 0.6 x 0.4  to 0.75 x 0.25  and moved pin1 indicator outside the chip. </strike> 
** Make sure STM32 can interrupt overo
** Place components
** Route board
** Send for production 4pcb/pcbcard(china)/sunstone


== Hardware ==
[[Image:lisa_l_bloc_diag_simple.png|360px]]
[[Image:lisa_l_top.png|360px]] [[Image:lisa_l_bot.png|360px]]


The hardware is still in development. The current CAD files are maintained in savannah svn in the paparazzi4/trunk/hw/lisa directory.
=== Documentation ===
Software development is done on a Overo/Summit + Olimex STM32-H103 dev board
[[Image:lisa_proto.jpg|thumb]]


=== Pressure sensors ===
The documentation for Lisa/L is broken into several parts due to board complexity and Gumstix [[Overo]] integration.
* [[Lisa/L|Main Documentation]] - primary hardware documentation and intro to software
* [[Dev/LisaL|Additional Developer Documentation]] - additional advanced hardware and software documentation and notes
* [[LisaL_Gallery|Lisa/L Photo Gallery]] - pictures of [[Lisa/L]]
* [[User/LisaL/Tutorial/Quadrocopter|Unfinished Rotorcraft Tutorial]] - rotorcraft tutorial, needs considerable work
* [[User/LisaL/Tutorial/FixedWing|Unfinished Fixedwing Tutorial]] - fixedwing tutorial, needs considerable work
* [[OMAP|Gumstix Integration Intro]] - intro and documentation listing for integrating a Gumstix Overo with [[Lisa/L]], including for USB devices and cameras


The board will be equipped with a pair of pressure sensors, one absolute to measure altitude and one differential to measure airspeed.
== Lisa/M ==


==== Absolute Pressure ====
=== Description ===
The proposed absolute pressure sensor is the freescale [http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPXx6115&fsrch=1 MPXh6115]
The following plot displays the output of the sensor versus altitude


[[Image:absolute_pressure.png]]
[[Lisa/M]] is a great general purpose small-footprint autopilot. There are currently two versions that have been produced. Detailed documentation can be found here:
* [[Lisa/M_v2.0|Lisa/M v2.0 (current) Documentation]]


==== Differential Pressure ====
[[Image:LisaM_V2_0_TopView.JPG|360px|Lisa/M v2.0 Top View]]


The proposed differential sensor is the [http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPXx5004&fsrch=1 MPXV5004DP]


[[Image:differential_pressure.png]]
* [[Lisa/M_v1.0|Lisa/M v1.0 Documentation]]


Because of high resolution requirements in the pressure sensor circuit there is an external ADC needed with the following features:
[[Image:lisa_m_top_small.png|360px|Lisa/M v1.0 Top View]]
* 16bit resolution minimum, 20bit would be awesome
* Two channels (multiplexed or not) each at least 100Hz sampling rate
* I2C or SPI interface (I2C preferred)
** We used the [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/4950 MAX11040] as ADC for a meteo payload, some (SPI) code is there. It samples 4 channels simultaneously in 24 bits (less "in real"). Slowest conversion speed is 250.1 samples/second.


== Software ==
=== Usage scenarios ===


=== STM32 toolchain ===
There are many potential applications for the small, relatively inexpensive and flexible [[Lisa/M]]. For regular Autopilot boards a fully equip [[Lisa/M]] board is needed. For some scenarios just a basic [[Lisa/M]] without an [[Inertial_Measurement_Units|IMU]] and barometric pressure sensor is needed, which reduces the board cost. Here are some ideas (not all have yet to be implemented):


You can use the [http://github.com/esden/summon-arm-toolchain summon-arm-toolchain] script to build the required toolchain.
* As a basic Autopilot
For the default values of the Paparazzi Makefile to work, you should set
** To use the [[Lisa/M]] as an autopilot, you need to attach a GPS receiver. A nice [[GPS#u-Blox_LEA_Series_Receivers|uBlox LEA-5H]] or newer will perform great.
* As an advanced Autopilot
** Additional sensors for measuring airspeed, current, etc. would enhance a fixed-wing airframe.
* As a servo extender
** Sometimes being able to control seven actuators is just not enough. Large airframes may require flaps or an airbrake and automatic landing facilities. Maybe special ACL/Nav lights, or four cameras with zoom. By using a coupled second basic [[Lisa/M]] and connecting this to the master Autopilot board we can extend the amount of servos. Large airframes can also benefit from remote and/or redundant servo drivers.
* As a Safety Pilot Device
** To provide an extra safety level required in some UAS challenges. A second [[Lisa]] board can make it easy to adhere to the rules for such a challenge.
* As a Data Logger
** Maybe you have a need only to log all kinds of data, like temperature, volts, amps, height, airspeed, and not control the aircraft. For this we can setup a [[Lisa/M]] board. Collecting this data can be to a storage medium like on a micro SD card. Sometimes there is no need for real-time data collection through telemetry but just for storing a huge dataset.
* As a Camera controller
** On some models that do not require many servos (for example - flying wing with only 3 channels used), spare channels can be used for camera control. In addition, it could be used as an independent pan-tilt unit (PTU) controller.
* As a Airframe Tracker
** Tracking an airframe for an antenna or camera on a tripod is one of the many optional uses for a [[Lisa/M]] Board.


<code>
== Lia ==
PREFIX=/opt/stm32/toolchain/arm-elf
</code>
and
<code>
LIBSTM32_EN=1
</code>


=== Open Embedded ===
Lia is a lower-cost variant of Lisa/M 2.0. The microcontroller, basic layout, servo outputs, and mounting holes are the same. Major differences:
* 0.1" through-hole connections for non-servo I/O instead of Molex picoblade
** PCB size increased slightly to (58x34mm) to accommodate throughholes
* CAN transceiver removed on initial units; populated on later units (see [http://paparazzi.enac.fr/wiki/Lia documentation])
* barometer removed
* I2C level shifter removed
* 5V voltage regulator removed
* Added provisions for multiple BEC input balancing on servo connectors


Open Embedded is the linux distribution used on the overo.
[[Image:Lia_1.1_top.jpg|360px|Lia v1.1 Top View]]
You can follow the [http://www.gumstix.net/Setup-and-Programming/view/Overo-Setup-and-Programming/Setting-up-a-build-environment/111.html instructions] on gumstix's website to build a complete cross development environment. Paparazzi's Makefile will default to look for it in /overo-oe




== Status ==
[[Lia|Lia documentation]]


== Routing Rules ==
== Lisa/S ==


* 6mil traces/spacings for signals
Lisa/S is very small autopilot board. The focus for this design is size, weight and power consumption. It's an autopilot suited for the smallest airframes.
* 12mil traces/spacings for power traces (this is min value, otherwise as wide as possible or even planes if possible)
 
* 6mil layout grid
[[Image:Lisa_S_V0_1_r2_on_finger.jpg|360px]]
* Layer stacking:
 
** Top: Signal + Ground plane
* [[Lisa/S|Lisa/S Documentation]]
** Route2: Ground plane(s) (Separate analogue and digital ground)
 
** Route15: Power plane(s)
 
** Bottom: Signal + Ground plane
[[Category:Lisa]] [[Category:User_Documentation]] [[Category:Autopilots]]
* 0.4mm vias with 0.1mm restring

Latest revision as of 07:51, 7 January 2016

Lisa ( the Lost Illusions Serendipitous Autopilot) is a range of autopilots based on STM32 microcontrollers ( CortexM3@72Mhz ) designed to run Paparazzi. There's no such thing as a perfect autopilot, only autopilots adapted to a particular purpose. This is the reason why the Lisa autopilots come in different styles for different uses.

The first members of the family are:

  • Lisa/L, a design where the STM32 is associated to a gumstix Overo.
  • Lisa/M, a design focusing on cost and simplicity.
  • Lisa/S, a design focusing on size and weight.

Lisa/L

Description

Lisa/L is a dual processor board autopilot designed to allow for the possibility of using Linux for Paparazzi airborne code.

Lisa l bloc diag simple.png Lisa l top.png Lisa l bot.png

Documentation

The documentation for Lisa/L is broken into several parts due to board complexity and Gumstix Overo integration.

Lisa/M

Description

Lisa/M is a great general purpose small-footprint autopilot. There are currently two versions that have been produced. Detailed documentation can be found here:

Lisa/M v2.0 Top View


Lisa/M v1.0 Top View

Usage scenarios

There are many potential applications for the small, relatively inexpensive and flexible Lisa/M. For regular Autopilot boards a fully equip Lisa/M board is needed. For some scenarios just a basic Lisa/M without an IMU and barometric pressure sensor is needed, which reduces the board cost. Here are some ideas (not all have yet to be implemented):

  • As a basic Autopilot
    • To use the Lisa/M as an autopilot, you need to attach a GPS receiver. A nice uBlox LEA-5H or newer will perform great.
  • As an advanced Autopilot
    • Additional sensors for measuring airspeed, current, etc. would enhance a fixed-wing airframe.
  • As a servo extender
    • Sometimes being able to control seven actuators is just not enough. Large airframes may require flaps or an airbrake and automatic landing facilities. Maybe special ACL/Nav lights, or four cameras with zoom. By using a coupled second basic Lisa/M and connecting this to the master Autopilot board we can extend the amount of servos. Large airframes can also benefit from remote and/or redundant servo drivers.
  • As a Safety Pilot Device
    • To provide an extra safety level required in some UAS challenges. A second Lisa board can make it easy to adhere to the rules for such a challenge.
  • As a Data Logger
    • Maybe you have a need only to log all kinds of data, like temperature, volts, amps, height, airspeed, and not control the aircraft. For this we can setup a Lisa/M board. Collecting this data can be to a storage medium like on a micro SD card. Sometimes there is no need for real-time data collection through telemetry but just for storing a huge dataset.
  • As a Camera controller
    • On some models that do not require many servos (for example - flying wing with only 3 channels used), spare channels can be used for camera control. In addition, it could be used as an independent pan-tilt unit (PTU) controller.
  • As a Airframe Tracker
    • Tracking an airframe for an antenna or camera on a tripod is one of the many optional uses for a Lisa/M Board.

Lia

Lia is a lower-cost variant of Lisa/M 2.0. The microcontroller, basic layout, servo outputs, and mounting holes are the same. Major differences:

  • 0.1" through-hole connections for non-servo I/O instead of Molex picoblade
    • PCB size increased slightly to (58x34mm) to accommodate throughholes
  • CAN transceiver removed on initial units; populated on later units (see documentation)
  • barometer removed
  • I2C level shifter removed
  • 5V voltage regulator removed
  • Added provisions for multiple BEC input balancing on servo connectors

Lia v1.1 Top View


Lia documentation

Lisa/S

Lisa/S is very small autopilot board. The focus for this design is size, weight and power consumption. It's an autopilot suited for the smallest airframes.

Lisa S V0 1 r2 on finger.jpg