PID trong PLC

Một phần của tài liệu Đồ án tốt nghiệp: Điều khiển ổn định liên tục áp suất thủy tĩnh (Trang 54)

1. Lý do chọn đề tài:

3.3. PID trong PLC

3.3.1.Khai báo phần cứng.

Hình 3.21.Khai báo phần cứng

- Tín hiệu cảm biến được đưa vào modul Analog thông qua địa chỉ PIW752. - Tín hiệu xuất ra để điều khiển biến tần thông qua địa chỉ PQW752.

 Khai báo thời gian ngắt trong OB35:

 Chọn dạng tín hiệu Analog đầu vào – ra cho CPU.

- Đầu vào tín hiệu phản hồi cảm biến đưa vào chọn kênh 0 của Modul Analog (PIW 752).

Hình 3.23.Khai báo dạng tín hiệu đưa vào Analog

- Đầu ra của tín hiệu cảm biến được đưa ra kênh 0 của Modul Analog(PQW 752)

Hình 3.24. Khai báo dạng tín hiệu đưa ra từ modul Analog

Hình 3.25.Sơ đồ kết nối phần cứng

3.3.3.Lập bảng Symbol.

3.3.4.Thuật toán điều khiển PID.

Hình 3.27.Lưu đồ thuật toán bộ PID trong PLC  Nhận xét:

- Về kỹ thuật: Sử dụng khối PID mềm tích hợp trong PLC S7 – 300. Ở đây chúng em sử dụng khối hàm FB 41 là khối hàm điều khiển ổn định liên tục áp suất. - Về kinh tế: Giá thành cao.

- Về độ tin cậy: Mạch PID trong PLC chạy ổn định hơn các mạch PID số và PID tương tự vì nó là các modul tích hợp có sẵn nên nó ít chịu ảnh hưởng của nhiễu và sai số. Cài đặt biến tần Bắt đầu start Cuộn hút K có điện Động cơ hoạt động FB 41 (Khối hàm PID) Kết thúc BIẾN TẦN ThSP <> PV? ĐC GIẢM TỐC ĐỘ Đ Đ S

- Lựa chọn KP = 2, KI = 3, KD =0.

3.4.Hình ảnh về sản phẩm

Hình 3.29.Mặt bảng điều khiển

3.5.Tính toán lựa chọn thiết bị.

3.5.1.Lựa chọn và cài đặt biến tần

- Lựa chọn biến tần: Trong hệ thống chúng em lựa chọn biến tần MM440 của Siemen.

- Cài đặt biến tần

Động cơ tương thích với biến tần thông qua các bộ thông số cài đặt. Trước khi cài đặt biến tần ta phải reset biến tần, để reset ta cài đặt:

- P0010 = 30. - P0970 =1.

Bảng 3.1. Bảng thông số cài đặt biến tần MM 440.

Thông số Cài đặt

P 0003 Mức truy cập

1: Mức cơ bản(cho phép truy nhập tới những thông số thường dùng nhất)

2: Mở rộng(ví dụ truy nhập đến các chức năng I/O) 3:Chuyên gia(chỉ dành cho chuyên gia)

3 P 0004 Lọc thông số 0: Tất cả các thông số 2: Biến tần 3: Động cơ 0

4: Cảm biến tốc độ P 0010 Cài đặt thông số

0 Sẵn sàng 1 Cài đặt nhanh

30 Cài đặt tại nhà máy

0

P 0100 Tiêu chuẩn Châu Âu/ Bắc Mỹ

0 Châu Âu[kw], tần số mặc định 50 Hz. 1 Bắc Mỹ[hp], tần số mặc định 60 Hz. 2 Bắc Mỹ[kw], tần số mặc định 60 Hz.

0

P 0205 Ứng dụng bộ biến tần(nhập vào kiểu mô men yêu cầu) 0 Mô men không đổi(vd thang máy, máy nén…) 1 Mô men thay đổi(vd bơm, quạt…).

P 0304 Điện áp định mức động cơ 220V

P 0305 Dòng điện định mức động cơ 3.81A

