Difference between revisions of "Lisa"

From PaparazziUAV
Jump to: navigation, search
m (typo)
 
(157 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].
* Lisa Schematic
+
*Lisa/M, a design focusing on cost and simplicity.
* booz.lbr
+
*Lisa/S, a design focusing on size and weight.
  
 +
==Lisa/L==
  
Antoine:
+
=== Description ===
* <strike>check JTAG on STM32
 
* <strike>work with Piotr on connecting the missing wires on the STM</strike>
 
* I2C on STM32:
 
* SPI on STM32:
 
* <strike>USB for gumstix : does 5V need to be switchable ? (to allow reset from the gumstix)</strike>
 
* 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
 
  
 +
[[Lisa/L]] is a dual processor board autopilot designed to allow for the possibility of using Linux for Paparazzi airborne code.
  
Esden:
+
[[Image:lisa_l_bloc_diag_simple.png|360px]]
* <strike>STM32 spelling and connection check</strike>
+
[[Image:lisa_l_top.png|360px]] [[Image:lisa_l_bot.png|360px]]
* <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>
 
* LED shift register
 
* Replace resistors and capacitors with versions from [http://github.com/esden/pretty-eagle-libs pretty-eagle-lib]
 
* howto for STM32 gcc gdb toolchain (blinking LED or similar) (started writing one on [http://openhardwarewiki.org/wiki/Summon_ARM_Toolchain openhardwarewiki.org])
 
  
 +
=== Documentation ===
  
Gany:
+
The documentation for Lisa/L is broken into several parts due to board complexity and Gumstix [[Overo]] integration.
* <strike>Check FT2232 footprint hw/lbr/booz.lbr  qfn-64 size & pinout
+
* [[Lisa/L|Main Documentation]] - primary hardware documentation and intro to software
** -> Changed pad size from 0.6 x 0.4  to  0.75 x 0.25  and moved pin1 indicator outside the chip. </strike> 
+
* [[Dev/LisaL|Additional Developer Documentation]] - additional advanced hardware and software documentation and notes
* <strike>Make sure STM32 can interrupt overo
+
* [[LisaL_Gallery|Lisa/L Photo Gallery]] - pictures of [[Lisa/L]]
** -> connected omap pin 176 with stm pin 11 via level shifter</strike>
+
* [[User/LisaL/Tutorial/Quadrocopter|Unfinished Rotorcraft Tutorial]] - rotorcraft tutorial, needs considerable work
* ADC ref and analog supply voltage on STM
+
* [[User/LisaL/Tutorial/FixedWing|Unfinished Fixedwing Tutorial]] - fixedwing tutorial, needs considerable work
* Place components
+
* [[OMAP|Gumstix Integration Intro]] - intro and documentation listing for integrating a Gumstix Overo with [[Lisa/L]], including for USB devices and cameras
* Route board
 
* Bring remaining GPIO of STM to a connector
 
* LED FT chip power since from USB
 
* Send for production 4pcb/pcbcard(china)/sunstone
 
  
 +
== Lisa/M ==
  
 +
=== Description ===
  
== Hardware ==
+
[[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]]
  
The hardware is still in development. The current CAD files are maintained in savannah svn in the paparazzi4/trunk/hw/lisa directory.
+
[[Image:LisaM_V2_0_TopView.JPG|360px|Lisa/M v2.0 Top View]]
Software development is done on a Overo/Summit + Olimex STM32-H103 dev board
 
[[Image:lisa_proto.jpg|thumb]]
 
  
=== STM32 ===
 
  
STM32-F103 ( esden can you write the name of the actual chip we're using ? 64 pins the most ram and flash ? )
+
* [[Lisa/M_v1.0|Lisa/M v1.0 Documentation]]
  
==== pinout ====
+
[[Image:lisa_m_top_small.png|360px|Lisa/M v1.0 Top View]]
  
SPI1 :  IMU/baro high speed sensor communications, STM32 is mater
+
=== Usage scenarios ===
        pin 21 (SCK), 22(MISO), 23(MOSI) 
 
        accel/gyro 16bitsADC  9(DRDY)  8(SS)
 
        mag                  24(DRDY) 10(SS)  25(RESET)
 
        eeprom                        53(SS)
 
        baro                  40(DRDY) 39(SS)
 
  
SPI2 :  overo, STM is slave
+
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):
        pin 33 (SS), 34(SCK), 35(MISO), 36(MOSI),  11(interrupt for OMAP)
 
  
I2C1 :  motorcontroller
+
* As a basic Autopilot
        pin 58(SCL), 59(SDA)
+
** 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.
  
I2C2 : extension
+
== Lia ==
      pin 29(SCL), 30(SDA)
 
  
UART1 : GPS or IMUxsense
+
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:
      pin 42(TX), 43(RX)  
+
* 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
  
UART2 : Modem
+
[[Image:Lia_1.1_top.jpg|360px|Lia v1.1 Top View]]
      pin 16(TX) ,17(RX)
 
  
UART3 : RC24
 
      pin 51(TX), 52(RX)
 
  
CAN : motor controller
+
[[Lia|Lia documentation]]
      pin 42(TX), 43(RX)
 
  
SERVO_out: driving 3 servos
+
== Lisa/S ==
      37(TIM3CH1), 38(TIM3CH2), 26(TIM3CH3)
 
  
RC_in: analog RC
+
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.
      27(TIM3H4)
 
  
JTAG : flash and debug
+
[[Image:Lisa_S_V0_1_r2_on_finger.jpg|360px]]
      46(TMS), 49(TCK), 50(TDI), 55(TDO), 56(TRST), 7(RESET)
 
  
ADCs : 1 for battery 2/3 for extansion
+
* [[Lisa/S|Lisa/S Documentation]]
     
 
LED :
 
      3(LED_CLK), 4(LED_DATA)
 
  
=== Pressure sensors ===
 
  
The board will be equipped with a pair of pressure sensors, one absolute to measure altitude and one differential to measure airspeed.
+
[[Category:Lisa]] [[Category:User_Documentation]] [[Category:Autopilots]]
 
 
==== Absolute Pressure ====
 
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]]
 
 
 
==== Differential Pressure ====
 
 
 
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]]
 
 
 
