Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 86 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
86
Dung lượng
2,78 MB
Nội dung
MỤC LỤC DANH SÁCH KÝ HIỆU VÀ CHỮ VIẾT TẮT DANH SÁCH HÌNH VẼ DANH SÁCH BẢNG LỜI MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 18F4520 1.1 Giới thiệu chung vi điều khiển 1.2 Đặc điểm vi điều khiển Pic18f4520 1.3 Sơ đồ chân sơ đồ nguyên lý vi điều khiển Pic18f4520 1.4 Tổ chức nhớ: 1.5 Ngơn ngữ lập trình trình dịch: 11 1.6 Các định danh phần cứng: 14 1.7 Các Hàm: 15 1.8 Kết nối ngoại vi: 18 CHƯƠNG 2: GIỚI THIỆU MÁY ẤP TRỨNG 23 2.1 Giới thiệu chung máy ấp trứng 23 2.1.1 Máy ấp trứng ? 23 2.1.2 Một số phương pháp ấp trứng 23 2.2 Một số máy ấp trứng 25 2.2.1 Máy ấp trứng13200 trứng [K100 – 2XE – LINs] 25 2.2.2 Máy ấp trứng 6600 trứng [K100 – 1XE – LINs] 26 2.2.3 Máy ấp trứng Alpha ™ – H5: 27 CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG MÁY ẤP TRỨNG 29 3.1 Đặt vấn đề 29 3.2 Yêu cầu hệ thống hoạt động 29 3.2.1 Nhiệt độ: 29 3.2.2 Độ ẩm: 29 3.2.3 Đảo trứng: 30 3.3 Các linh kiện sử dụng mạch 30 3.3.1 Vi điều khiển Pic 18f4520 30 3.3.2 Điện trở 31 3.3.3 Tụ điện 31 3.3.4 Biến trở 32 3.3.5 LED ( Light Emitting Diode ) 33 3.3.6 DS18B20 34 3.3.7 DHT11 36 3.3.8 Thạch anh 37 3.3.9 Diode 1N4007 38 3.3.10 Transistor A1015 ( PNP) 39 3.3.11 Nút nhấn 40 3.3.12 Relay 5V 40 3.3.13 Màn hình hiển thị LCD (Liquid Crystal Display) 41 3.3.14 Header 51 3.3.15 Jack DC 51 3.4 Thiết kế thi công mạch 51 3.4.1 Giới thiệu phần mềm thiết kế mạch điện tử Altium Designer 51 3.4.2 Sơ đồ khối mạch ấp trứng 53 3.4.3 Chức khối mạch 53 3.4.4 Sơ đồ nguyên lý tổng hợp 57 3.4.5 Sơ đồ mạch in 58 3.4.6 Lưu đồ thuật toán: 60 3.4.7 Phần mềm lập trình vi điều khiển MPLAP 62 3.5 Ưu điểm, nhược điểm đề tài 62 3.6 Hướng phát triển đề tài 63 KẾT LUẬN 64 TÀI LIỆU THAM KHẢO PHỤ LỤC DANH SÁCH KÝ HIỆU VÀ CHỮ VIẾT TẮT Ký hiệu Ý nghĩa Tên A/D Analog/Digital Tương tự/Số ALU Arithmetic Logic Unit Bộ logic số học CLK Clock Xung đồng CPU Central Processing Unit Đơn vị xử lý trung tâm C/T Counter/Timer Bộ định thời/đếm DDRAM Double Data RAM Bộ nhớ liệu EA External Access Thiết bị cho phép chọn nhớ EEPROM Electrically Erasable Programmable ROM Bộ nhớ ghi/đọc điện FGPA Field-Programmable Gate Array Mạch tích hợp GND Ground Đất IC Integrated Circuit Vi mạch tích hợp I/O Input/Output Cổng vào/ra LCD Liquid Crystal Display Màn hình tinh thể lỏng LED Light Emitting Diode Đi-ốt phát quang MCU Microcontroller Unit Vi điều khiển PC Program Counter Bộ đếm chương trình PCB Print Circuit Board Mạch in RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên ROM Read Only Memory Bộ nhớ đọc SFR Special Function Registers Thanh ghi chức đặc biệt VCC Voltage Colector To Colector Nguồn DANH SÁCH HÌNH VẼ Hình 1.1: Sơ đồ ngun lý Pic18f4520 Hình 1.2: Sơ đồ chân Pic18F4520 Hình 2.1: Máy ấp trứng 13200 trứng [ K100 – 2XE – LINs] 25 Hình 2.2: Máy ấp trứng 6600 trứng [K100-1XE-LINs] 26 Hình 2.3: Máy ấp trứng Alpha ™ – H5 27 Hình 3.1: Điện trở 31 Hình 3.2: Tụ điện 32 Hình 3.3: Biến trở 33 Hình 3.4: LED 33 Hình 3.5: DS18B20 Sơ đồ chân 35 Hình 3.6: Cảm biến DHT11 36 Hình 3.7: Sơ đồ kết nối với vi điều khiển 36 Hình 3.8: Thạch anh dao động 38 Hình 3.9: Diode 1N4007 39 Hình 3.10: Transistor A1015 39 Hình 3.11: Nút nhấn 40 Hình 3.12: Relay 5VDC 40 Hình 3.13: Sơ đồ chân Relay 5VDC 41 Hình 3.14: Màn hình LCD 42 Hình 3.15: Bộ nhớ DDRAM 44 Hình 3.16: Chân điều khiển RS 47 Hình 3.17: Header chân 51 Hình 3.18: Jack DC 51 Hình 3.19: Giao diện phần mềm Altium Designer 52 Hình 3.20: Sơ đồ khối 53 Hình 3.21: Khối mạch nạp 54 Hình 3.22: Khối Reset 54 Hình 3.23: Khối thạch anh dao động 54 Hình 3.24: Khối nguồn 55 Hình 3.25: Khối cảm biến độ ẩm 55 Hình 3.26: Khối cảm biến nhiệt độ 56 Hình 3.27: Khối hình hiển thị LCD 56 Hình 3.28: Khối cấu chấp hành 57 Hình 3.29: Sơ đồ nguyên lý mạch tổng hợp 57 Hình 3.30: Sơ đồ mạch in khối vi điều khiển 58 Hình 3.31: Sơ đồ mạch in 3D lớp Top khối điều khiển 59 Hình 3.32: Sơ đồ mạch in 3D lớp Bottom khối điều khiển 59 Hình 3.33: Giao diện phần mềm lập trình MPLAP 62 DANH SÁCH BẢNG Bảng 3.1: Sơ đồ chân LCD 16x2 43 Bảng 3.2: Vùng nhớ CGROM 46 Bảng 3.3: Bảng tập lệnh LCD 16x2 48 Luận Văn Tốt Nghiệp _ Lê Minh Đức _ Điện tử LỜI MỞ ĐẦU Hiện vi điều khiển trở nên quen thuộc đại đa số ngành kỹ thuật ngành dân dụng Bộ vi điều khiển có khả xử lý hoạt động phức tạp với chip nhỏ, thay cho điều khiển phức tạp làm cho việc điều khiển trở nên đơn giản Vi điều khiển khơng đóng vai trị kỹ thuật điều khiển mà cịn có vai trị phát triển thơng tin Từ lý mà sinh viên điện tử chúng em quan tâm đến vi điều khiển cố gắng vận dụng sống Có nhiều điều khiển thiết kế với vi điều khiển nhìn đơn giản để vận hành lại vấn đề Các cơng việc xử lý cịn phụ thuộc nhiều vào người chương trình hay phần mềm Vi điều khiển khơng hoạt động khơng có tham gia người Vi điều khiển gồm hai phần phần cứng phần mềm Với kiến thức học từ trường vi điều khiển, em chọn đề tài: “Thiết kế mạch kiểm soát điều khiển nhiệt độ độ ẩm cho lò ấp trứng gà” Và sau em xin trình bày tồn nội dung đề tài cô Ths Đào Thị Phương Mai – Giảng viên Khoa Điện Tử – Trường Đại Học Công Nghiệp Hà Nội hướng dẫn em thời gian vừa qua Tuy đề tài em hồn thành khơng thể tránh thiếu sót em mong q thầy đóng góp ý kiến thêm để giúp em hoàn thiện ạ! Em xin chân thành cám ơn ! Sinh viên thực Lê Minh Đức Luận Văn Tốt Nghiệp _ Lê Minh Đức _ Điện tử CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 18F4520 1.1 Giới thiệu chung vi điều khiển Hiện có nhiều họ vi điều khiển để lựa chọn như: 8051, Motola68HC, AVR, ARM, Pic… có lẽ trước 8051 dịng mà biết nhiều trường đại học lại chọn dòng vi điều khiển Pic để thực ứng dụng phát triển nguyên nhân sau: Do vi điều khiển Pic phát triển sử dụng phổ biến nước ta việc tìm mua trao đổi kinh nghiệm trở nên dễ dàng Giá thành dịng Pic khơng q đắt Các dịng Pic hoạt động độc lập với đầy đủ tính Là bổ sung cải tiến hợp lý kiến thức ứng dụng họ vi điều khiển 8051 Cùng với hỗ trợ nhà sản xuất cơng cụ lập trình, trình biên dịch, mạch nạp Pic từ đơn giản phức tạp Và tính đa dạng nhiều dịng Pic khơng ngừng phát triển Có phận ngoại vi tích hợp chip như: Cổng vào/ra số, biến đổi ADC, nhớ EEFROM, định thời, điều chế độ rộng xung (PWM)…vv… Bộ nhớ chương trình, nhớ liệu tích hợp chip Và Pic18F4520 nằm dòng PIC18F2420/2520/4420/4520 nhà sản xuất Microchip với đặc điểm 28/40/44 -Pin Enhanced Flash Microcontrollers with 10- Bit A/D and nanoWatt Technology Với dịng có nhiều cải tiến tính so dịng Pic trước như: Bộ nhớ chương trình tăng lên (16Kbytes cho PIC18F2420/4420 devices 32Kbytes cho PIC18F2520/4520 devices) Tăng cường thêm cho modul CCP Được sử dụng công nghệ nanoWatl 1.2 Đặc điểm vi điều khiển Pic18f4520 Dịng Pic18F4520 có đặc điểm sau: Luận Văn Tốt Nghiệp _ Lê Minh Đức _ Điện tử Sử dụng công nghệ nanoWatl: Cho hiệu cao, tiêu thụ lượng Kiến trúc RISC: 75 mệnh lệnh, đa số lệnh thực bốn chu kì xung Tốc độ đạt tới 10 triệu lệnh 1s với tần số 40Mhz Có nhân cứng Các nhớ chương trình liệu cố định: 32 Kbytes nhớ flash tự lập trình hệ thống thực 100.000 lần ghi/xóa 256 bytes EEPROM thực 1.000.000 lần ghi/xóa 256 bytes SRAM Những ngoại vi tiêu biểu: Có định thời/bộ đếm bit với chế độ tỉ lệ đặt trước chế độ so sánh Bộ đếm thời gian thực tạo dao động riêng Có kênh PWM 13 kênh ADC 10 bit Bộ truyền tin nối tiếp USART khả trình với so sánh tương tự Các đặc điểm đặc biệt khác: Power on Reset dò Brown out khả trình Bộ tạo dao động RC định cỡ sẵn bên Có nguồn ngắt bên bên 1.3 Sơ đồ chân sơ đồ nguyên lý vi điều khiển Pic18f4520 Sơ đồ nguyên lý: Hình 1.1.Sơ đồ nguyên lý Pic18f4520 Luận Văn Tốt Nghiệp _ Lê Minh Đức _ Điện tử Sơ đồ chân chức chân Hình 1.2.Sơ đồ chân Pic18F4520 Cấu tạo chân loại 40 chân: Chân 1( MCLR /VPP/RE3): MCLR đầu vào Master Clear (reset) hoạt động mức thấp dể reset toàn thiết bị VPP dùng để thay đổi điện áp đầu vào RE3 đầu vào số Các chân thuộc cổng vào Port A Chân (RA0/AN0):với RA0 cổng vào số, AN0 đầu vào tương tự Input0 Chân (RA1/AN1): RA1 cổng vào số, AN1 đầu vào tương tự Input1 Chân (RA2/AN2/VREF+): RA2 cổng vào số, AN2 đầu vào tương tự Input2 VREF+ đầu vào tương tự chuyển đổi A/D điện áp tham chiếu(mức thấp), CVREF đầu tương tự để so sánh điện áp chuẩn PHỤ LỤC Chương trình code phần mềm: #include #include #include #include #include #include #include #include"var.h" #include"lcd.h" #include"1wire.h" #include"dht11.h" #pragma config OSC = HS #pragma config MCLRE = ON #pragma config WDT = OFF #pragma config LVP = OFF #pragma config PBADEN = OFF #define MODE PORTBbits.RB3 #define SPEAKER PORTDbits.RD3 #define QUAT PORTDbits.RD4 #define DEN PORTDbits.RD5 #define MOTOR PORTDbits.RD6 #define LED1 PORTCbits.RC0 #define LED2 PORTCbits.RC1 char *nhietdo; float T1, RH1; // nhiet va am tu cam bien dht11 char lcd[16]; int *counter = 0; int nhietdo_set = 37; int time_setup = 40; int check = 0; uint8_t kiemtra_button = 0; uint8_t setup_mode = 0; int second = 0; int index = 0; void read_cambien(void); void Setup(void); void aptrung(const int nhiet_do_set); int convert_string(char *string); void keu_coi_chip(void); void INT0(void); void TIMER0(void); #pragma code ngat_cao=0x08 void interrupt_ngat_cao(void) { INT0(); } #pragma code ngat_thap=0x18 void interrupt_ngat_thap(void) { TIMER0(); } #pragma code #pragma interrupt TIMER0 void TIMER0(void) { if(INTCONbits.TMR0IF==1) { T0CONbits.TMR0ON = 0; // tat timer second++; TMR0L = (65536 - 46875)%256; //nap lai ghi counter timer TMR0H = (65536 - 46875)/256; counter timer //nap lai ghi INTCONbits.TMR0IF = 0; //xoa co ngat timer T0CONbits.TMR0ON = 1; // bat timer } LED1= ~LED1; if(second > && check) { MOTOR = 1; second = 0; check = 0; } } #pragma code #pragma interrupt INT0 void INT0(void) { if(INTCONbits.INT0IF==1) { lcd_clear(); for(index=0; index nhiet_do_set + 10) // lon hon nhiet setup { QUAT = 0; // bat quat } else if(temp_ds18b20 < nhiet_do_set) { QUAT = 1; } // tat quat if((int)RH1 > 70) am nho hon RH1 setup // { QUAT = 0; // bat quat } else if((int)RH1 < 45) { QUAT = 1; // tat quat } // bang nhiet setup if((time_setup - second)