P 0307 Công suất định mức động cơ 0.75 Kw

P 0308 Hệ số cosφ định mức động cơ 0.82

P 0310 Tần số định mức động cơ 50 Hz

P 0311 Tốc độ định mức động cơ 1735 v/p

P 0700 Chọn nguồn lệnh

0 Chế độ cài đặt lỗi khi xuất xưởng 1 BOP(bàn phím)

2 Đầu nối

4 USS trên đường truyền BOP 5 USS trên đường truyền COM 6 CB trên đường truyền COM

2

P 0701 Chức năng đầu vào số số 1 Đầu nối số 5

1 ON/OFF

1 P 0702 Chức năng đầu vào số số 2

Đầu nối số 6 12 Đảo chiều

12

P 0756 Kiểu ADC

Xác định kiểu đầu vào tương tự và kích hoạt chức năng theo dõi của đầu vào tương tự.

0 Đầu vào điện áp đơn cực(0 đến 10V).

1 Đầu vào điện áp đơn cực với chức năng theo dõi(0 đên 10V)

2 Đầu vào dòng điện đơn cực(0 đến 20 mA).

3 Đầu vào dòng điện đơn cực với chức năng theo dõi (0 đến 20 mA).

4 đầu vào điện áp lưỡng cực(-10V đến 10V).

P 0757 Giá trị x1 của định thang ADC 0.37

P 0758 Giá trị y1 của định thang ADC 0.0%

P 0759 Giá trị x2 của định thang ADC 10V

P 0760 Giá trị y2 của định thang ADC 100.0%

P 1000 Lựa chọn điểm đặt tần số 1 Điểm đặt MOP

2 Điểm đặt tương tự 3 Tần số cố định

4 USS trên đường truyền BOP

5 USS trên đường truyền COM(đầu dây đk 29 và 30) 4 CB trên đường truyền COM (CB là modul truyền thông).

2

P 1080 Tần số nhỏ nhất 0.00 Hz

P 1082 Tần số lớn nhất 50 Hz

P 1120 Thời gian tăng tốc 2 giây

P 1121 Thời gian giảm tốc 2 giây

P 3900 Kết thúc quá trình cài đặt nhanh thông số (bắt đầu quá trình tính toán động cơ)

0 Không ở chế độ cài đặt nhanh thông số(không có quá trình tính toán động cơ)

1 Quá trình tính toán các thông số của động cơ và đặt lại tất cả các thông số khác theo chế độ nhà máy, những thông số không có trong quá trình cài đặt nhanh

2 Quá trình tính toán các thông số mô tơ và đặt lại chế độ I/O theo chế độ định mức

3 Chỉ tính toán các thông số của mô tơ, không cài đặt các thông số khác

0

3.5.2.Lựa chọn bơm thủy lực

Căn cứ vào thị trường thực tế và nhu cầu sử dụng các loại bơm áp suất nhỏ thường có lưu lượng lớn vì vậy không phù hợp với mô hình của đề tài vì vậy ta sử dụng bơm bánh răng có lưu lượng nhỏ phù hợp với mô hình, ta lựa chọn bơm bánh răng ăn khớp ngoài có thông số kỹ thuật như sau:

- Displacement(L/min): 2

- Pressure (Kgf/cm2):work 210, max 250. - Rate : 1800

- Speed : 5000

Hình 3.30.Bơm bánh răng ăn khớp ngoài

Ngoài ra trong mô hình còn sử dụng van một chiều để bảo vệ bơm tránh dầu hồi ngược lại bơm khi ta ngừng bơm.

3.5.3. Lựa chọn động cơ ba pha

Do ta sử dụng biến tần MM 440 có công suất 0.75 KW. Chúng em lựa chọn loại động cơ có công suất nhỏ hơn hoặc bằng 0.75 KW.Động cơ được nối với bơm thông qua cơ cấu kết nối.Thông số cụ thể động cơ như sau:

- Công suất định mức P = 0.75 KW. - Tốc độ định mức nđm = 1735 v/p. - Điện áp định mức 220V.

