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

From PaparazziUAV
Jump to navigation Jump to search
 
(40 intermediate revisions by 9 users not shown)
Line 1: Line 1:
= Intro =
<div style="float: right; width: 15%"><categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Autopilots</categorytree></div>
'''[[Lisa/M_v20|THE LISA/M v2.0 IS NOW AVAILABLE]]'''
<div style="float: right; width: 45%; overflow: hidden">[[Image:Lisa_M_V1_0_top_with_coin.jpg|right|600px|Lisa/M V1.0 top view]]</div>
<div style="float: right; width: 40%">__TOC__</div>


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.
'''NOTE: THERE IS A [[Lisa/M_v20|NEW VERSION OF LISA/M AVAILABLE]]'''


For this we need:
Lisa/M is a small, general purpose autopilot designed with flexibility across multiple applications in mind. Small weight and size, with (optional) integrated [[AspirinIMU | Aspirin IMU]] and full size 0.1" servo headers make the Lisa/M suitable for both fixed-wing and rotorcraft vehicles. This autopilot is based on the STM32 for improved peripherals and faster processing.


1x Mentor complete set
A number of tutorials are being prepared for getting started with Lisa/M:
* [[Lisa/M/Tutorial/FixedWing|Fixedwing tutorial]]
* [[Lisa/M/Tutorial/RotorCraft|Rotorcraft tutorial]]


1x Receiver
== Hardware Revision History ==


1x uBlox LEA5 Helix module
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="6"
!''Version #''!!''Release Date''!!''Release Notes''
|-
|v1.0||MM/YYYY||Lisa/M Initial Production Release
|-
|v0.1||MM/YYYY||Initial prototype of Lisa/M
|}
For detailed hardware revision history, please [[Lisa/M#Detailed_Hardware_Revision_History | see below]].


= Setup Hardware =
== Features ==


== IMU ==
Lisa/M is based on the 64 pins STM32F105RCT6 [http://www.st.com/internet/mcu/product/221023.jsp connectivity line family] 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 part of the [http://www.st.com/internet/mcu/product/164485.jsp high-density performance 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.
* STM32 microcontroller [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00220364.pdf STM32F105RCT6 datasheet] with 256kB flash and 64kB RAM
* 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


== GPS ==
with mounted Aspirin IMU has the following additional sensors on board:


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
* 3 Axis Gyroscope
* 3 Axis Accelerometer
* 3 Axis Magnetometer


== Servos ==
The pressure sensor is mounted directly on the board as this sensor is not provided by Aspirin (''v0.1 - v1.1'').


=== ESC ===
In short, you only need to add a high quality GPS module and then you have all necessary sensors for full attitude and altitude stabilization in an extremely small package.


The ESC which stand for Electronic Speed Control to contol the motor speed will be connected to servo pins S1
<gallery widths=200px heigths=200px>
Image:Lisa_M_V1_0_top.jpg|Lisa/M V1.0 top view
Image:Lisa_M_V1_0_bottom.jpg|Lisa/M V1.0 bottom view
Image:Lisa_M_V1_0_top_with_coin.jpg|Lisa/M V1.0 top view
Image:Lisa_M_V1_0_bottom_with_coin.jpg|Lisa/M V1.0 bottom view
</gallery>


=== Aileron ===
== Pinout ==
Pins Name and Type are specified with respect to the Autopilot 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
[[Image:LisaM_V1_0_top_labeled.png|900px]]


=== Elevator ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''SERVO1/2/3/4/5/6/7'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||SERVOx||OUT||Servo signal (PWM)||style="background:Yellow; color:black"|Yellow
|-
|2||SV||PWR||Servo Bus Voltage Rail (conf w/ JP1)||style="background:red; color:white"|Red
|-
|3||GND||PWR||common ground||style="background:black; color:white"|Black
|}


On Pin S3 the Elevator servo cable


=== Rudder ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''JTAG'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||N/A||N/A||JTAG Debug Header||style="background:white; color:black"|None
|}


On Pin S4 the rudder servo cable


== RC receiver ==
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''UART1'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||UART Voltage (conf w/ JP6 and JP7)||style="background:Red; color:white"|Red
|-
|3||TX||OUT||USART1 Serial Output (3.3V level)||style="background:Yellow; color:black"|Yellow
|-
|4||RX||IN||USART1 Serial Input (3.3V level)(5V tolerant)||style="background:Orange; color:white"|Orange
|}


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.


