BÀI TẬP DÀI SỐ 1 MÔN HỌC: MÔ HÌNH HÓA VÀ MÔ PHỎNG DANH SÁCH HÌNH VẼ 2 ĐỀ BÀI 3 1. Thiết lập phương trình sai phân 5 2. Viết chương trình 6 3. Khảo sát lại hệ bằng Simulink và so sánh với kết quả tính toán. 14 TÀI LIỆU THAM KHẢO 16 ĐỀ BÀI Đề bài tập dài số 1: Mô hình hóa hệ thống liên tục Nội dung: Dùng máy tính khảo sát quá trình quá độ của hệ điều khiển tự động. Yêu cầu: 1. Lập phương trình sai phân của hệ thống. 2. Chọn thời gian cắt mẫu 3. Viết chương trình tính toán mô phỏng hệ với tín hiệu vào dạng bước nhảy, gồm: Số bước tính: tối thiểu 1000 bước. Vẽ đồ hoạ đặc tính quá độ từ dữ liệu đã tính. Chương trình mô phỏng cho phép nhập và mô phỏng với các giá trị tham số tuỳ ý. In ra màn hình các chỉ tiêu đánh giá: +) Giá trị cực đại của tín hiệu ra: ykmax +) Độ quá điều chỉnh: δmax (%) +) Giá trị ổn định của tín hiệu ra: ykôđ +) Thời gian đạt giá trị ykmax +) Thời gian đạt giá trị ykôđ +) 100 giá trị tính toán: y10i (các giá trị cách nhau 10 bước tính) +) Khảo sát lại hệ bằng Simulink và so sánh với kết quả tính toán.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN BỘ MƠN: TỰ ĐỘNG HĨA CƠNG NGHIỆP BÀI TẬP DÀI SỐ MƠN HỌC: MƠ HÌNH HĨA VÀ MƠ PHỎNG Giảng viên hướng dẫn: TS Đỗ Mạnh Cường Sinh viên thực hiện: Nhóm 1 Lê Văn Thanh MSSV: 20112270 Hồ Trọng Đạt MSSV: 20112569 Nguyễn Hoàng Thạch MSSV: 20112216 Nguyễn Anh Ngọc MSSV: 20112634 Nguyễn Trùng Dương MSSV: 20111319 HÀ NỘI, 9-2015 Mục lục MỤC LỤC DANH SÁCH HÌNH VẼ ĐỀ BÀI .3 Thiết lập phương trình sai phân Viết chương trình Khảo sát lại hệ Simulink so sánh với kết tính toán 14 TÀI LIỆU THAM KHẢO 16 Danh sách hình vẽ DANH SÁCH HÌNH VẼ Hình Hình Hình Hình Hình Hình Hình Hình Hình - 1: 2: 3: 4: 5: 6: 7: 8: 9: Sơ đồ cấu trúc Nhập số liệu Đặc tính độ Đặc tính độ .10 Đặc tính độ, giai đoạn xác lập 10 Đặc tính độ .11 Kết 12 Sơ đồ simulink 13 Đặc tính độ .13 Đề ĐỀ BÀI Đề tập dài số 1: Mơ hình hóa hệ thống liên tục Nội dung: Dùng máy tính khảo sát q trình q độ hệ điều khiển tự động Yêu cầu: Lập phương trình sai phân hệ thống Chọn thời gian cắt mẫu Viết chương trình tính tốn mơ hệ với tín hiệu vào dạng bước nhảy, gồm: - Số bước tính: tối thiểu 1000 bước - Vẽ đồ hoạ đặc tính độ từ liệu tính - Chương trình mơ cho phép nhập mô với giá trị tham số tuỳ ý - In hình tiêu đánh giá: +) Giá trị cực đại tín hiệu ra: y[k]max +) Độ điều chỉnh: δmax (%) +) Giá trị ổn định tín hiệu ra: y[k]ơđ +) Thời gian đạt giá trị y[k]max +) Thời gian đạt giá trị y[k]ơđ +) 100 giá trị tính tốn: y[10*i] (các giá trị cách 10 bước tính) +) Khảo sát lại hệ Simulink so sánh với kết tính tốn Đề 1: Sơ đồ cấu trúc hệ điều khiển tự động sau: Hình - 1: Sơ đồ cấu trúc U(t)=1(t); Đề K1= 100; K2 = 1; T1 = 0,01; T2 = 0,03; Thời gian trích mẫu T = 0,001 Thiết lập phương trình sai phân Thiết lập phương trình sai phân Đối tượng điều khiển có hàm truyền sau: Sử dụng phương pháp ZOH ta chuyển sang miền Z thời gian trích mẫu T: Nên Trong Số hóa điều khiển tích phân ta có: Hàm truyền hệ kín miền Z sau: Trong đó: b1k= T*b1; b2k= T*b2; a1k= a1+T*b1-1; a2k= a2-a1+b2*T; a3k=-a2; Từ hàm truyền hệ kín miền Z ta có phương trình sai phân sau: y(k)= u(k-1)*b1k + b2k*u(k-2) – y(k-1)*a1k – y(k-2)*a2k – y(k-3)*a3k; Viết chương trình Viết chương trình Viết chương trình tính tốn mơ hệ với tín hiệu vào dạng bước nhảy, sử dụng Turbo C++ gồm: Số bước tính: tối thiểu 1000 bước Vẽ đồ hoạ đặc tính độ từ liệu tính Chương trình mơ cho phép nhập mô với giá trị tham số tuỳ ý In hình tiêu đánh giá: Giá trị cực đại tín hiệu ra: y[k]max Độquá điều chỉnh: δmax (%) Giá trị ổn định tín hiệu ra: y[k]ơđ Thời gian đạt giá trị y[k]max Thời gian đạt giá trị y[k]ơđ 100 giá trịtính tốn: y[10*i] (các giá trị cách 10 bước tính) Để thực yêu cầu chương trình viết Turbo C++ Chương trình C sau: // khai bao thư viện cần dùng #include #include #include #include #include #include #include void main() { int mh=0,mode=0,i,k; //so lieu dau vao float K1,K2,T1,T2,T; Viết chương trình //cac bien su dung float a,b; float b1,b2,a1,a2; float b1k,b2k,a1k,a2k,a3k; float yk3,yk2,yk1,yk,uk2,uk1,uk; float Tod,Tod1,ytren,yduoi,yod,overshoot; float Tmax=0,ymax; int counter; system("cls");//xóa hình //nhập số liệu đầu vào printf("nhap K1="); scanf("%f",&K1); printf("\nnhap K2="); scanf("%f",&K2); printf("\nnhap T1="); scanf("%f",&T1); printf("\nnhap T2="); scanf("%f",&T2); printf("\nnhap T="); scanf("%f",&T); // khoi tao a=exp(-T/T1); b=exp(-T/T2); b1=K1*(-a*T1+b*T2+T1-T2)/(T1-T2); b2=K1*(a*b*(T1-T2)+T2*a-T1*b)/(T1-T2); a1=-(a+b); a2=a*b; b1k=T*b1; b2k=T*b2; a1k=a1+T*b1-1; a2k=a2-a1+b2*T; a3k=-a2; //tính tốn thời gian ổn định Tod giá trị xác lập yod yk3=0; yk2=0; yk1=0; yk =0; uk2=0; uk1=0; uk =1; Tod=0; Tod1=0; ytren=1.05;yduoi=0.95;counter=0;// sai so 5% for(i=0;i=yk)&&(yk>=yduoi)) { Tod1=i*T; counter++; } else {Tod1=0;counter=0;} if (counter==1) Tod=Tod1; yk3=yk2; yk2=yk1; yk1=yk; uk2=uk1; uk1=uk; } yod=yk; //tính tốn độ q điều chỉnh overshoot , giá trị cực đại ymax thời gian đạt giá trị cực đại Tmax yk3=0; yk2=0; yk1=0; uk2=0; uk1=0; uk=1; ymax=yk; Tmax=0; for(i=0;i