- Hệ số Cosφ = 0.82. - Y/∆ : 380/220.

3.5.4.Lựa chọn cảm biến áp suất

Trong mô hình chúng em lựa chọn cảm biến áp suất Sensys M5156 – 10286X – 10BG có thông số kỹ thuật như sau:

- Điện áp cung cấp: 9 – 30 V - Đầu ra: 4 ÷ 20 mA.

- Nhiệt độ hoạt động: - 40 ÷ 1250 C. - Môi trường đo: Không khí, nước, dầu. - Dải áp suất: 0 – 10 bar.

- Kiểu nối cáp: Mini DIN43650 …

Bảng 3.2. Thông số kỹ thuật của cảm biến Sensys M5156 – 10286X – 10BG

Hãng sản xuất Sensys

Ngõ ra 4~20mA

Nhiệt độ hoạt động -40~125℃

Môi trường đo • Không khí • Nước • Dầu

Đặc điểm khác Dải áp suất: 0 ~ 10 bar

Kiểu nối cáp: Mini DIN43650 Pressure port: PT1/4"

Thân vỏ thép không gỉ Chịu rung 20G, 20~200Hz

Xuất xứ Hàn Quốc

Đường đặc tính dòng điện phụ thuộc vào áp suất:

Hình 3.32.Đồ thị thể hiện đường đặc tính dòng điện phụ thuộc vào áp suất.

3.5.5. Lựa chọn van.

Sử dụng van tay dùng để điều khiển lượng dầu lớn nhỏ khi ta muốn thay đổi tải để điều chỉnh.

Hình 3.33.Van điều chỉnh bằng tay.  Van an toàn

Dùng để bảo vệ bơm bánh răng và cảm biến áp suất khi áp xuất vượt quá ngưỡng cho phép.Ta có thể thay đổi được lượng áp suất đặt để đảm bảo an toàn cho hệ thống.Thông số kỹ thuật của van:

- Mã hiệu model DT-02 - Áp suất max: 250 Kgf/cm2. - Lưu lượng: 2 l/min

Hình 3.34.Van an toàn.

3.5.6.Lựa chọn thùng dầu

Trên thực tế thùng dầu của hệ thống thủy lực có thể chứa được lượng dầu lớn như 10 lít, 20 lít, 40 lít…tùy vào mục đích sử dụng và yêu cầu công nghệ. Trong mô hình với mục đích thí nghiệm chúng em sử dụng loại thùng dầu nhỏ chứa được 5 lít.

CHƯƠNG 4:KẾT LUẬN VÀ KIẾN NGHỊ 4.1.Những khó khăn khi thực hiện đề tài

Trong quá trình làm đề tài chúng em đã vướng phải những khó khăn sau: - Trên thị trường các loại bơm dầu có áp suất nhỏ thì lưu lượng rất lớn, những loại lưu lượng nhỏ thì áp suất rất lớn, ở đây chúng em làm mô hình thí nghiệm nên làm loại bình chứa nhỏ vì vậy lưu lượng phải vừa phải. Do đó áp suất bơm lớn(với động cơ 0.75 kW áp suất tối đa có thể đạt lên đến 150 bar), tuy nhiên cảm biến áp suất đo được ở dải từ 0-10 bar rất nhỏ so với áp suất max chính vì vậy rất khó điều chỉnh ở dải áp suất nhỏ.

- Khi cho chạy thử mô hình biến tần bị dò điện gây nhiễu cho cảm biến dẫn đến cảm biến trả về không chính xác…

4.2.Cách khắc phục

- Mắc thêm van an toàn để bảo vệ an toàn cho cảm biến, bơm thủy lực, đồng hồ đo…

- Nối đất cho biến tần khắc phục nhiễu, giảm ảnh hưởng của nhiễu do dò điện gây lên cho cảm biến…

4.3.Kết quả đạt được và hạn chế

4.3.1.Kết quả đạt được

Sau một thời gian thực hiện đề tài chúng em đã đạt được một số kết quả sau: - Thiết kế được mô hình hệ thống.

