Date of Award


Degree Name

MS in Mechanical Engineering


Mechanical Engineering


College of Engineering


William R. Murray

Advisor Department

Mechanical Engineering

Advisor College

College of Engineering


Ball-and-plate balancing platforms have been utilized throughout academia to further understanding of nonlinearities that can occur when applying control algorithms to nonholonomic and underactuated systems. The objective of this thesis is to build upon an existing ball-and-plate balancing platform used in the Intro to Mechatronics class and create a robust platform system that can be utilized by future students to test various controller designs derived from MATLAB/Simulink®. The ball-and-plate platform design uses a myriad of sensors to track the system components in real time: a resistive touch panel is used to track the position of the ball on the plate, an inertial measurement unit is used to track the orientation of the top plate, and capacitive incremental encoders attached to the brushless-DC gimbal motors are used to both track the orientation of the motor actuation arms and commutate the motors. The gimbal motors are driven using the open-source ODrive motor driver, which receives torque commands from a separate STM32 microcontroller. The STM32 microcontroller aggregates and processes the data from the touch panel and IMU, and it acts as a “middle-man” for communication between the ODrive and MATLAB/Simulink® model running on a host PC. The platform successfully handles communications between the host PC, STM32, and ODrive at a rate of 200 Hz. The platform also incorporates a serial user interface that allows for fine position control of the motor arms for zeroing the top plate before each test.