Download presentation
Presentation is loading. Please wait.
Published byJocelin Lester Modified over 9 years ago
1
Humble Hubble Team 18 Tim Brown
2
Abstract The proposed project is a self-aiming telescope. This telescope will obtain its global position and the local time via GPS. It will then automatically orient itself to point at a user selected target (star) using a variety of onboard sensors. Background: http://www.nasa.gov/images/content/708180main_hubble_lose_spiral_full_full.jpg
3
PSSCs An ability to establish a coordinate system based on the telescope's absolute global position via a GPS chipset, and relative orientation based on an accelerometer and electronic compass. An ability to establish a coordinate system based on the telescope's absolute global position via a GPS chipset, and relative orientation based on an accelerometer and electronic compass. An ability to compensate for combined variations in the Earth's gravitational and magnetic field, and variations in telescope geometry and mounting configurations via electronic user calibration. An ability to compensate for combined variations in the Earth's gravitational and magnetic field, and variations in telescope geometry and mounting configurations via electronic user calibration.
4
PSSCs An ability to retrieve celestial coordinates and targets via Bluetooth from an external host. An ability to automatically move and point the telescope at the designated target using feedback loops from integrated motor encoders. An ability to allow the user to manually override the telescope's target coordinate using an onboard electronic control interface, and to display information regarding headings on an onboard LCD.
5
Software Design Considerations Flexibility in workload Flexibility in workload Ability to manage multiple communications protocols simultaneously Ability to manage multiple communications protocols simultaneously Maintain as much user functionality as possible while waiting for sensor data Maintain as much user functionality as possible while waiting for sensor data Capable of trig functions (or simulation) for stellar target calculations Capable of trig functions (or simulation) for stellar target calculations
6
Software Design Decisions Completely Interrupt-driven code Completely Interrupt-driven code – Enables each communications interface to demand attention when it needs it – Allows sensor initialization to take place “in the background” – Allows the processor to pass into a low-power “idle” state while not busy Use look-up tables for trig calclulations Use look-up tables for trig calclulations
7
Memory Map Executable code Executable code Sine lookup tables Sine lookup tables LCD character lookup table LCD character lookup table Bluetooth message lookup table Bluetooth message lookup table Current position, Current Target, Automatic Target, Manual Target Current position, Current Target, Automatic Target, Manual Target Button/encoder states. Button/encoder states. Message Buffers for each communication protocol Message Buffers for each communication protocol
8
Peripherals Used I2C x2 – Sensor Breakout, Motor Encoders I2C x2 – Sensor Breakout, Motor Encoders UART x2 – Bluetooth, debugging serial port UART x2 – Bluetooth, debugging serial port SPI – GPS chip SPI – GPS chip PWM x2 – 2 motors PWM x2 – 2 motors Timers x2 – Timed interrupts Timers x2 – Timed interrupts
9
Main Board Auxiliary Board 7.2V NiMH Battery V+ (7.2V Unregulated) Vss (Ground) Vdd (3.3V regulated) Vcc (5.0V regulated) Hold Power On On/Off Interrupt V+ (7.2V Unregulated) Motor 1 – Brake Motor 1 – PWM Motor Enable Motor 2 – Brake Motor 2 – PWM Header 1 11 wires Breakout Board Gyro, Compass, Accelerometer SDA SCL SCL Vdd (3.3V regulated) Vss (Ground) I2C Port 3 4 wires GPS RX GPS TX GPS ON / OFF Bluetooth RESET Bluetooth CTS Bluetooth RTS Bluetooth RXD Bluetooth TXD Header 2 8 wires VEX 269 Motor IntegratedEncoderModule Pan Assembly VEX 269 Motor IntegratedEncoderModule Tilt Assembly Tilt Assembly SDA SCL SCL Vcc (5V regulated) Vss (Ground) I2C Port 2 4 wires Motor 1 Leads Motor 2 Leads
10
PIC 24FJ64GB106 μC ICSP Header Hold Power On On/Off Interrupt Motor 1 – Brake Motor 1 – PWM Motor Enable Motor 2 – Brake Motor 2 – PWM GPS RX GPS TX GPS ON / OFF Bluetooth RESET Bluetooth CTS Bluetooth RTS Bluetooth RXD Bluetooth TXD Header 2 8 wires SDA SCL SCL I2C Port 3 V+ (7.2V Unregulated) Vss (Ground) Header 1 11 wires Vss (Ground) Vdd (3.3V regulated) Vcc (5.0V regulated) Hold Power On On/Off Interrupt V+ (7.2V Unregulated) Motor 1 – Brake Motor 1 – PWM Motor Enable Motor 2 – Brake Motor 2 – PWM GPS RX GPS TX GPS ON / OFF Bluetooth RESET Bluetooth CTS Bluetooth RTS Bluetooth RXD Bluetooth TXD VoltageTranslatorSerialPort Reset Button Manual / Auto Button Rotary Encoder 1 Rotary Encoder 2 Rotary Encoder 3 SDA SCL SCL Vdd (3.3V regulated) Vss (Ground) Menu Button 1 Menu Button 2 / 6 IO pins / 2 IO pins PGE1 /3 Pins SDA SCL SCL I2C Port 2 PWM Port 1&2 UART 1&2 SDA SCL SCL Vcc (5V regulated) Vss (Ground) / 2 interrupts 8 pin parallel Shift Register LCD Data Clock Shift 4 Pin UART I2C Port 2 MainBoard
11
Software Design (Main Loop) Init Start Wait for Interrupts (Idle) End Stop Interrupt Shut Down Peripherals (GPS) Wait 1 Second Cut power to Voltage Converters
12
Init Initialize Registers for Peripherals Start GPS chip Initialize LCD Initialize Sensors Init Bluetooth Load Polaris as Target for Calibration End Init Calibrate Interrupt Move to Polaris Allow user to correct position via rotary encoders Store encoder offsets End Calibrate Initialization and Calibration
13
Auto or Manual Get Target From Bluetooth Get Target From Manual Update Motor speed + direction Motor Interrupt End Motor UI Interrupt Check Button States De-bounce Update Button Positions Check Encoder States Update Encoder Positions End UI Motors and UI
14
Communication Peripherals Data Event Interrupt Decode Message Type Process Data Invoke Appropriate Response End Data Event
15
Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.