Hệ thông này hoạt động dựa trên nguyên lý điều khiển độ rộng xung PWM đề điều chỉnh điện áp đâu ra.. Arduino sẽ điều chỉnh chu kỳ làm việc của PWM dựa trên tín hiệu phản hồi này để duy
Trang 1
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM
KHOA ĐIỆN ĐIỆN TỬ
BAO CAO THUC TAP DIEU KHIEN HE
THONG DIEN CONG NGHIEP
Trang 23 Nguyên lý hoạt động - 5 - HS HH TH ho kh kh 6
4 Giải thích chương trình, co KH Ho KH KH 7
5 Két QUA MO PHONG cescccscscscscsseseecsescecscscsesesesssecacacsceesseeseceeesasasecseenensetseatanseeeens 10
Il Nhiệm vụ 2: Trả lời câu hỏi - << 1S SH HT HH Họ kh 11
1 Câu hỏi tự luận - Ăn HT TH Họ KH Họ kh 11
2 CAU NGI TAC NQNIOM cceeccecsssescsescsescsescsessecesecesesesesesesescscseseceeesaeesscesssenesesees 19
| Nhiệm vụ 1: Lập trình ốn định điện áp sử dụng bộ chuyền đổi
Boost ở tân số tuỳ chỉnh sử dụng Arduino và mô phỏng thí
nghiệm trong Proteus
1 Trình bày phương pháp và các bước thực hiện
Sử dụng phương pháp mô phỏng bang phan mem Két hoi lap trinh Arduino bang phan mem Arduino cùng với phân mêm Proteus đề đưa ra kết quả nhanh chóng và trực quan
- Bước I: Đọc tài liệu hướng dẫn
- Bước 2: Thiết ké hệ thống sử dụng phan mém Protues
- Bước 3: Vẽ lưu đồ giải thuật, lập bảng trạng thái
Trang 3- Bước 4: Viết chương trình cho Arduino
+ Khai báo các chân input, output
+ Khai báo các biến, các hàm cần sử dụng
+ Viết chương trình con, cài đặt, định câu hình cho vi điều khiên
+ Viết chương trình chính
- Bước 5: Thực hién Verify code dé kém tra có lỗi hay không, néu có nỗi thì thực hiện
sửa và Verify lại Khi code đã hoàn thiện không còn lôi, thực hiện nap code vào chương trình Proteus đê mô phỏng
2 Sơ đồ
- Lưu đỗ giải thuật
Trang 4Duty=0.6
el=(Vref— Vout1)#0.9 e2=((Vref— Vout2) + (Vref— Vout1))*0.S
Trang 5
DI
Trang 6
3 Nguyên lý hoạt động
Hệ thông này hoạt động dựa trên nguyên lý điều khiển độ rộng xung (PWM) đề điều
chỉnh điện áp đâu ra
- Arduino đóng vai trò điều khiên mạch Băng cách tạo xung PWM điều khiên khóa
chuyên mạch cua so do Boost thong qua mạch kích sử dụng TLP 250 Arduino tao ra tín hiệu PWM de dicu khién thoi gian dong mo cua MOSFET Bang cach thay doi chu
ky lam viéc (duty cycle) cua PWM, ta co thé điệu chỉnh mức điện áp đầu ra mong muôn
- TLP 250 được sử dụng dé kich hoat va cach ly điều khiên MOSFET trong so dé Boost IC này giúp chuyên tín hiệu điêu khiên tir vi dieu khieén Arduino sang mach Boost với khả năng cách ly quang học, bao vệ hệ thông điều khiên khỏi các nhiêu và sự cô Điều này đảm bảo răng tín hiệu điêu khiên từ Arduino không bị ảnh hưởng bởi các yêu
tô bên ngoài và hệ thông hoạt động ôn định
- Bảng cách sử dụng tính chát của sơ đồ Boost ta có thể tăng điện áp, điều chinh ôn định điện áp mong muôn (nguyên lý, tinh chat mach Boost noi rõ ở nhiệm vự II.) + Giai doan | (MOSFET dong): Khi MOSFET dong, dong dién tu nguồn điện chạy qua cuộn cảm, tạo ra từ trường trong cuộn cảm Trong giai đoạn này, diode bị phân cực ngược và không dân điện
+ Giai đoạn 2 (MOSFET mở): Khi MOSFET mở, từ trường trong cuộn cam bat dau
suy giảm, tạo ra một điện áp ngược chiêu với điện áp nguôn Điện áp này cộng với điện
ap nguon sé day dong dién qua diode và nạp vào tụ điện, làm tăng điện áp đâu ra
- Hệ thống sử dụng điện áp phản hồi băng cách đo điện áp đầu ra và gửi tín hiệu về Arduino Arduino sẽ điều chỉnh chu kỳ làm việc của PWM dựa trên tín hiệu phản hồi này để duy trì điện áp đầu ra ôn định
+ Điện áp đầu ra được đo liên tục và gửi tín hiệu vẻ Arduino
+ Arduino su dụng thuật toán đề xử lý tín hiệu phản hồi và điều chỉnh chu kỳ làm việc của PWM
+ Chu kỳ làm việc của PWMI được điều chỉnh đề đảm bảo điện áp đầu ra ôn định
Trang 7- Quá trình đo điện áp đề phản hồi và điều chỉnh xung PWM xuất ra được thực hiện
liên tục, lặp đi lặp lại cho tới khi điện áp ngõ ra đạt được mức ôn định như yêu câu mong muôn
float Vref = 100;//điện áp mong muốn đạt được là 100V
int R=3600;//tham chiêu 1 chu ky 1a 3600
int Ns=500;//sô lần đo lây mẫu là 500 lần
int i1, i2;// biên dùng cho vòng lặp
- Viết trương trình đo điện áp ngõ ra làn thứ nhát
void do ap ral()//chương trình đo điện áp ngõ ra lân 1
{
{ Vdol += analogRead (ar);//tính tổng điện áp đo 500lần }
//chia 1024 là độ phân giải Arduino 10bit //chia trung bình 500 lần đo lấy mẫu
Vout1=Vdol*31;//tính điện áp ngõ ra với tỷ số biên 4p 1431 Serial.print ("Voutl: ");//in gia tri Voutl ra monitor
}
Ở đây sử dụng phương pháp đo lấy mẫu nhiều lần (500 làn), sau đó chia trùng bình
dé ra gia tri cần Phương pháp này gúp hạn chế sự sai số cho kết quả Có thê điều chinh
số lần lầy mẫu tùy theo mong muốn người sử dụng Số làn lầy mẫu càng nhiều thì sai số càng ít, tuy nhiên không nên lam dung do lay mau quá nhiều làm cho Arduino phải xử
lý càng nhiều làm chậm hệ thông hoặc vượt quá giới hạn Arduino
Trang 8- Viết trương trình đo điện áp ngõ ra làn thứ hai: Tương tự như đo lần 1
void do ap ra2() {
{
} Vdo2= Vdo2/1024/Ns*5.0;
Vout2= Vdo2*31;
Serial.print("Vout2: ");
Serial.brintln (Vout2);
- Viết chương trình tính gia số cộng thêm
void tỉnh gia so()
Tính e1, e2 ta sử dụng công thức của giải thuật PID, đó chính là suy ra từ công thức thích phân của khâu P, và khâu I
- Chương trình void setup( ) : Cài đặt câu hình cho Arduino xuất ra xung có độ rộng
xung với tân số mong muôn
Trang 9{
Serial.begin (9600);
duty=0.6*R;
+ Serial.begin(9600); :Khởi tao giao tiếp nói tiếp với tốc độ baud 9600 Lệnh này
dùng đề thiết lập giao tiép gitva Arduino va Serial Monitor
+ duty = 0.6 * R; : Giá trị khởi tạo cho xung khi mới bat dau, có thê tùy chinh theo mong muốn
+ TCCRIA =0; TCCR1B =0; : Đặt hai thanh ghi điều khiên bộ đếm (Timer/Counter Control Register) TCCR1A va TCCR1B vé 0, diéu nay nham dat lại mọi cầu hình trước
do cua Timer
+ DDRB I= (1<<PB1); : Cau hinh chan PB1 (chan sé 9 trén Arduino) làm chân xuất
(output) Câu lệnh này dịch bit thứ nhật của thanh ghi DDRB sang phải một bit dé dam
bảo chân PB1 là chân xuát tín hiệu PWM
+ TCCRIA I= (1<<COM1A1); : Cau lệnh này cau hình Timer1 ở ché dé "Clear OC1A on Compare Match", tic la chân OCLA (tương ứng với PB1) sẽ bị xóa (set mức thâp) khi bộ đêm đêm tới giá trị trong thanh ghi so sánh OCR1A
+ TCCR1A I= (1<<WGM11); : Câu lệnh này thiết lập chế độ tạo sóng (waveform
øeneratlon mode) cho PWM Trong trường hop nay, no dang bat che do "Fast PWM" ket hợp với các bit khác của TCCR1B
+ TCCRIB |E(I<<WGMI3); : Day la mot phan cua cau hình chế độ Fast PWM (điều
chê độ rộng xung nhanh) WGMI3 được thiệt lập, cho phép sử dụng thanh ghi ICR1 làm giá trị giới hạn trên (TOP value) cho Timer1
+ TCCH1B I= (1<<CS10); : Thiết lập bộ đếm Timer1 bắt đầu đếm mà không có bộ chia tần số (prescaler), tức là Timer1 sẽ đếm với tần số xung nhịp tối đa của Arduino (16 MHz)
+ICR1 =R; : Gia trị cờ tran va ngat cua Timer
+ OCR1A = duty; : Lệnh xuất xung PWM ra với độ rộng bằng duty
Trang 10- Viết chương trình chính void loop( ):
if(duty > 0.8*R) duty=0.8*R;
if(duty < 0.1*R) duty=0.1*R;
Serial.print("Duty: ");//hiér Serial.println (duty) ;//hiện nội Serial.print ("\n");//lệnh xuê
dưới độ rông xung
duty += e;//tăng hoặc giảm đệ }
while (1);
}
Vòng lặp "do" sẽ thực hiện liên tục cho tới khi điện áp ôn định tới gia tri mong muốn
là 100V
Cần chú ý răng giá trị duty được giới hạn: 0,1<duty<0,8
+ Nêu lớn hơn 0,8 thì lúc này giá trị tiến gân tới 1 tức là khóa điện sé gan như luôn
đóng, làm cho mach Boost gan như làm việc ở chê độ ngăn mạch, do đó khóa điện sẽ quá tải và bị hỏng
+ Nếu bé hơn 0,L thì trơng đương hở mạch hoàn toàn, lúc này điện áp rất lớn có thẻ
Trang 11- Đỗ thì biễu diễn điện áp ngõ ra theo thời gian
+ Và theo giá trị trong chương trình code: R = 3600
Suy ra: D = Duty/R=2487/3600 = 0,69
II Nhiệm vụ 2: Trả lời câu hỏi
1 Câu hỏi tự luận
Câu 1: Giải thích chỉ tiết nguyên lý hoạt động của bộ chuyên đổi Boost Làm sao dé dieu khién tan số chuyên đổi của bộ chuyên đôi này băng Arduino2 Hãy vẽ sơ đồ khôi
dé minh hoa
- Khi Mosfet dong: Mosfet bi tat nhanh chóng, Cuộn cam sẽ giải phóng năng lượng
tích lãy vào tải qua diode và tụ điện Dòng điện từ cuộn cảm cộng thêm với điện áp nguồn sẽ làm tăng điện áp ở đâu ra, lớn hơn điện áp đầu vào
Lúc nảy điện ấp cuộn cảm được xác định: VL=Vin
Trong thời gian ton, dòng điện qua cuộn cảm tăng lên từ
- Khi Mosfet mở: Từ trường trong cuộn cảm mắt đi, tạo ra một điện áp ngược đê duy
tri dòng điện Điện áp này cộng với điện áp nguồn, tạo ra một điện áp cao hơn ở dau ra Điện áp trên cuộn cảm VL lúc này là: VL= Vin— Vout
Trong thời gian tơr, dòng điện qua cuộn cảm giảm từ lia về lui
- Để duy trì chế độ hoạt động ôn định, sự thay đôi dòng điện qua cuộn cảm trong ché
độ đóng và mở phải băng nhau:
Trang 12on XL
Từ đó ta có thê suy ra công thức điện áp dau ra:
Vin
1—D Voi D la chu kỳ công việc (duty cycle) được xác định bởi:
out =
t D= on lon + lore
- Khi Mosfet dẫn trở lại, diode phân cực ngược tái vẫn tiếp tục được cung cấp điện
áp từ điện áp trên tụ Mặc dù tụ điện xả điện qua tải làm cho điện áp trên tụ giảm trong thời gian này, tụ điện được sạc trở lại mỗi khi mosfet mở „do đó duy trì điện áp ngõ ra gần như ôn định
Quá trình này diễn ra và lặp lại liên tục, sự thay đổi từ giai đoạn này sang giai đoạn khác tao ra điện áp ngõ ra cao hơn điện áp ngõ vào
- Arduino điều khiên MOSFET thông qua một chân PWM Dựa trên nguyên lý đóng
mở của MOSFET, Arduino sử dụng kỹ thuật điêu chê xung PWM đề điêu khiên MOSFET Arduino sẽ điệu chế xung PWM với độ rộng xung phù hớp đề kích cho MOSFET
hệ thông)
- Thuật toán điều khiển PWM: (Giải thích kỹ ở nhiệm vụ 1)
Trang 13#define ar A4 float duty;
float Vdo1, Vdo2, Vout1, Vout2;
int e, el, e2;
Trang 14void setup() {
Serial begin(96@0) ; duty = 0.6*R;
do_ap_ra1();
duty = 0.6*R;
OCR1A = duty;
do { do_ap_ra1();
tinh_gia_so();
duty +=e;
} while(1);
}
- Đề xác định môi quan hệ giữa điện áp đầu ra và hệ số duty cycle ta dựa vào công
thức của sơ đồ mạch Boost
V,
1-D
Từ công thức ta thấy rang có thê xác định D khi biết điện áp ngõ vào và xác định điện
áp ngõ ra mong muôn đạt được
Vout =
Ngược lại khi ta biết trước điện áp ngõ vào và xác định được D, ta có thé tinh duoc điện áp ngõ ra
Trang 15- Từ nguyên lý trên ta điều khiên MOSFET qua tin hiệu là độ rộng xung PWM theo
ty lệ D, từ đó điều chỉnh điện áp đâu ra của bộ chuyên đôi Boost
- Đề điện áp ôn định không bị giao động ta dùng một số phương pháp:
+ Tỉnh chinh hệ số điều khiến đề đạt được phản hồi ôn định
+ Sử dụng bộ lọc đề giảm nhiễu tín hiệu phản hỏi
+ Giới hạn chu kỳ công việc
e + Điều khiên PID (Proportional-Integral-Derivative): Két hợp cả ba thành phan
P, I, va D dé tạo ra hệ thông điều khiến cân bằng
Câu 3: Sử dụng thuật toán điều khiên PID đề ôn định điện áp đầu ra của bộ chuyên
đổi Boost: So sánh ưu điểm và nhược điềm của thuật toán PID So với các thuật toán điều khién PI dang str dụng Hãy mô tả cách thiết lập các thông số của bộ điều khiển PID để đạt được hiệu suất tốt nhất
cho các hệ thống khôn yêu câu độ chính xác qu cao
- Ôn định hơn trong các hệ thống có nhiễu đo lường cao, do không có thar
thái ôn định
- Đáp ứng nhanh và chín xác hơn: Thành phần đạt hàm (D) giúp dự đoán
trước sự thay đổi của hệ thống, làm giảm thời giar điều chỉnh và hiện tượng quá điều chỉnh
- Ôn định hơn với các thay
đổi tải nhanh: Bộ điều
khiển PID phản ứng tối
hơn với các biến động nhanh của tải và tín hiệ
đầu vào, ôn định hệ thống
hiệu quả
- Tính linh hoạt cao: Với bạ
thông số (P, I, D) có th
điều chinh, bộ điều khiến
PID linh hoạt hơn và có thé tối ưu hóa cho nhiều trường hợp khác nhau
Trang 16
Nhược điểm - Đáp ứng chậm với cáo
thay đổi nhanh: Thiếu
thành phần đạo hàm (D
bộ điều khiển PI không
phản ứng tốt với các tha doi nhanh cua tai hoac tit hiệu đầu vào, gây ra hiệt
tượng vọt ló
- Khó kiểm soát dao động:
Khi có nhiều hoặc thay đồi
nhanh, hệ thống PI dễ l dao động và mát ôn định
- Thiết lập các thông só của bộ điều khiên PID đề đạt được hiệu suất tốt nhát
+ Xác định giá trị ban đầu
Proportional (P):
Bat dau voi gia trị nhỏ: Có thẻ bắt đầu với giá trị P = 0.1
Tang dan gia trị: Tăng giá trị P từng bước nhỏ cho đến khi hệ thống bắt đầu dao động Ghi lại giá trị P tại điểm này
Integral (I):
Bat dau voi gia trị nhỏ: Có thê bắt đâu với giá tri | = 0.01
Tăng dân: Tăng giá trị | từng bước nhỏ đề giảm sai số tích lũy Ghi lại giá trị | khi hệ
thong bat dau 6n định hơn
Derivative (D):
Bat dau voi gia trị nhỏ: Có thẻ bắt đầu với giá tri D = 0.001
Tang dan: Tang giá trị D từng bước nhỏ để giảm dao động Ghi lại giá trị D khi hệ thông trở nên ít dao động hơn
+ Điều chỉnh từng thông só
Điêu chỉnh P:
Tăng giá trị P: Tăng giá trị P cho đến khi hệ thông bắt đầu dao động mạnh Sau đó, giảm nhẹ giá trị P đê đạt được độ ôn định mong muôn
Kiêm tra phản ứng: Quan sát phản ứng của hệ thống Nếu hệ thống phản ứng
chậm, có thê cân tăng giá trị P thêm một chút
Điêu chính |:
quá
Tang gia tri I: Tăng gia tri I để giảm sai số tích lũy Tuy nhiên, nếu giá trị l quá cao,
hệ thống có thê bắt đầu dao động
Kiểm tra sai số: Đảm bảo răng sai số tích lũy giảm dàn theo thời gian Nếu không,
điều chinh lại giá trị |
Điêu chỉnh D: