Advanced control systems design and implementation for industrial chemical reactor with measurement delays
This repository contains a comprehensive control systems engineering project focused on controlling a Continuously Stirred Tank Reactor (CSTR) used in the chemical industry for cyclopentenol production from cyclopentadiene. The project demonstrates practical application of classical and modern control theory to solve real-world industrial challenges.
Key Achievement: Successfully designed and validated a Smith Predictor control system capable of managing 3-minute measurement delays while maintaining robust performance and stability.
- Industrial Application: Real-world chemical reactor control with practical constraints
- Advanced Techniques: Smith Predictor, PI/PID control, pole placement, root locus design
- Comprehensive Analysis: Stability margins, robustness evaluation, nonlinear validation
- Professional Documentation: Complete technical reports with mathematical rigor
- Validated Results: Extensive simulation and performance verification
- Type: Continuous Stirred Tank Reactor (CSTR)
- Process: Chemical production (cyclopentadiene → cyclopentenol)
- Control Variable: Product B concentration (CB)
- Manipulated Variable: Dilution flow rate (u = F/V)
- Disturbance: Input concentration (CAF)
- Critical Challenge: 3-minute measurement delay
k1 = 6.01 % [1/min]
k2 = 0.8433 % [1/min]
k3 = 0.1123 % [mol/(L·min)]
CAF = 5.1 % Operating point [mol/L]
u = 1.0 % Operating point [1/min].
├── Assignment 1/ # Pole placement design and system analysis
├── Assignment 2/ # Root locus design and multi-loop control
├── Assignment 3/ # Smith Predictor implementation
├── matlab/ # MATLAB simulation scripts
│ ├── main_code.m # Primary implementation
│ ├── auxiliary.m # Advanced analysis functions
│ └── simulink/ # Simulink models
├── docs/ # Technical documentation
└── figures/ # Generated plots and analysis results
- Linearization of nonlinear reactor model
- First-order transfer function derivation
- PI controller design for specified performance
- Results: Settling time < 1.6 min, overshoot < 5%
- Second-order system analysis
- PID controller optimization via root locus
- Multi-loop control architecture
- Results: Improved disturbance rejection and tracking
- Compensation of 3-minute measurement delay
- Discrete-time controller design (Ts = 0.07s)
- Reference filter for overshoot elimination
- Filtered Smith Predictor for enhanced disturbance rejection
- Results: Stable operation despite significant delay, robust performance
- Classical control design (PI, PID, Lead-Lag)
- Modern control techniques (Smith Predictor)
- Stability analysis (Bode, Nyquist, Root Locus)
- Robustness evaluation and margin analysis
- Discrete-time control system design
- MATLAB/Simulink: Controller design, simulation, and analysis
- Control System Toolbox:
tf(),c2d(),feedback(),margin(),rlocus() - LaTeX: Professional technical documentation
- Python: Image processing and OCR automation
- System modeling and linearization
- Performance specification and verification
- Industrial process understanding
- Documentation and technical communication
- Problem-solving under practical constraints
Ts = 0.07; % Sampling period [s]
C_discrete = c2d(C_continuous, Ts, 'tustin'); % Bilinear transformationThe Smith Predictor compensates for measurement delays by using an internal model:
- G(s): Actual plant with delay
- Gm(s): Plant model without delay
- Controller: Acts on predicted error rather than delayed measurement
- Settling time: ~1.74 minutes
- Overshoot: < 5% (with reference filter)
- Steady-state error: Zero (integral action)
- Disturbance rejection: Good (limited by inherent delay)
-
Stability Margins
- Gain Margin: > 6 dB
- Phase Margin: > 40°
- Robust to model uncertainties
-
Time Domain Performance
- Fast response without excessive overshoot
- Zero steady-state error
- Good reference tracking
-
Nonlinear Validation
- Validated on full nonlinear model
- Performs well near operating point
- Known limitations for large deviations documented
- MATLAB R2020a or later
- Control System Toolbox
- Simulink (optional, for nonlinear validation)
% Run main controller design
run('matlab/main_code.m')
% Execute comprehensive analysis
run('matlab/auxiliary.m')
executar_todas_analises(); % Run all analyses
% Load parameters for Simulink (if using)
load('parametros_simulink.mat')- Step response plots
- Bode diagrams (controller and filter)
- Stability margin analysis
- Robustness evaluation with parametric variations
- Automated technical report (
automatic_report.txt)
This project addresses a common industrial challenge: controlling processes with significant measurement delays. Time delays are prevalent in:
- Chemical process industries (analyzer delays)
- Temperature control (thermal lag)
- Networked control systems (communication delays)
- Biological processes (culture measurement delays)
The Smith Predictor technique demonstrated here is widely used in industry to maintain performance and stability despite these delays.
Complete technical documentation is available in the docs/ directory, including:
- Mathematical derivations of all transfer functions
- Detailed controller design procedures
- Stability and robustness analysis
- Performance evaluation and validation
- MATLAB/Simulink implementation guides
Lucas Junges
- Control and Automation Engineering
- [email protected]
- GitHub Portfolio
This project was completed as part of advanced control systems coursework, demonstrating practical application of control theory to industrial processes.
MIT License - See LICENSE file for details
This repository showcases advanced control systems engineering skills applicable to industrial automation, process control, and systems engineering roles.