=== PPM receiver ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''UART3/5'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3||RX3||IN||USART3 Serial Input (3.3V level)(5V tolerant)||style="background:Orange; color:white"|Orange
|-
|4||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|5|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|6||RX5||IN||UART5 Serial Input (3.3V level)(5V tolerant)||style="background:Orange; color:white"|Orange
|}


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.]


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.
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''GPIO'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3||PC10||I/O||GPIO PC10  = LED 5 ||style="background:#FFA1B2; color:black"|Pink
|-
|4||PC12||I/O||GPIO PC12  = LED 4 ||style="background:#FDC579; color:black"|Dark Tan
|-
|5||TRST||I/O||JTAG_TRST  = LED1 ||style="background:#FED6B1; color:black"|Light Tan
|}


=== Satellite Receiver ===


Connecting a 2.4GHz Spectrum or compatible receiver
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''ANALOG2 (if Populated)'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3|| +5V||PWR||5V Rail from autopilot||style="background:Red; color:white"|Red
|-
|4||ADC4||I/O||ADC4||style="background:magenta; color:white"|Magenta
|-
|5||ADC6||I/O||ADC6||style="background:#FFA1B2; color:black"|Pink
|-
|6||BOOT||I/O||BOOT||style="background:grey; color:black"|Grey
|}


[[Image:Lisa_M_V1_0_satellite_receiver_connection_labeled.png|500px]]


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.
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''USB'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||N/A||N/A||USB||style="background:white; color:black"|None
|}


== Telemetry==


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
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''I2C1 CAN'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| V_BATT||PWR||V_BAT Bus on autopilot, voltage divider for V_BAT_MEAS, (conf w/ JP2 to connect to V_IN)||style="background:Red; color:white"|Red
|-
|3|| V_IN||PWR||Connected to autopilot voltage regulator inputs (conf w/ JP1, JP2 and JP3)||style="background:Red; color:white"|Red
|-
|4||CANL||I/O||CANL (5V level)||style="background:orange; color:white"|Orange
|-
|5||CANH||I/O||CANH (5V level)||style="background:yellow; color:black"|Yellow
|-
|6||SCL||I/O||SCL (5V level)||style="background:green; color:white"|Green
|-
|7||SDA||I/O||SDA (5V level)||style="background:blue; color:white"|Blue
|}


== Power ==


{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''SPI1'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3||MOSI||Out||MOSI||style="background:orange; color:white"|Orange
|-
|4||MISO||In||MISO||style="background:yellow; color:black"|Yellow
|-
|5||SCK||Out||SCK||style="background:green; color:white"|Green
|-
|6||SS||Out||SS||style="background:blue; color:white"|Blue
|-
|7||DRDY||I/O||DRDY||style="background:#FDC579; color:black"|Dark Tan
|}


=== Jumpers ===


[[Image:LisaM_V1_0_top_jumpers_and_leds.png|500px]][[Image:LisaM_V1_0_bottom_jumpers.png|450px]]
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''ANALOG1'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3|| +5V||PWR||5V Rail from autopilot||style="background:Red; color:white"|Red
|-
|4||ADC1||In||ADC1||style="background:green; color:white"|Green
|-
|5||ADC2||In||ADC2||style="background:blue; color:white"|Blue
|-
|6||ADC3||In||ADC3||style="background:#FED6B1; color:black"|Light Tan
|}


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.


* JP1 connects the servo power rail to V_IN rail.
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
* JP2 connects the battery rail (used by default only for battery voltage measurement) to the V_IN rail.
|+'''UART2'''
* JP3 bypasses the +5V voltage regulator and connects V_IN to the +5V rail.
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
* 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.
|1||GND||PWR||common ground||style="background:black; color:white"|Black
* 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.
|2||VCC||PWR||UART Voltage (conf w/ JP4 and JP5)||style="background:Red; color:white"|Red
|-
|3||TX||OUT||USART2 Serial Output (3.3V level)||style="background:Yellow; color:black"|Yellow
|-
|4||RX||IN||USART2 Serial Input (3.3V level)('''NOT 5V TOLERANT''')||style="background:Orange; color:white"|Orange
|}


= Setup Software =


== Bootloader ==
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''I2C2'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3||SCL||I/O||SCL (3.3V level)||style="background:green; color:white"|Green
|-
|4||SDA||I/O||SDA (3.3V level)||style="background:blue; color:white"|Blue
|}


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.


