REMOTE CONTROL FISHING TENDER Bryon Eason Keith Gregory
REMOTE CONTROL FISHING TENDER Bryon Eason Keith Gregory
Designed a board to control all of the features of a previously existing RC fishing boat as well as a controller that can be used to operate the boat. Boat board drives 16 features. Controller controls each feature, and displays battery state of charge, distance, and a moisture alarm. SUMMARY
Kinetis Design Studio GIT JTAG Segger Jlink debugger Tektronix Oscilloscope Fluke DMM TOOLS
Required RAM Controller: 35 k. B / 2 MB Boat: 25 k. B / 2 MB Required ROM UART 9600 baud rate GPIO FTM Controller: 80 k. B / 256 k. B ADC Boat: 60 k. B / 256 k. B I 2 C Bus Frequency: 180 MHz PIT MCU RESOURCES
μC/OS III Real Time Operating System Expandable Reliable Familiar KERNAL
Data. Aquisition. Task TXTask Display. Task Overall CPU load for controller: 12% Rate Monotonic Scheduling CONTROLLER TASKS
Acquires control data from GPIO pins and the ADC Periodically pends data through the mutex Priority: 1 Execution Period: 10 ms Execution time: 400 μs CPU Load: 4% DATAAQUISITION TASK
Sends data via UART to the transceiver module Pends on mutex Priority: 2 Execution Period: 10 ms Execution time: 500 μs CPU Load: 5% TXTASK
Reads DO buffer from the transceiver module and periodically displays it on the LCD. Reads Signal power register and calculates distance from boat Priority: 3 Execution Period: 100 ms Execution time: 3 ms CPU Load: 3% DISPLAYTASK
CONTROLLER INTERTASK COMMUNICATION
Module Tasks Controller. Main. c Tx. Task Display. Task Data. Aquisition. Task Function s Data Licenses Control Structure Micrium μC/OS III Controls. c ADCInit() PITInit() Joystick data Transciever. c UARTInit() UARTRead() UARTWrite() Joystick data Moisture Alarm data Distance Data Battery State of Charge data Push button data LCD. c LCDInit() LCDWrite() Moisture Alarm data Distance Data Battery State of Charge data GPIO. c GPIORead() Push button data CONTROLLER MODULE/LIBRARY DESCRIPTION
Tx. Task Rx. Task Motor. Task Overall CPU Load for Boat: 7. 05% Rate Monotonic Scheduling BOAT TASKS
Reads data from the RF module every 10 ms Writes data to global variable through mutex Posts a semaphore when motor control data is received Priority: 1 Execution time: 400 μs Execution Period: 10 ms CPU Load: 4% RXTASK
Reads motor control data from global variable through mutex Pends on the semaphore from Rx. Task Writes to the Flex Timer Modules Priority: 2 Execution time: 5 μs Execution Period: 10 ms CPU Load: . 05% MOTORTASK
Reads data from ADC and the battery monitor module Sends data to the RF module every 100 ms Priority: 3 Execution time: 400 μs Execution Period: 100 ms CPU Load: 3% TXTASK
BOAT INTERTASK COMMUNICATION
Module Tasks Boat. Main. c Tx. Task Rx. Task Motor. Task Functions Data Licenses - Motor Control Structure Micrium μC/OS III ADC. c ADCInit() PITInit() - Bilge Moisture Data Battery. Monitor. c I 2 CInit() I 2 CRead() I 2 CWrite() - Battery Charge Status Transceiver. c UARTInit() UARTRead() UARTWrite() - Incoming Controller Data - Outgoing Battery Data - Outgoing Moisture Data Motor. c GPIOInit() GPIOWrite() FTMInit() FTMWrite() - Motor/Function Enable - Motor/Function Speed BOAT MODULE/LIBRARY DESCRIPTION
- Slides: 17