DC Motor Position Control System
An end-to-end system for precise real-time DC motor position control, built across four layers:
Hardware — a custom ESP32-S3 based PCB designed in Altium Designer (16 schematic sheets): a DRV8876 H-bridge motor driver, buck + LDO power stage, quadrature encoder input, temperature and voltage sensing, micro-USB and RS485 interfaces, and an RGB status LED. Fabrication-ready manufacturing outputs are included.
Firmware — ESP32-S3 firmware in C++ (ESP-IDF, FreeRTOS) with a discrete-time PID position controller (anti-windup), motion profiling (trapezoid and S-curve), stall/settle detection and soft limits, quadrature encoder reading through the ESP32 PCNT peripheral, and USB CDC communication via TinyUSB — all on a modular, interface-based architecture.
LabVIEW HMI — a LabVIEW SCADA interface (VISA over USB/serial) for real-time position plotting, live PID tuning, 3D visualization, and status/fault monitoring.
Simulation — a Python model comparing Fuzzy Logic and PID position control, with realistic motor physics (electrical + mechanical dynamics and back-EMF), simulated encoder quantization and measurement noise, and visualization of membership functions and 3D control surfaces.