Mechatronics Portfolio
Logan Williamson's Mechatronics Portfolio and Documentation Repository
Lab 5 Deliverables

*Please see the files tab for file documentation

Lab0x05

The source code files for Lab0x05 can be found at https://bitbucket.org/wokka29/me305_labs/src/master/Lab%200x05/

Introduction

This program consists of eight files which work cooperatively (by means of cooperative multitasking via time slicing) to balance a
platform about a central pivot. The platform is actuated by two small permanent magnet DC motors, effectively giving it 2 degrees
of freedom about the pivot. The files used include the Lab0x05motor.Motor, Lab0x05closedLoop.ClosedLoop, Lab0x05BNO055.BNO055, and
shares.Share classes. Instantiation of objects from these classes, as well as collaborative program functionality, is executed by the
Lab0x05taskUser.py user interface file, the Lab0x05taskMotor.py motor control task file, and the Lab0x05taskIMU.py inertial measurement
unit task file. Documentation of these files can be found in the Files tab of this page.

Lab 5 Task Diagram

Task Sharing Diagram for Lab0x05 - Ball Balancing Platform

Lab 5 FSM Diagrams

Lab 0x05 User Interface Finite State Machine

Lab 0x05 User Interface Finite State Machine

Lab 0x05 User Interface Finite State Machine

Lab0x05

The source code for Lab 5 can be found at https://bitbucket.org/brober23/me305_lab/src/master/Lab0x05/

A video demonstrating the proper functionality of this program can be seen here:

ME305_Lab0x05 from Brianna Roberts on Vimeo.

Author
Logan Williamson
Brianna Roberts
Date
March 18, 2022