Star Beam & Ball Balancing Star

STM32 Nucleo, C, Python, Control System

Project Overview

The STM32 Ball Balancing Project, developed as part of the “Microprocessor Systems” course at the Laboratory of Poznan University of Technology, showcases an integration of embedded systems and control theory principles. Utilizing the STM32 F746ZG microcontroller board, the project aims to maintain the position of a ball on a beam within predefined parameters. Through a combination of sensors, actuators, and control algorithms, the system achieves precise ball positioning and stabilization.

Key Features

  • STM32 F746ZG microcontroller board for robust performance.
  • PID control algorithms for accurate ball positioning.
  • HCSR-04 ultrasonic sensors for distance measurement.
  • Includes a keypad interface for user interaction.
  • Utilizes an LCD display for real-time feedback and control.
  • Incorporates 3D-printed mechanical components for the physical structure.
  • A desktop application for monitoring real-time ball movement, graph and provides functionality to view current ball position and setpoint.

Star Design & Implementation Star

Mechanical Structure

  • Beam: The central element of our system, the beam, provides the platform for the ball to move along. It’s carefully designed to maintain balance and support the ball’s weight.
  • Servo Motor: The heart of our system! The servo motor is responsible for adjusting the angle of the beam. By tilting the beam, it controls the ball’s position. The servo motor’s movement is precisely calibrated based on real-time sensor data.
  • Stick: Attached to the beam, the stick acts as a lever. When the servo motor rotates, it moves the stick, which, in turn, alters the beam’s angle. This dynamic adjustment keeps the ball centered or returns it to the desired set point.
  • Ball: The ball rests on the beam and responds to changes in the beam’s angle. The goal is to maintain the ball’s position at the set point, even when external disturbances occur.