SPIRIT-C Solar Powered Image Response Infrared Tracking Camcorder Justin Eiler Jeff Morroni Adeel Baig Andy Crahan Jim Patterson.

Download Report

Transcript SPIRIT-C Solar Powered Image Response Infrared Tracking Camcorder Justin Eiler Jeff Morroni Adeel Baig Andy Crahan Jim Patterson.

SPIRIT-C
Solar Powered Image Response Infrared Tracking Camcorder
Justin Eiler
Jeff Morroni
Adeel Baig
Andy Crahan
Jim Patterson
Overview

Design an infrared tracking camcorder
 All components solar powered
 Stepper Motors control camera movement
 Pyro-electric sensors detect IR emission
 Spartan-3 + PicoBlaze provides system
control
Presentation Outline


System Components
– Manual Control – Adeel Baig
– Solar Power System – Jeff Morroni
– Stepper Motor Controllers – Jeff Morroni
– Infrared Sensors – Andy Crahan and Adeel Baig
– System Integration – Jim Patterson
– Software – Justin Eiler, Jim Patterson, Andy Crahan
– System Mounting – Justin Eiler
Parts List, Schedule, and Milestones
System Block Diagram
Solar Panel
Peak Power
Tracker
Spartan-3
Voltage/Current
Sensors
Data
IR Sensor PCB with
A/D Converters
Deep Cycle
Battery
Power
Mechanical
LED
Motor
Controller
PCB
Stepper
Motors
Digital
Camcorder
Computer
Manual Control

Genesis controller has
a DB-9 interface
 The controller is active
low
 When a switch is
pressed, the output is
shorted to ground
74HC157

Quad 2 line to 1 line
multiplexer
 2 inputs for every
output
 1 select signal for the
chip
Controller Pins
Solar Power System
Solar Panel
Spartan-3
Peak Power
Tracker
Voltage/Current
Sensors
Deep Cycle
Battery
IR Sensor PCB with
A/D Converters
Motor
Controller
Stepper
Motors
Digital
Camcorder
Flyback Converter and
Current/Voltage Sensors
•FPGA controls Peak Power and Converter Shutoff
•Uses voltage and current sensors to compute peak power point and
determine if battery is charged
Current and Voltage Sensors
•LMP8270 uses common mode
voltage to sense current
•Simple Voltage Divider Senses
Voltage
•FPGA computes peak power point
and battery charge state
Solar Panel

Sharp NE-80EJE
donated from Namaste
Solar Electric
 80W, 17.1 Vmax, 4.67
Imax
 Length of 4.0’
 Width of 1.8’
Deep Cycle Battery

105 Amp Hours
 12.5V nominal output
Solar Power System Status
Peak Power Model
2
1.8
1.6
Input Power
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Duty Cycle



Flyback converter built and tested
Deep Cycle battery integrated with flyback converter
Solar cells modeled with resistor in series with a voltage
source
Motor Controller Schematic
L297 Stepper Motor Controller

Half/Full Step
Capability
 Direction Input
 Enable Input
 Clock Input
L298 Dual Full-Bridge Driver

Capable of Driving
Motors up to 2A
 Current Sensing
Capability allows for
quick current decay
when windings are
turned off
Stepper Motor
•0.8A Winding Current
•0.9 degree step sizes
PCB Layout
Pyro-electric IR Sensors

Only pyro-electric sensors have the rapid motion
detection we require for high speed filming
 These operate like current sources with output
proportional to the rate of change in temperature
 Extremely fast responses set them apart
 They are also insensitive to external DC effects
Current PIR Status

Successful testing of PIR directional signal
generation
 Amplification and filtering circuit performs
as desired, railing the right and left
movement signals to 5V
 This is dropped to 3.3V for direct signal
interpretation on the FPGA
PIR Output Filter,
Amplification, and Latching

Gain stage 1 sets amplifier gain and DC operating
point
 Also creates band-pass filter to amplify only
signals above DC yet below 10Hz

Gain stage 1 feeds stage 2 through a RC high pass
filter
 Stage 2 output (pin 14) is biased to 2.5V under no
detection

Gain stage 2 feeds a window comparator of 2 opamps to rail the PIR signal
 Comparator provides a small voltage window for
PIR signal to avoid noise of minor sensor
fluctuations

Resistors bias comparator references to 175mV
above and below 2.5V for left and right detections
respectively
 Thus the window comparator provides 350mV
dead zone centered at 2.5V to ignore noise
Multi-vibrator IC used to latch output signals
Circuit Timing Issues:
Multivibrator

The second gain stage feeds
the CD4538 dual single shot
multi-vibrator.
 The CD4538 is re-triggerable
and re-settable for continuous
motion detection.
 Dual chip enables left versus
right signal processing.

Each single shot has an active high output feeding
the left and right signal outputs.
 With cross coupling of the trigger inputs, the first
single shot triggered will inhibit the others trigger

Re-triggering occurs under two successive valid triggers
(3) and (4) prior to the output Q falling low.
 A re-trigger as timing node T2 increases from Vref1 to
