Difference between revisions of "Lisa/M v1.0"

From PaparazziUAV
Jump to navigation Jump to search
(switched user and main lisa/m pages)
Line 1: Line 1:
= Intro =
= Introduction =


This article is meant as a tutorial on how to assemble, wire up and mount devices in a fixed wing aircraft based on [[Lisa/M]] for a maiden flight on Autopilot. We will use a Multiplex Mentor as example.
If you consider yourself a developer this flexible piece of UAS hardware is for you. If you enjoy writing software and consider yourself an early adopter this is the board to use. Have fun implementing and extending the already great features. To show of your work and also to ask questions, you are welcomed on the paparazzi mailinglist, this Wiki and the freenode paparazzi IRC channel. This nice piece of hardware can be used for various purposes. Ofcourse as an Autopilot board, but only by uploading another firmware also a servo extension board and more. A good idea of how this nice piece of hardware looks like is shown on the Photos here. If you are not so interested in all of this at the moment since you just have this shiny new board on you desk and want to connect and fly the thing, then go to the page [[Lisa/M/Tutorial/FixedWing| using the board as an '''Autopilot''' for an airplane]] or go [[Lisa/M/Tutorial/RotorCraft|here for uses a an '''Autopilot''' in a quadrotor]]


For this we need:
[[Image:Lisa_M_V1_0_top_with_coin.jpg|thumb|Lisa/M V1.0 top view]]
[[Image:Lisa_M_V1_0_bottom_with_coin.jpg|thumb|Lisa/M V1.0 bottom view]]
[[Image:Lisa_M_V1_0_top.jpg|thumb|Lisa/M V1.0 top view]]
[[Image:Lisa_M_V1_0_bottom.jpg|thumb|Lisa/M V1.0 bottom view]]


1x Mentor complete set
= Initial Setup =


1x Receiver
If you want to just simply setup the board for use as an Autopilot and are looking for information about how to get the Lisa/M board up and running and where to connect other hardware just follow the link below if you have that great Lisa/M board and want to get get it airborne fast.


1x uBlox LEA5 Helix module
* [[Lisa/M/Tutorial/FixedWing]] - for an airplane, glider or flying wing;
* [[Lisa/M/Tutorial/RotorCraft]] - for everything that flies via moving blades: helicopters, quadrocopters or something alike.


= Setup Hardware =
= Features =