- Thiết kế được bộ điều khiển PID, Vận dụng lần lượt bộ PID số, PID tương tự và bộ thông số PID trong PLC để chạy mô hình hệ thống.

- Nghiên cứu lập trình PID cho AVR, lập trình PID trong PLC. - Hoàn thiện sản phẩm, thuyết minh đúng thời gian quy định.

4.3.2.Những hạn chế

Bên cạnh những kết quả đã đạt được, chúng em vẫn còn có những hạn chế sau:

- Chưa xây dựng được hàm truyền đạt, chưa đưa ra được đặc tính đầu ra chính xác. - Lựa chọn hệ số Kp, Ki, Kd chưa dược tối ưu.

4.4.Kết luận và kiến nghị.

Sau một thời gian thực hiện đề tài chúng em đã cố gắng tìm hiểu, nghiên cứu và thiết kế mạch điều khiển ổn định liên tục áp suất thủy tĩnh. Do thời gian có hạn, kiến thức và kinh nghiệm còn hạn chế nên không thể tránh khỏi những thiếu sót, rất mong quý thầy cô và các bạn chỉ bảo để chúng em hoàn thiện bản than mình khi ra

làm ngoài doanh nghiệp.

Qua đây chúng em cũng xin chân thành cảm ơn các thầy cô trong khoa và toàn thể các bạn trong lớp đã giúp đỡ chúng em trong quá trình thực hiện đề tài. Chúng em đặc biệt cảm ơn thầy Nguyễn Phúc Đáo đã nhiệt tình chỉ bảo hướng dẫn và tạo điều kiện tối đa cho chúng em khi làm đề tài.

Sau khi thực hiện đề tài chúng em có một số kiến nghị như sau:

- Có nhiều đề tài đòi hỏi phải tìm hiểu rộng và sâu về kiến thức chúng em mong có nhiều thời gian để nghiên cứu hơn nữa để có thể hoàn thành tốt nhất đề tài của mình.

- Nhiều thiết bị mượn của khoa chúng em không được mang về nên rất khó khăn khi thực hiện vì không phải lúc nào chúng em cũng có thể lên xưởng thực hiện vì vậy rất mong khoa tạo điều kiện cho chúng em được mang thiết bị về phòng để làm.

4.5.Hướng phát triển của đề tài

Trong đề tài chúng em đã thiết kế thành công mạch điều khiển ổn định duy trì áp suất thủy tĩnh, tuy nhiên do thời gian có hạn, kinh nghiệm còn thiếu và kiến thức còn hạn chế vì vậy chúng em chưa thể thiết kế được những phần sau:

- Giám sát điều khiển trên PC thông qua VB, WinCC, Matlap…

- Phát triển đề tài ứng dụng vào thực thế(Điều khiển các máy nâng hạ, cần trục…) bằng cách tăng trữ lượng thùng dầu, công suất động cơ…

TÀI LIỆU THAM KHẢO

- Một số tài liệu tham khảo:

[1] Bùi Văn Dân, Giáo trình PLC,Khoa Điện - Điện tử, Trường ĐH SPKT Hưng Yên.

[2] Nguyễn Phúc Đáo,Giáo trình khí nén thủy lực, Khoa Điện - Điện tử,Trường ĐH SPKT Hưng Yên.

[3] Nguyễn Thành Long, Giáo trình Điện tử căn bản, Khoa Điện - Điện tử, Trường ĐH SPKT Hưng Yên.

[4] Phạm Công Ngô, Lý thuyết điều khiển tự động, NXB Khoa học kỹ thuật Hà Nội, 2006.

[5] Nguyễn Doãn Phước, Lý thuyết điều khiển tuyến tính, NXB Khoa học và Kỹ thuật,2004.

[6] D. Ibrahim, Microcontroller Based Applied Digital Control, John Wiley & Sons, May 5, 2006. - Một số trang web: 1. www.doko.vn 2.www.tailieu.vn 3.http://luanvan.co/default.aspx 4.Docs.4share.vn. 5.Kythuatviet.com

