Đồ án môn học vi điều khiển phân loại màu sắc dùng tcs3200 và vi điều khiển pic16f877a hiển thị LCD

52 78 3
Đồ án môn học vi điều khiển phân loại màu sắc dùng tcs3200 và vi điều khiển pic16f877a hiển thị LCD

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đồ Án Vi Điều Khiển Thiết Kế Thi Công Bộ Đếm Và Phân Loại Sản Phẩm theo màu sắc dùng cảm biến màu TCS3200, vdk pic16f877a, hiển thị lên lcd, cảnh báo lỗi khi có sp lỗi, cài số lượng sản phẩm, có thể phân loại được nhiều màu theo chỉ số rgb

Đồ Án Vi Điều Khiển Thiết Kế Thi Công Bộ Đếm Và Phân Loại Sản Phẩm Người thực Hùng MSSV: 03091911 Khoa Điện-Điện Tử Tháng 11 năm 2021 Thiết Kế Thi Công Bộ Đếm Và Phân Loại Sản Phẩm Giáo viên hướng dẫn: Th.s Cù Minh Phước Người thực Hùng 03091911 Nhận xét Giảng viên Lời Cảm Ơn Em xin gửi lời chúc sức khỏe lời cảm ơn chân thành đến quý thầy trường tận tình dạy chúng em thời gian vừa qua Em xin cảm ơn thầy cô khoa , môn đặc biệt thầy c tận tình hướng dẫn em thực tốt đồ án vi điều khiển giúp em hiểu thêm nhiều kiến thức Đồ án hồn thành khơng có giúp đỡ thầy cô Do kinh nghiệm hiểu biết chưa đủ tốt nên khơng thể tránh khỏi thiếu sót, mong thầy cô bỏ qua đưa lời khuyên, lời dạy để em rút kinh nghiệm hoàn thiện đồ án tốt nghiệp tới Em xin chân thành cảm ơn MỤC LỤC Lời Cảm Ơn MỤC LỤC DANH SÁCH CÁC HÌNH DANH SÁCH CÁC BẢNG Các Từ Viết Tắt Các Ký Hiệu Chương GIỚI THIỆU .7 1.1 Tổng quan đề tài 1.2 Mục tiêu đề tài .8 1.2.1 Ý nghĩa đề tài 1.2.2 Phương pháp thực .8 1.3 Cấu trúc Chương Lý Thuyết Cơ Bản .10 2.1 Tổng quan vi điều khiển PIC16F877A 10 2.1.1 Giới thiệu 10 2.1.2 Chức port 10 2.2 Module cảm biến màu sắc TCS3200 11 2.3 Sơ lược LCD 1602 .14 2.4 Một số linh kiện khác 16 2.4.1 IC ổn áp 7805 16 2.4.2 Opto quang cách ly 16 2.4.3 Relay 17 2.5 Các phần mềm sử dụng 18 2.5.1 CCS C Compiler .18 2.5.2 Altium designer 18 2.6 Chức đếm kiện timer1 19 Chương Thiết Kế Sơ Đồ Khối Và Sơ Đồ Nguyên Lý .21 3.1 Sơ đồ khối hệ thống .21 3.2 Sơ đồ nguyên lý hệ thống 23 3.2.1 Khối nguồn .23 3.2.2 Khối xử lý trung tâm 25 3.2.3 Khối cảm biến 25 3.2.4 Khối hiển thị .26 3.2.5 Khối cảnh báo 26 3.2.6 Khối công suất 27 3.3 Mạch in hoàn chỉnh 27 Chương Chương Trình Điều Khiển 29 4.1 Lưu đồ thuật giải 29 4.1.1 Lưu đồ chương trình .29 4.1.2 Lưu đồ chương trình lọc màu .30 4.1.3 Lưu đồ chương trình xử lý ngắt 32 Chương Kết Luận Và Hướng Phát Triển 33 5.1 Kết luận .33 5.1.1 Kết đạt .33 5.1.2 Kết chưa đạt 33 5.2 Hướng phát triển 33 Tài Liệu Tham Khảo 35 Bảng tính vật tư 36 Phụ lục .37 DANH SÁCH CÁC HÌN Hình 2-1: Sơ đồ chân 10 Hình 2-2: module cảm biến màu sắc TCS3200 11 Hình 2-3: Sơ đồ khối chức 12 Hình 2-4: Sơ đồ khối chức cảm biến TCS230 12 Hình 2-5: Lựa chọn photodiode 13 Hình 2-6: Lựa chọn chuyển đổi tần số 13 Hình 2-7: LCD 1602 14 Hình 2-8: IC7805 .16 Hình 2-9: opto pc817 16 Hình 2-10: Relay 5VDC 17 Hình 2-11: Thanh ghi T1CON timer1 19 Hình 3-1: Sơ đồ khối hệ thống 21 Hình 3-2: Sơ đồ nguyên lý hệ thống 23 Hình 3-3: Khối nguồn 23 Hình 3-4: Khối xử lý trung tâm 25 Hình 3-5: Khối cảm biến 25 Hình 3-6: Khối hiển thị 26 Hình 3-7: Khối cảnh báo 26 Hình 3-8: Khối cơng suất 27 Hình 3-9: Mạch in 2D 27 Hình 3-10: Mạch in 3D 28 Hình 4-1: Lưu đồ thuật chương trình .29 Hình 4-2 Lưu đồ thuật chương trình 30 Hình 4-3: Lưu đồ chương trình lọc màu 31 Hình 4-4: Lưu đồ chương trình xử lý ngắt 32 DANH SÁCH CÁC BẢNGY Bảng 2-1: Chức chân LCD 1602 15 Các Từ Viết Tắt Các Ký Hiệu Thiết Kế Thi Công Bộ Đếm Và Phân Loại Sản Phẩm Hùng Với đề tài Thiết kế thi công đếm phân loại sản phẩm theo màu sắc em muốn vận dụng sản phẩm công nghệ khoa học tiên tiến áp dụng vào trình sản xuất tự động nhằm tạo suất , chất lượng giảm thiểu tối đa sức người sản xuất công nghiệp Củng cố lại kiến thức lý thuyết học tập nghiên cứu trường Với đề tài em sử dụng vi điều khiển PIC16F877A để nhận tần số từ cảm biến, cảm biến thu nhận phản xạ ánh sáng từ vật trả tần số khác tùy thuộc vào cường độ màu sắc Từ vi điều khiển xử lý để nhận biết màu phân loại màu, hiển thị cho người dùng qua LCD, đưa tín hiệu cảnh báo xảy lỗi Sau thời gian thực em đáp ứng yêu cầu đề Thực đồ án hoàn thành thời hạn, củng cố lại bổ sung thêm nhiều kiến thức Chương GIỚI THIỆU 1.1 Tổng quan đề tài Hiện với phát triển không ngừng xã hội với điều kiện cụ thể nước ta công cơng nghiệp hóa đại hóa sử dụng ngày nhiều thiết bị điều khiển tự động q trình sản xuất, gia cơng , chế biến sản phẩm Điều dẫn tới việc hình thành hệ thống sản xuất linh hoạt, cho phép tự động hóa mức độ cao sản xuất hàng loạt với quy mô lớn, nhỏ vừa sở - Tăng xuất lao động chất lượng sản phẩm sản xuất Giúp giảm giá thành sản phẩm để cạnh tranh thị trường Với đề tài này, mở số hướng phát triển cho hệ thống Em có đưa số hướng phát triển cho đề tài sau: - Giao tiếp với máy tính theo chuẩn RS 232 - Đối với sản xuất thông minh áp dụng cơng nghệ camera giám sát phân tích màu nhà máy sản xuất sơn, gạch men, công ty dược phẩm… - Trong khoa học áp dụng cơng nghệ nhận biết màu sắc để giám sát sinh trưởng phát triển thực vật Việc nghiên cứu áp dụng có ý nghĩa thực tiễn lớn đời sống Tài Liệu Tham Khảo [2] http://www.beelab.info/2017/05/vi-ieu-khien-pic-bai-5timercounter-cua.html [3] https://mlab.vn/index.php?_route_=21025-huong-dan-sudung-moudule-cam-bien-mau-sac-tcs3200.html Bảng tính vật tư STT Tên vật tư – thiết bị Số lượng Đơn giá Tổng Màn hình LCD 1602 01 44.00 44.00 Động DC 5V 03 20.000 20.000 Vi điều khiển PIC16f877a 01 75.000 75.000 Còi buzzer 01 5.000 5.000 Relay 5V 01 8.000 8.000 Nút nhấn 02 2.000 4.000 Module TCS3200 01 84.000 84.000 Dây điện 01 10.000 10.000 Máy biến áp 220V12V 01 95.000 95.000 10 Linh kiện khác 01 20.000 20.000 Tổng 365.000 Phụ lục Chương trình điều khiển #include #include #FUSES NOWDT, HS #use delay(clock=20M) #byte T1CON = 0x10 #bit tmr2if=0x0c.1 #define S0 PIN_d2 #define S1 PIN_d3 #define canhbao PIN_d4 #define S2 PIN_d5 #define S3 PIN_d6 #define dc PIN_d7 float tanso=0,F_R=0,F_B=0,F_G=0; int16 R=0,B=0,G=0, dem2=0; int chopheptinh=0, spd=0, spv=0, spx=0, sploi=0, loaimau=0; int dem0=0, menu=1; int1 cospd=0, cospv=0, cospx=0, cospl=0; char str[3]; #define LCD_ENABLE_PIN PIN_a2 #define LCD_RS_PIN #define LCD_RW_PIN PIN_a0 PIN_a1 #define LCD_DATA4 PIN_a3 #define LCD_DATA5 PIN_a4 #define LCD_DATA6 PIN_a5 #define LCD_DATA7 PIN_e0 #include //////////////////////////////////////////////////////// void mau() { switch(menu) { case 1://red { output_low(S2); output_low(S3); F_R=tanso; menu=2; output_low(S2); output_high(S3); break; } case 2://blue { output_low(S2); output_high(S3); F_B=tanso; menu=3; output_high(S2); output_high(S3); break; } case 3://green { output_high(S2); output_high(S3); F_G=tanso; menu=4; output_high(S2); output_low(S3); break; } case 4: { output_high(S2); output_low(S3); chopheptinh=1; menu=1; output_low(S2); output_low(S3); break; } } } #INT_RTCC void ngat() { dem0++; if(dem0==25)//20ms { dem0=0; tanso=get_timer1(); mau(); set_timer1(0); } set_timer0(5); } void main() { set_tris_a(0x00); set_tris_b(0xff); set_tris_c(0xff); set_tris_d(0x00); output_a(0x00); output_d(0x00); setup_timer_0(rtcc_internal|RTCC_DIV_16); setup_timer_1(t1_external|t1_div_by_1); setup_timer_2(t2_div_by_16,5,1); T1CON=0b00000011; set_timer0(5); set_timer1(0); lcd_init(); output_low(S0); output_high(S1); enable_interrupts(INT_RTCC); enable_interrupts(GLOBAL); while(true) { output_high(dc); if(chopheptinh==1) { R=((F_R)/(F_R + F_B + F_G))*100.0; B=((F_B)/(F_R + F_B + F_G))*100.0; G=((F_G)/(F_R + F_B + F_G))*100.0; if((R>=58)&&(R=21)&&(B=15)&&( G=46)&&(R=20)&&(B=30)&&(G=21)&&(R=29)&&(B=40)&&(G=28)&&(R=38)&&(B=28)&&(G=51)&&(R=30)&&(B=16)&&(G=8)&&(R=59)&&(B=25)&&(G5) { output_low(dc); disable_interrupts(INT_RTCC); lcd_gotoxy(4,2); lcd_putc("sp du "); if(tmr2if==1) { tmr2if=0; dem2++; if(dem2==1) output_high(canhbao); if(dem2==250) output_low(canhbao); if(dem2==375) output_high(canhbao); if(dem2==625) output_low(canhbao); if(dem2==1250) dem2=0; } if(input(pin_b0)==0) { while(input(pin_b0)==0) { lcd_gotoxy(4,2); lcd_putc("sp du "); } output_high(dc); output_low(canhbao); spd=0; enable_interrupts(INT_RTCC); } } while(spv>4) { output_low(dc); disable_interrupts(INT_RTCC); lcd_gotoxy(3,2); lcd_putc("sp vang du "); if(tmr2if==1) { tmr2if=0; dem2++; if(dem2==1) output_high(canhbao); if(dem2==250) output_low(canhbao); if(dem2==375) output_high(canhbao); if(dem2==625) output_low(canhbao); if(dem2==1250) dem2=0; } if(input(pin_b0)==0) { while(input(pin_b0)==0) { lcd_gotoxy(3,2); lcd_putc("sp vang du "); } output_high(dc); output_low(canhbao); spv=0; enable_interrupts(INT_RTCC); } } while(spx>3) { output_low(dc); disable_interrupts(INT_RTCC); lcd_gotoxy(3,2); lcd_putc("sp xanh du "); if(tmr2if==1) { tmr2if=0; dem2++; if(dem2==1) output_high(canhbao); if(dem2==250) output_low(canhbao); if(dem2==375) output_high(canhbao); if(dem2==625) output_low(canhbao); if(dem2==1250) dem2=0; } if(input(pin_b0)==0) { while(input(pin_b0)==0) { lcd_gotoxy(3,2); lcd_putc("sp xanh du "); } output_high(dc); output_low(canhbao); spx=0; enable_interrupts(INT_RTCC); } } //!///////////// hien R G B de xac dinh mau //!sprintf(str,"%lu",R); //!if(R

Ngày đăng: 23/10/2022, 13:52

Tài liệu cùng người dùng

Tài liệu liên quan