== IMU ==
Lisa/M is based on the 64 pins STM32F105RC processor featuring 64k of RAM and 256k of FLASH. All the pins are exposed, providing access to the complete set of the STM32 peripherals.
NOTE: This MCU is different from LISA/L. Lisa/L is based on the 64 pins STM32F103RE processor featuring 64k of RAM and 512k of FLASH, which is  [http://www.st.com/internet/mcu/product/164485.jsp high-density performance line family] where STM32F105RC of LISA/M is [http://www.st.com/internet/mcu/product/221023.jsp connectivity line family].


The [[LisaM|Lisa/M]] can be purchased with the [[Inertial_Measurement_Units#Aspirin_IMU|Aspirin IMU]] already soldered to it. Otherwise, you can solder an [[Inertial_Measurement_Units#Aspirin_IMU|Aspirin IMU]] on it yourself.
== Overview ==


== GPS ==
* Single [http://www.st.com/stm32 STM32 MCU]
* Pressure sensor [http://www.bosch-sensortec.com/content/language1/html/3477.htm BMP085]
* 7 x Analog input channels
* 3 x Generic digital in-/out-puts
* 2 x 3.3V TTL UART (5V tolerant)
* 7 x Servo PPM outputs
* 1 x CAN bus
* 1 x [http://en.wikipedia.org/wiki/Serial_Peripheral_Interface SPI] bus
* 1 x [http://en.wikipedia.org/wiki/I2c I<sup>2</sup>C] bus
* 1 x Micro USB
* 4 x status LEDs with attached test point
* 10.8 grams (0.4 oz) (with Aspirin IMU mounted)
* 9.9 grams (0.35 oz) (without Aspirin IMU mounted)
* ~33mm x ~56mm x ~10mm
* 4 layers PCB design


On connector UART1 we will connect the GPS receiver. A [[GPS#u-Blox_LEA_Series_Receivers|uBlox LEA-5H]] will be uses in the basic setup
with mounted IMU has the following additional sensors on board:


== Servos ==
* 3 Axis Gyroscope
* 3 Axis Accelerometer
* 3 Axis Magnetometer


=== ESC ===
The pressure sensor is mounted directly on the board as this sensor is not provided by Aspirin. Exept for a GPS unit you have all necessary sensors for full attitude and altitude stabilization in an extremely small package. Adding only an external GPS unit, it is a full fledged Autopilot.


The ESC which stand for Electronic Speed Control to contol the motor speed will be connected to servo pins S1
== Footprint ==


=== Aileron ===
This autopilot is very small. The footprint is only 33mm by 56mm by 10mm including the servo connector pins. It will fit in a small UAS very well. There is a spot for mounting the [http://paparazzi.enac.fr/wiki/AspirinIMU Aspirin IMU] directly on board.


To Pin S2 we connect the left aileron servo. Left side is left is as seen from the back of the airframe. And to pin S5 we connect the right aileron cable
== MCU ==


=== Elevator ===
In brief, the STM32 features 3 USARTS, 2 SPI, 2 I2C, 1 CAN, a plethora of timers, ADCs and a generic DMA able to serve all of them. On the board, a number of the communication interfaces are level shifted with user selectable voltage to allow interfacing with all kind of peripherals.


On Pin S3 the Elevator servo cable
== Onboard IMU ==


=== Rudder ===
The Lisa/M comes with [[AspirinIMU|Aspirin IMU]] mounted, for easy attitude estimation in the smallest package possible.


On Pin S4 the rudder servo cable
== JTAG ==


== RC receiver ==
* [[JTAG]] description;
* General [[Dev/Debugging|debugging information]];
* [[DevGuide/JTAG-Debug|JTAG usage]], includes Eclipse uplink tutorial.


To be able to test your UAS a RC receiver comes in very handy. One must realize without a receiver an well tuned airframe can fly very well, however for initial tests adding a receiver makes life so much easier. The documentation here will describe how to connect and setup such an RC receiver.
= Hardware Revision History =


=== PPM receiver ===
== Changes between v0.1 and v1.0 ==
* Switched to stm32f105 to be able to use usb and can at the same time
* Added alternative use of the adc lines as led output
* ...


A modified RC receiver with full PPM out can be used to control the AP board from the ground. How to get a receiver with full PPM out or modify an existing one [http://paparazzi.enac.fr/wiki/RC_Receivers_and_Radios#PPM_Based_Systems can be found here.]
== Changes between v1.0 and v1.1 ==
* Removed pull-ups on the USB gpio
* Removed pull-ups on the CAN gpio
* Connected usb_vbus to pa9 (needed by the USBotg)
* Removed USB pullup transistor as usbotg has a built in pullup
* Swapped UART1 with UART3 (uart1 was used for gps and pa9 was it's tx line, to be able to talk to the gps unit uart3 is a better choice, as uart1 only has an rx line now it is a better choice for spektrum RX modules)
* Removed USART3 TX gpio from the GPIO connector and moved to the GPS connector
* Added voltage selector jumpers to the RC RX connector; to enable powering of 3v3 or an 5v receivers
* Replaced vertical board solution with through hole servo pin headers (easier assembly)
* Servo connectors are in groups of two; for easier assembly
* Servo VBUS is connected together on all four layers; for lower resistance
* Moved LED's from under the analog2 connector; to be able to populate LED's and the connector
* Moved the RC RX connector a bit; to prevent crashing with the jtag plug
* Added one additional servo connector; now we have all 8 accessible through the standard servo connectors
* Fixed servo channel labeling to start at '''S0''' as it is the case on TWOG and Tiny autopilot boards
* Added secondary through hole picoblade USB connector for easier routing of USB inside an airframe
* ...


PPM is at the moment sharing a line with servo6, because it's the way it was wired on a Lisa/L board. It would be trivial to adapt the driver to use another line. look at sw/airborne/arch/stm32/subsystems/radio_control/ppm_arch.c . If you manage  to do so please adjust the text on this page also.
== Changes between v1.1 and v2.0 ==
* Lot's of silkscreen improvements
* Added attributes to all parts to make the usage of bom-ex ulp possible.
* Improved routing to allow teardropping
* Fixed stm32f1, f2 and f4 compatibility circuit. (has to jump to ground not to 3v3)
* Connected existing UART RX pullups to the respective connector power pins instead of 3v3. To prevent connecting 5V over IO pin to the 3v3 power rail.
* Added pullups on all UART RX lines to prevent undesired floatation.
* LED's are connected to 3v3 now. To make sure we don't have an issue with voltage tolerance on the gpio pins.
* ...


=== Satellite Receiver ===
= Hardware update requests =
* REQ: Replace BMP085 with MS5611 (the MS5611 seems to be better in performance then the BMP but it is more expensive and seems to be more difficult to obtain.
** A: It is considered as an update to a future version of lisa/m not V2.0 --[[User:Esden|Esden]] 02:24, 18 November 2011 (CET))


Connecting a 2.4GHz Spectrum or compatible receiver
* REQ: Replace 7 Pin CAN with molex with something less risky to be inserted in 7 Pin SPI in relation to powering the board via CAN molex.


[[Image:Lisa_M_V1_0_satellite_receiver_connection_labeled.png|500px]]
* REQ: Separate spot for external power if powered via separate battery. Realizing we can via Servo ports by Bridge J1 but still like to measure board voltage then and have a way to add power without mistakenly inject CAN Molex into SPI.


It is very well possible to connect another 2.4Ghz receiver, however the software to interact with that device must at the moment be written by oneself. The advantage of Opensource is that it is possible. Sharing your coding work would be great and in line with the GPL license.
= Architecture =


== Telemetry==
= Usage scenarios =


An [[Modems#Digi_XBee_Pro_ZB_.2F_ZNet_2.5_.28.22Series_2.22.29|XBee XSC]] wireless data module will be used to enable to receive telemetry data. While not needed for fully autonomous flight it is very beneficial to have telemetry data. We will connect the transmitter to connector UART2
For regular Autopilot boards a full Lisa/M board is needed. For some scenarios just a basic Lisa/M without [[Inertial_Measurement_Units|IMU]] and [[Airspeed_sensor|pressure sensor]] is needed, this makes the board cheaper of course.


== Power ==
== As a basic Autopilot ==


To use the Lisa/M as an autopilot, we need to attach a GPS receiver. A nice [[GPS#u-Blox_LEA_Series_Receivers|uBlox LEA-5H]] or newer will perform great.


=== Jumpers ===
== As and advanced Autopilot ==


[[Image:LisaM_V1_0_top_jumpers_and_leds.png|500px]][[Image:LisaM_V1_0_bottom_jumpers.png|450px]]
Also an external airspeedsensor like the Eagletree would enhance a fixedwing airframe. Ofcourse an extention cable from microUAS to Mini USB to the outside of the airframe is very practical.
Currently UART3 outlet is used to talk to GPS reciever.


It is possible to reconfigure the electrical system on [[Lisa/M]] using the supply jumpers. On the boards the Jumper are not real jmper but a spot where we can solder or unsolder a "Bridge" to make or break the connection. In our case the ESC will supply both the servos and the board with power from the main battery. This is the default setup of [[Lisa/M]], so there is no need to solder anything on the board.
== As a servo extender ==


* JP1 connects the servo power rail to V_IN rail.
Sometimes being able to steer seven actuators is just not enough. One need for example flaps that enhance aileron or an airbrake and automatic landingfacility. Maybe special ACL lights, or four cameras with zoom. By using a coupled second basic Lisa/M and connect this to the master AP board we can extend our amount of servos.
* JP2 connects the battery rail (used by default only for battery voltage measurement) to the V_IN rail.
* JP3 bypasses the +5V voltage regulator and connects V_IN to the +5V rail.
* JP4 connects the V_IN rail to the VCC pin on the UART2 connector.
* JP5 connects the +3V3 rail to the VCC pin on the UART2 connector.
* JP6 connects the V_IN rail to the VCC pin on the UART1 connector.
* JP7 connects the +3V3 rail to the VCC pin on the UART1 connector.


= Setup Software =
== As a Safety Pilot Device ==


== Bootloader ==
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.


To awake the hardware from sleep and activate the "brain" a so called "bootloader" is used. At the moment there is no bootloader code released yet for Paparazzi and this type of board. If there was, you would not need [[JTAG]] to change the software in your [[Lisa/M]] and only a USB cable would suffice to upload a new flight plan (just as it is now with a LPC21-based Paparazzi Autopilot board like the [[Twog_v1|TWOG]].) If you are good at writing bootloaders for the STM please add your code to the Paparazzi repository.
== As a Data Logger ==


== Uploading Firmware ==
Maybe you have a need only to log all kinds of data, like temperature, volts, amps, height, airspeed only. For this we can setup a Lisa/M board. Then we are flexible and add whatever sensors we want. Collecting this data can be to a storage medium like an micro SD card. Sometimes there is no need for realtime data collection but just for storing a huge dataset.


For the board to perform some sort of action, a "Brain" a.k.a Firmware must be uploaded to the board. This is done by way of a JTAG cable. If you do not have wuch a cable, it is not possible to upload your flightplan firmware to the board. You can order this cable a various hardware suppiers. The Cable design is also opensource, you could opt to make one yourself, but that is not trivial.
== As a Camera controller ==
On some models that do not require much servos (for example - flying wing with only 3 chanels used), spare channels can be used for camera control.


== IMU Calibration ==
== As a Airframe Tracker ==


If you didn't make the board yourself, then you probably got a calibration file (.xml) from your board supplier. If you didn't receive a calibration file then follow the steps for [http://paparazzi.enac.fr/wiki/ImuCalibration onboard IMU calibration].
A remote antenna or camera on a tripod is on of the may option to use a Lisa/M Board. The remote device Must be able to get data from the pale in one form or another.


= Pre-flight Checklist=
= Pinout =


Double-check that you connected everything correctly. Then switch on your transmitter and power up your board.
Pins Name and Type are specified with respect to the Autopilot Board


= Flying =
[[Image:LisaM_V1_0_top_labeled.png|700px]]


This page is not the one to find and information about that. A look around on this wiki or elswhere on the internet can help you out.
= Schematic =


[[Category:User_Documentation]]
<gallery>
Image:Lisa_m_v1_0_sheet_1.png | LisaM V1.0 Schematic Sheet 1/3
Image:Lisa_m_v1_0_sheet_2.png | LisaM V1.0 Schematic Sheet 2/3
Image:Lisa_m_v1_0_sheet_3.png | LisaM V1.0 Schematic Sheet 3/3
</gallery>
 
= Electrical Connections to the Airborne Equipment =
== Receivers ==
There is spectrum parser available already.
Also UART pins can be used as general purpose I/O to be used for PPM input.
 
Additionally [http://www.aerofu.com/index.php?main_page=product_info&cPath=1&products_id=50 PPM encoder] can be used to avoid receiver hardware modification.
 
= PCB =
 
== Gerber & Drill Files  ==
 
= Assembly =
 
== Components Layout ==
 
== Mechanical drawing ==
 
[[Image:LisaM_V1_0_top_mechanical.png|500px]]
 
=== Bill Of Material ===
 
 
[[Category:User_Documentation]] [[Category:Hardware]]
 
= PCB and assembled boards suppliers =
 
For private companies and enthusiast Paparazzi hardware suppliers, see [[Get_Hardware|Get Hardware]] page.
 
= Downloads =
 
The CAD files are also available from the [http://svn.sv.gnu.org/svn/paparazzi/paparazzi-hardware/trunk/lisa_m/ paparazzi-hardware svn server]
 
'''Schematics'''
* [[Image:Lisa m v1 0 sheet1 of 3.pdf]]
* [[Image:Lisa m v1 0 sheet2 of 3.pdf]]
* [[Image:Lisa m v1 0 sheet3 of 3.pdf]]
 
'''Source files'''
:*download ''LisaM v1.00 Eagle design (zip)''
'''Gerber & Drill files'''
:*download '' gerber & drill files (zip)''
'''Assembly files'''
:*download ''(pdf)''
:*download '' (zipped .xls file)''

Revision as of 22:43, 14 December 2011

Introduction

If you consider yourself a developer this flexible piece of UAS hardware is for you. If you enjoy writing software and consider yourself an early adopter this is the board to use. Have fun implementing and extending the already great features. To show of your work and also to ask questions, you are welcomed on the paparazzi mailinglist, this Wiki and the freenode paparazzi IRC channel. This nice piece of hardware can be used for various purposes. Ofcourse as an Autopilot board, but only by uploading another firmware also a servo extension board and more. A good idea of how this nice piece of hardware looks like is shown on the Photos here. If you are not so interested in all of this at the moment since you just have this shiny new board on you desk and want to connect and fly the thing, then go to the page using the board as an Autopilot for an airplane or go here for uses a an Autopilot in a quadrotor

Lisa/M V1.0 top view
Lisa/M V1.0 bottom view
Lisa/M V1.0 top view
Lisa/M V1.0 bottom view

Initial Setup

If you want to just simply setup the board for use as an Autopilot and are looking for information about how to get the Lisa/M board up and running and where to connect other hardware just follow the link below if you have that great Lisa/M board and want to get get it airborne fast.

Features

Lisa/M is based on the 64 pins STM32F105RC processor featuring 64k of RAM and 256k of FLASH. All the pins are exposed, providing access to the complete set of the STM32 peripherals. NOTE: This MCU is different from LISA/L. Lisa/L is based on the 64 pins STM32F103RE processor featuring 64k of RAM and 512k of FLASH, which is high-density performance line family where STM32F105RC of LISA/M is connectivity line family.

Overview

  • Single STM32 MCU
  • Pressure sensor BMP085
  • 7 x Analog input channels
  • 3 x Generic digital in-/out-puts
  • 2 x 3.3V TTL UART (5V tolerant)
  • 7 x Servo PPM outputs
  • 1 x CAN bus
  • 1 x SPI bus
  • 1 x I2C bus
  • 1 x Micro USB
  • 4 x status LEDs with attached test point
  • 10.8 grams (0.4 oz) (with Aspirin IMU mounted)
  • 9.9 grams (0.35 oz) (without Aspirin IMU mounted)
  • ~33mm x ~56mm x ~10mm
  • 4 layers PCB design

with mounted IMU has the following additional sensors on board:

  • 3 Axis Gyroscope
  • 3 Axis Accelerometer
  • 3 Axis Magnetometer

The pressure sensor is mounted directly on the board as this sensor is not provided by Aspirin. Exept for a GPS unit you have all necessary sensors for full attitude and altitude stabilization in an extremely small package. Adding only an external GPS unit, it is a full fledged Autopilot.

Footprint

This autopilot is very small. The footprint is only 33mm by 56mm by 10mm including the servo connector pins. It will fit in a small UAS very well. There is a spot for mounting the Aspirin IMU directly on board.

MCU

In brief, the STM32 features 3 USARTS, 2 SPI, 2 I2C, 1 CAN, a plethora of timers, ADCs and a generic DMA able to serve all of them. On the board, a number of the communication interfaces are level shifted with user selectable voltage to allow interfacing with all kind of peripherals.

Onboard IMU

The Lisa/M comes with Aspirin IMU mounted, for easy attitude estimation in the smallest package possible.

JTAG

Hardware Revision History

Changes between v0.1 and v1.0

  • Switched to stm32f105 to be able to use usb and can at the same time
  • Added alternative use of the adc lines as led output
  • ...

Changes between v1.0 and v1.1

  • Removed pull-ups on the USB gpio
  • Removed pull-ups on the CAN gpio
  • Connected usb_vbus to pa9 (needed by the USBotg)
  • Removed USB pullup transistor as usbotg has a built in pullup
  • Swapped UART1 with UART3 (uart1 was used for gps and pa9 was it's tx line, to be able to talk to the gps unit uart3 is a better choice, as uart1 only has an rx line now it is a better choice for spektrum RX modules)
  • Removed USART3 TX gpio from the GPIO connector and moved to the GPS connector
  • Added voltage selector jumpers to the RC RX connector; to enable powering of 3v3 or an 5v receivers
  • Replaced vertical board solution with through hole servo pin headers (easier assembly)
  • Servo connectors are in groups of two; for easier assembly
  • Servo VBUS is connected together on all four layers; for lower resistance
  • Moved LED's from under the analog2 connector; to be able to populate LED's and the connector
  • Moved the RC RX connector a bit; to prevent crashing with the jtag plug
  • Added one additional servo connector; now we have all 8 accessible through the standard servo connectors
  • Fixed servo channel labeling to start at S0 as it is the case on TWOG and Tiny autopilot boards
  • Added secondary through hole picoblade USB connector for easier routing of USB inside an airframe
  • ...

Changes between v1.1 and v2.0

  • Lot's of silkscreen improvements
  • Added attributes to all parts to make the usage of bom-ex ulp possible.
  • Improved routing to allow teardropping
  • Fixed stm32f1, f2 and f4 compatibility circuit. (has to jump to ground not to 3v3)
  • Connected existing UART RX pullups to the respective connector power pins instead of 3v3. To prevent connecting 5V over IO pin to the 3v3 power rail.
  • Added pullups on all UART RX lines to prevent undesired floatation.
  • LED's are connected to 3v3 now. To make sure we don't have an issue with voltage tolerance on the gpio pins.
  • ...

Hardware update requests

  • REQ: Replace BMP085 with MS5611 (the MS5611 seems to be better in performance then the BMP but it is more expensive and seems to be more difficult to obtain.
    • A: It is considered as an update to a future version of lisa/m not V2.0 --Esden 02:24, 18 November 2011 (CET))
  • REQ: Replace 7 Pin CAN with molex with something less risky to be inserted in 7 Pin SPI in relation to powering the board via CAN molex.
  • REQ: Separate spot for external power if powered via separate battery. Realizing we can via Servo ports by Bridge J1 but still like to measure board voltage then and have a way to add power without mistakenly inject CAN Molex into SPI.

Architecture

Usage scenarios

For regular Autopilot boards a full Lisa/M board is needed. For some scenarios just a basic Lisa/M without IMU and pressure sensor is needed, this makes the board cheaper of course.

As a basic Autopilot

To use the Lisa/M as an autopilot, we need to attach a GPS receiver. A nice uBlox LEA-5H or newer will perform great.

As and advanced Autopilot

Also an external airspeedsensor like the Eagletree would enhance a fixedwing airframe. Ofcourse an extention cable from microUAS to Mini USB to the outside of the airframe is very practical. Currently UART3 outlet is used to talk to GPS reciever.

As a servo extender

Sometimes being able to steer seven actuators is just not enough. One need for example flaps that enhance aileron or an airbrake and automatic landingfacility. Maybe special ACL lights, or four cameras with zoom. By using a coupled second basic Lisa/M and connect this to the master AP board we can extend our amount of servos.

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 only. For this we can setup a Lisa/M board. Then we are flexible and add whatever sensors we want. Collecting this data can be to a storage medium like an micro SD card. Sometimes there is no need for realtime data collection but just for storing a huge dataset.

As a Camera controller

On some models that do not require much servos (for example - flying wing with only 3 chanels used), spare channels can be used for camera control.

As a Airframe Tracker

A remote antenna or camera on a tripod is on of the may option to use a Lisa/M Board. The remote device Must be able to get data from the pale in one form or another.

Pinout

Pins Name and Type are specified with respect to the Autopilot Board

LisaM V1 0 top labeled.png

Schematic

Electrical Connections to the Airborne Equipment

Receivers

There is spectrum parser available already. Also UART pins can be used as general purpose I/O to be used for PPM input.

Additionally PPM encoder can be used to avoid receiver hardware modification.

PCB

Gerber & Drill Files

Assembly

Components Layout

Mechanical drawing

LisaM V1 0 top mechanical.png

Bill Of Material

PCB and assembled boards suppliers

For private companies and enthusiast Paparazzi hardware suppliers, see Get Hardware page.

Downloads

The CAD files are also available from the paparazzi-hardware svn server

Schematics

Source files

  • download LisaM v1.00 Eagle design (zip)

Gerber & Drill files

  • download gerber & drill files (zip)

Assembly files

  • download (pdf)
  • download (zipped .xls file)