Xem mẫu
- 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
- 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
- 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
- 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
- Phan Văn Hồng Thắng – MSSV 40602298
BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
- 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
- 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
- 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
- Phan Văn Hồng Thắng – MSSV 40602298
BÁO CÁO THÍ NGHIỆM ĐIỀU KHIỀN TỰ ĐỘNG II
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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