Difference between revisions of "Tiny v1.1"

From PaparazziUAV
Jump to navigation Jump to search
(Redirecting to Tiny/v1.1)
 
(14 intermediate revisions by 7 users not shown)
Line 1: Line 1:
The Tiny autopilot was designed with an end user application in mind.
#REDIRECT [[Tiny/v1.1]]
 
== Features ==
 
* Single LPC2148 MCU
* 8 Analog input channels 0V - 3.3V
* 1 3.3V TTL UART (5V tolerant)
* 7 PWM outputs
* 1 R/C receiver PWM frame input
* 1 [http://en.wikipedia.org/wiki/Serial_Peripheral_Interface SPI] bus
* 1 [http://en.wikipedia.org/wiki/I2c I<sup>2</sup>C] bus
* 1 USB (client)
* Integrated GPS receiver and patch antenna (4Hz update)
* 5V/2A switching power supply & 3.3V linear regulator
* 2 LEDs (status display)
* 1 button (initiate launch)
* 25 grams
* 63 x 35mm (smaller then a business card)
 
The Tiny autopilot uses a single Philips LPC2148 ARM7 based microcontroller.
The [http://www.arm.com/products/CPUs/families/ARM7Family.html ARM7] is a low-power 32-bit RISC processor core and the [http://www.standardics.philips.com/products/lpc2000/ Philips LPC2148] has 512KB on-chip Flash ROM, 40KB RAM and can be clocked at 60MHz.
 
Although critical control code such as the R/C interface and servo output are well segregated in Paparazzi software and well protected from interference from flaws in the stability/navigation/comm/payload code, great care must be taken when experimenting with new software as some errors can cause a the processor to halt or stall for extended periods causing total loss of control.  The dual processor [[Classix]] addresses this risk by runnning critical code on a separate independent processor.
 
The schematics are available from the [http://cvs.savannah.nongnu.org/viewcvs/paparazzi3/hw/controller/?root=paparazzi CVS repository].
<br>
 
[[Image:TINY_1.3_MCU_300PX.jpg]]
[[Image:TINY_1.3_MCU_BOTTOM_300PX.jpg]]
 
== Architecture ==
 
[[Image:Tiny_v099_Architecture.gif]]
 
== Pinout ==
'''(Tiny13 v1.1)'''
 
[[Image:Tiny13_v1_1_pinout.gif]]
<br style="clear:both">
 
 
''Pins Name and Type are specified with respect to the Autopilot Board''
 
{| border="1"  cellspacing="0" style="text-align:center" cellpadding="6"
|+'''SERIAL 1'''
!''Pin #''!!''Signal''!!''Type''!!''Desription''!!width="50"|''Suggested Color''
|-
|1||GND||PWR||''self explanatory''||style="background:black; color:white"|Black
|-
|2|| +3.3V||PWR||''self explanatory''||style="background:red; color:white"|Red
|-
|3||SDA0||I/O OD||I2C0 data||
|-
|4||SCL0||I/O OD||I2C0 clock||
|-
|5||P0.14||IN||In-Circuit Serial Programming (ISP) enable - LOW on this pin during boot up to enable||
|-
|6||RESET||IN||External Reset - A LOW on this pin performs a MCU hardware reset||
|-
|7||RXD_0||IN||UART0 Serial Input (used by ISP Serial Bootloader) (5V Tolerant)||style="background:green; color:white"|Green
|-
|8||TXD_0||OUT||UART0 Serial Output (used by ISP Serial Bootloader) (5V Tolerant)||style="background:blue; color:white"|Blue
|}
 
 
{|| border="1"  cellspacing="0" style="text-align:center" cellpadding="6"
|+'''SERIAL 2'''
!''Pin #''!!''Signal''!!''Type''!!''Desription''!!width="50"|''Suggested Color''
|-
|1||GND||PWR||''self explanatory''||style="background:black; color:white"|Black
|-
|2|| +3.3V||PWR||''self explanatory''||style="background:red; color:white"|Red
|-
|3||SCK||I/O||SPI0 Serial clock. Clock output from master or input to slave||
|-
|4||MISO||I/O||SPI0 Master In Slave Out. Data input to master or data output from slave||
|-
|5||MOSI||I/O||SPI0 Master Out Slave In. Data output from master or data input to slave||
|-
|6||SSEL||IN||SSP Slave Select. Selects the SSP interface as a slave (SSEL1)||
|-
|7||INT||IN||External interrupt 2 input (EINT2)||
|-
|8||USB+||I/O||USB bidirectional D+ line||style="background:green; color:white"|Green
|-
|9||USB-||I/O||USB bidirectional D- line||style="background:white; color:black"|White
|-
|10||P0.23||IN||Indicates the presence of USB bus power (VBUS) (5V Tolerant)||style="background:orange; color:white"|Orange
|}
 
'''RC'''
 
{|
|1
|GND
|common ground
|(Black)
|-
|2
|5V
|POWER_OUTPUT - 5V Rail from Tiny
|(Red)
|-
|3
|PPM_IN
|INPUT - PPM Stream from RC Receiver (5V TOLERANT)
|(White)
|-
|4
|NC
|''no connection''
|-
|5
|NC
|''no connection''
|-
|}
 
'''ANALOG'''
 
{|
|1
|GND
|
|(Black)
|-
|2
|3.3V
|
|(Red)
|-
|3
|ADC_0
|
|-
|4
|ADC_1
|
|-
|5
|ADC_2
|
|-
|6
|ADC_3
|
|-
|7
|ADC_4
|
|-
|8
|ADC_5
|
|-
|9
|ADC_6
|
|-
|10
|ADC_7
|
|-
|}
 
P0.14 - Holding this pin low for at least 3mS after a RESET (or power up) instructs the controller to enter programming mode.
 
For reference, Matthew Currie is assembling his Tiny(s) with WS Deans Micro 2R connectors for power as they are a commonly available R/C connector and are of high quality and durability.  They do not have a positive lock mechanism but insert under a lot of pressure.  They do not require any special crimping tools and withstand up to 10A.
 
[[Image:Wsdm3007.png]]
 
== Bill of Materials (BOM) ==
 
Please note that there are differences between 0.9, 0.99, and 1.1.  Choose the version that matches your hardware.
 
'''Warning''': C20 needs to be a low ESR capacitor and the one listed on the BOM isn't. A proper replacement would be B45197A2226K209. This could potentially cause instability of the 3V3 supply which, of course, is critical.
 
=== Tiny 1.1 BOM ===
 
[http://www.recherche.enac.fr/paparazzi/wiki_images/b/b1/1.1_bom.zip 1.1_bom.zip]
 
Addendum:  There are digikey part numbers for two more of the components.
Murata inductor is 490-1116-1-ND
Tactile Switch is either SW1020CT-ND (grounded) or SW1021CT-ND.
 
=== Tiny 0.99 BOM ===
<small>
{|
|-valign="top"
|Qty ||Value||Device||Parts||Manufacturer||PN||distr PN
|-valign="top"
||7 || - ||53047-03 ||CAMERA, RC_RX, S0, S1, S3, S4, S5 ||Molex ||53047-0310 ||DK WM1732-ND
|-valign="top"
||1 || - ||53047-04 ||VIDEO_TX ||Molex ||53047-0410 ||DK WM1733-ND
|-valign="top"
||1 || - ||53047-08 ||SERIAL_1 ||Molex ||53047-0810 ||DK WM1737-ND
|-valign="top"
||2 || - ||53047-10 ||ANALOG, SERIAL_2 ||Molex ||53047-1010 ||DK WM1739-ND
|-valign="top"
||1 ||FUTABA_BEND ||FUTABA_BEND ||CON_ESC || - || - || -
|-valign="top"
||2 ||LEDCHIP ||LED0805 ||LED1, LED2 ||Kingbright ||APT2012EC ||MO 604-APT2012EC
|-valign="top"
||1 ||B3S ||B3S ||SW1 || OMRON ELECTRONICS || B3S-1002 || RS 183-717
|-valign="top"
||1 ||0.47uH ||L-EUL2012C ||L2 || WURTH ELEKTRONIK || 74479032 || RS 308-8564
|-valign="top"
||1 ||15uH ||WE_PD ||L1 ||Pulse ||P1168.153T ||MO 673-P1168.153T
|-valign="top"
||2 ||33R ||R-EU_R1005 ||R9, R10 ||Yageo ||RC0402JR-0733L ||DK 311-33JRCT-ND
|-valign="top"
||1 ||150R ||R-EU_R1005 ||R12 ||Yageo ||RC0402JR-07150L ||DK 311-150JRCT-ND
|-valign="top"
||3 ||1K ||R-EU_R1005 ||R2, R3, R8 ||Yageo ||RC0402JR-071KL ||DK 311-1.0KJRCT-ND
|-valign="top"
||1 ||1.5K ||R-EU_R1005 ||R11 ||Yageo ||RC0402JR-071K5L ||DK 311-1.5KJRCT-ND
|-valign="top"
||2 ||3.3K ||R-EU_R1005 ||R6, R15 ||Yageo ||RC0402JR-073K3L ||DK 311-3.3KJRCT-ND
|-valign="top"
||1 ||4.7K ||R-EU_R1005 ||R1 ||Yageo ||RC0402JR-074K7L ||DK 311-4.7KJRCT-ND
|-valign="top"
||7 ||10K ||R-EU_R1005 ||R4, R5, R13, R14, R16, R17, R18 ||Yageo ||RC0402JR-0710KL ||DK 311-10KJRCT-ND
|-valign="top"
||2 ||12K ||R-EU_R1005 ||R103, R105 ||Yageo ||RC0402JR-0712KL ||DK 311-12KJRCT-ND
|-valign="top"
||1 ||15K ||R-EU_R1005 ||R7 ||Yageo ||RC0402JR-0715KL ||DK 311-15KJRCT-ND
|-valign="top"
||2 ||56K ||R-EU_R1005 ||R102, R104 ||Yageo ||RC0402JR-0756KL ||DK 311-56KJRCT-ND
|-valign="top"
||1 ||100K ||R-EU_R1005 ||R101 ||Yageo ||RC0402JR-07100KL ||DK 311-100KJRCT-ND
|-valign="top"
||3 ||18pF ||C-EUC0402K ||C3, C7, C10 ||TDK ||C1005C0G1H180J ||DK 445-1238-1-ND
|-valign="top"
||2 ||22pF ||C-EUC0402K ||C8_1, C9_1 ||Yageo ||CC0402JRNPO9BN220 ||DK 311-1018-1-ND
|-valign="top"
||1 ||100pF ||C-EUC0402K ||C103 ||Kemet ||C0402C101J3GACTU ||DK 399-1022-1-ND
|-valign="top"
||1 ||220pF ||C-EUC0402K ||C102 ||Kemet ||C0402C221K5RACTU ||DK 399-1030-1-ND
|-valign="top"
||1 ||220pF/50V ||C-EUC1206K ||C4 ||Yageo ||CC1206KRX7R9BB221 ||DK 311-1164-1-ND
|-valign="top"
||1 ||1nF ||C-EUC0402K ||C104 ||Kemet ||C0402C102K3RACTU ||DK 399-1031-1-ND
|-valign="top"
||1 ||3.3nF ||C-EUC0402K ||C101 ||Kemet ||C0402C332K5RACTU ||DK 399-3070-1-ND
|-valign="top"
||1 ||22nF/50V ||C-EUC1206K ||C6 ||Yageo ||CC1206KRX7R9BB222 ||DK 311-1176-1-ND
|-valign="top"
||8 ||100nF ||C-EUC0402K ||C1_1, C2, C3_1, C4_1, C5_1, C6_1, C7_1, C106 ||Kemet ||C0402C104K8PACTU ||DK 99-3027-1-ND
|-valign="top"
||3 ||100nF ||C-EUC0603 ||C8, C9, C21 ||Kemet ||C0603C104J4RACTU ||DK 399-1097-1-ND
|-valign="top"
||1 ||10uF ||CPOL-EUA/3216-18R ||C18, C105 ||Kemet ||T491A106M010AS ||DK 399-1564-1-ND MO-80-T491A106K010
|-valign="top"
||1 ||22uF ||CPOL-EUB/3528-21R ||C20 ||Kemet ||B45196H1226M209 ||DK 495-2185-1-ND
|-valign="top"
||1 ||47uF/16V ||CPOL-EUD/7343-31R ||C5 ||Kemet ||B45197A3476K409 ||DK 495-1544-1-ND
|-valign="top"
||1 ||330uF/10V ||CPOL-EUD/7343-31R ||C1 ||Kemet ||B45197A2337K509 ||DK 495-1536-1-ND
|-valign="top"
||1 ||0.2F ||J1ROUND ||C77 ||Panasonic - ECG ||EEC-EN0F204J1 ||DK P11070CT-ND
|-valign="top"
||1 ||AD8552RU ||AD8552RU ||IC2 ||Analog Devices Inc ||AD8552ARU ||DK AD8552ARU-ND
|-valign="top"
||1 ||BAS70 ||BAS70 ||D1 ||Micro Commercial Co. ||BAS40-TP ||DK BAS40TPMSCT-ND
|-valign="top"
||1 ||STPS2L ||STPS2L ||D2 ||STMicroelectronics ||STPS2L30A ||DK 497-3759-1-ND
|-valign="top"
||1 ||CD4015B ||CD4015B ||IC1 ||Texas Instruments ||CD4015BPWR ||DK 296-14090-1-ND
|-valign="top"
||1 ||12MHz ||CRYSTAL_CTS ||Q1 ||CTS-Frequency Controls ||405C35B12M00000 ||DK CTX639CT-ND
|-valign="top"
||1 ||DDTA143 ||MUN2111T1 ||T1 ||Diodes Inc ||DDTA143ZCA-7 ||DK DDTA143ZCADICT-ND
|-valign="top"
||1 ||L5973D ||L5973D ||REG1 ||STMicroelectronics ||L5973D013TR ||DK 497-3638-1-ND
|-valign="top"
||1 ||REG1117 ||REG1117 ||REG2 ||National Semiconductor ||LM1117MP-3.3 ||DK LM1117MP-3.3CT-ND
|-valign="top"
||1 ||LEA-4P ||LEA-4P ||GPS ||Microblox ||LEA-4P-0-000-0 || -
|-valign="top"
||1 ||GPS_ANT_13 ||GPS_ANT_13 ||ANTENNA ||Sangshin || KSA-ST1580MS13 || -
|-valign="top"
||1 ||LPC2148 ||LPC2148 ||MCU ||Philips ||LPC2148FBD64-S ||DK 568-1765-ND
|-
|}
 
DK = digikey
 
MO = mouser
 
RS = radiospares
</small>
 
== Home Assembly ==
 
Visit here for the wiki page on [[Tiny_Assembly|Self Assembly Tips and Techniques]].
 
== Programming ==
[[Image:Tiny_test_wiring.jpg|thumb|Example wiring for programming and telemetry]]
The Philips LPC21xx series ARM7 microcontrollers include hardware ISP (InCircuit Serial Programming) and can be programmed through the serial interface UART0 (Serial1) by holding pin P0.14 low during power-up.  Paparazzi software includes a USB bootloader program that allows for easy 1-second programming through a standard USB port with no adapters needed.  This allows us to upload new settings, flight plans, or software updates quickly and conveniently without the need to disconnect the modem from UART0.  <br>See the [[Compiling|Compiling and Flashing]] page for instructions on installing the bootloader and autopilot software.

Latest revision as of 02:34, 11 December 2011

Redirect to: