team chopper distributed communication nodes for autonomous helicopters shirley choi bejan...
Post on 19-Dec-2015
217 views
TRANSCRIPT
Team Chopper
Distributed Communication Nodes for Autonomous Helicopters
Shirley Choi
Bejan Hafezzadeh
Joseph Kaiser
Sean Norwood
Itay Tenne
Introduction
Overview
• Topological Avionics Diagram
• CAIN PCB (Can Avionics Interface Node)– Block Diagram (all ICs in relative location)
– Schematic
– Layout
– Pictures
• JOANN protocol– Key features & Terminology
– Abstract CAIN Block Diagram & Unit Example
– Comprehensive Example
• Part List
• Division of Labor
• Schedule
Subterranean Mapping Using Wire Suspended by Two
Autonomous Co-operative Helicopters
Normal Mode
Inverted Mode
DeSalvo Tandem
Topological Diagram
Bluetooth
Host PCfor test, debug, and
configuration
Servos RC receiver
RC Transmitter
PWM signalsRS232 Servo battery
On board Radio
RS644
USB
Error Correcting GPS
Power Board
Power Generator
All Boards
Flight Computer
Interface Board
IMU
Interface Board
GPS
Interface Board
Pressure Sensors
Interface Board
Magnetometer
Interface Board
INS
Satellites
RS232 RS232 RS232 RS232
Interface Board
Interface Board
Ground Radio
To GPS
Interface Board
BluetoothModule
RS232
USB
CAN Multi-Drop Bus
Servo Isolation
CAIN PCB Block Layout
ISP
TWI/SPI ADC
JTAG
addr
Addr/data
Atmel
AT90CAN128
CAN transceiver/
CAN bus
LEDs
Jumpers/Selectors
PWM (6 channels)
RS232-1
RS232-0 RS644 NV RAM
EEPPOM
CAN transceiver/
CAN bus
CAIN Revision 1 Pictures
TOP Populated Bottom Populated
Status• Processor & All peripherals
functional• I2C EEPROM untested• NVRAM untested
Power Distribution Board
• Takes AC from the onboard Brushless Alternator
• Converts to DC
• Regulates the DC it to 5.4Volts D.C.
• Converts the 5.4Volts D.C. to many other voltages (+5V,+3.3V,±8.5V)
• Will be implemented on a PCB
Power Distribution Board
• To be implemented on a Printed Circuit Board
• Will use on chip switching converters for high efficiency.
• Will use Surface mount chips for low noise and ruggedness.
Power Supply Board
Alternator3.73-30 Volts
Depending on Motor Speed
Three phase RectifierOutputs 5.4-40.5 Volts D.C.
Regulated DC-DC switching converterConverts to 5.4 Volts D.C.
+5 VoltsSwitching Converter
-8.5 VoltsSwitching Converter
+8.5 VoltsSwitching Converter
+3.3 VoltsSwitching Converter
JOANN Protocol
Key Features• Generic and Powerful• Easy to use • Conceptually similar to a
directed graph• FIFO buffers are pervasively
used as sockets• Sockets and Channels are
established during initialization.
• Kernel runs in background and routes source to destination.
• Configurable Real-Time Transit Delays
“Jolly Old Avionics Node Networking”(actually named in retribution to JOANN for the shopping cart)
Terminology
• “socket”: a FIFO buffer which is used as a global source or sink, analogous to vertices in a directed graph.
• “channel”: a custom struct which holds all information about the channel between two sockets, including the id_path, transit_delay, source and sink pointer, etc., analogous to an edge.
• “id_path”: FIFO buffer of multiple IDs linking nodes and sockets.
• “port”: a FIFO buffer for low level on-chip external interface (UART, I2C, CAN,PWM_IN, PWM_OUT…)
• “node”: one of the physical CAIN PCBs
• “FIFO buffer”: First In First Out buffer that passes data along the channel
Source Port
Sink Port
Source Socket
Sink Socket
Channel
Simple Example
Port_ADevice_m
Port_BDevice_n
s_sock_1 d_sock_1 s_sock_2
d_sock_2d_sock_3 s_sock_3
get_dev_m_data() or ISR()dev_m_parser()
router()process_1()
send_dev_m_data() or ISR()router()
dev_n_dispatcher()process_2()
Select Devices in config.h• UART1_DEVICE = IMU
• UART1_DEVICE = GPS
• UART1_DEVICE = PRESSURE
• …
• PWM_CH_1_DEVICE = SERVO
• I2C_DEVICE = EEPROM
• …
On-Board Ports• UART0 (RS232 or TTL)
• UART1 (RS232,RS644 or TTL)
• CAN
• SPI
• I2C
• GP I/O & ADC
• PWM_CH_m OUT
• PWM_CH_n IN
servo_ch1
rcvr_ch1
servo_ch2
servo_ch3
rcvr_ch2
rcvr_ch3
servo_ch1
rcvr_ch1
servo_ch2
servo_ch3
rcvr_ch2
rcvr_ch3
BLUETOOTH
GPS ELAN 5P
IMU
Less simple example
Mainloop(){
router() //Background Kernel#if UART0_DEVICE == IMUimu_service();#endif //… same for allgps_service();elan_service();rcvr_service();servo_service();bluetooth_service();process1();process2();process3();
}
Init_ports();
#if UART0_DEVICE == IMUInit_buffer(A,SIZE_A);XRAM_PTR += SIZE_A; //… same for all#endif //attach UART_PORT to IMU SOCKETInit_buffer(B, SIZE_B);Init_buffer(C, SIZE_C);
//Channel ID_paths used to connect sockets//could make as many as you wantInit_buffer(ID_path, SIZE_PATH);Link_to_ID_path(B);Link_to_ID_path(C);Link_to_ID_path(SERVO1);//last one on path is object ID
//Create channel object linking A to SERVO1//Locally, only a single edge//Globally, a path defined here is propagated.Create_new_channel(A,ID_path);
Code Example
Controller Area Network (CAN)
• We will use CAN to transmit data between our avionics equipment
• CAN is a multicast serial bus standard that allows for high data transfer rates
• It allows for priority-based bus arbitration, ideal for our system
Standard CAN Data Frame
• The 11 bit identifier field allows for bus arbitration
• 4 bit DLC field declares the length of the data packet in the following field
• The integrity of the data is protected by a checksum (CRC)
RC Demodulation
RCReceiver
PWMDemodulator
CAN Parser / Dispatcher
41958
2915
31958
28910
9185
PWMPort
To servos
5267
21850
9481
42018
Servos
• Motor with an onboard controller
• Gets position Signals and moves to that position
• Receives commands via PWM
• 5volt supply needed
GPS
• NMEA standard– GPGGA sentence identifier
• RS232 interface
• ASCII messaging format
NMEA: Latitude longitude altitude
Flight Box
• Isolate vibration from the helicopter
• A damper-spring system
• Provide shielding for the power board
• Designed with Solidworks, analyzed by Ansys
• Carbon fiber and aluminum
• Will be machined and assemble in ITLL
Part List
Module Cost Sub Total
Custom Cain PCBs
Manufacturing 150
Assembly 100
Components 50
300
CAIN PCB for:
IMU Node 300
GPS Node 300
Servo Node 300
Flight Computer Node 300
Bluetooth Node 300
1500
COTS Bluetooth Module Donated
Custom Power PCB
Manufacturing 100
Assembly 100
Components 50
250
Custom Avionics Flight Box 200
STk500/501 development board 200
JTAG In Circuit Emulator Donated
Miscellaneous Small Parts 170
Total: $2320
Funded by Prof. Meyer and UROP
Part ListParts quantity
Chopper 1
Digital Servos 1
586-Engine-P 1
GPS 1
STK500 development board
2
RC receiver 1
Shopping Cart 1
12V battery 2
Provided by Prof. Meyer:
Division of Labor
• Bejan– I2C on chip communication
– Node testing routines
• Itay– RC demodulation
– JOANN development
• Joe– Power PCB
– Servo driver
• Sean– JOANN development
– CAIN PCB revision 2
• Shirley– Flight Box
– GPS
• All– Testing and Debugging
Goals Toward Milestones
• Milestone I– Completion of the power board PCB– Completion of the fabrication of the flight box– Completion of the Servo node– Completion of JOANN research development
• Milestone II– Fully tested JOANN– System completely interfacing thought CAN bus– Shopping Cart testing