Download presentation
Presentation is loading. Please wait.
Published byCatherine Rice Modified over 8 years ago
1
Final Design Review By: Alireza Veiseh Anh-Thu Thai Luai Abou-Emara Peter Tsang
2
Goal: –To allow students to learn basic programming concepts by controlling movements of a toy tank via a set of instructions. Introduction
3
Parts List Requirements Design Scheme Modules: – Electronic Compass – Radio Frequency Module – Oscillator – Sonar Ranging Module – XSV-300 – Remote Control – User Interface Reviewer Comments Current Status Overview
4
Parts List Part Name ManufacturerPart #SupplierCost TankHobby Zone2050CSE lab$99.95 CompassPrecision NavigationV2XCSE lab$49.95 Virtual Wire Development KitRF MonolithicDR1004-DKCSE labNo Sonar Ranging KitPolaroidR11-6500CSE labNo XSV-300 BoardXilinxXSV300CSE labNo PICMicro-ChipPIC16F876CSE labNo Oscillator FOXF1100ECSE labNo TransistorsRadio Shack276-1617Self-Supl.$2.69 ResistorsUnknown CSE labNo CapacitorUnknown CSE labNo PCDell Unknown CSE labNo WoodHome DepotUnknownSelf-Supl.$30.00 BatteriesRadio ShackAlkaline DSelf-Supl.$7.00
5
Table 1: Part specifications of the central and the remote component Requirements
6
Design Scheme Sonar: –Is used to measures the distance of the tank to the border of the world Compass: –Calculates the current heading of the tank, and sends it to the PIC PIC: –Processes and formats the input from the sonar or the compass –Sends the formatted packets to the RF transceiver RF transceiver: –Transmits packets from the remote component to the central component PC: –Runs the user interface application to send commands to the XSV-300 board XSV-300 board: –Processes the inputs from the PC and the RF transceiver –Control movements of the tank Tank remote control: –Commands the tank to move or to turn
7
Compass: –Operates in slave mode –Performs I/O in binary format PIC: –Resets compass –Polls data periodically from the compass –Receive interrupt from EOC –Provides the clock for the compass –Reads data from SDO Compass – PIC Interface
8
RF Transceiver: –Communicates using RS232 protocol with peripheral devices (PIC and XSV-300) PIC: –Periodically retrieves data from the compass and the sonar –Encodes them separately into specific format that RF requires –Sends them to RF for transmission RF Transceiver – PIC Interface
9
Oscillator: –Provides the clock for PIC (20 MHz) Oscillator – PIC Interface
10
Sonar-PIC Interface Sonar: –Operates in single-echo mode. –Transmits sound wave and gets the echo reflected off of the border. PIC: –Triggers the input signal of the sonar module and turn on its timer at the same time. –Receives the interrupt from sonar and turns off the timer. –Calculates the distance of Etank to the border using the response delay.
11
User sends a destination to the XSV-300 using a PC application. It is sent as a (command, units) pair through the parallel port. –Commands: Move forward Move backward Turn right Turn left. –Units: Degrees if a command is to turn Millimeters if a command is to move forward or backward PC to XSV-300 Interface PC Application Command, Units XSV
12
When a new destination from a user is received, XSV will capture and decode data from Etank and determine how to control the tank. Serial signal: ^ ^ ^ 1 2 3 Each byte in a serial transmission is preceded by a start bit, point 1 above. Data is sampled at the center of each bit, like points 2 and 3 above. XSV-300 Capturing Data From Serial
13
Each RF data packet is composed of eight bytes. Contained within the packet are the device ID and current position of tank. Other bytes are not used for controlling the tank. –Device ID: Used to discriminate which packets are relevant to the current command. For example, commands for turning only need data from the compass. –Current position: Used to determine whether the tank has reached it’s destination. XSV-300 Decoding Data From Serial
14
Steps taken when the XSV receives a new command: 1. Assert a busy signal to the PC. 2. Capture the initial position of the tank. 3. Calculate the destination of the tank. (i.e. the angle or the distance from a wall the tank needs to be at.) 4. Assert appropriate pins to control movement of tank. 5. Low the busy signal when destination is reached. If the tank’s position is stuck within a set tolerance for more than two seconds, all movement is halted. Accuracy of reaching final destination - +/- 8 degrees for turning. - +/- 305 millimeters for forward or backward movement. XSV-300 Controlling Tank Movement
15
PC -- XSV-300 -- Remote Control Interface PC: –Sends to XSV-300 board one set of instructions at a time: Forward, distance Backward, distance Left, angle Right, angle XSV-300 board: –Processes the data received from the remote component -Controls the remote control using four pins
16
Etank’s Remote Control Channels Channels: -Four output bits control the channel -Each bit controls a channel as shown below: Command LBRBLFRF Move Forward 0011 Move Backward 1100 Turn Left 1001 Turn Right 0110
17
User Interface Will be a GUI application that allows a user to send instruction to Etank Will be programmed in C++ Will communicate through the parallel port using the DLportIO.lib and DLportIO.dll interfaces, which we studied in CSE467
18
User Interface (cont.)
19
Parallel Port Communication –Comment: It is better to buffer the input from the parallel port. –Explanation: We implemented it. Serial Method –Comment: Choose between the two types of serial port communication methods: »Use a PIC processor to capture one byte of data at a time and have it sent off to the XSV-300 board. »Have the XSV-300 board decode the serial stream of data –Explanation: We chose the second method. Compass Polling –Comment: Specify how often the PIC processor will poll the compass. –Explanation: For now, we poll it every half of a second. RF Frequencies –Comment: Ensure that there will be no interference between the Virtual Wire RF and the remote control RF. –Explanation: We tested it and knew that they are not interfering. Environment –Comment: Specify the Etank’s operation environment and the drawing surface. –Explanation: We agreed with them and decided to have a 20’ x 20’ world. Reviewer Comments
20
Control Implementation –Comment:In order to prevent the tank from the over steering, slow it down or turn it by short bursts. –Explanation: We slowed the tank down and added a tolerance in our accuracy. –Comment:Clarify the ambiguity in the specification of the Etank’s movement: »Does the tank move given a set of distance or angle? »Is the tank keep moving in a specified direction until the user issues another command? –Explanation: The tank moves given a set of distance or angle. Power Consumption –Comment: Clarify what type of battery we use for the remote component devices. –Explanation: We used 4 D-size batteries and a voltage regulator. Component Communication –Comment: Use a common communication path between the remote component and the central component. –Explanation: Agreed with the recommendation but declined to implement it. The reason for having two RF units is for simplicity. Reviewer Comments (cont.)
21
To be completed: Current Status Completed: Interfacing the remote and the central components via RF Debugging the system and finalizing the design Protocol to control the Compass using the PIC Protocol to control the Sonar using the PIC Protocol to control the RF using the PIC Protocol to move/turn the Etank using XSV-300 and the remote control Protocol to communicate with XSV-300 via serial and parallel interfaces Integrating RF with the XSV-300 Integrating compass, sonar and RF protocols Implementing a user interface application for the Etank
22
Summary uw: Parts List Requirements Design Scheme Modules: – Electronic Compass – Radio Frequency Module – Oscillator – Sonar Ranging Module – XSV-300 – Remote Control – User Interface Reviewer Comments Current Status
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.