Nhiệt độ ban đầu là nhiệt độ môi trƣờng (35 oC). Với nhiệt độ cài đặt duy trì ổn định là 60 oC. - Kết quả thu thập dữ liệu nhiệt độ trên máy tính:
Bảng kết quả thu thập nhiệt độ trong quá trình thử nghiệm được trình bày trong phần phụ lục 2.
Hình 4.7. Đồ thị nhiệt độ thí nghiệm 1 - Nhận xét:
Qua đồ thị đặc tính nhiệt độ, nhận thấy thời gian hệ thống gia nhiệt đạt nhiệt độ ổn định khoảng 2 phút, nhiệt độ duy trì ở ngƣỡng sai số ± 1 oC, tuy có hơi nhấp nhô nhƣng nhiệt độ đã đáp ứng đƣợc với yêu cầu đặt ra. Thời gian càng tăng về sau thì nhiệt độ càng ổn định hơn.
4.2.2.Thí nghiệm 2
Nhiệt độ ban đầu là 60 oC. Với nhiệt độ cài đặt duy trì là 80 oC. - Kết quả thu thập dữ liệu nhiệt độ trên máy tính:
Bảng kết quả thu thập nhiệt độ trong quá trình thử nghiệm được trình bày trong phần phụ lục 3.
- Đồ thị đặc tính nhiệt độ:
Hình 4.8. Đồ thị nhiệt độ thí nghiệm 2 - Nhận xét:
Với Nhiệt độ ban đầu là 60 oC, ta nhận thấy nhiệt độ tăng lên nhiệt độ đặt 80 oC khoảng 1 phút 30 giây, nhiệt độ dùy trì vẫn nhấp nhô với sai số ± 1 oC. Đáp ứng đƣợc yều cầu. Tuy nhiên thời gian đáp ứng của nhiệt độ hơi chậm.
4.2.3.Thí nghiệm 3
Mô hình sẽ giảm nhiệt độ: Nhiệt độ ban đầu là 80 o
C. Với nhiệt độ cài đặt duy trì là 65 o
C.
- Kết quả thu thập dữ liệu nhiệt độ trên máy tính:
Bảng kết quả thu thập nhiệt độ trong quá trình thử nghiệm được trình bày trong phần phụ lục 4.
- Đồ thị đặc tính nhiệt độ:
Hình 4.9. Đồ thị nhiệt độ thí nghiệm 3 - Nhận xét:
Qua đồ thị ta thấy, quá trình hạ nhiệt độ ở chậm dần theo thời gian, nhiệt độ từ mốc 80 oC giảm xuống 70 oC, nhanh hơn so với từ 70 o
C giảm xuống 65 oC. Nhiệt độ giảm chậm là do mô hình lò sấy nhỏ, kín và quạt hút nhiệt có công suất nhỏ nên nhiệt năng thất thoát ít.
4.2.4.Thí nghiệm 4
Hẹn giờ hoạt động: Mô hình sẽ duy trì nhiệt độ 65 oC trong 5 phút. Sau đó tự động dừng gia nhiệt và báo động ngƣời dùng, đồng thời hạ nhiệt độ ở ngƣỡng an toàn dƣới 40 o
C.
- Đồ thị đặc tính nhiệt độ:
Hình 4.10. Đồ thị nhiệt độ thí nghiệm 4 - Nhận xét:
Ở thí nghiệm này, với thời gian hẹn giờ là 5 phút tƣơng ứng với 300 giây, nhận thấy vào thời điểm từ 300 giây trở đi nhiệt độ bắt đầu hạ dần. đó chính là do thời gian hẹn giờ đã hết, mô hình sẽ ngƣng gia nhiệt, đồng thời báo hiệu đến ngƣời dùng, quạt hút nhiệt hoạt động, nhiệt độ sẽ giảm đến dƣới 40 oC, thì quạt dừng. chức năng này của bộ điều khiển hoạt động tốt.
4.2.5.Thí nghiệm 5
Thử nghiệm hoạt động theo quy trình đặt trƣớc: Mô hình duy trì nhiệt độ 40 oC trong 2 phút, 45 oC trong 1 phút, 50 oC trong 2 phút, 55 oC trong 1 phút và 60 oC trong 2 phút. Kết thúc quy trình Mô hình tự động dừng gia nhiệt, báo hiệu đến ngƣời dùng bằng còi, đồng thời hạ nhiệt độ ở ngƣỡng an toàn dƣới 40 oC.
- Đồ thị nhiệt độ lò sấy vẽ bằng Chƣơng trình LabVIEW:
Hình 4.11. Đồ thị nhiệt độ thí nghiệm 5 - Nhận xét:
Thí nghiệm này kiểm chứng khả năng hoạt động theo quy trình đặt trƣớc của lò nhiệt. Với mốc đầu tiên, từ nhiệt độ môi trƣờng đến nhiệt độ duy trì ổn định 40 oC đặt trong 2 phút, kết quả cho thấy thời gian từ 0 – 120 giây, nhiệt độ tăng dần và duy trì ổn định ở 40 oC. Sau đó hoạt động theo mốc thứ hai, tăng lên 45 oC, duy trì trong 1 phút, tƣơng tự nhƣ vậy cho đến mốc cuối cùng là 60 oC, duy trì trong 2 phút. Kết thúc quy trình nhiệt độ giảm dần đến ngƣỡng an toàn dƣới 40 oC, đồng thời báo động đến ngƣời dùng. Trên đồ thị ta sẽ thấy cơ bản có 5 nấc thang, hay 5 bậc nhiệt độ.
4.3. ĐÁNH GIÁ
Qua nhiều lần kiểm tra, thí nghiệm hoạt động của mô hình tác giả nhận thấy bộ điều khiển nhiệt độ lò sấy đã đáp ứng đƣợc yêu cầu cũng nhƣ mục tiêu của đề tài, ngoài ra còn có một số chức năng vƣợt yêu cầu của đề tài nhƣ hẹn giờ hoạt động với thời gian thực. Có khả năng sấy theo quy trình đặt trƣớc, điều này rất cần thiết cho những sản phẩm chất lƣợng cao, đòi hỏi sấy theo một quy trình nhất định.
Khả năng bám theo nhiệt độ đặt trƣớc hoạt động tốt cùng với tiết kiệm điện năng, hẹn giờ hoạt động cũng nhƣ công sức lao động.
Bộ điều khiển gọn nhẹ, dễ dàng lắp đặt cũng nhƣ thay thế linh kiện. Chi phí của bộ điều khiển thấp, giao động khoảng từ 300.000 đến 500.000 đồng.
Tuy nhiên, do sử dụng điều khiển theo phƣơng pháp PID nên ở thời kì đầu nhiệt độ bị vọt lố khoảng từ 1 – 3 độ, sau đó dần dần ổn định, duy trì ở ngƣỡng sai số ±1 o
C. Có thể giảm độ vọt lố tuy nhiên nhƣ vậy thì quá trình gia nhiệt sẽ chậm hơn. Tác giả nhận thấy nếu áp dụng cho lò sấy thủy sản thì bộ điều khiển nhiệt độ này hoàn toàn có thể thỏa mãn đƣợc yêu cầu.
KẾT LUẬN
Qua quá trình thực hiện đồ án này, đặc biệt là qua các lần thí nghiệm mô hình tác giả có một số nhận định sau:
- Mạch điều khiển đã cho kết quả hoạt động tốt, xử lý nhanh, thỏa mãn đầy đủ các yêu cầu của đề tài. Mạch công suất đảm bảo yêu cầu cũng nhƣ an toàn trong quá trình hoạt động, đạt độ tin cậy cao.
- Quá trình gia nhiệt độ đáp ứng đƣợc yêu cầu. Vì lò nhiệt độ là cơ cấu có đáp ứng chậm nên phải tốn thời gian nhất định để đạt tới kết quả đề ra. Từ nhiệt độ môi trƣờng đến 60 o
C mất khoảng từ 2 đến 5 phút. Nhiệt độ duy trì ổn định với sai số nằm trong giới hạn cho phép của lò sấy là ± 1 oC. Tuy nhiên, ở thời kì đầu nhiệt độ bị vọt lố và quá trình hạ nhiệt độ xuống lại diễn ra chậm nguyên nhân do mô hình lò sấy nhỏ, ít thất thoát nhiệt.
- Có khả năng tiết kiệm điện vì mô hình chỉ tiêu tốn điện năng nhiều trong quá trình gia nhiệt, còn trong quá trình duy trì nhiệt độ cần ít năng lƣợng hơn do đó lƣợng điện tiêu thụ rất ít.
- Khả năng hoạt động theo quy trình và hẹn giờ rất hiệu quả. Trong một số trƣờng hợp ngƣời dùng không cần giám sát lò sấy vẫn đảm bảo sản phẩm sấy hoạt động tốt. Sau khi thực hiện sấy xong hệ thống sẽ báo động ngƣời dùng đồng thời khống chế nhiệt độ ở ngƣỡng an toàn.
- Khả năng giám sát và điều khiển nhiệt độ trên máy tính từ xa giúp ngƣời dùng thuận tiện hơn, có thể thu thập dữ liệu về máy tính lƣu lại kết quả dƣới định dạng Microsoft Excel hay vẽ đồ thị nhiệt độ. Tuy nhiên giao diện điều khiển trên máy tính còn ít chức năng.
- Phần mềm LabVIEW có nhiều ƣu điểm, với giao diện trực quan và dễ dàng lập trình. Khả năng điều khiển nhanh chóng và ổn định.
- Khả năng thao tác vận hành còn phức tạp, chƣa có nhiều phím nhấn chuyên biệt. Quy trình sấy hiện tại đƣợc đặt sẵn để thử nghiệm nên chƣa chỉnh sửa đƣợc.
- Do sử dụng mô hình lò sấy nhỏ nên khối lƣợng sản phẩm sấy còn ít, chƣa ứng dụng đƣợc vào sản xuất.
KIẾN NGHỊ
Để đồ án này trở nên hoàn thiện hơn, ứng dụng đƣợc vào thực tế tác giả đề xuất một điểm sau:
Cần tìm hiểu và xây dựng bộ quy trình sấy cho nhiều loại thủy sản khác nhau. Từ đó xây dựng từng chƣơng điều khiển chuyên biệt cho việc sấy loài thủy sản đó. Thiết kế nhiều nút nhấn chức năng đặc biệt, tƣơng ứng với từng loại thủy sản, ngƣời dùng chỉ cần sử dụng nút nhấn chức năng tƣơng ứng để sử dụng. Thiết kế giao diện điều khiển và nút nhấn thao tác của ngƣời dùng đơn giản hóa, dễ sử dụng hơn.
Phát triển thêm mã chƣơng trình vi điều khiển hiện có, mở rộng thêm nhiều chức năng, nhiều chế độ hơn. Đặc biệt là ngƣời dùng có thể thay đổi nhiều quy trình để hoạt động với nhiều mục đích khác nhau.
Thiết kế tủ sấy phù hợp với yêu cầu sấy thủy sản, diện tích đủ rộng, sử dụng mâm nhiệt và quạt hút nhiệt công suất phù hợp hơn từ đó có thể áp dụng vào sấy thủy sản thƣơng phẩm.
Cần kết hợp lắp đặt nhiều cảm biến nhiệt độ tại nhiều nơi khác nhau trong tủ sấy, đồng thời kết hợp thêm cảm biến đo độ ẩm, từ đó đáp ứng đƣợc yêu cầu sấy thủy sản chất lƣợng cao.
Tìm hiểu kỹ năng nâng cao về sử dụng phần mềm LabVIEW. Từ đó xây dựng giao diện điều khiển trên máy tính với nhiều chức năng hơn, dễ dàng sử dụng hơn. Đặc biệt là khả năng ứng dụng điều khiển giám sát từ xa qua điện thoại thông minh hoặc qua Internet. Có khả năng điều khiển và giám sát đƣợc nhiều lò sấy cùng lúc.
Bộ điều khiển nhiệt độ này không chỉ có thể áp dụng vào sản phẩm lò sấy thủy sản mà còn có thể ứng dụng vào điều khiển nhiệt độ nhiều loại lò nhiệt khác nhƣ: lò sấy nông sản, lò sấy thực phẩm, lò sấy lâm sản, máy ấp trứng, máy tạo nhiệt…
Nếu ứng dụng cho những sản phẩm đòi hỏi độ ổn định cũng nhƣ độ chính xác cao thì nên sử dụng điều khiển theo phƣơng pháp logic mờ.
Tác giả mong rằng đề tài này sẽ tiếp tục nghiên cứu phát triển thêm, thực hiện các yêu cầu trên và khắc phục những thiếu sót cũng nhƣ hạn chế của đề tài. Từ đó tạo ra một sản phẩm đạt chất lƣợng cao phục vụ cho đời sống xã hội đồng thời phát triển kinh tế đất nƣớc.
TÀI LIỆU THAM KHẢO
[1] Nguyễn Văn May, Giáo trình kỹ thuật sấy nông sản thực phẩm, Nhà xuất bản khoa học và kỹ thuật Hà nội, 2004.
[2] Nguyễn Thị Phƣơng Hà - Huỳnh Thái Hoàng, Lý thuyết điều khiển tự động, Nhà xuất bản Đại học quốc gia TP. Hồ Chí Minh, 2010.
[3] Nguyễn Bính, Điện tử công suất, Nhà xuất bản giáo dục, 2000.
[4] Nguyễn Đức Thành, Đo lường điều khiển bằng máy tính, Nhà xuất bản Đại học quốc gia TP. Hồ Chí Minh, 2005.
[5] Ngô Diên Tập, Vi điều khiển với lập trình C, Nhà xuất bản Khoa học và Kỹ thuật, 2006.
[6] Ngô Diên Tập, Lập trình ghép nối máy tính trong indows, Nhà xuất bản Khoa học và Kỹ thuật Hà nội, 2005.
[7] Ngô Diên Tập, Kỹ thuật vi điều khiển AVR, Nhà xuất bản Khoa học kỹ thuật Hà nội, 2003.
[8] DKS group, Giáo trình vi điều khiển AVR, DKS group 2007.
[9] Vũ Quý Điềm, Cơ sở kỹ thuật đo lường điện tử, Nhà xuất bản Khoa học kỹ thuật, 2006.
[10] TS Nguyễn Bá Hải, Giáo trình lập trình LabVIE trình độ cơ bản, Đại học Sƣ Phạm Kỹ Thuật TP. Hồ Chí Minh, 2011.
[11] http://www.dieukhien.net/vn/index.php?arid=1395, truy nhập cuối cùng ngày 20/6/2013.
[12] http://www.hocavr.com/index.php/vi/lectures, truy nhập cuối cùng ngày 25/5/2013.
[13] http://tailieu.vn/xem-tai-lieu/cam-bien-chuong-3-cam-bien-do-nhiet- do.553914.html, truy nhập cuối cùng ngày 30/5/2013.
[14] http://www.ino.com.vn/vn/download/bai-giang-LabVIEW-9.html, truy nhập cuối cùng ngày 20/5/2013.
[15] http://www.dientuvietnam.net/forums/forum.php, truy nhập cuối cùng ngày 10/6/2013.
[16]http://vi.wikipedia.org/wiki/B%E1%BB%99_%C4%91i%E1%BB%81u_khi %E1%BB%83n_PID, truy nhập cuối cùng ngày 10/6/2013.
BẢNG ĐỐI CHIẾU THUẬT NGỮ VIỆT – ANH
Giải thích Tiếng Việt Tiếng Anh
Không đổi, hằng số Const
Mã danh định của DS18B20 Serial code
Đầu nối Connector
Truyền thông nối tiếp không đồng bộ Universal Asynchronous Receiver Transmitter Thiết bị điều chế sóng tín hiệu tƣơng tự nhau để mã hóa
dữ liệu số và giải điều chế tín hiệu mang để giải mã tín hiệu số.
modem
Sự thay đổi nhiệt độ trên một đơn vị chiều dài theo phƣơng pháp tuyến với bề mặt đẳng nhiệt là lớn nhất
Temperature gradient (Gradient nhiệt độ) Bộ điều khiển Vi tích phân tỉ lệ Proportional Integral
Derivative controller (PID) Đây là phƣơng pháp điều khiển truyền thẳng Feed forward
Phản hồi trở lại Feed back
Tích phân Vƣợt quá giới hạn cho phép Integral windup
Các thành phần điều khiển Control
Biểu tƣợng Icon
Dây nối các biểu tƣợng điều khiển Connector Panel Các thành phần hiển thị, biểu diễn kết quả Indicator
PHỤ LỤC
Phụ lục 1. Mã chƣơng trình cho vi điều khiển ATMEGA16 // Khai báo thƣ viện
#include <mega16.h> #include <delay.h> #include <stdlib.h> #include <string.h> #include <stdio.h> // Khai bao biến toàn cục
Unsigned char h_1, mi_1, s_1, s_2, h, mi, s, d, mo, y, count, nhan, dem_tm, timedl, temp_txt, value=30, position = 1, sl;
bit on=0, qt=0, kt=0;
float temp, KP=1.5, KI=0.5, KD=0.8, err=0, e_sum=0, e_del=0, e_las=0; unsigned char quytrinh[]={60,1, 55,1, 50,1, 45,1, 40,2};
unsigned int delay_key = 200, timer_off; unsigned char *T=0;
// Khai báo tên thay thế #define invdk PIND.2 #define outvdk PORTD.3 #define quat PORTD.4 #define l_on PORTA.1 #define l_key PORTA.2 #define sound PORTD.7 #define start PINA.3 #define tang PINA.4 #define ok PINA.5 #define giam PINA.6 #define esc PINA.7
#asm // khai báo địa chỉ chân của DS1307 .equ __i2c_port=0x18 ;PORTB
.equ __sda_bit=2 .equ __scl_bit=1 #endasm #include <i2c.h> #include <ds1307.h> #include <1wire.h> #include <ds18b20.h>
#include <alcd.h>
// External Interrupt 0 service routine #ifndef RXB8 #define RXB8 1 #endif #ifndef TXB8 #define TXB8 0 #endif #ifndef UPE #define UPE 2 #endif #ifndef DOR #define DOR 3 #endif #ifndef FE #define FE 4 #endif #ifndef UDRE #define UDRE 5 #endif #ifndef RXC #define RXC 7 #endif
#define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<DOR)
#define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC)
// USART Receiver buffer #define RX_BUFFER_SIZE 8
char rx_buffer[RX_BUFFER_SIZE]; #if RX_BUFFER_SIZE <= 256
unsigned char rx_wr_index,rx_rd_index,rx_counter; #else
unsigned int rx_wr_index,rx_rd_index,rx_counter; #endif
bit rx_buffer_overflow; // This flag is set on USART Receiver buffer overflow interrupt [USART_RXC] void usart_rx_isr(void) // USART Receiver interrupt {
char status;
unsigned char data; status=UCSRA; data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) {
rx_buffer[rx_wr_index++]=data; #if RX_BUFFER_SIZE == 256
// special case for receiver buffer size=256 if (++rx_counter == 0)
{ #else
if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; #endif rx_buffer_overflow=1; } } } #ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_
#pragma used+
unsigned char getchar(void) {
unsigned char data=0; while (rx_counter==0);
data=rx_buffer[rx_rd_index++]; #if RX_BUFFER_SIZE != 256
if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #endif #asm("cli") --rx_counter; #asm("sei") return data; } #pragma used-
#endif
interrupt [EXT_INT0] void ext_int0_isr(void) {
if(count<10) goto thoat; // chống lỗi dem_tm=count;
count=0;
TCNT2=0xFE; thoat: ;
}
interrupt [TIM2_OVF] void timer2_ovf_isr(void) // ngat timer2 {
TCNT2=0x8F; // Reinitialize Timer2 value if(on){
if(timedl>(dem_tm-1)) outvdk=0;
else if(count==timedl) outvdk=1; else outvdk=0; } else outvdk=0; count++; } void control_PID(void) { float duty; err = value - temp; // sai so if(err<e_las)
{
e_del = e_las - err; e_sum = err; }
else {
e_sum = e_sum + err;// tich luy sai so if(e_sum>50)e_sum=50; }
e_las = err;
duty = KP*err + KI*e_sum + KD*e_del; if (duty > dem_tm) duty = dem_tm; if (duty < 0)duty = 0;
timedl = dem_tm-duty;
if(temp>value) quat=1; else quat =0; }
{ read: ;
temp = ds18b20_temperature(T); if((temp<-20)||(temp>125)) goto read; temp_txt=(temp + 0.5); // làm tròn putchar(temp_txt);
if(on)control_PID(); else if(temp_txt>40)quat=1; else quat=0; }
void chip() //tạo âm thanh 2KHz { unsigned int i, m; for(m=0;m<150;m++) { sound=0; for(i=0;i<350;i++) {;} sound=1; for(i=0;i<350;i++) {;} } }
void lcd_putfnum(float fnum, char i) {
unsigned char text[10]; ftoa(fnum,i,text); lcd_puts(text); }
void lcd_putnum(unsigned int num) {
unsigned char text[5]; itoa(num,text); lcd_puts(text); } void lcd_puttime() { lcd_putsf("TIME: "); lcd_putchar((h/10)+48); lcd_putchar((h%10)+48); lcd_putchar(58);//: lcd_putchar((mi/10)+48);
lcd_putchar((mi%10)+48); lcd_putchar(58);//: lcd_putchar((s/10)+48); lcd_putchar((s%10)+48); lcd_putsf(" "); } void lcd_putdate() { if(count>15)rtc_get_date(&d,&mo,&y); lcd_putsf("DATE: "); lcd_putchar((d/10)+48); lcd_putchar((d%10)+48); lcd_putchar(45); lcd_putchar((mo/10)+48); lcd_putchar((mo%10)+48); lcd_putchar(45); lcd_putsf("20") ; lcd_putchar((y/10)+48); lcd_putchar((y%10)+48); } void lcd_puttimer(void) { if(timer_off !=0 ) { lcd_gotoxy(0,0); lcd_putsf("RunTime:"); lcd_putchar((h_1/10)+48); lcd_putchar((h_1%10)+48); lcd_putchar(45); lcd_putchar((mi_1/10)+48);