Component Analysis

advertisement
ECE 477: Digital Systems Senior Design
v1.0
Component Analysis
Year: 2014
Semester: Fall
Team: 1
Creation Date: September 19, 2014
Member 1:
Member 2:
Member 3:
Member 4:
Yuhao Chen
Xianzhe Zhou
Yuchen Cui
Enpei Xi
Project: Extreme Sports UAV
Last Modified: February 8, 2016
Email: chen902@purdue.edu
Email: zhou196@purdue.edu
Email: cui27@purdue.edu
Email: exi@purdue.edu
Assignment Evaluation:
Item
Score (0-5)
Assignment-Specific Items
Analysis of Component 1
Analysis of Component 2
Analysis of Component 3
Bill of Materials
Writing-Specific Items
Spelling and Grammar
Formatting and Citations
Figures and Graphs
Technical Writing Style
Total Score
5: Excellent 4: Good
Weight
Points
Notes
x2
x2
x2
x6
x2
x1
x2
x3
3: Acceptable 2: Poor
1: Very Poor 0: Not attempted
General Comments:
Relevant overall comments about the paper will be included here
IMPORTANT NOTE: The Bill of Materials is a separate document and should be downloaded
and filled out in concert with this document. Please submit it when you submit this component
analysis, but do not combine the BOM with this document (such as in an appendix, etc.)
https://engineering.purdue.edu/ece477
Page 1 of 6
ECE 477: Digital Systems Senior Design
v1.0
1.0 Component Analysis:
The microcontroller will be the central computing and commanding unit of our design,
which needs to interface with other components through PWM, ATD, I2C and SPI channels.
Other major components in our design include:
i.
ii.
iii.
iv.
v.
vi.
A flight controller will interface with our microcontroller through PWM channels,
outputs signals to control motor rotations and at the same time utilizes GPS, IMU and
ultrasonic sensor data to stabilize the copter.
A computer vision module is used to output the position of a target object in terms of x
y coordinates of the frame that is produced by the camera on UAV.
A Bluetooth data transmission module is needed to connect the User’s Android device
to the UAV, which needs to have a transmission range of at least 15 meters.
A radio receiver is used to communicate between the user and UAV as an alternative
method of remote control when Bluetooth connection is not established.
A Global Positioning System (GPS) module is used to detect positions of the UAV in
terms of latitude and longitude, whose values will be used by the motion detection
algorithm.
An Inertial Measurement Unit (IMU), in addition to the one used by the flight controller,
is used by the microcontroller to measure the movements of the UAV in different
directions.
1.1 Analysis of Microcontroller:
Considering brand name and availability of help from course staff, our
team looked into Microchip products, the PIC families, to pick a
microcontroller that meet our requirements. Using the website of Microchip,
we applied a filter requiring at least 6 PWM channels, 1 UART interface, 2 SPI
interfaces and 2 I2C interfaces, we acquired a list of 30 or so microcontrollers
as shown in Figure 1, which are basically PIC22HJ and PIC33FJ families. Then
we talked with course staff to see what was available at hand and checked out a
PIC33FJ128GP710A. We are going to use this chip to prototype our design and
see if we switch to a different one.
1.2 Analysis of Flight Controller:
A good flight controller is critical for the success of our UAV. For our
project, the major criteria for a good flight controller are good stabilization
control and support of 4-8 motors. However, there is no good way to see how
good a flight control’s stabilization is. By reading reviews online, watching
Youtube examples together with inquiring some professionals, we were able to
narrow the selections down to ArduPilot [1] and DJI A2 [2]. ArduPilot is an
open source flight controller while the DJI A2 is a commercial product. With
https://engineering.purdue.edu/ece477
Fig 1. List of
microcontrollers
meet requirements
Page 2 of 6
ECE 477: Digital Systems Senior Design
v1.0
all the documentation and open source projects available online, we decided ArduPilot Mega is
our best choice of flight controller.
1.3 Analysis of Computer Vision Module:
A computer vision module will be used to detect the position of a color object in the
recording frame. It is expected to be used with I2C interface. Considering the difficulty of
Computer Vision algorithm implementation, we narrowed the selection down to Pixy
(CMUcam5) [3] and Raspberry Pi [4] with camera module. Pixy (CMUcam5) module is a
dedicated computer vision IC module developed by a group of students in CMU and has
demonstrated its ability to recognize different colored objects efficiently. Course staff also
recommends it. The downside of this device is the limitation of the camera sensor. It only
supports up to 1280x800 resolution. On the other hand, Raspberry Pi runs Linux. It provides
more computation power and control on Computer vision programs. Also, we can select camera
modules on our own to fit our needs. However, the complexity of getting Computer Vision to
work on the device with a camera module causes too much trouble and battery power. After an
overall analysis, we choose Pixy over Raspberry Pi because Pixy costs much less power and it is
ready to use without unnecessary effort into Computer vision program development.
Pixy
Raspberry Pi + camera Module
1280x800 resolution
2592x1944 resolution
50Hz processing speed
Depends on Computer vision algorithms
Ready to use
Development needed
140mA power consumption 700mA(Raspberry Pi) + 200mA(camera)
$69
$39.44 (Raspberry Pi) + 27.5(camera)
1.4 Analysis of Bluetooth Module:
The Bluetooth Module connects the user’s Android device to the UAV’s microcontroller
and transmits/receives commands and data. It should have a transmission range of more than 15
meters. We have conducted extensive research on different commercial Bluetooth modules and
have chosen the WRL-12579 [5] on sparkFun.com as our Bluetooth Module. The module has a
transmission distance of 100 meters with RN41.It is FCC certified with fully configurable UART
interface. It supports BCSP, DUN, LAN, GAP SDP, RFCOMM, and L2CAP protocols. (The
default Android Bluetooth communication protocol is RFCOMM) The module also comes with a
breakout board, which will facilitate the mechanical interfacing with the microcontroller. Two
more final candidates were found, WRL-11600 [6] and WRL-11601 [7]. The WRL-11600 is
very similar to WRL-12579. However, the WRL12579 is better at interfacing labeling and the
part comes with online tutorial. There are also many online complaints on WRL11600
underneath the product section. The WRL11601 is a sibling of WRL11600 with a PCB antenna
instead of a chip antenna. The size of the antenna makes the data transmission distance only 20
meters with RN42. After a team discussion, we have decided to make the Bluetooth module an
https://engineering.purdue.edu/ece477
Page 3 of 6
ECE 477: Digital Systems Senior Design
v1.0
independent module (not on the PCB) and chosen the one with longer transmission distance
(RN41-100 meters).
WRL-12579
WRL-11601
WRL-11600
FCC Certified
FCC Certified
FCC Certified
RFCOMM
RFCOMM
RFCOMM
Breakout Board
Breakout Board
Break Board
Chip Antenna
(RN41-100 meter)
PCB Antenna
(RN42-20 meter)
Chip Antenna
(RN41-100 meter)
UART
UART
UART
UART interface pin labeling
Only Vcc and GND labels
Only Vcc and GND labels
Online Tutorial Support
Datasheet only
Datasheet only
Vcc = 3.3V
Vcc = 3.3V
Vcc = 3.3V
$34.95
$29.95
$24.95
1.5 Analysis of Radio Receiver:
The radio receiver will be activated and responsible for transmitting commands from a radio
transmitter to the microcontroller to control the UAV when Bluetooth connection is lost. It
should have a transmission range larger than that of the Bluetooth module. Since we already
acquire a transmitter DSM2 from Spektrum, what we need is a receiver from Spektrum to bind to
the transmitter. After some research, SPMAR8000 [8] and SPMAR610 [9] become our potential
choices. However, we cannot find any formal data from data sheet or technical specifications that
indicates the range of the transmission distance. After checking out the review from other users,
we believe the range of radio receiver/transmitter from Spektrum is about 400 -1.5 km (depends
on circumstance) in normal, which is acceptable for us. Both of our choices share the similar
specifications. The most considerable difference is that SPMAR8000 has 8 channels
communication while SPMAR610 has only 6 channels. More channels of control give us more
freedom of commanding the UAV to perform different tasks. This allows our UAV to do more
precise movements as needed. And SPMAR8000 has an external remote antenna while
SPMAR610 does not. The antenna guarantees a more reliable and stable range of transmission.
SPMAR8000 also provides a guide video for component placement. After a team discussion,
although SPMAR610 is cheaper than SPMAR8000, we still consider SPMAR8000 will be better
for our design for the consideration of stable data transmission.
SPMAR8000
SPMAR610
8 Channels
6 Channels
Another External Antenna
No External Antenna
https://engineering.purdue.edu/ece477
Page 4 of 6
ECE 477: Digital Systems Senior Design
v1.0
BIND/DATA
BIND/DATA
SPMAR8000
SPMAR610
Tutor Video
Datasheet only
2048 Resolution
2048 Resolution
$129.99
$69.99
1.6 Analysis of GPS Module:
A GPS module will be used to determine the position of the UAV and subsequently to
navigate the UAV. Our team has already acquired two GPS modules for testing purpose:
CJMCU-GPS-HMC5883L [10] and Cirocomm 580 [11]. The CJMCU-GPS-HMC5883L comes
with Cirocomm 585 GPS antenna. After extensive research, no technical specifications or data
sheet were found for either of the GPS modules. Our team will have to choose a GPS module
based on our own user experience. The two GPS modules might not have much of a difference in
our use case. Some metrics to consider later when determining the GPS module are size, update
rate, power requirement, number of channels, antennas and accuracy.
CJMCU-GPS-HMC5883L
Cirocomm 580
3.8cm*3.8cm*0.8cm
2.5cm*2.5cm*0.2cm
48g
6 pin cable or 4 pin cable
1.7 Analysis of Inertial Measurement Unit
An IMU will be used to detect UAV motions. An accelerometer will be needed to measure
the accelerations of the UAV in different directions in order to calculate its displacement in
space. To accurately calculate the accelerations in a fixed reference coordinate system shared by
both the user and the UAV, a gyroscope is needed to provide the roll, yaw and pitch angles for
correcting the deviation. Therefore an integrated IMU is desired in our design. There are several
popular IMU’s used by many open source quadcopter projects, among which the MPU families
are the most popular ones. Specifically, we looked at MPU-6000/MPU-6050 [12] and MPU9150 [13]. There major difference between the two is that MPU-9150 is 9-axis with a
magnetometer while MPU-6000/MPU-6050 has only the accelerometer and gyroscope. Though
the gyroscope can directly measure raw, pitch and yaw angles, using of a magnetometer will help
correct the values using a Kalman filter algorithm. So we decided to use MPU-9150.
https://engineering.purdue.edu/ece477
Page 5 of 6
ECE 477: Digital Systems Senior Design
v1.0
2.0 Sources Cited:
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
ArduPilot: http://ardupilot.com/
DJI A2: http://www.uavproducts.com/category.php?id_category=48
Pixy: http://charmedlabs.com/default/?page_id=211
Raspberry Pi: https://www.sparkfun.com/products/11546
WRL-12579 : https://www.sparkfun.com/products/12579
WRL-11600 : https://www.sparkfun.com/products/11600
WRL-11601 : https://www.sparkfun.com/products/11601
SPEKTRUM AR8000: http://www.horizonhobby.com/products/ar8000-8-channeldsmx-receiver-SPMAR8000#t1
SPEKTRUM AR610: http://www.horizonhobby.com/products/ar610-6-channel-dsmxaircraft-receiver-SPMAR610#t6
CJMCU-GPS-HMC5883L: http://www.deal-dx.net/deal-dx/viewitem/303679-cjmcu108-apm-2-6-gps-hmc5883l-neo-6m-rotary-flight-control-compass-modulepurple.html#.VBnzlCVESBs
Cirocomm 580:
http://item.taobao.com/item.htm?spm=a230r.1.14.1.xWrjpl&id=39898699814&ns=1#de
tail
MPU6050: http://www.invensense.com/mems/gyro/mpu6050.html
MPU9150: http://www.invensense.com/mems/gyro/mpu9150.html
Other References:
GPS metrics:https://www.sparkfun.com/pages/GPS_Guide
Receiver channel difference: https://www.hobbywarehouse.com.au/articles/differencesbetween-3-4-6-channel-rc-helicopters.html
Receiver range: http://www.rcgroups.com/forums/showthread.php?t=2106008
Camera module https://www.sparkfun.com/products/11868
https://engineering.purdue.edu/ece477
Page 6 of 6
Download