1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Mạch giám sát mực nước sử dụng vi điều khiển ATMEGA16

23 0 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 0,99 MB
File đính kèm mạch nguyên lí protues.rar (96 KB)

Nội dung

Mạch giám sát mực nước điều khiển từng chế độ theo dõi mực nước trong bể chứa đảm bảo được lượng nước tiêu thụ. Quản lý được chặt chẽ mực nước trong bể để biết được khi nào cần bơm hay tắt nước theo một cách chuẩn xác.

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN MƠN HỌC: VI ĐIỀU KHIỂN MẠCH GIÁM SÁT MỰC NƯỚC Ngành: ĐIỆN TỬ VIỄN THÔNG Lớp: 19DDTA1 Tp.HCM, ngày … tháng … năm … Mục Lục CHƯƠNG 1: TỔNG QUAN 1.1 Giới thiệu chung 1.2 Tổng quan hệ thống 1.3 Nội dung thực CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Các phương pháp giám sát mực nước Error! Bookmark not defined 2.2 ATMEGA16 2.3 Màn hình LCD 2.4 Chuẩn giao tiếp I2C 2.5 Ngôn ngữ C CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ 3.1 Giới thiệu 3.2 Thiết kế sơ đồ khối hệ thống 3.3 Tính tốn tồn mạch 3.4 Sơ đồ nguyên lý toàn mạch 3.4.1 Nguyên lý hoạt động 3.4.2 Sơ đồ nguyên lý 10 CHƯƠNG 4: THI CÔNG 10 4.1 Mô mạch protues 10 4.2 Vẽ PCB ch o mạch 3D 13 4.3 Lặp trình hệ thống 15 CHƯƠNG 5: KẾT LUẬN 18 Tài liệu tham khảo 19 i Danh mục từ viết tắt I/O: Input/output USART: truyền bất/ đồng SPI : Serial Peripheral Interface I2C: Giao thức truyền thông nối tiếp RAM: Random Access Memory) ROM: Read-Only Memory ADC: Analog-to-Digital Converter PWM: Pulse Width Modulation LCD: Liquid Crystal Display LED: Light Emitting Diode VDC: Điện chiều ii Danh mục hình ảnh Hình 1: Sơ đồ chân ATMEGA16 Hình 2: Sơ đồ chân LCD Hình 3: Ngơn ngữ C Hình 4: Sơ đồ khối mạch Hình 5: Chiều dịng điện Hình 6: Sơ đồ nguyên lý toàn mạch 10 Hình 7: QUARTER LEVEL Motor running 11 Hình 8: HALF LEVEL Motor running 11 Hình 9: 3/4 LEVEL Motor running 12 Hình 10: Tank Is Full 12 Hình 11: PCB 13 Hình 12: Ảnh 3D 14 Hình 13: Lưu đồ giải thuật 15 iii CHƯƠNG 1: TỔNG QUAN 1.1Giới thiệu chung - Hệ thống giám sát mực nước điều khiển chế độ theo dõi mực nước bể chứa đảm bảo lượng nước tiêu thụ Quản lý chặt chẽ mực nước bể để biết cần bơm hay tắt nước theo cách chuẩn xác 1.2Tổng quan mạch - Mạch thiết kế hoàn thiện dễ dàng đơn giản mang tính hiệu cao với vài linh kiện kết nối với chip sử lý ATMEGA16 Thích hợp sửa dụng nhà máy, xí nghiệp, hộ gia đình Mạch hoạt động tương đối ổn định, không sử dụng nhiều linh kiện, chi phí thi cơng thấp 1.3Nội dung thực  Thực vẽ sơ đồ nguyên lý  Chọn linh kiện  Viết Code cho mạch  Mô mạch chạy Proteus  Vẽ PCB  In ảnh 3D mạch CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1Các phương pháp giám sát mực nước - Có nhiều Giải pháp đo nước đáp ứng nhu cầu giám sát mức nước Tuy nhiên để chọn ứng dụng cảm biến đòi hỏi cần có chút kiến thức dịng cảm biến đo mức 2.2ATMEGA16  Giới thiệu - Atmega16 chíp vi điều khiển sản xuất bời hãng Atmel thuộc họ MegaAVR Atmega16 vi điều khiển bit dựa kiến trúc RISC nhớ chương trình 16KB ISP flash ghi xóa hàng nghìn lần, 512B EEPROM, nhớ RAM vô lớn giới vi xử lý bit (1KB SRAM) - Với 32 chân sử dụng cho kết nối vào i/O, 32 ghi, timer/counter lập trình, có gắt nội ngoại (2 lệnh vector ngắt), giao thức truyền thông nối tiếp USART, SPI, I2C Ngồi sử dụng biến đổi số tương tự 10 bít (ADC/DAC) mở rộng tới kênh, khả lập trình watchdog timer, hoạt động với chế độ nguồn, sử dụng tới kênh điều chế độ rộng xung (PWM), hỗ trợ bootloader  Thông số kỹ thuật - Loại chip: 8bit - Đóng gói: DIP4 - I/O Pin: 32 - Tốc độ: 16 MHz - Bộ nhớ chương trình: 16 kB - RAM: kB (SRAM) - ROM: 512B (EEPROM) - Điện áp hoạt động: 4.5 V-5.5 V - Giao tiếp: I2C,JTAG,SPI,USART - Timer: - ADC: kênh (10bit) - PWM: kênh - Nhiệt độ: -40 C ~ +85 C Hình 1: Sơ đồ chân ATMEGA16  Chức * Atmega16 có cấu trúc RISC với: + 131 lệnh,hầu hết thực thi chu kì xung nhịp + 32x8 ghi đa dụng + Full static operation + Tốc độ làm việc 16MPIS,với thạch anh 16MHz + Trong chip có chức hỗ trợ go roi lập trình saon chương trình 2.3Màn hình LCD  Khái niệm - Thiết bị hiển thị LCD 1602 (Liquid Crystal Display) sử dụng nhiều ứng dụng VĐK LCD 1602 có nhiều ưu điểm so với dạng hiển thị khác như: khả hiển thị kí tự đa dạng (chữ, số, kí tự đồ họa); dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tiêu tốn tài nguyên hệ thống, giá thành rẻ,…  Thông số kỹ thuật - Điện áp MAX : 7V - Điện áp MIN : - 0,3V - Hoạt động ổn định : 2.7-5.5V - Điện áp mức cao : > 2.4 - Điện áp mức thấp : I tồn mạch = (5.00095e-013)*4 = 2.4A *Cơng suất P tồn mạch = 20.4W *Giá trị led mạch hoạt động - V = 2.76511V - I = 0.111744A *Chiều dịng điện chạy mạch: Hình 5: Chiều dịng điện 3.4Sơ đồ nguyên lý toàn mạch 3.4.1 Nguyên lý hoạt động - Mạch giảm sát mực nước gồm vi điều khiển ATMEGA 16 làm trung tâm xử lý, LCD hiển thị thơng tin, có tất nút BUTTON bật tắt chọn chế độ cần hoạt động , đèn LED hiển thị trạng thái hoạt động máy, điện trở số linh kiện nhỏ khác - Sơ đồ nguyên lý vẽ phần mềm Proteus  Phần Cứng - Vi điều khiển ATMEGA16 vi điều khiển với công suất thấp 40 chân lập trình ngơn ngữ C với trình biên dịch Mirochip studio Compiler Sau biên dịch, chương trình C mà thực thi dịch tạo thành file có chấm hex hay gọi mã máy file chấm hex file mà vi điều khiển ATMEGA16 có thể đọc thực thi được, ta thực nạp code cho ATMEGA16 công cụ PICKIT kết nối với máy tính thơng qua cổng USB 2.0 - Nút BUTTON gồm có nút để chọn thực chế độ hoạt động mạch kết nối với chân DATA(PA3 đến PA6) ATMEGA16 - LCD LM017L kết nối với ATMEGA16 thông qua 11 chân IO gồm chân RS, RW, RE chân DATA (D0 đến D7) #include “lcd_lochan.h tạo người dùng để dễ dàng sử dụng thực thi thao tác LCD - Điện trở 10k giúp hiệu suất mạch làm việc ổn định tạo thành chia điện áp đóng cơng tắt - Đèn LED LED sáng báo hiệu chế độ mạch tình trạng hoạt động ngược lại LED tắt đồng nghĩa với việc chế độ hoạt động mạch tắt  Phần mềm - Bên trương trình phần mềm nạp vào ATMEGA16 ta tiến hành #iclude thư viện khai báo số biến, tiếp đến bên hàm int main(void) ta cho hiển thị thông tin chờ lên hình LCD tạo vịng lặp while chạy vơ tận đề ta lần lược nhấn nút BUTTON mạch hoạt động theo chức mà ta muốn lúc LED sáng báo mạch chạy có tất chế độ hoạt động (QUARTER LEVEL, HALF LEVEL, ¾ LEVEL, TANK IS FULL) tương ứng với nút BUTTON Khi nút mở mạch dừng LCD quay lại hình chờ lúc ban đầu LED tắt 3.4.2 Sơ đồ nguyên lý Hình 6: Sơ đồ nguyên lý tồn mạch CHƯƠNG 4: THI CƠNG 4.1Mơ mạch proteus  Bước 1: Chọn chế độ hoạt động cho mạch Có chế độ hoạt động mạch - QUARTER LEVEL: Chế độ cấp phần tư chế độ nước - HALF LEVEL: chế độ cấp nửa chế độ nước - ¾ LEVEL: chế độ cấp ¾ chế độ nước - TANK IS FULL: chế độ cấp chế độ nước đầy - Bước 2: Tiến hành nhấn Button  Chế độ Quarter level: - Nhấn giữ lần lược Button , Button 3, Button đến đèn báo sáng chế độ hoạt kích hoạt màng hình LCD thơng báo QUARTER LEVEL Motor running 10 Hình 7: QUARTER LEVEL Motor running  Chế độ Half level: - Nhấn giữ lần lược , Button 3, Button đến đèn báo sáng chế độ hoạt kích hoạt màng hình LCD thơng báo Half level Motor running Hình 8: HALF LEVEL Motor running  Chế độ 3/4 leve: - Nhấn giữ lần Button đến đèn báo sáng chế độ hoạt kích hoạt màng hình LCD thơng báo 3/4 level Motor running 11 Hình 9: 3/4 LEVEL Motor running  Chế độ Tank Is Full: - Nhấn giữ lần tất Button đến đèn báo sáng chế độ hoạt kích hoạt màng hình LCD thơng báo Tank Is Full Hình 10: Tank Is Full 12 4.2Vẽ PCB cho mạch 3D Hình 11: PCB 13 Hình 12: Ảnh 3D 14 4.3Lặp trình hệ thống  Lưu đồ giải thuật Hình 13: Lưu đồ giải thuật  Code Main program: #define F_CPU 8000000UL #include #include #include "lcd_lochan.h" int main(void) { lcd_init(); lcdstring(" Water level "); lcd_cmd(0xc0); 15 lcdstring("Controller"); _delay_ms(1000); lcd_cmd(0x01); DDRC=0xff; while(1) { if(PINA==0x00) { PORTC=0x01; lcd_cmd(0x80); lcdstring("Tank is empty"); lcd_cmd(0xc0); lcdstring("Motor start"); _delay_ms(1000); lcd_cmd(0x01); } else if(PINA==0x08) { PORTC=0x01; lcdstring("Quarter level"); lcd_cmd(0xc0); lcdstring("Motor running"); _delay_ms(1000); lcd_cmd(0x01); } else if(PINA==0x18) { PORTC=0x01; lcdstring("Half level"); lcd_cmd(0xc0); lcdstring("Motor running"); _delay_ms(1000); 16 lcd_cmd(0x01); } else if(PINA==0x38) { PORTC=0x01; lcdstring("3/4th level"); lcd_cmd(0xc0); lcdstring("Motor running"); _delay_ms(1000); lcd_cmd(0x01); } else if(PINA==0x78) { PORTC=0x00; lcdstring("Tank is Full"); lcd_cmd(0xc0); lcdstring("Motor stop"); _delay_ms(1000); lcd_cmd(0x01); } } 17 CHƯƠNG 5: KẾT LUẬN 5.1 Kết luận đề tài Mục tiêu đề chế tạo thiết bị tích hợp vào máy bơm nước để quản lý mực hồ chứa nhà máy, công ty, xí nghiệp, gia đình Sau hồn thiện mạch đạt mục tiêu đề ban đầu em học kiến thức củng cố lại kiến thức cũ, thực việc ứng dụng khoa học công nghệ vào thực tiễn đời sống Hình thành sản phẩm có ý nghĩa giúp tăng hiệu suất làm việc cho người Mạch điều khiển thực yêu cầu sau: - Hệ thống mạch chạy ổn định - Mạch đơn giản chi phí thấp 5.2 Hướng phát triển Đề tài nhóm em hồn thành, phát triển mở rộng thêm sau: - Thêm chức tự động thông báo cần bơm nước vào bể - Độ xác cao - Đo độ ô nhiễm nước 18 Tài liệu tham khảo Sách Sách Vi Điều Khiển, tác giả Phạm Quốc Phương, Thông tin xuất bản: TP.HCM : Hutech, 2015 Sách thiết kế hệ thống số, tác giả Nguyễn Trọng Hải, Thông tin xuất bản: TP.HCM :Hutech , 2017 Giải Tích Mạch Điện, Tác giả: Ngơ Cao Cường, Nguyễn Quý, Thông tin xuất bản: TP.HCM :Hutech, 2015 Kỹ Thuật điện tử, Biên soạn: Nguyễn Thành Trung Web Atmega328P, https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Ngơn Ngữ lập trình C, https://ironhackvietnam.edu.vn/lap-trinh-c/ Kỹ Thuật điện tử, biên soạn: Nguyễn Thành Trung, http://thuvienso.ut.edu.vn/doc/giao-trinh-ky-thuat-dien-tu-nguyen-thanh-trung477019.html 19

Ngày đăng: 02/04/2023, 19:28

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w