Because of high resolution requirements in the pressure sensor circuit there is an external ADC needed with the following features:
 
* 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 ==
 
 
 
=== STM32 drivers for paparazzi ===
 
 
 
UART : done without DMA, so got datalink, telemetry and RC24 working
 
 
 
I2C : not done, needed for motor controllers
 
 
 
SPI : not done, needed for IMU ( big works as we share with mag and baro) and for overo
 
 
 
CAN : not don, needed for motor controller and CSC
 
 
 
PPMin: not done, needed for analog radio control and windvane
 
 
 
PPMout: not done, needed for servos ( 3 servos ? )
 
 
 
=== STM32 toolchain ===
 
 
 
You can use the [http://github.com/esden/summon-arm-toolchain summon-arm-toolchain] script to build the required toolchain.
 
For the default values of the Paparazzi Makefile to work, you should set
 
 
 
<code>
 
PREFIX=/opt/stm32/toolchain/arm-elf
 
</code>
 
and
 
<code>
 
LIBSTM32_EN=1
 
</code>
 
 
 
=== Open Embedded ===
 
 
 
Open Embedded is the linux distribution used on the overo.
 
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 ==
 
 
 
== Routing Notes ==
 
* Motor controller connectors in 4 corners of the board if possible
 
* If we are running out of space on the board we have several options:
 
** Only one connector for the motors
 
** Two connectors for the motors on each side of the board
 
** Two connectors for the motors on each side of the board where each connector can accomodate two motor controller wires (4 pins each connector)
 
 
 
== Routing Rules ==
 
 
 
* 6mil traces/spacings for signals
 
* 12mil traces/spacings for power traces (this is min value, otherwise as wide as possible or even planes if possible)
 
* 6mil layout grid
 
* Layer stacking:
 
** Top: Signal + Ground plane
 
** Route2: Ground plane(s) (Separate analogue and digital ground)
 
** Route15: Power plane(s)
 
** Bottom: Signal + Ground plane
 
* 0.4mm vias with 0.1mm restring
 

Latest revision as of 06: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