PHỤ LỤC

Phụ lục 1: Chương trình vi điều khiển mạch PID số.

#include <mega16.h> #include <delay.h> #include <alcd.h> #include "stdio.h"

#define START PINB.0 #define SETUP PINB.1 #define RED PINB.2 #define INC PINB.3 #define SCK PORTD.0 #define CS PORTD.1 #define SDI PORTD.2 #define sampling_time 50 long apsuatdat=0,apsuat=0,pre_apsuat=0,error,pre_error; long ppart=0,ipart=0,dpart=0,pid=0,dac=0,tong=0; int Kp=0,Kd=0,Ki=0,i=0,k=0,l=0; char str[16],start; char b[12]; int e_Kp=2,e_Ki=5,e_Kd=0,e_apsuatdat=500; #define ADC_VREF_TYPE 0x00

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage delay_us(10);

// Start the AD conversion ADCSRA|=0x40;

// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);

return ADCW; } void ghibit(char b) { SDI=b; delay_us(10); // SCK=1;delay_us(10); SCK=0; } void ghibye(void) { CS=0; delay_us(10); ghibit(0); ghibit(0); ghibit(1); ghibit(1); for(l=11;l>-1;l--) ghibit(b[l]); CS=1; delay_us(10); } void PID_control() { error=apsuatdat-apsuat; ppart=Kp*error; ipart+=Ki*error*sampling_time/1000; if(ipart>4095) ipart=4095; if(ipart<0) ipart=0; dpart=Kd*(error-pre_error)*1000/sampling_time; pid=ppart+ipart+dpart; if(pid>4095) pid=4095; if(pid<0) pid=0; dac=pid; for(l=0;l<12;l++){b[l]=dac%2;dac=dac/2;} ghibye(); pre_error=error;

}

// Timer1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) {

TCNT1=59285;

if(start)PID_control();else{pre_error=0;ipart=0;pid=0;} }

void lcd_putf(float so) { float so2;

int so1;

unsigned char a,b,c,d;

if(so<0) {lcd_putchar('-');so=-so;} so1=(int)so; so2=so-so1; a=so1/1000; b=(so1-1000*a)/100; c=(so1-1000*a-100*b)/10; d=(so1-1000*a-100*b-10*c); if(so1>999) lcd_putchar(a+48); if(so1>99)lcd_putchar(b+48); if(so1>9)lcd_putchar(c+48); lcd_putchar(d+48); lcd_putchar('.'); //so2=so2*100; a=(so2/0.1); // b=(int)so2-10*a; lcd_putchar(a+48); // if(b>0) lcd_putchar(a+48); }

void lcd_puti(int so) { int so1;

unsigned char a,b,c,d,e;

if(so<0) {lcd_putchar('-');so=-so;} so1=so;

if(so1>9999) lcd_putchar(a+48); so=so-10000*a; b=so/1000; if(so1>999) lcd_putchar(b+48); so=so-1000*b; c=so/100; if(so1>99) lcd_putchar(c+48); so=so-100*c; d=so/10; if(so1>9) lcd_putchar(d+48); e=so-10*d; lcd_putchar(e+48); } void main(void) { PORTA=0x00; DDRA=0xF0; // Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=P State2=P State1=P State0=P PORTB=0x0F;

DDRB=0x00;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=Out

// State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=0 PORTC=0x00;

DDRC=0x07;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=Out

// State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=0 PORTD=0x00;

DDRD=0x07;

// Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x00;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 125.000 kHz // Mode: Normal top=0xFFFF // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: On // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x03; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x04;

// USART initialization // USART disabled UCSRB=0x00;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80;

SFIOR=0x00; // ADC initialization

// ADC Clock frequency: 125.000 kHz // ADC Voltage Reference: AREF pin // ADC Auto Trigger Source: ADC Stopped ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x86; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled

Một phần của tài liệu Đồ án tốt nghiệp: Điều khiển ổn định liên tục áp suất thủy tĩnh (Trang 54)