Alex Haya
Backend engineering / AI infrastructure / Python

Field note / Control systems / Source walkthrough

Inside the DC motor training station.

A desktop environment for bringing a motor control loop, live plots and session data into one place.

Project: dc_motor_training_station / Python

The DC Motor Training Station is a separate repository from Neuro-Fuzzy Control. Its Python application connects a Tkinter interface to a central controller, hardware access, an Adaptive Neuro-Fuzzy Inference System (ANFIS) controller and a data logger.

One station, several views.

The interface provides manual and ANFIS mode controls, a target-speed slider and start, stop and emergency-stop actions. Matplotlib plots sit alongside the controls to show speed, current and the requested setpoint.

This arrangement brings the operator's input and the resulting measurements into the same workspace. The interface source is in gui_app.py.

Follow the control path.

MainController initializes the hardware controller, ANFIS controller and logger. It runs the control loop on a background thread and selects the control behavior from the active mode.

Responsibilities in the repository
ModuleResponsibility
gui_app.pyOperator interface and plotted measurements
main_controller.pyControl loop and subsystem coordination
hardware_controller.pyGPIO access and simulation mode
anfis_controller.pyNeuro-fuzzy controller implementation
data_logger.pySession logging and data handling

Where simulation begins.

The GUI constructs MainController(simulation_mode=True). The hardware controller also forces simulation when the Raspberry Pi GPIO library is unavailable. Opening the desktop app therefore does not, by itself, demonstrate a physical motor run.

The project includes a hardware path, but this walkthrough describes the checked source. It does not report newly measured motor performance or treat stored session files as verified hardware experiments.

Keep the session record.

The repository includes CSV session files under data/training_data, alongside configuration files for the controller and hardware. These files provide a concrete place to inspect the recorded data structure and continue investigating the training workflow.

Source snapshot: 49fe45b5d62b. This station and the separate Neuro-Fuzzy Control platform have their own project entries.