Difference between revisions of "F16: Autonomous Nautical System"
m (→Implementation) |
(→Hardware Interface) |
||
Line 115: | Line 115: | ||
I2C was used to communicate to and from the SJ One board to the tilt adjusted compass. This protocol allows numerous sensors to be connect to a single wire to all devices for transmitting and receiving address and data information. This is possible because of synchronization of a clock signal and a pull-up resistor used in setting up the data/address bus. The disadvantage with this choice is speed since it can only transfer a max of 100KHz. | I2C was used to communicate to and from the SJ One board to the tilt adjusted compass. This protocol allows numerous sensors to be connect to a single wire to all devices for transmitting and receiving address and data information. This is possible because of synchronization of a clock signal and a pull-up resistor used in setting up the data/address bus. The disadvantage with this choice is speed since it can only transfer a max of 100KHz. | ||
− | For our design we use our SJ One board as the master and the compass as the slave device. It is only enabled if it receives it's address from the master. Through out the operation of protocol a slave and master are under constant bidirectional communication. Using a byte or more to communicate what is desired in the form of an slave address, byte address and a quantity for receiving or transferring data. This continuous process follows a state machines for both the slave and master devices. | + | For our design we use our SJ One board as the master and the compass as the slave device. It is only enabled if it receives it's address from the master. Through out the operation of protocol a slave and master are under constant bidirectional communication. Using a byte or more to communicate what is desired in the form of an slave address, byte address and a quantity for receiving or transferring data. This continuous process follows a state machines for both the slave and master devices. Below Fig 5. describes for example a basic sequence of states that the slave can go through for receiving and transmitting data to a master. If at any point during transmission a data packet is invalid the transmission can abort and require exception handling. |
+ | |||
+ | |||
+ | [[File:Best_Case_Scenario_State_Diagrams-_Angel_H.png|500px|thumb|center|Fig 5. I2C Slave State Machine Diagram]] | ||
=== SPI === | === SPI === | ||
+ | A full duplex communication protocol characterized by the single unidirectional input and output lines between master(s) and slave(s). | ||
Line 124: | Line 128: | ||
=== PWM === | === PWM === | ||
+ | |||
+ | === ADC === | ||
== Software Design == | == Software Design == |
Revision as of 04:04, 21 December 2016
Contents
Grading Criteria
- How well is Software & Hardware Design described?
- How well can this report be used to reproduce this project?
- Code Quality
- Overall Report Quality:
- Software Block Diagrams
- Hardware Block Diagrams
- Schematic Quality
- Quality of technical challenges and solutions adopted.
Autonomous Nautical Systems for Ocean Transit and Survey (ANSOTAS)
Abstract
Constructing an autonomous navigation system responsive to GPS and Tilt Compass feedback to form and track trajectories to a given location. Low power, and observant system.
Objectives & Introduction
Show list of your objectives. This section includes the high level details of your project. You can write about the various sensors or peripherals you used to get your project completed.
Team Members & Responsibilities
- Angel Hernandez-Perez
GPS control
- Fayek Wahhab
Servo control
- Abraham Carrillo
Motor Control
Schedule
Table 1. Schedule
Week# | Date | Tasks | Actual |
---|---|---|---|
1 | 10/8 | Decide on boat hull based on the amount of devices
we planned to us. Purchased motor, servo, and battery accordingly |
Completed
Brushed DC motor powered by Electronic Speed controller was purchased. |
2 | 11/4 | Intercept the pwm signals issued by a remote
control for steering and speed throttling. Decode these signals over time to identify which values produce what kind of effect to the driving system. |
Completed
Using a logic analyzer did not work the way we planned An oscilloscope was used but only to prove that this was not necessary since the motor and servo reacts to PWM as any other motor or servo. |
3 | 11/25 | Make separate compass, gps, and pwm tasks | Completed
These tasks are a simple tasks demoing the functionality |
4 | 12/02 | Link separate task outputs together using navigation task. | Completed
Debug the steering and motor control commands issued by the state of the navigation task state machine. |
5 | 12/16 | Revise gps task to give only needed information and use
all task outputs in the navigation task |
Completed
Buggy and needs to check for invalid information using checksum |
6 | 12/20 | Update the wiki page | Completed
Clean up exceptions in the land demo program |