Nghiên cứu triển khai môi trường phát triển hệ thống nhúng trong bài toán điều khiển nhà kính

102 12 0
Nghiên cứu triển khai môi trường phát triển hệ thống nhúng trong bài toán điều khiển nhà kính

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU, TRIỂN KHAI MÔI TRƯỜNG PHÁT TRIỂN HỆ THỐNG NHÚNG TRONG BÀI TOÁN ĐIỀU KHIỂN NHÀ KÍNH TRỊNH THỊ PHÚ Người hướng dẫn khoa học: TS CAO TUẤN DŨNG HÀ NỘI 2010 LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Nghiên cứu, triển khai môi trường phát triển hệ thống nhúng” thực hướng dẫn TS Cao Tuấn Dũng – Khoa Công nghệ thông tin, trường Đại học Bách khoa Hà Nội Mọi trích dẫn tài liệu tham khảo sử dụng luận văn tơi rõ nguồn gốc Tơi xin hồn toàn chịu trách nhiệm lời cam đoan Hà Nội, ngày tháng năm 2010 Tác giả luận văn Trịnh Thị Phú Xác nhận giáo viên hướng dẫn mức độ hoàn thành luận văn tốt nghiệp cho phép bảo vệ Hà Nội, ngày tháng năm 2010 Giáo viên hướng dẫn TS Cao Tuấn Dũng MỤC LỤC LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC BẢNG BIỂU .5 DANH MỤC HÌNH VẼ MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG NHÚNG 10 1.1 Hệ thống nhúng (Embedded System) .10 1.1.1 Khái niệm 10 1.1.2 Các ví dụ 11 1.1.3 Đặc điểm hệ nhúng 12 1.1.4 Tổng quan kiến trúc phần mềm 16 1.2 Hệ thống thời gian thực (Real-Time Systems) 18 1.2.1 Khái niệm 18 1.2.2 Các đặc điểm hệ thống thời gian thực 19 1.2.3 Các dạng hệ thống thời gian thực 20 1.2.4 Xử lý thời gian thực 22 1.2.5 Ứng dụng 23 1.3 Thiết kế phát triển ứng dụng cho hệ thống nhúng 24 1.3.1 Thiết kế hệ thống nhúng .24 1.3.2 Phần mềm nhúng 27 1.3.3 Các công cụ phát triển phần mềm nhúng .33 1.3.4 Các kỹ thuật gỡ rối .33 1.4 Xu hướng phát triển hệ nhúng .34 1.5 Những thách thức vấn đề tồn hệ nhúng 34 1.5 Kết chương 35 CHƯƠNG 2: VI ĐIỀU KHIỂN AVR 37 2.1 Vi điều khiển 37 2.2 Kiến trúc vi điều khiển AVR .38 2.2.1 Tổ chức AVR 40 2.2.2 Hoạt động AVR .44 2.2.3 Thanh ghi trạng thái – SREG (STATUS REGISTER) .46 2.3 Bộ truyền nhận liệu nối tiếp USART 47 2.3.1 Truyền thông nối tiếp 48 2.3.2 Truyền thông nối tiếp không đồng với AVR (UART) 51 2.4 Chuyển đổi ADC AVR 59 2.4.1 Chuyển đổi liệu tương tự (analog) sang liệu số (digital) 59 2.4.2 Chuyển đổi ADC AVR 60 2.5 Quy trình thiết kế mạch ứng dụng dùng vi điều khiển 66 2.6 Các công cụ dùng với AVR .68 2.6.1 Trình biên dịch: 68 2.6.2 Chương trình nạp (Chip Programmer) 69 2.6.3 Mạch nạp 70 2.6.4 Phần mềm mô 70 2.6.4 Giao tiếp với máy tính 72 2.7 Kết chương 73 CHƯƠNG 3: ĐIỀU KHIỂN MÔI TRƯỜNG CHO 75 NHÀ KÍNH 75 3.1 Tổng quan mơi trường nhà kính 75 3.1.1 Vai trị nhà kính sản xuất nơng nghiệp 75 3.1.2 Công nghệ nhà kính thực tế .75 3.1.3 Nhiệt độ nhà kính .76 3.2 Điều khiển mơi trường cho nhà kính 78 3.2.1 Mô tả toán .78 3.2.2 Kiến trúc hệ thống điều khiển nhà kính .78 3.2.2 Ghép nối thiết bị cảm biến hệ thống với vi điều khiển .80 3.2.3 Ghép nối với thiết bị điều khiển 83 3.3 Điều khiển nhiệt độ mơi trường nhà kính 84 3.3.1 Các khối chức vi điều khiển 88 3.3.3 Giao tiếp PC vi điều khiển 91 3.4 Kết chương 95 KẾT LUẬN 97 TÀI LIỆU THAM KHẢO .99 DANH MỤC CÁC TỪ VIẾT TẮT STT Từ viết tắt ADC Analog to Digital Converter Bộ chuyển đổi tương tự - số BCD Binary Coded Decimal Thập phân mã hóa nhị phân CPU Central Processing Unit Đơn vị xử lý trung tâm DAC Digital to Analog Converter Bộ biến đổi số sang tương tự EEPROM Electrically Erase and Programmable Read Only Memory Bộ nhớ ROM lập trình xóa EPROM Electrically Programmable Read Only Memory Bộ nhớ ROM lập trình I/O Input/Output Vào/ra nhập/xuất ISR Interrupt SubRoutine Đoạn chương trình xử lý ngắt RAM Random Access Memory Bộ nhớ dùng để đọc 10 Thuật ngữ Tiếng Anh Thuật ngữ Tiếng Việt Một tiêu chuẩn quy định giao thức truyền liệu nối tiệp, không đồng RS232 Universal Asynchrounous Receiver Transmitter Bộ truyền nhận không đồng 11 UART 12 HW Hardware Phần cứng 13 SW Software Phần mềm 14 DANH MỤC BẢNG BIỂU Bảng 2.1: Chọn kiểm tra parity 55 Bảng 2.2: Độ dài liệu truyền 56 Bảng 2.3: Tính tốc độ baud 57 Bảng 2.4: Một số tốc độ baud mẫu 58 Bảng 2.5: Chọn điện áp tham chiếu 62 Bảng 2.4: Hệ số chia xung nhịp cho ADC 65 Bảng 2.5: Nguồn kích ADC chế độ Auto Trigger 66 DANH MỤC HÌNH VẼ Hình 1.1: Cấu trúc hệ thống thời gian thực 18 Hình 2.1: Cấu trúc nhớ AVR 40 Hình 2.2: Thanh ghi bits 41 Hình 2.3: Register file .43 Hình 2.4 Cấu trúc bên AVR 45 Hình 2.5 Thanh ghi trạng thái .46 Hình 2.6 Truyền bit theo phương pháp song song nối tiếp .49 Hình 2.7: Thanh ghi UDR 52 Hình 2.8: Thanh ghi UCSRA .53 Hình 2.9: Thanh ghi UCSRB .53 Hình 2.10: Thanh ghi UCSRC .55 Hình 2.11: Tạo nguồn AVCC từ VCC .61 Hình 2.12: Thanh ghi ADMUX 62 Hình 2.13: Thanh ghi ADCSRA 64 Hình 2.14: Một hệ thống phát triển dựa vi điều khiển 68 Hình 2.15: Giao diện chương trình CodevisionAVR 69 Hình 2.16: Giao diện phần mềm mơ Proteus 71 Hình 2.17: Giao diện phần mềm Virtual Serial Port Driver 71 Hình 2.18: Giao diện phần mềm LabVIEW 73 Hình 3.1 Mơ tả hệ thống nhà kính 79 Hình 3.2: Cảm biến nhiệt độ LM35 82 Hình 3.3: Cảm biến độ ẩm SHT10 .82 Hình 3.4: Mạch mơ việc điều khiển thông số nhiệt độ, đồng thời gửi giá trị lên PC 86 Hình 3.5: Ghép nối cảm biến nhiệt độ với vi điều khiển 87 Hình 3.6: Ghép nối vi điều khiển với thiết bị mô đầu .87 Hình 3.7: Ghép nối vi điều khiển với cổng COM 88 Hình 3.8 Giao diện chương trình giao tiếp PC vi điều khiển .92 Hình 3.9: Khối chương trình LabVIEW 93 Hình 3.10: Khối khai báo thơng số giao tiếp cổng COM LabVIEW 93 Hình 3.11: Khối đọc liệu hiển thị lên đồ thị .94 Hình 3.12: Kết thực giao tiếp PC vi điều khiển .95 MỞ ĐẦU Xã hội phát triển, công nghệ thơng tin giữ vị trí quan trọng đời sống kỹ thuật Cùng với xu hướng phát triển công nghệ thông tin, việc xây dựng hệ thống điều khiển trở thành vấn đề tất yếu, nhu cầu cấp thiết, đặc biệt ứng dụng hệ thống phục vụ đời sống Nước ta nước nông nghiệp nên vai trị nơng nghiệp có ý nghĩa vơ quan trọng việc làm tiền đề để thúc đẩy cơng nghiệp hóa, đại hóa phát triển Ngược lại cơng nghiệp hóa, đại hóa làm thay đổi cách thức lao động trang thiết bị máy móc nông nghiệp, xã hội sản phẩm nông nghiệp phong phú, đa dạng đảm bảo chất lượng Khó khăn lớn ngành nơng nghiệp nước ta thời thiết thất thường, sản phẩm nông nghiệp không bảo vệ trước yếu tố thiên nhiên Vì mơ hình nhà kính, nhà lưới áp dụng nông nghiệp để nâng cao sản lượng chất lượng sản phẩm nông nghiệp, giúp vượt qua trở ngại mặt khí hậu Một mục đích nhà kính kiểm sốt thơng số nhiệt độ, độ ẩm, ánh sáng, cho phù hợp với yêu cầu sinh trưởng trồng Để kiểm sốt thơng số cách tự động bán tự động cần có can thiệp thiết bị điện tử Với mục đích nghiên cứu, triển khai mơi trường phát triển hệ thống nhúng tác giả lựa chọn đề tài với mong muốn có nhìn tổng quan việc phát triển hệ thống nhúng bước đầu thực triển khai áp dụng cho việc điều khiển thơng số cho mơi trường nhà kính Luận văn trình bày ba chương với nội dung chương sau: Chương Trình bày nội dung tìm hiểu hệ thống nhúng, hệ thống thời gian thực, phần mềm nhúng, vấn đề thiết kế phát triển hệ thống nhúng, khác biệt so với vấn đề thiết kế phát triển ứng dụng Tiếp theo, Chương Trình bày cấu trúc tổng quát vi điều khiển AVR, họ vi điều khiển hãng Atmel sản xuất AVR chip vi điều khiển bits với cấu trúc tập lệnh đơn giản hóa – RISC (Reduced Instruction Set Computer), kiểu cấu trúc thể ưu xử lí Đồng thời giới thiệu số công cụ để làm việc với vi điều khiển Trong Chương 3, Trình bày tổng quan mơi trường nhà kính việc điều khiển thơng số cho mơi trường nhà kính áp dụng mơ hình thực nghiệm việc ni trồng nông nghiệp Một số kết đạt trng việc điều khiển thông số nhiệt độ môi trường nhà kính Tơi xin trân trọng cảm ơn Viện Đào tạo Sau đại học - Trường Đại học Bách Khoa Hà Nội, thầy giáo, tồn thể bạn đồng nghiệp Đặc biệt xin chân thành cảm ơn PGS TS Nguyễn Ngọc Bình, TS Cao Tuấn Dũng người trực tiếp hướng dẫn cho ý kiến q báu để tơi hồn thành luận văn Chắc chắn, luận văn cịn có thiếu sót nội dung trình bày Tác giả luận văn mong nhận đóng góp ý kiến thầy giáo anh, chị học viên 87 Hình 3.5: Ghép nối cảm biến nhiệt độ với vi điều khiển Ghép nối vi điều khiển với đầu mô hai đèn led D1 D2 thể hình 3.4 Hình 3.6: Ghép nối vi điều khiển với thiết bị mô đầu Ghép nối vi điều khiển với cổng COM thể hình 3.5 88 Hình 3.7: Ghép nối vi điều khiển với cổng COM 3.3.1 Các khối chức vi điều khiển a, Hoạt động chuyển đổi ADC AVR Thực theo bước sau: - Khai báo cổng nhận tín hiệu analog đầu vào - Chọn điện áp tham chiếu - Khởi tạo chuyển đổi ADC vi điều khiển - Nhận tín hiệu từ cổng vào (ở PORTC.0) - Gọi hàm thực chuyển đổi giá trị analog Cụ thể, thực sau với phần mềm CodevisionAVR: Khai báo khởi tạo cổng: PORTB=0x00;// Xuất tín hiệu chân PB0,PB1 PORTB DDRB=0x03;// Cổng B output Khởi tạo chuyển đổi ADC chíp ATmega8 ADMUX=ADC_VREF_TYPE & 0xff;//Chọn điện áp tham chiếu,… ADCSRA=0x85; 89 Trong ADC_VREF_TYPE kiểu điện áp tham chiếu khai báo đầu chương trình #define ADC_VREF_TYPE 0xE0 với ý nghĩa chọn điện áp tham chiếu nội 2.56V (xem bảng 2.5 việc chọn điện áp tham chiếu) ADCSRA=0x85; hay ADCSRA=0100 0101, nghĩa cho phép module ADC sử dụng (ADCSRA.7=1), chọn hệ số chia xung nhịp cho ADC (tra bảng 2.4) b, Hoạt động truyền nhận liệu USART AVR Atmega8 thực theo bước sau: - cài đặt tốc độ baud, - định dạng khung truyền, - kích hoạt truyền, nhận, ngắt - thực việc truyền/nhận thông qua hàm Khởi tạo truyền nhận liệu USART chíp ATmega8 UCSRA=0x00;//chứa bít trạng thái UCSRB=0xD8;//điều khiển UASRT UCSRC=0x86;// UBRRH=0x00;// UBRRL=0x33;//tốc độ truyền liệu Có ý nghĩa: khởi tạo truyền UASRT với khung truyền bit liệu, bit stop không kiểm tra Parity, kích hoạt việc truyền nhận, chế độ truyền khơng đồng bộ, tốc độ truyền 9600MHz 3.3.2 Một số module chương trình cho vi điều khiển Đọc giá trị ADC unsigned char 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; 90 // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCH; } Giá trị chuyển đổi ADC đưa vào chân adc_input, giá trị sau chuyển đổi trả ghi ADCH (là hai ghi chứa giá trị trình chuyển đổi) Hàm ngắt phục vụ trình nhận liệu USART interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index]=data; if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; }; }; } Hàm ngắt phục vụ trình truyền liệu USART interrupt [USART_TXC] void usart_tx_isr(void) { if (tx_counter) { tx_counter; UDR=tx_buffer[tx_rd_index]; if (++tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; }; } Ngồi cịn có hàm char getchar(void) void putchar(char c) phục vụ cho việc đọc/ghi liệu 91 Đoạn lệnh vi điều khiển đọc liệu từ cảm biến LM35, đo chân PC0/ADC0 vi điều khiển nhờ hàm read_adc() trình bày Giá trị so sánh với giá trị ngưỡng, lớn max điều khiển thiết bị chân PORTB, bé giá trị điều khiển thiết bị chân PORTB, ngưỡng hai thiết bị không hoạt động Đoạn lệnh đặt vòng lặp để thực liên tục việc lấy tín hiệu từ cảm biến để điều khiển thiết bị nhietdo=read_adc(0); if(nhietdo>max) PORTB.0=1; //bat led - dieu khien TB1 else { if(nhietdo

Ngày đăng: 27/02/2021, 23:40

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

Tài liệu liên quan