Xem mẫu

  1. Phan Văn Hồng Thắng – MSSV 40602298 BÀI 1 ĐIỀU KHIỂN CÁC PHẦN TỬ KHÍ NÉN I. Phân biệt các loại cảm biến: - Cảm biến quang sẽ lên mức 1 khi đưa bất cứ vật nào che đầu cảm biến. - Càm biến điện dung sẽ lên mức 1 khi đưa một vật bất kì lại thật gần cảm biến. - Cảm biến điện cảm : chỉ lên mức 1 khi đưa vật bằng kim loại lại gần. II. Chương trình LADDER và STL của các thí nghiệm tiến hành và yêu cầu của giáo viên hướng dẫn : Thí nghiệm 1C: Điều khiển Valve 2 vị trí có 2 cuộn dây LD 000.04 OR 100.00 AND NOT 000.05 OUT 100.00 LD 000.05 OR 100.01 AND NOT 000.04 OUT 100.01 END(01) BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  2. Phan Văn Hồng Thắng – MSSV 40602298 Thí nghiệm 1D: Điều khiển Valve 2 vị trí có 2 cuộn dây sau 2s thay đổi trạng thái. LD 000.04 OR 100.00 AND NOT TIM 000 OUT 100.00 LD 100.00 TM 000 #0020 LD TIM 000 OR 100.01 AND NOT 000.04 OUT 100.01 END(01) BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  3. Phan Văn Hồng Thắng – MSSV 40602298 Thí nghiệm 1E: Điều khiển 2 Xilanh I, J lần lượt đẩy ra đẩy vào với chu kì 4s, khi nhấn SW3 thì dừng. OR 100.04 AND NOT 000.06 BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  4. Phan Văn Hồng Thắng – MSSV 40602298 OUT 100.04 LD 100.04 AND NOT TIM 001 TIM 000 #0040 LD TIM 000 TIM 001 #0040 LDN TIM 000 OUT 100.02 LD TIM 000 OUT 100.00 LD TIM 001 OUT 100.01 END(01) YÊU CẦU CỦA GIÁO VIÊN: • Ban đầu 3 van cùng đẩy ra. • Sau đó van 1 và van 2 được kéo vào, van 3 vẫn ở trạng thái đẩy ra. • Sau đó van 1 và van 2 vẫn ở trạng thái kéo vào, van 3 được kéo vào. • Sau đó 3 van được đẩy ra. • Sau đó van 2 và van 3 được kéo vào, van 1 vẫn ở trạng thái đẩy ra. • Kế tiếp van 2 và van 3 vẫn ở trạng thái kéo vào, van 1 được kéo vào . • Cuối cùng tắt hệ thống. THỰC HIỆN: • Sơ đồ dạng Ladder BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  5. Phan Văn Hồng Thắng – MSSV 40602298 BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  6. Phan Văn Hồng Thắng – MSSV 40602298 • Sơ đồ dạng STL: LD 000.04 OR 200.00 AND NOT TIM006 OUT 200.00 LD 200.00 TIM 001 003 TIM 002 008 TIM 003 013 TIM 004 018 TIM 005 023 TIM 006 026 LD 200.00 LD NOT TIM001 LD TIM003 AND NOT TIM005 OR LD AND LD OUT 010.00 LD 200.00 LD TIM001 LD TIM003 AND NOT TIM004 OR LD AND LD OUT 010.02 LD 200.00 LD NOT TIM002 LD TIM003 AND NOT TIM004 OR LD AND LD OUT 010.03 LD 200.00 LD TIM001 AND NOT TIM003 LD TIM005 BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  7. Phan Văn Hồng Thắng – MSSV 40602298 AND NOT TIM006 OR LD AND LD OUT 010.00 BÀI 2 : ĐIỀU KHIỂN DÙNG PLC OMRON YÊU CẦU CỦA GIÁO VIÊN : Đếm 5 thùng táo trình tự như sau : • Bấm Start để khởi động hệ thống • 2 thùng đầu mỗi thùng 5 trái táo sau đó dừng 10s • 2 thùng tiếp theo mỗi thùng 3 trái táo sau đó dừng 5s • Thùng cuối chứa 2 trái táo sau đó dừng luôn cả hệ thống. THỰC HIỆN : Ta chia chương trình thành 4 khối : • Khối 0: khởi động và dừng chương trình • Khối 1 : đếm 2 thùng 5 trái BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  8. Phan Văn Hồng Thắng – MSSV 40602298 • Khối 2 : đếm 2 thùng 3 trái • Khối 3 : đếm 1 thùng 2 trái Khi bấm Start , khối 1 thực hiện , sau khi khối 1 đã thực hiện xong,cấm khối 1, cho phép timer đếm 10s. Sau 10s khối 2 thực hiện , sau khi thực hiện xong cấm khối 2, cho phép timer đếm 5s. Sau 5s khối 3 thực hiện, sau khi thực hiện xong sẽ dừng luôn hệ thống. BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  9. Phan Văn Hồng Thắng – MSSV 40602298 BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  10. Phan Văn Hồng Thắng – MSSV 40602298 BÀI 3: ĐIỀU KHIỂN LÒ NHIỆT BẰNG CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN CỔ ĐIỂN I. Điều khiển PID: Đoạn đọc tín hiệu nhiệt độ : DRV_AIVoltageIn(DriverHandle,(LPT_AIVoltageIn)&ptAIVoltageIn); Đoạn tính và xuất tín hiệu điều khiển: Error = Temp - 62.5*Input; ek2 = ek1; ek1 = ek; ek = Error; uk1 = uk; uk = uk1 + A0*ek + A1*ek1 + A2*ek2; if(uk>MaxValueOut) { uk = MaxValueOut; } if(uk
  11. Phan Văn Hồng Thắng – MSSV 40602298 Pwr = 100 ; pw = 100 ; } if ((Input*62.5-Temp)>(Db)) { Output = 0; Pwr = 0 ; pw = 0 ; } ptAOConfig.chan = gwChannelOutput ; Output =(float)Pwr*5/100; ptAOVoltageOut.OutputValue = Output; DRV_AOVoltageOut(DriverHandle,(LPT_AOVoltageOut)&ptAOVoltageOut); YÊU CẦU CỦA GIÁO VIÊN : • Đoạn code phần tính tín hiệu điều khiển ON-OFF có chỗ bị sai,hãy sửa lại đoạn code trên sao cho đúng. • Tại sao lại có độ vot lố lớn khi chạy chương trình.Để giảm độ vọt lố trên ta phải làm như thế nào?(Phần điều khiển ON-OFF) • Đoạn code sau dùng để làm gì? /*if (((Temp-Input*62.5)0)) { Output = 2; Pwr = 100 ; pw = 100 ; }*/ GIẢI QUYẾT VẤN ĐỀ: • Đoạn code bị sai ở chỗ: if ((Temp-Input*62.5)(Db) ; { BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  12. Phan Văn Hồng Thắng – MSSV 40602298 Output = 5; Pwr = 100 ; pw = 100 ; } • Có độ vọt lố lớn khi thực hiện là vì lò nhiệt có khâu quán tính lớn.Do đó khi ta đã tắt lò thì nhiệt độ vẫn tiếp tục tăng một thời gian nữa rồi mới giảm nên gây ra độ vọt lố lớn.Để giải quyết vấn này ta cho bật lò trễ hoặc tắc lò sớm. • Đoạn code trên dùng để giảm công suất cấp cho lò nhiệt khi chênh lệch giữ nhiệt độ đặt và nhiệt độ đo ở vào khoảng 0 đến 0.5*nhiệt độ đặt .Điều này nhằm để giảm độ vọt lố khi điều khiển. III. NHẬN XÉT: • Ở điều khiển ON-OFF khi độ rộng vùng chết càng nhỏ thì sai số xác lập càng nhỏ. • Bộ điều khiển PID cho sai số nhỏ hơn so với bộ điều khiển ON-OFF.Chất lượng bộ điều khiển PID tốt hơn nhiều so với ON-OFF BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  13. Phan Văn Hồng Thắng – MSSV 40602298 BÀI 4 ĐIỀU KHIỂN TỐC ĐỘ VÀ VỊ TRÍ ĐỘNG CƠ DC I. ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ 1. YÊU CẦU CỦA THẦY : Chỉnh sửa giải thật của thầy sao cho lần đầu tiên nhấn nút setting thì các giá trị hiện lên ô PID setting là : Kp = 0.0004,Ki = 0.0015,Kd = 0.000001, sample time (T0=200), setspeed=1500. Sau khi cập nhật giá trị mới vào PID setting thì lần ấn nút setting tiếp theo các giá trị trong PID setting sẽ hiển thị giá trị lần cập nhật gần nhất. PHƯƠNG ÁN CHỈNH SỬA : Ở những dòng khai báo biến đầu tiên ta đặt giá trị ban đầu cho các biến Kp,Ki,Kd, T0, SetSpeed double Kp = 0.0004,Ki = 0.0015,Kd = 0.000001; double a0,a1,a2; int T0 = 200; DWORD gdwStartTime; DWORD dwCurrentTime; int m_nTimer, flag; int i; double CurrentSpeed[1000]; double SetSpeed = 1500; float Input,Output; Khi nhấn nút setting thì hộp PID setting xuất hiện và hiển thị các giá trị trong biến vừa khai báo ta chỉnh sửa như sau: BOOL CSetting::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here m_eKp = Kp; m_eKi = Ki; m_eKd = Kd; m_eSampleTime =T0; m_eSetspeed = SetSpeed; BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  14. Phan Văn Hồng Thắng – MSSV 40602298 UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } Khi cập nhật giá trị mới mong muốn và ấn accept thì các giá trị mới sẽ được gán vào các biến Kp,Ki,Kd, T0, SetSpeed do đó lần nhấn setting tiếp theo các giá trị hiện thị lên PID setting là các giá trị của lần cập nhật này: void CSetting::OnButtonAccept() { // TODO: Add your control notification handler code here UpdateData(TRUE); Kd = m_eKd; Ki = m_eKi; Kp = m_eKp; T0 = (int)m_eSampleTime; SetSpeed = (long)m_eSetspeed; OnOK(); } Nhận xét ảnh hưởng của các thành phần Kp , Ki , Kd của bộ điều khiển PID : Khi tăng Kp : sai số xác lập càng nhỏ, thời gian xác lập tăng, độ vọt lố càng cao. Khi tăng Kp thì các cực của hệ thống nói chung có xu hướng di chuyển ra xa trục thực.Nếu tăng Kp quá giá trị hệ số khuếch đại giới hạn thì hệ thống sẽ trở nn mất ổn định (dao động).Do đó nếu không thể cĩ sai số hệ thống bằng 0 cũng khơng thể tăng Kp lên vô cùng. Khi tăng Ki : làm chậm đáp ứng quá độ thời gian xác lập tăng , độ vọt lố tăng , sai số xác lập giảm .Do hệ số khuếch đại của khâu PI bằng vô cùng tại tần số bằng 0 nên khâu Pi có thể làm cho sai số của tín hiệu vào là hàm nấc của hệ thống không có khâu vi phân lý tưởng bằng 0.Ngoài ra,do khâu PI là một bộ lọc thông thấp nên nó còn có tác dụng triệt tiêu nhiễu tần số cao tác động vào hệ thống. Khi tăng Kd : đáp ứng của hệ thống càng nhanh ,thời gian lên ngắn,nhưng thời gian xác lập tăng , độ vọt lố tăng và sai số xác lập tăng. 2. THÍ NGHIỆM VỚI KP THAY ĐỔI KI=0.015,KD=10-6 : Kp 0.001 0.002 0.003 0.004 0.005 0.006 0.007 Thời gian lên (s) Thời gian xác lập(s) 14 6.2 5.5 4.1 3.6 3.2 3 Độ vọt lố(%) 26 27 28 30 32 34 35 Sai số xác lập(v/p) 2 5 6 9 11 13 16 BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  15. Phan Văn Hồng Thắng – MSSV 40602298 • Hình vẽ thu được: Trường hợp Kp=0.001: Trường hợp Kp=0.002: BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  16. Phan Văn Hồng Thắng – MSSV 40602298 3. THÍ NGHIỆM VỚI KI THAY ĐỔI KP=0.0004, KD=E-6: Ki 0.0015 0.002 0.0025 Thời gian xác lập(s) 7.6 8 10 Độ vọt lố(%) 36.8 61.2 75 Sai số xác lập(v/p) 6 2 0 Trường hợp Ki=0.002: BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  17. Phan Văn Hồng Thắng – MSSV 40602298 4. THÍ NGHIỆM VỚI KD THAY ĐỔI KP=0.0004,KD=0.0015 : Kd 10-4 3.10-4 Thời gian xác lập(s) 4s 5.9s Độ vọt lố(%) 29.93% 23.2% Sai số xác lập(v/p) 4 2 Trường hợp Kd=3.10-4: BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  18. Phan Văn Hồng Thắng – MSSV 40602298 II. ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ: 1. THÍ NGHIỆM VỚI KI=0.05,KP=0.002,KD=0.025: Thời gian lên 0.07s Thời gian xác lập(s) 1.6s Độ vọt lố(%) 15% Sai số xác lập(v/p) 0.41 BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  19. Phan Văn Hồng Thắng – MSSV 40602298 2. NHẬN XÉT ẢNH HƯỞNG CỦA CÁC THÀNH PHẦN KP , KI , KD CỦA BỘ ĐIỀU KHIỂN PID Khi tăng Kp : sai số xác lập càng nhỏ, thời gian xác lập tăng, độ vọt lố càng cao.Nếu tăng Kp quá thì hệ thống sẽ trở nên mất ổn định (dao động).Do đã nếu không có sai số hệ thống bằng 0 thì cũng không thể tăng Kp đến vô cực. Khi tăng Ki : làm chậm đáp ứng quá độ thời gian xác lập tăng , độ vọt lố tăng , sai số xác lập giảm .Do hệ số khuếch đại của khâu PI bằng vô cùng tại tần số bằng 0 nên khâu Pi có thể làm cho sai số của tín hiệu vào là hàm nấc của hệ thống không có khâu vi phân lý tưởng bằng 0.Ngoaøi ra,do khaâu PI laø moät boä loïc thoâng thaáp neân noù coøn coù taùc duïng trieät tieâu nhieãu taàn soá cao taùc ñoäng vaøo heä thoáng. Khi tăng Kd : đáp ứng của hệ thống càng nhanh ,thời gian lên ngắn,nhưng thời gian xác lập tăng , độ vọt lố tăng và sai số xác lập tăng. BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
  20. Phan Văn Hồng Thắng – MSSV 40602298 BÀI 5 ĐIỀU KHIỂN THÍCH NGHI TỐC ĐỘ ĐỘNG CƠ DC YÊU CẦU CỦA THẦY : • Tìm hiểu w(k),e1(k),e2(k),u(k),y(k) thể hiện trong giải thuật PID thích nghi như thế nào? • Hệ số thích nghi β biểu hiện như thế nào? • So sánh PID thường và PID thích nghi. THỰC HIỆN: double CBAI4Dlg::PID(double currentspeed) { static double u[2]; static double e[3]; double etemp; double e2; int i1; //dua toc do do duoc thanh ap if(Output2.5V) if(Output>2.4 & Output=2.6) e2 = 2.6-(2897.7- SetSpeed)/1135.4-Output; // 50ms (2.5V->5V) //sai lech dau vao tinh theo ap if(Output2.5V) BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
nguon tai.lieu . vn