Nguyên lý làm việc:
- Khi Udk>Udb thì Ur= +Vcc - Khi Udk<Udb thì Ur= 0 V
2.3 Khâu tạo xung chùm
GVHD: TS.Giáp Quang Huy 22
CHƯƠNG 4: PHÂN TÍCH VÀ CHỌN MẠCH ĐIỀU KHIỂN
Đối với một sơ đồ mạch, để giảm dịng cơng suất cho tầng khếch đại và tăng số lượng cho xung kích mở, nhằm đảm bảo cho thyristor mở một cách chắc chắn, người ta hay phát xung chùm cho các thyristor. Nguyên tắc phát xung chùm là trước khi vào tầng khếch đại, ta đưa chèn thêm một cổng AND với tín hiệu vào nhận từ tầng so sánh và từ bộ phát xung chùm như hình vẽ.
Hình 4. 4 Sơ đồ mạch tạo xung chùm và tín hiệu kích xung
Hình 4. 5 Sơ đồ sóng dạng
2.4 Khâu khuếch đại và phát xung
Hình 4. 6 Sơ đồ mach khâu khuếch đại và phát xung
GVHD: TS.Giáp Quang Huy 23
CHƯƠNG 4: PHÂN TÍCH VÀ CHỌN MẠCH ĐIỀU KHIỂN
Với nhiệm vụ tạo xung phù hợp để mở thyristor như đã nêu ở trên, tầng khuếch đại cuối cùng thường được thiết kế bằng transistor công suất như hình vẽ. Để có xung dạng kim gửi đến thyristor, ta dùng biến áp xung (BAX), để có thể khuếch đại cơng suất ta dùng transistor T2, diode D2 và D3 bảo vệ T2 và cuộn dây sơ cấp BAX khi T2 khóa đột ngột.3. Sơ đồ tổng quát mạch điều khiển
GVHD: TS.Giáp Quang Huy 24
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK CHƯƠNG 5
MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK 1. Mơ hình tốn học
1.2 Tính các tham số hàm truyền động cơ
Hình 5. 1 Sơ đồ khối hàm truyền động cơ
- Hàm truyền phần trước Rotor: 1.2.1 Tính hệ số Ra Trong đó: - - - - 1.2.2 Tính hệ số Kb:
Thay vào phương trình dặc tính cơ điện: 2 a a e e e M V R M K K K
Ta áp dụng các thông số của động cơ làm việc định mức: Trong đó: , Va= 12V, Ra = 1,2 , Me=0,09
Từ đó giải phương trình ta có:
CHƯƠNG 5: MƠ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK 1.2.3 Giải thích chi tiết hàm truyền của động cơ:
Các thông số trong hàm truyền:
- B= 0,85; La= 0,028 H; Ra=1,2 (); J=; Kb= 0,09
1.3 Tính tốn thơng số hàm truyền bộ chỉnh lưu- Hàm truyền bộ chỉnh lưu: . - Hàm truyền bộ chỉnh lưu: .
- Do nhóm chúng em sử dụng nguyên tắc thẳng đứng Arccos, cho nên chúng em xác định được:
và
1.4 Tổng hợp mạch vòng dòng điện:
1.4.1 Sử dụng phương pháp tối ưu Module:
Cho chu kì lấy mẫu T=0,5s nên tần số lấy mẫu:
Ta có hàm truyền bộ điều khiển dòng điện là:
1.5 Tổng hợp mạch vòng điều khiển tốc độ:
GVHD: TS.Giáp Quang Huy
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
- Hàm truyền của điều khiển tốc độ:
2. Mạch mơ phỏng hàm truyền tốn học :
Hình 5. 3 Mơ hình hàm truyền tốn học
2.1 Mơ hình hàm truyền tốn học
Hình 5. 4 Mơ hình tốn học động cơ bằng matlab
2.2 Kết quả mô phỏng:
- Đồ thị tốc độ đáp ứng :
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
- Đồ thị dòng điện mong muốn và đáp ứng
3. Mô phỏng nguyên lý (Matlab Simulink) :3.1 Sơ đồ mạch điều khiển 3.1 Sơ đồ mạch điều khiển
3.2 Kết quả mô phỏng đáp ứng tốc độ:
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
3.3 Kết quả mơ phỏng đáp ứng dịng điện:
3.4 Kết quả mô phỏng đáp ứng Moment:
3.5 Kết quả mô phỏng đáp ứng điện áp phần ứng:
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
4. Mô phỏng mạch bằng Proteus4.1 Sơ đồ mạch điều khiển : 4.1 Sơ đồ mạch điều khiển :
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
CHƯƠNG 6: CẢM BIẾN
1. Cảm biến dịng: Sử dụng IC ACS712
Đường tín hiệu analog có độ nhiễu thấp.
Thời gian tăng của đầu ra để đáp ứng với đầu vào là 5µs. Điện trở dây dẫn trong là 1.2mΩ.
Nguồn : 5VDC.
Độ nhạy đầu ra từ 63-190mV/A. Điện áp ra cực kỳ ổn định.
ACS 712 5A (x05B):
Ip: 5A đền -5A
Độ nhạy: 180 - 190 mV/A.
Nguyên lý hoạt động:
Khi đo DC phải mắc tải nối tiếp Ip+ và Ip- đúng chiều, khi dòng điện đi từ Ip+ đến Ip- Vout sẽ ra mức điện áp tương ứng 2.5~5VDC tương ứng dòng 0~Max, nếu mắc ngược Vout sẽ ra điện thế 2.5~0VDC tương ứng với 0~(-Max).
Khi cấp nguồn 5VDC cho module khi chưa có dịng Ip (chưa có tải mắc nối tiếp) thì Vout = 2.5VDC, khi dịng Ip( dịng của tải) bằng Max thì Vout=5DC, Vout sẽ tuyến tính với dịng Ip trong khoản 2.5~5VDC tương ứng với dòng 0~Max, để kiểm tra có thể dùng đồng hồ VOM thang đo DC để đo Vout.
Code vi điều khiển:
/*
Code đo dòng 1 chiều DC
*/
const int analogIn = A0;
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
int mVperAmp = 66; /*
Sử dụng mVerAmp = 185 cho Module 5A
= 100 cho Module 20A = 66 cho Module 30A
*/
int RawValue= 0; // Giá trị thô int ACSoffset = 2500;// Giá trị bù double Voltage = 0; // double Amps = 0; void setup() { Serial.begin(9600); } void loop() { RawValue = analogRead(analogIn);
Voltage = (RawValue / 1024.0) * 5000; // Lấy giá trị mV Amps = ((Voltage - ACSoffset) / mVperAmp);
Serial.print("Raw Value = " ); // In ra giá trị thô Serial.print(RawValue);
Serial.print("\t mV = "); // Vol đo được Serial.print(Voltage,3);
Serial.print("\t Amps = ");//Dòng đo được Serial.println(Amps,3);
delay(1000); }
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
2. Cảm biến tốc độ: Sử dụng Encorder
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
Code bộ điều khiển tốc độ:
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
3. Vi điều khiển:
Chọn arduino làm vi điều khiển:
Thông số kỹ thuật của Arduino Uno R3 là tiêu chuẩn, các biến thể gần như có thơng số tương đương.
Arduino Uno được xây dựng với phần nhân là vi điều khiển ATmega328P, sử dụng thạch anh có chu kì dao động là 16 MHz.
Với vi điều khiển này, tổng cộng có 14 pin (ngõ) ra / vào được đánh số từ 0 tới 13 (trong đó có 6 pin PWM, được đánh dấu ~ trước mã số của pin). Song song đó, có thêm 6 pin nhận tín hiệu analog được đánh kí hiệu từ A0 - A5, 6 pin này cũng có thể sử dụng được như các pin ra / vào bình thường (như pin 0 - 13). Ở các pin được đề cập, pin 13 là pin đặc biệt vì nối trực tiếp với LED trạng thái trên board.
Trên board cịn có 1 nút reset, 1 ngõ kết nối với máy tính qua cổng USB và 1 ngõ cấp nguồn sử dụng jack 2.1mm lấy năng lượng trực tiếp từ AC-DC adapter hay thông qua ắc-quy nguồn.
Khi làm việc với Arduino board, một số thuật ngữ sau cần lưu ý:
Flash Memory: bộ nhớ có thể ghi được, dữ liệu khơng bị mất ngay cả khi tắt điện. Về vai trị, có thể hình dung bộ nhớ này như ổ cứng để chứa dữ liệu trên board. Chương trình được viết cho Arduino sẽ được lưu ở đây. Kích thước của vùng nhớ này dựa vào vi điều
CHƯƠNG 5: MÔ PHỎNG HỆ THỐNG TRÊN MATLAB SIMULINK
khiển được sử dụng, ví dụ như ATmega8 có 8KB flash memory. Loại bộ nhớ này có thể chịu được khoảng 10.000 lần ghi / xoá.
RAM: tương tự như RAM của máy tính, mất dữ liệu khi ngắt điện, bù lại tốc độ đọc ghi xố rất nhanh. Kích thước nhỏ hơn Flash Memory nhiều lần.
EEPROM: một dạng bộ nhớ tương tự như Flash Memory nhưng có chu kì ghi / xố cao hơn - khoảng 100.000 lần và có kích thước rất nhỏ. Để đọc / ghi dữ liệu có thể dùng thư viện EEPROM của Arduino.
Ngồi ra, Arduino board cịn cung cấp cho các pin khác nhau như pin cấp nguồn 3.3V, pin cấp nguồn 5V, pin
GND, .. .