Difference between revisions of "Booz/Autopilot"

From PaparazziUAV
Jump to: navigation, search
(Bill Of Material: Getting this filled out finally. Adding more this weekend.)
Line 12: Line 12:
 
|colspan="10" align="left"|''Resistors''
 
|colspan="10" align="left"|''Resistors''
 
|-
 
|-
|8||0/DNP||R24,R26,R27,R31,R32,R41,R42,R48||0 Ohm Resistor 0603||R-US_R0603||Any||foo_man#||541-0.0GCT-ND||foo_mouser
+
|8||R24,R26,R27,R31,R32,R41,R42,R48||0/DNP||0 Ohm Resistor 0603||R-US_R0603||Any||foo_man#||541-0.0GCT-ND||foo_mouser
 
|-style="background:WhiteSmoke; color:black"
 
|-style="background:WhiteSmoke; color:black"
 
|colspan="10" align="left"|''Capacitors''
 
|colspan="10" align="left"|''Capacitors''
 
|-
 
|-
|22||100nF||C2, C4, C5, C9, C10, C11, C12, C13, C14, C15, C20, C21, C22, C23, C26, C27, C30, C33, C35, C36, C37, C39||100nF CAP 0603||C-EUC0603||Any||foo_man#||399-5089-1-ND||foo_mouser
+
|22||C2, C4, C5, C9, C10, C11, C12, C13, C14, C15, C20, C21, C22, C23, C26, C27, C30, C33, C35, C36, C37, C39||100nF||100nF CAP 0603||C-EUC0603||Any||foo_man#||399-5089-1-ND||foo_mouser
 
|-style="background:WhiteSmoke; color:black"
 
|-style="background:WhiteSmoke; color:black"
 
|colspan="10" align="left"|''ICs''
 
|colspan="10" align="left"|''ICs''
 
|-
 
|-
|2||TPS2051B||U$12, U$13||TPS2051B||TPS2051B||Any||foo_man#||296-21265-1-ND||foo_mouser
+
|2||U$12, U$13||TPS2051B||TPS2051B||TPS2051B||Any||foo_man#||296-21265-1-ND||foo_mouser
 
|}
 
|}
  

Revision as of 16:49, 23 March 2012


Bill Of Material

Qty Schematic part name Value Description Package Manufacturer Manufacturer part # Digikey Mouser
Resistors
8 R24,R26,R27,R31,R32,R41,R42,R48 0/DNP 0 Ohm Resistor 0603 R-US_R0603 Any foo_man# 541-0.0GCT-ND foo_mouser
Capacitors
22 C2, C4, C5, C9, C10, C11, C12, C13, C14, C15, C20, C21, C22, C23, C26, C27, C30, C33, C35, C36, C37, C39 100nF 100nF CAP 0603 C-EUC0603 Any foo_man# 399-5089-1-ND foo_mouser
ICs
2 U$12, U$13 TPS2051B TPS2051B TPS2051B Any foo_man# 296-21265-1-ND foo_mouser


Building Tips

Since the Booz uses the same LPC2148 as the Tiny and TWOG autopilots and runs the same core code the documented steps are nearly the same for booz. Below more Booz specific tests are given. However after assembly you load the bootloader in the same way to enable programming via the USB interface.

Assembly Tips

  • BOM


  • Assembly Notes
  • Expected voltages for newly created boards

Loading the USB Boot Loader

This is virtually the same steps as for all other LPC2148 based Paparazzi autopilots. Just the cable is different. Using UART0/serial to load the image.

Create an adapter cable that has Tx/Rx and Ground along with the ability to hold P0.14 low (i.e. grounded). My cable has P0.14 pin connected to ground as I have found P0.14 should be held low during the entire upload process. See the Eagle Schematic for the pinouts on the GPS connector you will use to upload (same connector as the Tiny/TWOG). NOTE: You can not use the same cable as the Tiny/TWOG.

Steps:

  1. Connect the "USB to FTDI cable" (#1 above) TTL ends to 8-pin Picoblade to FTDI board cable
  2. Connect the USB end to your Linux laptop (/var/log/messages should show a new device on /dev/ttyUSB0).
  3. Connect 8-pin adapter cable to "GPS" 8-pin Pico-Female on Booz Main "GPS" labeled connector
  4. Using common ground" set BOOT (P0.14) "low" and keep it held low (on GPS connector)
  5. Power on (~5v to 12v current limited power supply suggested)
  6. Enter this command in a terminal:
    make upload_bl PROC=GENERIC

NOTE: Success will mean you see this at the end in the terminal:

Synchronizing. OK
Read bootcode version: 2.12.0
Read part ID: LPC2148, 512 kiB ROM / 40 kiB SRAM (67305253)
Sector 0: .................................................. .............................................
Sector 1: .................................................. .........................
Download Finished... taking 6 seconds
Now launching the brand new code
ioctl get failed
ioctl set ok, status = 0
ioctl get ok, status = 2
ioctl get ok, status = 2
ioctl set ok, status = 2
ioctl set ok, status = 0
ioctl set ok, status = 0

What you need to see is the "Download Finished" message. Now you can remove Jumper and FTDI cable. From now on all programming is loaded using USB Adapter cable

USB Programming

Once the USB boot code is loaded (see above) you now program the autopilot via USB. To enable the LPC2148 to wait for programming on the USB interface you must power the board while the USB is connected to the ground station computer. When properly wired P0.21 will be fed 5v from the USB interface and at boot time that tells the LPC2148 to wait for programming over USB. Once programmed the board will rest itself and run the programming (even if you leave the cable attached).

Steps

  1. Connect the USB cable from the computer to the Booz Main USB connector
  2. Power on the Booz Main board
  3. On the Linux (computer) side dmesg should show you a new detected USB device
  4. In Paparazzi Center click "Upload" and wait for the ####### message to show the code is being uploaded.

That's it.