== Uploading Firmware ==
=== Jumper Configuration ===
There are a number of jumpers on Lisa/M used to configure voltage levels and power input.


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.
<gallery widths=380px heights=205px>
Image:LisaM_V1_0_top_jumpers_and_leds.png | Lisa/M v1.0 Top Jumpers and LEDs
Image:LisaM_V1_0_bottom_jumpers.png | Lisa/M v1.0 Bottom Jumpers
</gallery>
<br style="clear:both">


== IMU Calibration ==
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''Power Jumper Configuration'''
!width="7%"|''Jumper''!!width="20%"|''Bus Connection''!!width="7%"|''Default''!!''Description''
|-
|JP1||SERVO_BUS to V_IN||style="background:black; color:white"|CLOSED||Connects servo header voltage rail SERVO_BUS to autopilot input voltage V_IN rail
|-
|JP2||V_BAT to V_IN||OPEN||Connects I2C1/CAN rail V_BAT to autopilot input voltage V_IN rail
|-
|JP3||V_IN to +5V||OPEN||Connects autopilot input voltage V_IN rail to autopilot +5V rail, bypassing onboard 5V supply
|}


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].


= Pre-flight Checklist=
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''UART1 VCC Configuration'''
!width="7%"|''Jumper''!!width="20%"|''Bus Connection''!!width="7%"|''Default''!!''Description''
|-
|JP6||UART1_VCC to V_IN||OPEN||Connects UART1 connector VCC to autopilot input voltage V_IN rail
|-
|JP7||UART1_VCC to +3V3||style="background:black; color:white"|CLOSED||Connects UART1 connector VCC to autopilot +3V3 rail
|}
'''WARNING: DO NOT CLOSE BOTH JP6 AND JP7 SIMULTANEOUSLY!!!'''


Double-check that you connected everything correctly. Then switch on your transmitter and power up your board.


= Flying =
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''UART2 VCC Configuration'''
!width="7%"|''Jumper''!!width="20%"|''Bus Connection''!!width="7%"|''Default''!!''Description''
|-
|JP4||UART2_VCC to V_IN||OPEN||Connects UART2 connector VCC to autopilot input voltage V_IN rail '''SEE WARNING BELOW'''
|-
|JP5||UART2_VCC to +3V3||style="background:black; color:white"|CLOSED||Connects UART2 connector VCC to autopilot +3V3 rail
|}
'''WARNING: UART2 RX is NOT 5V TOLERANT. Thus, while possible to connect UART2_VCC to V_IN, DO NOT ATTEMPT THIS. Only use JP5 (the default).


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.
'''WARNING: DO NOT CLOSE BOTH JP4 AND JP5 SIMULTANEOUSLY!!!'''


[[Category:User_Documentation]]
 
=== Powering the Board ===
 
The 3.3V regulator on Lisa/M is a [http://www.micrel.com/page.do?page=/product-info/products/mic5209.shtml MIC5209-3.3YM] capable of delivering up to 500mA. While it is possible to power this regulator with up to 16V, experience has shown that this regulator can become very hot in operation with high input voltages, resulting in potential thermal shutdown while in flight. Depending on the expected current draw, it is best to power this regulator with a lower voltage. 5V is the perfect choice.
 
The onboard 5V regulator on Lisa/M is a [http://www.national.com/pf/LP/LP2992.html LP2992], a low-noise, low-dropout linear regulator capable of delivering up to 250mA. This regulator can be bypassed with JP3, connecting the autopilot V_IN bus directly to the autopilot 5V bus if, for example, one is using an external 5V regulated supply.
 
== Schematic ==
<gallery widths=200px heights=200px>
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>
<br style="clear:both">
 
== Examples of Airborne Equipment Electrical Connections ==
=== Small Aircraft Connection Diagram ===
Need an Umarim_v1.0-style ([[Umarim_v10#Small_Aircraft_Connection_Diagram | here]]) small aircraft airborne equipment electrical connections here.
<br style="clear:both">
 
=== Large Aircraft Connection Diagram ===
Need an Umarim V1.0-style ([[Umarim_v10#Large_Aircraft_Connection_Diagram | here]]) large aircraft airborne equipment electrical connections diagram here.
<br style="clear:both">
 
=== R/C Receivers ===
There is Spektrum parser available already, enabling the direct use of 1 or 2 Spektrum satellite receivers.
 
[[Image:Lisa_M_V1_0_satellite_receiver_connection_labeled.png|500px|Connection of Spektrum Satellite Receivers to Lisa/M v1.0]]
 
Also UART pins can be used as general purpose I/O to be used for PPM input. Additionally [[PPM_Encoder | PPM encoder]] can be used to avoid receiver hardware modification.
 
 
== PCB ==
 
=== Gerber & Drill Files  ===
 
'''''Download  Lisa/M v1.0 gerber & drill files (zip)''''' ''NOT YET AVAILABLE BUT SEE [[Lisa/M#Downloads|Downloads]]''
Need some generated gerbers and drill files here.
 
== Assembly ==
 
===Components Layout===
 
''NOT YET AVAILABLE BUT SEE [[Lisa/M#Downloads|Downloads]]''
Need some top and bottom of board images and line drawings here.
 
=== Bill Of Material ===
 
'''''Download  Lisa/M v1.0 Bill Of Material (zipped .xls file)''''' ''NOT YET AVAILABLE BUT SEE [[Lisa/M#Downloads|Downloads]]''
<br>
<br>
 
== PCB and assembled boards suppliers ==
 
Available on [[Get_Hardware|Get Hardware]] page, hopefully :)
 
 
== Mechanical Dimensions ==
 
[[Image:LisaM_V1_0_top_mechanical.png|500px|Lisa/M v1.0 Mechanical Dimensions]]
 
== Downloads ==
 
'''Source files'''
:*download available on GitHub: ''[https://github.com/paparazzi/paparazzi-hardware/tree/master/controller/lisa_m/v1.0 Lisa/M v1.0 Cadsoft Eagle 5.x Design]''
'''Gerber & Drill files'''
:*download ''NOT YET AVAILABLE'' Need generated gerbers and drill files
'''Assembly files'''
:*download ''NOT YET AVAILABLE'' Need Lisa/M v1.0 Components layouts (pdf)
:*download ''NOT YET AVAILABLE'' Need Lisa/M v1.0 Bill Of Material
 
== Upload firmware ==
 
Uploading firmware onboard USB is not possible with this boart. The boords need hardware modification to make it possible. A very nice way to upload, a.k.a. flashing new Paparazzi code to the board is to use a [[Lisa/M#JTAG|JTAG]] adapter. Less convenient since it takes a special adapter. But this adapter makes it more convenient when testing; one does not need to repower the board to reflash. And flashing via JTag cable is very fast. Also debugging the autopilot is very handy with JTAG.
 
=== Required components ===
 
 
=== Connection Diagram ===
 
 
=== Boot Sequence ===
 
== JTAG ==
 
JTAG can be used to upload firmware if no bootloader as present. It can also be used for debugging.
 
* [[JTAG]] description;
* General [[Dev/Debugging|debugging information]];
* [[DevGuide/JTAG-Debug|JTAG usage]], includes Eclipse uplink tutorial.
 
 
== Detailed Hardware Revision History ==
 
=== 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 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
* ...
 
=== Hardware Change 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: This upgrade will be available through Aspirin v2.0 --[[User:Esden|Esden]] 22:54, 5 January 2012 (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.
 
=== USB usage Notes for v1.0 ===
Lisa/M v1.0's USB circuit is not working out of the box. If you wish to use it for example in the combination with Luftboot you will need to make some slight hardware modifications to the board.
 
* You need to remove pull-up resistors on USB_DM and USB_DP lines (R27 and R28)
* While using the USB interface you need to have UART1_TX connected to 3v3 or USB_VBUS (This means you can not transfer data to the GPS while using USB)
* Optionally you can also remove R14 and Q2
 
The GPS UART (UART1) and USB collision was fixed as of Lisa/M v2.0 where the usage of UART1 was swapped with UART3.
 
To use Luftboot on Lisa/M 1.0 then follow instructions for [[Luftboot]] after these hardware modifications.
 
[[Category:Lisa]] [[Category:User_Documentation]] [[Category:Autopilots]]

Latest revision as of 18:15, 2 August 2013

THE LISA/M v2.0 IS NOW AVAILABLE

Lisa/M V1.0 top view

NOTE: THERE IS A NEW VERSION OF LISA/M AVAILABLE

Lisa/M is a small, general purpose autopilot designed with flexibility across multiple applications in mind. Small weight and size, with (optional) integrated Aspirin IMU and full size 0.1" servo headers make the Lisa/M suitable for both fixed-wing and rotorcraft vehicles. This autopilot is based on the STM32 for improved peripherals and faster processing.

A number of tutorials are being prepared for getting started with Lisa/M:

Hardware Revision History

Version # Release Date Release Notes
v1.0 MM/YYYY Lisa/M Initial Production Release
v0.1 MM/YYYY Initial prototype of Lisa/M

For detailed hardware revision history, please see below.

Features

Lisa/M is based on the 64 pins STM32F105RCT6 connectivity line family 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 part of the high-density performance line family.

  • STM32 microcontroller STM32F105RCT6 datasheet with 256kB flash and 64kB RAM
  • 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 Aspirin 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 (v0.1 - v1.1).

In short, you only need to add a high quality GPS module and then you have all necessary sensors for full attitude and altitude stabilization in an extremely small package.

Pinout

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

LisaM V1 0 top labeled.png

SERVO1/2/3/4/5/6/7
Pin # Name Type Description Color
1 SERVOx OUT Servo signal (PWM) Yellow
2 SV PWR Servo Bus Voltage Rail (conf w/ JP1) Red
3 GND PWR common ground Black


JTAG
Pin # Name Type Description Color
1 N/A N/A JTAG Debug Header None


UART1
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR UART Voltage (conf w/ JP6 and JP7) Red
3 TX OUT USART1 Serial Output (3.3V level) Yellow
4 RX IN USART1 Serial Input (3.3V level)(5V tolerant) Orange


UART3/5
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 RX3 IN USART3 Serial Input (3.3V level)(5V tolerant) Orange
4 GND PWR common ground Black
5 +3V3 PWR 3.3V Rail from autopilot Red
6 RX5 IN UART5 Serial Input (3.3V level)(5V tolerant) Orange


GPIO
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 PC10 I/O GPIO PC10 = LED 5 Pink
4 PC12 I/O GPIO PC12 = LED 4 Dark Tan
5 TRST I/O JTAG_TRST = LED1 Light Tan


ANALOG2 (if Populated)
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 +5V PWR 5V Rail from autopilot Red
4 ADC4 I/O ADC4 Magenta
5 ADC6 I/O ADC6 Pink
6 BOOT I/O BOOT Grey


USB
Pin # Name Type Description Color
1 N/A N/A USB None


I2C1 CAN
Pin # Name Type Description Color
1 GND PWR common ground Black
2 V_BATT PWR V_BAT Bus on autopilot, voltage divider for V_BAT_MEAS, (conf w/ JP2 to connect to V_IN) Red
3 V_IN PWR Connected to autopilot voltage regulator inputs (conf w/ JP1, JP2 and JP3) Red
4 CANL I/O CANL (5V level) Orange
5 CANH I/O CANH (5V level) Yellow
6 SCL I/O SCL (5V level) Green
7 SDA I/O SDA (5V level) Blue


SPI1
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 MOSI Out MOSI Orange
4 MISO In MISO Yellow
5 SCK Out SCK Green
6 SS Out SS Blue
7 DRDY I/O DRDY Dark Tan


ANALOG1
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 +5V PWR 5V Rail from autopilot Red
4 ADC1 In ADC1 Green
5 ADC2 In ADC2 Blue
6 ADC3 In ADC3 Light Tan


UART2
Pin # Name Type Description Color
1 GND PWR common ground Black
2 VCC PWR UART Voltage (conf w/ JP4 and JP5) Red
3 TX OUT USART2 Serial Output (3.3V level) Yellow
4 RX IN USART2 Serial Input (3.3V level)(NOT 5V TOLERANT) Orange


I2C2
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 SCL I/O SCL (3.3V level) Green
4 SDA I/O SDA (3.3V level) Blue


Jumper Configuration

There are a number of jumpers on Lisa/M used to configure voltage levels and power input.


Power Jumper Configuration
Jumper Bus Connection Default Description
JP1 SERVO_BUS to V_IN CLOSED Connects servo header voltage rail SERVO_BUS to autopilot input voltage V_IN rail
JP2 V_BAT to V_IN OPEN Connects I2C1/CAN rail V_BAT to autopilot input voltage V_IN rail
JP3 V_IN to +5V OPEN Connects autopilot input voltage V_IN rail to autopilot +5V rail, bypassing onboard 5V supply


UART1 VCC Configuration
Jumper Bus Connection Default Description
JP6 UART1_VCC to V_IN OPEN Connects UART1 connector VCC to autopilot input voltage V_IN rail
JP7 UART1_VCC to +3V3 CLOSED Connects UART1 connector VCC to autopilot +3V3 rail

WARNING: DO NOT CLOSE BOTH JP6 AND JP7 SIMULTANEOUSLY!!!


UART2 VCC Configuration
Jumper Bus Connection Default Description
JP4 UART2_VCC to V_IN OPEN Connects UART2 connector VCC to autopilot input voltage V_IN rail SEE WARNING BELOW
JP5 UART2_VCC to +3V3 CLOSED Connects UART2 connector VCC to autopilot +3V3 rail

WARNING: UART2 RX is NOT 5V TOLERANT. Thus, while possible to connect UART2_VCC to V_IN, DO NOT ATTEMPT THIS. Only use JP5 (the default).

WARNING: DO NOT CLOSE BOTH JP4 AND JP5 SIMULTANEOUSLY!!!


Powering the Board

The 3.3V regulator on Lisa/M is a MIC5209-3.3YM capable of delivering up to 500mA. While it is possible to power this regulator with up to 16V, experience has shown that this regulator can become very hot in operation with high input voltages, resulting in potential thermal shutdown while in flight. Depending on the expected current draw, it is best to power this regulator with a lower voltage. 5V is the perfect choice.

The onboard 5V regulator on Lisa/M is a LP2992, a low-noise, low-dropout linear regulator capable of delivering up to 250mA. This regulator can be bypassed with JP3, connecting the autopilot V_IN bus directly to the autopilot 5V bus if, for example, one is using an external 5V regulated supply.

Schematic


Examples of Airborne Equipment Electrical Connections

Small Aircraft Connection Diagram

Need an Umarim_v1.0-style ( here) small aircraft airborne equipment electrical connections here.

Large Aircraft Connection Diagram

Need an Umarim V1.0-style ( here) large aircraft airborne equipment electrical connections diagram here.

R/C Receivers

There is Spektrum parser available already, enabling the direct use of 1 or 2 Spektrum satellite receivers.

Connection of Spektrum Satellite Receivers to Lisa/M v1.0

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

Download Lisa/M v1.0 gerber & drill files (zip) NOT YET AVAILABLE BUT SEE Downloads Need some generated gerbers and drill files here.

Assembly

Components Layout

NOT YET AVAILABLE BUT SEE Downloads Need some top and bottom of board images and line drawings here.

Bill Of Material

Download Lisa/M v1.0 Bill Of Material (zipped .xls file) NOT YET AVAILABLE BUT SEE Downloads

PCB and assembled boards suppliers

Available on Get Hardware page, hopefully :)


Mechanical Dimensions

Lisa/M v1.0 Mechanical Dimensions

Downloads

Source files

Gerber & Drill files

  • download NOT YET AVAILABLE Need generated gerbers and drill files

Assembly files

  • download NOT YET AVAILABLE Need Lisa/M v1.0 Components layouts (pdf)
  • download NOT YET AVAILABLE Need Lisa/M v1.0 Bill Of Material

Upload firmware

Uploading firmware onboard USB is not possible with this boart. The boords need hardware modification to make it possible. A very nice way to upload, a.k.a. flashing new Paparazzi code to the board is to use a JTAG adapter. Less convenient since it takes a special adapter. But this adapter makes it more convenient when testing; one does not need to repower the board to reflash. And flashing via JTag cable is very fast. Also debugging the autopilot is very handy with JTAG.

Required components

Connection Diagram

Boot Sequence

JTAG

JTAG can be used to upload firmware if no bootloader as present. It can also be used for debugging.


Detailed Hardware Revision History

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 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
  • ...

Hardware Change 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: This upgrade will be available through Aspirin v2.0 --Esden 22:54, 5 January 2012 (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.

USB usage Notes for v1.0

Lisa/M v1.0's USB circuit is not working out of the box. If you wish to use it for example in the combination with Luftboot you will need to make some slight hardware modifications to the board.

  • You need to remove pull-up resistors on USB_DM and USB_DP lines (R27 and R28)
  • While using the USB interface you need to have UART1_TX connected to 3v3 or USB_VBUS (This means you can not transfer data to the GPS while using USB)
  • Optionally you can also remove R14 and Q2

The GPS UART (UART1) and USB collision was fixed as of Lisa/M v2.0 where the usage of UART1 was swapped with UART3.

To use Luftboot on Lisa/M 1.0 then follow instructions for Luftboot after these hardware modifications.