Chest compression in an automatic cardiopulmonary resuscitation (CPR) device requires stable and accurate motor speed control to keep the compression rate consistent within the 100–120 compressions-per-minute range recommended by the 2020 American Heart Association (AHA) guidelines. This study designs and evaluates speed control of the PG45 DC motor driving the crank-slider mechanism of an Arduino Mega 2560-based automatic CPR device using a Proportional-Integral-Derivative (PID) controller whose parameters are tuned through the Particle Swarm Optimization (PSO) algorithm with an Integral Time Absolute Error (ITAE) objective function. Speed feedback is obtained from a Hall-Effect incremental rotary encoder, supported by integral anti-windup, a low-pass filter, and feedforward control. PSO optimization yielded Kp = 5.0000, Ki = 2.9519, and Kd = 0.5000 with a minimum ITAE of 2.3586. MATLAB simulation showed a fast, stable speed response toward the 120 RPM reference without excessive overshoot. Testing on a CPR manikin showed an average actual speed of 91.95 RPM with an RMSE of 30.12 relative to the simulation, attributed to the viscoelastic load resistance of the chest wall and internal mechanical friction under peak load. Compression depth remained consistent at 55.8–56.0 mm in line with the AHA standard, although motor-speed performance in the real implementation still requires further improvement, particularly through selection of a higher-torque actuator.
Copyrights © 2023