Tài liệu hướng dẫn chi tiết xây dựng mô hình điều khiển điện áp đầu ra theo độ rộng xung bằng ARDUINO UNO R3. Đây là tâm huyết của mình và nhóm trong suốt quá trình nghiên cứu và thực hiện với sự giúp đỡ của giáo viên bộ môn lý thuyết điều khiển tự động. Mục đích tôi chia sẻ bài viết này nhằm giúp cho những bạn sinh viên có niềm đam mê với bộ môn điều khiển tự động.
Trang 1Hanoi University of Science and Technology
School of Electrical Engineering
- -
REPORT OF CONTROL THEORY
TOPIC: Design the voltage controller for Boost converter
Instructor : Dr.Vũ Thị Thuý Nga
Students Student ID Class
Trang 2I Introduction
1.1 Preface
1.2 Operating principle and mathematics model
II Controller Design
2.1 Transfer Function
2.2 PI Controller and Arduino setup
III Hardware Design
3.3.1 System simulation on MATLAB & Simulink
3.3.2 System simulation on Proteus and Altium
IV Results
Trang 3I Introduction:
1.1 Preface
Nowadays, we are living in modern world, with the development of technology – the 4th revolution, more and more equipment are invented that help people live easier Electricity is the most important things in this world – no electricity no civilized
A boost converter is one of the simplest types of switch mode converter As the name suggests, it takes an input voltage and boosts or increases it Out project is DC converter, that means the circuit only working in DC condition
The DC boost converter has some significantly characteristics: cheap, high efficiency so it can be used widely
The DC boost converter is needed when the DC source in main circuit need to transform into suitable voltage, with the guaranteed requirements are pulse, voltage stability, supplied for electric circuit
All things we need are: an inductor, a semiconductor switch (these days it’s a MOSFET, since you can get really nice ones these days), a diode and a capacitor Also needed is a source to generate a periodic square wave So with Researching, we find out Arduino Uno R3 Atmega328P to design our DC boost converter circuit
We spent the first week searching for boost converter information
Then, Use the next week to perfect the circuit, We assigned the work as follows:
- Hung designs software on MATLAB, Proteus and find PID
- Phuc designs hardware and design PCB circuit
- Hieu makes a report and find the components of the circuit
- Hoang codes for Arduino
Project status completed
1.2 Operating principle and mathematic model:
Trang 4When switch is turned on:
Our signal source goes high, turning on the MOSFET All the current is diverted through to the MOSFET through the inductor The power source isn’t immediately short circuited, of course, since the inductor makes the current ramp up relatively
slowly Also, a magnetic field builds up around the inductor
We have voltage and current in inductor:
is the current change of inductor during ON or OFF state period, and 𝑉𝐾 is drop voltage
of MOSFET since the inductor makes the current ramp up, thus 𝐼1 > 𝐼0
Trang 5When the switch is turned off:
The current to the inductor is stopped abruptly The very nature of an inductor
is to maintain smooth current flow So, it does not like the sudden turning off of the current It responds to this by generating a large voltage with the opposite polarity of the voltage originally supplied to it using the energy stored in the magnetic field to maintain that current flow The inductor now acts like a voltage source in series with the supply voltage This means that the output capacitor is now charged to a higher voltage than before: 𝑉𝑖𝑛 + 𝑉𝐿
The voltage and current of inductor now:
Note: 𝑉𝐷 is voltage drop of the diode
When the switch is turned on again: Diode is therefore turned off so the output of
the circuit is isolated from the input, however the load continues to be supplied with
𝑉𝑖𝑛 + 𝑉𝐿 from the charge on Capacitor Although the Capacitor drains away through the load during this period, Capacitor is recharged each time the MOSFET switches off, so maintaining an almost steady output voltage across the load, which means the voltage change of output voltage during this period equals zero
During a period, the current change of the inductor must equal zero by the steady state rule So, 𝛥𝐼𝐿 from equations (2.1) and (2.2) are the same, we can solve for 𝑉𝑜𝑢𝑡:
Trang 6Where D = 𝑇𝑜𝑛
𝑇 , 𝑇 = 𝑇𝑜𝑛+ 𝑇𝑜𝑓𝑓=> D is the duty cycle
Neglecting the voltage drops across the diode and the MOSFET: 𝑉𝐾 = 0, 𝑉𝐷 = 0
𝑉𝑜𝑢𝑡 = 1 − 𝑉𝑖𝑛
1 − 𝐷 (1.3)
𝐷 = 1 − 𝑉𝑖𝑛
𝑉𝑜𝑢𝑡 (1.4) Since 0 < 𝐷 < 1 => 0 < 1 − 𝐷 < 1 => 𝑉𝑖𝑛 < 𝑉𝑜𝑢𝑡, so the system can only boost voltage
The inductor current doesn’t equal the load current, because the inductor current only go through load during the time when the switch is turned off We can determine relationship between the inductor current and the load current based on input power and output power The average power of the source must equal the average power of the load
𝑉𝑖𝑛𝐼𝐿 = 𝑉𝑅𝐼𝑅
𝐼𝑅 = 𝐼𝐿𝑉𝑖𝑛
𝑉𝑅 = (1 − 𝐷)𝐼𝐿 (1.5) Where 𝑉𝑅 = 𝑉𝐶 = 𝑉𝑜𝑢𝑡
II Controller design:
2.1 Transfer function:
When the switch is turned on:
The inductor current doesn’t go through the load, and the Capacitor stays charged because of the diode, so there is almost nothing change in output voltage We don’t need to consider the transfer function of the circuit when the switch is turned on
Trang 7When the switch is turn off:
We have state-space equations:
While the transistor is open, the transistor voltage is zero and the diode is not conducting The circuit can be used as a model of the Boost converter in ton time In the figure, a current source is added We obtain the following equations:
Trang 8
State – space equations
Trang 9
when the transistors are locked, the voltage across the diode is zero Therefore the circuit in the figure shows the model of the boost transformer in the toff time A state space model is shown as follows:
Trang 10
We have
*V =RD’I L
So:
Trang 11The average value of the load current will equal the average value of the current through the diode The current through the diode will tape the current of the coil for a period of
D 'and if it is zero then the average value of the current through the diode (approximately) equals D'IL
Transfer function boost converter:
Trang 12We have a transfer function boost:
Ignore capacitor, we have :
2.2 PI controller, and Arduino setup:
The system is a second order model, so we will use PI controller The derivative controller 𝐾𝐷 will improve the transient response, and the integral controller 𝐾𝐼 will reduce the steady state error of the system
For Arduino, we will use PID_V1 library to perform PI controller The code uses PWM pin 6 to control the FET and a resistor feedback network on pin 0 Because Arduino pin can only read the signal from 0 to 5V So, the feedback network will consist of a 10K resistor to GND and 100K between the ADC pin and the output
10𝑘) So, a 24V output will read 24/11V on the Arduino pin
Trang 13The Arduino pin should never exceed 5V It is 10-bits, so each bit resembles
~4.8mV (5V/1023) Our circuit will need an 24V output would yield an ADC reading
of 446.4 ((24/11)/(5/1023)) Basically, the ADC pin win receive a signal value represented from 0 to 1023 and it will compare to 446.4 (represented for 24V)
Here is our code:
unsigned long previousMillis = 0; // will store last time
const long interval = 500; // interval at which to delay
double Setpoint, Input, Output;
Trang 14// Blink the status LED
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
Trang 15III Hardware design:
Trang 16Arduino UNO can use 3 8bit AVR microcontrollers: ATmega8, ATmega168, ATmega328 This brain can handle simple tasks such as controlling flashing LEDs, processing signals for remote vehicles, making a temperature and humidity
measurement station and displaying it on an LCD screen, etc other applications
The Arduino UNO can be powered by 5V via the USB port or an external power supply with a recommended voltage of 7-12V DC and a limit of 6-20V Generally, a 9V square battery is best if you don't already have a USB port If the power supply exceeds the upper limit, you will damage the Arduino UNO
*Sensor ( Voltage divide ) :
The voltage feedback to ADC of Arduino is smaller than 5V so we choose R1= 100kOhm and R2= 10kOhm So the voltage to ADC is linear
* Algorithm:
Trang 17𝛥𝐼𝐿 = 𝑇𝑜𝑛𝑉𝑖𝑛
𝐿 = 𝐼1− 𝐼0(3.2) When the switch is turned on, the load is charged by capacitor So, the inductor current will equal the load current The voltage change when during ON state period:
𝛥𝑉𝐶 = 𝛥𝑉𝑅 = 1
𝑇𝑜𝑛0
𝑑𝑡 = 𝑇𝑜𝑛𝐼𝑅
𝐶 (3.3) The maximum current goes through MOSFET K and diode D:
Trang 18The voltage change during a period: 𝛥𝑈𝑅 = 1%𝑈𝑅
The current change during a period: 𝛥𝐼𝐿 = 30%𝐼𝐿
1 − 𝐷𝐼0 =
1
Choose to use a 1A, 12V adapter
The current change during a period:
Trang 19With higher inductance, higher current change we receive We must choose inductor with inductance greater than 320 µ𝐻
=> Choose inductor with 𝑳 = 𝟗𝟒𝟎µ𝑯
Trang 21𝑉𝑖𝑛 =
𝑉𝑜
1 − 𝐷∗ (𝑅 ∗ (1 − 𝐷)2− 𝑠𝐿)𝑅𝐶𝐿𝑠2+ 𝐿𝑠 + 𝑅 ∗ (1 − 𝐷)2
Trang 22Use the PID controller, the controller model has format:
𝐺𝑐 = 𝐾𝑝(1 + 1
𝑇𝐼𝑠 + 𝑇𝑑𝑠) Then, the closed-loop transfer function is:
G = 𝐺𝑐 ∗ 𝐺𝑠1+ 𝐺𝑐∗𝐺𝑠
Step response with 𝐾𝑃 = 1/48
Use MATLAB we have T= 0.02
Trang 23Using Ziegler-Nichols method, we have:
𝐾𝐼 = 𝐾𝑝 ∗1.2
So we have the PI controller 𝐾𝑝 =0.009375, 𝐾𝐼 = 0.5625
3.3.1 System simulation on MATLAB & Simulink
With the circuit values and parameters of PI controller calculated above, we build a model of Boost Converter system on MATLAB & Simulink as follows:
Boost converter simulation on Simulink
Perform simulations with different values of input voltage, load, and set values to retest the model
Trang 24Simulated with frequency 62.5kHz, 12VDC input, 24VDC output, no load
Simulated with frequency 62.5kHz, 15VDC input, 24VDC output, 320Ω load
Trang 25Comments:
• Output voltage is sticking to set value
• The system responds medium
• The adjustment is small
• The system is fast and stable for changes
3.3.2.System simulation on Proteus and Altium
Proteus:
PWM in Digital Oscilloscope in Proteus
Trang 26PCB Altium:
PCB 3D Altium:
Trang 27to boost 12V to 40V, it’s cheaper than IGBT but MOSFET can work in the ability
to operate with higher amperage and frequency and easier to replace than IGBT
Boost converter circuit
Trang 28Boost converter(12v-24v) with no load
Boost converter(12v-24v) with load 320 Ohm
The output voltage in both cases is sticking to the set value, the controller and the Boost Converter's power circuit are correct
Results :
Complete design, complete the booster converter circuit used in the voltage converter from solar battery source Set up the model and successfully simulate the model on MATLAB & Simulink and Proteus The circuit can accommodate noise, changes in input voltage or load changes while maintaining the output voltage
according to the desired value
Trang 29Reference
1 Linear control -Nguyen_Doan_Phuoc
2 Phuoc-toi-uu-hoa
Trang 32: