Author: Andevaldo da Encarnação Vitório
Advisor: Iury Valente de Bessa
Course: Bachelor's Degree in Computer Engineering
University: Universidade Federal do Amazonas
Date of defense: 02 de abril de 2024
This final course project deals with the development and implementation of event-based control for Buck and Boost DC-DC converters connected to Constant Power Loads (CPL). The main objective is to investigate and demonstrate the efficiency and effectiveness of event-based control techniques. To this end, various simulations and analyses were carried out using Python notebooks and specific simulation tools.
The repository is organized into three main directories, each containing files relevant to different aspects of the project:
simulator/
: Contém a simulação de uma microrrede de corrente contínua.docs/
: Contém as documentações do projeto.- Mathematical Modeling of a Microgrid: Detalhes da modelagem matemática da microrrede
-
/notebooks: This directory contains the Python notebooks that were used throughout the project. These notebooks contain the codes and their descriptions needed to carry out the simulations, as well as analysis and visualization of the data obtained.
-
/simulations: It contains the simulation files that were executed during the development of the project. These files include configuration scripts, simulation parameters and results obtained from the simulations.
- buck-converter/circuit.svg: Schematic diagram of the Buck converter.
- boost-converter/circuit.svg: Schematic diagram of the Boost converter.
- etc-mode.png: Schematic diagram of the ETC used in this project.
- dynamic-etm-van-der-pol-oscillator.ipynb: Notebook with the simulation of the Van de Pol oscillator under the dynamic ETC.
- static-etm-van-der-pol-oscillator.ipynb: Notebook with the simulation of the Van de Pol oscillator under the static ETC.
- etc-boost-converter-with-cpl.ipynb: Notebook with Boost converter simulation under static and dynamic ETC.
- etc-buck-converter-with-cpl.ipynb: Notebook with Buck converter simulation under static and dynamic ETC.
The Buck converter used in the simulator consists of a basic Buck converter with an RLC output voltage filter, as depicted in Figure 1. This converter supplies two loads: a Constant Resistance Load (CRL) and a Constant Power Load (CPL).
Figure 1: Buck converter circuit.
The Boost converter used is shown in Figure 2. This converter supplies two loads in parallel with a capacitor: a Constant Resistance Load (CRL) and a Constant Power Load (CPL).
Figure 2: Boost converter circuit.
The control model for the Buck converter employs an Event-Triggered Mechanism (ETM) to optimize control actions while minimizing computational resources. The system comprises a plant
where
The ETM determines when to transmit the plant's state to the controller over a network, maintaining the state with a Zero-Order Hold (ZOH) until the next transmission, leading to a potential transmission error:
Figure 3: Event-triggered Control Model
Static Event-Triggered Mechanism
The static ETM has a fixed activation function:
where the triggering function is:
Dynamic Event-Triggered Mechanism
The dynamic ETM includes an internal dynamic variable:
with the internal variable dynamics:
Optimization for ETM Design
The optimization problem to determine the matrices
The matrices are obtained as
To run the simulations and analyze the results, follow the steps below:
-
Clone the repository to your local machine:
git clone git@github.com:andel-vitorio/etc-for-dc-converters.git
-
Navigate to the project directory:
cd etc-for-dc-converters
-
Install the necessary dependencies:
pip install -r requirements.txt
-
Open Jupyter Notebook:
jupyter notebook
-
Navigate to the /notebooks directory and open the desired notebook to run the simulations and view the results.
Contributions to improve this project are welcome. To contribute, please follow the steps below:
- Fork this repository.
- Create a new branch for your changes:
git checkout -b feature/new-feature
- Commit your changes:
git commit -m 'Add new feature'
- Upload to the original repository:
git push origin feature/new-feature
- Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for more details.
development