Vref2 causes an increase in output pulse width.
 Thus, continued motion during timeout will re-trigger the
timing circuit and extend the pulse period until motion is
no longer detected.
Motion Sensitivity

This window comparator enables accurate motion
sensing for a valid trigger: skateboarder, intruder,
small child, etc.
 The PIR with a Fresnel lens mounted 0.6 inches
off the sensor produces accurate motion detection
in two directions (left and right or up and down)
 The Fresnel lens enables motion detection of up to
90 feet
 For the design expo we are optimizing the PIR
sensitivity for approximately 8 feet
Spartan-3 and PicoBlaze
PicoBlaze Features







16 byte-wide general-purpose
data registers
1K instructions of programmable
on-chip program store,
automatically loaded during
FPGA configuration
ALU: CARRY and ZERO
indicator flags
64-byte internal scratchpad RAM
Automatic 31-location
CALL/RETURN stack
2 clock cycles per instruction
Fast interrupt response; worstcase 5 clock cycles
Why PicoBlaze?
8-bit micro-controller Re-uses logic resources
Interrupt handling
 Excellent for control
and state machine
applications

System Block Diagram
Solar Panel
Peak Power
Tracker
Spartan-3
Voltage/Current
Sensors
Data
IR Sensor PCB with
A/D Converters
Deep Cycle
Battery
Power
Mechanical
LED
Motor
Controller
PCB
Stepper
Motors
Digital
Camcorder
Computer
System Integration





PicoBlaze - send control signals to ADC, DAC, and MUXes
for receiving IR sensor information and converter information
MUXes - continuously polled at 50MHz for information, scrolling
through each of 15 sensors and saving current state information
ADC - synchronized to 25 MHz clock signal
receive output voltage and current from converter
DAC – synchronized to 25 MHz clock signal
send PWM signal to gate drive converter MOSFET
FPGA state machines
Input - IR signal, converter voltage and current
Outputs - motor control signal, converter PWM signal
IR Sensors and Converter Control
Converter control
Voltage Regulator
Output
IR signal processing
IR signal processing

Header – IR sensors
separately connected

IR Network – separate
gain stages, filtering and
latching

MUXes – MAX306CPI
left and right channels
MUXes
15 IR networks
Header
Converter Control
ADC
Level Shifters
ADC – 0808CCN
converter V and I  digital signal

DAC – 0830LCN
digital signal  PWM voltage

Level Shifters – HCF40109
digital signals from 5V3.3V

DAC
State Machine
Pad_start = 1
Reset = 0
Start_up
Reset = 1
Pad_left = 0
Move_Left
Manual
Automatic
Pad_start = 0
Pad_down = 0
Move_Down
Pad_up = 0
Move_Up
Pad_right = 0
Move_Right
*All 4 Move_x states return to previous state after one cycle
Software
Verilog HDL (State Machine)
-
Manual control
IR signal flow
Motor control
PicoBlaze Assembly Language
-
Serial communication
Sensor polling
Converter control
Example Code for Manual Control
case (state)
MANUAL: begin
automode = 0;
if(pad_up == 1) begin
state = MOVE_UP;
end
else if (pad_down ==1) begin
state = MOVE_DOWN;
if(pad_left == 1) begin
state = MOVE_UP_LEFT;
end
if(pad_left == 1) begin
state = MOVE_DOWN_LEFT;
end
else if(pad_right == 1) begin
state = MOVE_UP_RIGHT;
end
else if(pad_right == 1) begin
state = MOVE_DOWN_RIGHT;
end
end
*Verilog HDL used to code FPGA
else if(pad_left == 1) begin
state = MOVE_LEFT;
if(pad_down != 1) begin
state = MOVE_DOWN_LEFT;
end
else if(pad_up != 1) begin
state = MOVE_UP_LEFT;
end
end
Test Code for Micro-controller
cold_start:
•
LOAD s0, 00
OUTPUT
s0, FF
LOAD
s1,ascii_X
INPUT
TEST
JUMP
JUMP
s0, buffer_full
s0, b_full
Z, UART_write
rs232_echo
OUTPUT
LOAD
s1, uart_data_tx
s1, 00
INPUT
TEST
JUMP
s0, data_present
s0, b_full
Z, led_echo
INPUT
s1, uart_data_rx
INPUT
OUTPUT
s0, switch_in
s0, leds_out
send_prompt:
send_to_UART:
UART_write:
rs232_echo:
UART_read:
led_echo:
finish:
JUMP
send_to_UART
•
•
PicoBlaze has own assembly
language
Code tests UART, LED’s,
switches, and serial port
Assembler converts this to
Verilog HDL code
System Mounting
Tripod mount
Solar Panel independently
supported but attached to tripod
Pan stepper motor (possibly
geared)
Tilt stepper motor attached to
yoke
IR sensors mounted on array
below top of tripod
Parts List
Project Schedule
Milestones
•Milestone 1
- Hardware assembled and software written
- Minimal system integration
•Milestone 2
- Hardware and software fully integrated
- System mounting completed
Questions?