Lovelace_auto_aim_camera_hw7

advertisement
Auto-Aim Camera
Homework 7: Functional Descriptions
Due: April 12, 2013
Prepared by
Jacob Lovelace and Aaron Loichle
Percentage of effort
towards this assignment
Jacob Lovelace
Aaron Loichle
50 %
50 %
Realistic Design Constraints (from report #5)
Economic: The camera mount is going to be marketed towards a target audience very similar
to that of GoPro. This audience consists of action sport enthusiasts from ages fourteen to thirty.
A GoPro camera sells for anywhere between $200 and $400 depending on the model. The
Team hopes to sell the camera mount at a retail price less than or equal to $300. This will keep
the mount at a reasonable price, a price that is affordable by most athletes involved in extreme
sports. Approximately 30% of revenue will go to the funders, 30% to the Team and 40% to
production.
Environmental: The RF transmitter will need to follow specifications set by the Federal
Communication Comission (FCC). This should not be difficult because this is not a high
frequency project.
Health and Safety: Some consumers of the camera mount may be nervous about putting a RF
transmitter on their person. It is important that while marketing this project it is conveyed that
there is no danger; the radio waves are harmless. It is a common myth amongst the public that
the radio waves emitted from cell phones can cause cancer. This is not true because the
frequencies emitted by cell phones and most gadgets are a million times too low to have
enough energy to cause ionization in a human cell (humantruth.info). The transmitter in this
project will transmit radio waves at similar frequencies to a cell phone, posing no threat to
humans or the environment. Accidents are inevitable in the world of extreme sports. It is the
Team’s responsibility to ensure that accidents caused by the camera mount are minimal to
none. One way this can be done by ensuring that there are no sharp pieces or corners on the
mount.
Manufacturability: The camera mount should be manufactured for 40% of the retail price.
With the goal retail price of $300, that would put the cost to build it at $120. This is the
maximum acceptable cost of manufacturing. Ideally the Team would like to get this price down
as low as possible. Mass producing the product and buying materials in bulk is a necessity in
driving production cost down. The materials that will be used to construct the mount will all be
common materials and consequently will not be difficult to find. The battery will be required to
last at least 8 hours straight (the GoPro has a life of 2.5 hours straight use).
Sustainability: The mount will need to withstand extreme conditions as it will be used in
various extreme sports. It needs to be strong enough to withstand heavy abuse without failure.
Material selection as well as the mechanical construction of the mount will be extremely
important in achieving these criteria. The mount will also be subjected to extreme
temperatures. This will affect the decision on which microprocessor to use as well as
construction materials. The operation of the mount should remain unaffected in cold and hot
environments. Another huge necessity of the mount is it needs to be waterproof for
watersports.
Professional and ethical responsibilities: The RF transmitter will have to transmit within the
allocated frequency band set by the FCC. The Team is ethically responsible to test the product
extensively to ensure that it functions as advertised as well as to ensure it is as safe as possible.
Implementation:
When discussing the implementation of the auto-aim camera mount there are quite a few
factors to consider. There is the mechanical build of the device, the electronic aspect, the
hardware and the programming. The hardware will consist mostly of electronic devices such as
microcontrollers, operational amplifiers, servo motors, switches, infrared I/O etc. The
mechanical aspect is likely a task to be passed onto an expert of the field but will consist of
constructing a sturdy, durable, small and lightweight mount. The software is going to be
written on the microcontroller and will control when, where and how the camera is aimed.
Main components to implement:
Microcontroller: One of the most important technologies of the device is it’s “brain”, or its
microcontroller. In the case of the prototype an Arduino Uno microcontroller will be used. If
this device goes to mass production an Arduino controller will not likely be used. Instead the
team will design a custom circuit board accomplishing all necessary electronic tasks with a
microcontroller built in. For the case of the prototype however, this Arduino controller will
suffice. It is powered by 7-12V, it has 14 input/output pins, a clock speed of 16MHz and has
32KB of flash memory. It is programmed using Arduino software with code written in C. It has
dimensions of 2.7x2.1 inches.
Program: It will now be beneficial to discuss the programming aspect to the device that will be
written to the microcontroller. Below is a high level flow diagram of the program to be
implemented.
Program Flow
Diagram
SYNC button
pressed
Power on
Power off
Wait for
command
STOP/OFF
Check if
button is held
for 5 sec
Check if
transmitter
location is
still locked
NO
Found?
Display
“Device
not found”
NO
NO
START button
is pressed
Begin Main
Program
Search for
Specified RF
signal (rotate
camera 360
degrees)
YES
Break main
program
Constant
loop
centering
device
Output info
to motors
YES
If device lost
– slowly pan
area until
found
YES
The device will remain idle and wait for a button to be pressed on the remote. When the sync
button is pressed the device will run through a program to find the transmitter. Once it is found
it will then wait for the next command (most likely the START command). Once the program is
started it quickly checks that it still knows the location of the device and then runs through a
constant loop checking and adjusting the position of the transmitter to the center of the
camera frame. The output info of this loop is sent to the servo motors that physically positions
the mount. The program stays in this loop until it is broken by the user pushing the stop button
once. If the user pushes and holds the stop button for five seconds it will tell the program to
power down the device. When building and implementing this program the group will require
help from someone fluent in C programming and familiar with Arduino controllers.
Implementation Diagram –
Camera Mount
Power
9V NiMH DC
Battery Pack
RF Link
Transmitter –
315MHz
Maxim
Integrated RF
Amplifier
Remote
Control
High
Sensitivity IR
Receiver
Heat
1
Arduino Uno
Microcontroll
er
PID controller
(Kangaroo x2
motion
controller)
Digital Switch
2A – LTC1477
Two servo
small servo
motors
Aims the
camera at
target
0
5v battery
Remote
control
interface
Precision
Joystick
controller
Status
Indication
(Frequency,
battery life)
C2G –
Infrared
Transmitter
Implementation Discussion:
Discussing this diagram in the direction of logical flow, from left to right, the first technology to
discuss is the RF Transmitter. The transmitter is powered by a supply of 5v and outputs a signal
at a frequency of 315-434 MHz. This device fully operates in the temperature range of -20-85
degrees Celsius. This satisfies the sustainability design constraint. This transmitter is to be
enclosed in a protective case containing a 5V battery powering it. The cost of the transmitter is
approximately $4. Next to be discussed is the implementation of the device itself. The device
will be powered by a 9V 250mAh NiMH high capacity rechargeable battery. The cost of this
battery is approximately $5. The RF signal will be received by Hi Sensitivity Receiver module or
RF link receiver. This receiver has a frequency range of 434MHz, making it compatible with the
transmitter. It has a supply voltage of 5V and costs $5. Next the signal is passed through an RF
amplifier. This amplifier (DVGA2-33PP) has a gain of 19dB with a resistance of only 50ohms. The
frequency range of the amplifier is 0.05 – 3GHz which more than encompasses the utilized
frequencies. This amplifier costs about $8. Once the signal is amplified to a workable level it is
passed into the microcontroller through one of the analog inputs. For a detailed description of
the microcontroller, see the discussion on the Arduino Uno above. The Arduino controller then
runs the program described above with the input of the RF signal. This controller costs $25. This
controller would then be coupled with a PID controller to implement a feedback loop and
stabilize the motion of the motors. This motion controller (Kangaroo x2) works hand in hand
with the Arduino board. It is a two channel self-tuning controller. This motion controller costs
$24. The output of this program sends information to the servo motors to position them. This
servo operates at a supply voltage of 4.8-6V. It has an operating speed of 0.1sec/60 degree and
an output torque of 1.4kg/cm. The servo costs $9. This is the end result of the device; taking
the RF signal, analyzing it and then pointing the camera at the transmitter. The final technology
to be implemented is the technology concerning the remote control. The remote control itself
will have an Infrared transmitter. This transmitter works at a distance of 45 feet and integrates
well with an Arduino controller. It has a broadcast angle of 20 degrees and it can be
programmed to communicate any arbitrary protocols. The transmitter costs $22. There then
needs to be an RF receiver in the mount itself that communicates directly with the Arduino.
This programmable IR receiver has two output pins and approximately a fourth the size of a
quarter. This receiver costs $10. It is a design option to include a manual aim override. If it were
included another necessary part would be the joystick. This joystick would be linked directly to
the IR transmitter on the remote which would then send the data ultimately to the main
controller. This joystick comes with necessary circuitry and boards. This package costs $6.
Data Sheets:
http://www.mouser.com/ds/2/34/Uno-187970.pdf - Arduino Uno
https://www.sparkfun.com/datasheets/Wireless/General/MO-SAWR.pdf - RF Transmitter
http://www.batteryjunction.com/te9v25nihica.html - 9V battery
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/General/RWS-3716_433.92MHz_ASK_RF_Receiver_Module_Data_Sheet.pdf - RF receiver
http://www.minicircuits.com/pdfs/DVGA2-33PP+.pdf – Amplifier
http://www.dimensionengineering.com/datasheets/KangarooManual.pdf-kangaroox2 PID
https://www.sparkfun.com/products/9065 - Servo
https://www.sparkfun.com/products/10247 - Infrared transmitter
https://www.sparkfun.com/datasheets/Sensors/Infrared/SIS-2.pdf -IR receiver
https://www.sparkfun.com/products/9032 - joystick
https://www.sparkfun.com/products/9110 - joystick circuit board
Introduction implementation two:
There are two major components of the auto-aim camera project. The first component is the
transmitter. The transmitter will be attached to the target being filmed, and transmit a radio frequency
allowing the receiver to locate and track the target.
The second major component of the auto-aim camera system is the receiver. The receiver of the autoaim camera will be significantly more complex than the transmitter. This is because the receiver will be
embedded in the system that processes the incoming signal, and points the camera at the target being
filmed. In order to do this the received signal will have to be processed by a microcontroller, which will
then control servos to point the camera at the target.
Between the signal being received, the microcontroller, and the camera we will need several pieces of
hardware to interface the separate-commercially available components. Below is a description of each
of the components, and an implementation block diagram showing an alternative implementation of the
auto-aim camera system:
Transmitter Assembly
For this implementation we would use the XBee 1mW Wire Antenna – Series 1 (802.15.4) to transmit
the location of the target being filmed. The XBee has a 300ft range, and 8 digital IO pins, which would
allow us to interface the XBee with our microcontroller. The XBee requires 3.3V to function, and is
available for $22.95 (“XBee”). To power and control the XBee RF transmitter we would use the Arduino
Pro Mini 328 -3.3V/8MHz the Pro Mini is compact, and would be sufficient to power and run the XBee
transmitter. The Pro mini will work well for us because it also runs at 3.3V, so it could power the XBee,
but the Pro Mini will accept a voltage up to 12VDC, so we can power it with a regular 12v battery. The
drawback of the Pro Mini is that does not come populated with connectors, so we will have to solder the
XBee directly to the board. The Pro Mini is available for $9.95 (”Arduino Pro Mini”). To power the Pro
Mini we will use a 9V snap connector and a 9V alkaline battery available for $1.25 and $1.95 at
sparkfun.com.
Receiver Assembly
To receive the signal from the transmitter we will use a second XBee. The XBee is a good choice
because it can be used for wireless communication with low power consumption. A 3.6V 600mA
Lithium battery may last 6-12 month powering an up XBee (XBee Tutorial). The XBee Shield mates the
XBee transceiver to any development board. We will be using an Arduino, which has a standard
footprint allowing the microprocessor to receive the incoming RF signal from the transmitter attached to
the target being filmed. The XBee Shield is available for $24.95 (“Shield”). The shield will attach directly
to the Arduino Uno –R3. The Uno-R3 is an open source physical computing platform based on simple
I/O board. The Uno-R3 will function as the brain of the auto-aim camera receiving a signal from the
XBee on the target being filmed. The Arduino will then process that signal, and rotate the camera to
point in the direction of the target.
The microcontroller will be a vital link between the incoming signal and the servo motors. There will
two motors controller by the microcontroller. The first motor will pan the camera left and right. The
second motor will tilt the camera up and down. The interface between the microcontroller and the
motors will be done with the Ardumoto – motor driver shield. This is a motor shield for the Arduino
that will control two DC motors. The Ardumoto can drive up to 2 amps per channel, and will take its
power from the same Vin line as the Arduino board. This board is available for $24.95 (“Ardumoto”).
It will be important for us to implement a feedback control system to control the motors of the auto-aim
camera mount. The 2motor w/feedback control add-on for Arduino Nano will allow us to control up to
two DC motors at a maximum of 2 amps per motor. This add-on unit comes with feedback current
sense circuitries for both motors independently. This will allow us to control the speed of the motor
using Pulse-width modulation (PWM) feedback control. This method of feedback control will allow us to
control the speed of the camera rotation by modulating the power sent to the servo motors. This addon will also allow us to sense the load of the motor and adjust control accordingly. This using is available
for $29.95 (“Motor Feedback Control”).
The feedback control unit with output control will be connected to two servos. We found the Servo –
Large Full Rotation listed on Sparkfun.com to be a suitable option. These motors can continuously
rotate 360 degrees allowing us to point the camera in any direction. These servos have a top operating
speed of 60 – 70 RPM, and can sustain a torque of 3.3-4.8 kg-cm. In the final stages of our design we
will have to calculate if these specifications will meet our design requirements. This is the largest servo
motor we were able to find at this time. It would be beneficial to use this model because it operates
between 4.8 – 6.0 volts, which would be ideal for us because our microcontroller will be running at 5
volts. These servos are $13.95 each and we will need two (“Servo”).
The final operational link between the target being filmed and the camera will be a Pan/Tilt Bracket.
The pan/tilt bracket consists of two brackets, and all the hardware you need to attach them to make a
pan/tilt mechanism using two servo motors. The Pan/Tilt Bracket is available for $5.95 (mount).
Below all of the components of the auto-aim camera are shown in an implementation block diagram.
The diagram reflects the separation of the two major components of the system by showing the
transmitter and receiver on separate branches. Along each branch the diagram shows how each
component would be connected to the next.
Auto-Aim Camer
Mount
Transmitter
Reciever
(Transmit signal)
XBee 1mW Antenna
(Receiver)
XBee 1mW Antenna
(Power Transmitter)
3.6v 600mA lithium
battery
(interface
w/microcontroller)
XBee Shield
(Protect Transmitter)
Custom waterproof
Enclosure
(Microcontorller)
Arduino UNO-R3
(Attach to target)
Armband
(motor interface)
Ardumoto motor
driver shield)
(Feedback Control)
2motor feedback
control add-on
(rotate camera
mount) Servo (x2)
(mount camera) Pan
tilt Bracket
Datasheets for implementation two:
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Shields/xbeeshield-v14.pdf - XBee shield
https://www.sparkfun.com/datasheets/Wireless/Zigbee/XBee-Datasheet.pdf - XBee
http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf - Arduino Uno
https://www.sparkfun.com/datasheets/DevTools/Arduino/Ardumoto_v13.pdf - Arduino Pro Mini
http://site.gravitech.us/Arduino/2MOTOR-4NANO/Schematic.pdf - Feedback controller
SWOT Analysis (Best Choice - Implementation One):
The cost to build both the first and second configuration of the auto-aim camera was very
similar. The first configuration would cost approximately $118 in material and the cost of the
second implementation would be $127.2. Based on our initial cost estimate of $120 to build
the device we chose to use implementation one.
The actual price of manufacturing will be much less than what we have specified for the
prototype because we will benefit and economy of scale when we go to mass production, but
because to second implementation uses a much more expensive transceiver we think that we
will benefit for much greater cost reduction using implementation one.
Strengths:
-Standalone transmitter/receiver combination is much less expensive than transceiver used in
second option.
-The less expensive transmitter is much less complex, so we would not have to program the
hardware. It is a dedicated transmitter.
-We would be able to market the product for a very reasonable price.
Weaknesses:
-We would lose the ability to program the transmitter to suit the project
-Less expensive transmitter would not allow us to change to a different channel in multiple
products were being used in one area.
Opportunities:
- We would be able to capitalize on the success of the GoPro brand name
- The lower price of the product would make it easier to find backers using nontraditional
funding resources link Kickstarter.
Threats:
-Less expensive transmitter is more susceptible to noise interference.
Works Cited
"Arduino Pro Mini." Arduino Pro Mini 328. N.p., n.d. Web. 12 Apr. 2013.
<https://www.sparkfun.com/products/11114>.
"Arduino Uno." Arduino Uno. N.p., n.d. Web. 12 Apr. 2013.
<https://www.sparkfun.com/products/11021>.
"Ardumoto." Ardumoto. N.p., n.d. Web. 12 Apr. 2013.
<https://www.sparkfun.com/products/9815>.
"Motor Feedback Control." 2MOTOR W/ Feedback Control Add-on for Arduino Nano. N.p., n.d.
Web. 12 Apr. 2013. <http://www.gravitech.us/2mwfecoadfor.html>.
"Servo." Servo. N.p., n.d. Web. 12 Apr. 2013. <https://www.sparkfun.com/products/9347>.
"Shield." XBee Shield. N.p., n.d. Web. 12 Apr. 2013.
<https://www.sparkfun.com/products/10854>.
"XBEE Tutorial." XBEE Tutorial. N.p., n.d. Web. 12 Apr. 2013.
<https://sites.google.com/site/xbeetutorial/>.
"XBee." XBee 1mW Wire Antenna. N.p., n.d. Web. 12 Apr. 2013.
<https://www.sparkfun.com/products/8665>.
Download