Mechatronics Portfolio
Logan Williamson's Mechatronics Portfolio and Documentation Repository
|
*Please see the files tab for file documentation
The source code files for the Ball Balancing Platform project can be found at my Bitbucket source code repository.
The final deliverable for this project is a program consisting of ten files which work cooperatively (by means of cooperative multitasking via time slicing) to balance a steel ball on a platform. This platform is actuated
about a central pivot by two small permanent magnet DC motors. The required files include the motor.Motor, closedLoop.ClosedLoop, BNO055.BNO055, touchpanel.touchpanel, and shares.Share classes.
Instantiation of objects from these classes, as well as collaborative program functionality, is executed by the taskUser.py user interface file, the taskMotor.py motor control file, the taskIMU.py inertial
measurement unit control file, and the taskPanel.py resistive touchpanel control file. Documentation of these files can be found in the Files tab of this page.
The cooperative multitasking between the four tasks running in this program is handled by the main.py task scheduler, which is a simple, appointment-based multitasking scheduler designed for cooperative multitasking via time slicing.