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.
Trang 1TRƯỜ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
Tp.HCM, ngày … tháng … năm …
Trang 2Mục Lục
CHƯƠNG 1: TỔNG QUAN 1
1.1 Giới thiệu chung 1
1.2 Tổng quan về hệ thống 1
1.3 Nội dung thực hiện 1
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 1
2.1 Các phương pháp giám sát mực nước Error! Bookmark not defined 2.2 ATMEGA16 1
2.3 Màn hình LCD 3
2.4 Chuẩn giao tiếp I2C 4
2.5 Ngôn ngữ C 5
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ 6
3.1 Giới thiệu 6
3.2 Thiết kế sơ đồ khối hệ thống 7
3.3 Tính toán toàn mạch 7
3.4 Sơ đồ nguyên lý toàn mạch 9
3.4.1 Nguyên lý hoạt động 9
3.4.2 Sơ đồ nguyên lý 10
CHƯƠNG 4: THI CÔNG 10
4.1 Mô phỏng mạch trên protues 10
4.2 Vẽ PCB ch o mạch và 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
Trang 3Danh mục các từ viết tắt
I/O: Input/output
USART: truyền bất/ đồng bộ
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 một chiều
Trang 4Danh mục hình ảnh
Hình 1: Sơ đồ chân ATMEGA16 3
Hình 2: Sơ đồ chân LCD 4
Hình 3: Ngôn ngữ C 5
Hình 4: Sơ đồ khối của mạch 7
Hình 5: Chiều của dòng điện 8
Hình 6: Sơ đồ nguyên lý của 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
Trang 5CHƯƠNG 1: TỔNG QUAN
1.1 Giới thiệu chung
- Hệ thống 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
1.2 Tổng quan về mạch
- Mạch được thiết kế hoàn thiện dễ dàng đơn giản mang tính hiệu quả cao với chỉ vài linh kiện được kết nối với con chip sử lý ATMEGA16 Thích hợp sửa dụng tại các nhà máy, xí nghiệp, các hộ gia đình Mạch hoạt động tương đối ổn định,
không sử dụng quá nhiều linh kiện, chi phí thi công thấp
1.3 Nội dung thực hiện
Thực hiện vẽ sơ đồ nguyên lý
Chọn linh kiện
Viết Code cho mạch
Mô phỏng mạch chạy trên Proteus
Vẽ PCB
In ảnh 3D mạch
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Cá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 ứng dụng và đúng cảm biến đòi hỏi cần có một chút kiến thức về các dòng cảm biến đo mức
2.2 ATMEGA16
Giới thiệu
- Atmega16 là một chíp vi điều khiển được sản xuất bời hãng Atmel thuộc họ MegaAVR Atmega16 là một bộ vi điều khiển 8 bit dựa trên kiến trúc RISC bộ nhớ chương trình 16KB ISP flash có thể ghi xóa hàng nghìn lần, 512B
Trang 6EEPROM, một bộ nhớ RAM vô cùng lớn trong thế giới vi xử lý 8 bit (1KB SRAM)
- Với 32 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộ timer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vector ngắt), giao thức truyền thông nối tiếp USART, SPI, I2C Ngoài ra có thể sử dụng bộ biến đổi số tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình được watchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều chế độ rộng xung (PWM), hỗ trợ bootloader
Trang 7Hình 1: Sơ đồ chân ATMEGA16
Chức năng
* Atmega16 có cấu trúc RISC với:
+ 131 lệnh,hầu hết được thực thi trong 1 chu kì xung nhịp
+ 32x8 thanh ghi đa dụng
+ Full static operation
+ Tốc độ làm việc 16MPIS,với thạch anh 16MHz
+ Trong chip có 2 chức năng hỗ trợ go roi và lập trình saon chương trình
2.3 Màn hình LCD
Khái niệm
- Thiết bị hiển thị LCD 1602(Liquid Crystal Display) được sử dụng trong rất nhiều các ứng dụng của VĐK LCD 1602 có rất nhiều ưu điểm so với các dạng hiển thị khác như: khả năng 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 rất ít tài nguyên hệ thống, giá thành rẻ,…
Trang 8+ Chân số 3 - VE : điều chỉnh độ tương phản của LCD
+ Chân số 4 - RS : chân chọn thanh ghi, được nối với logic "0" hoặc logic "1":
2.4 Chuẩn giao tiếp I2C
- Là một loại bus nối tiếp hai chiều với hai dây tín hiệu được phát triển bởi hãng sản xuất linh kiện điện tử Philips (nay là hãng NXP Semiconductors) cho quá trình giao tiếp giữa các IC Truyền thông với bus I²C là quá
trình truyền thông đồng bộ nối tiếp, hỗ trợ nhiều master và slave trên đường
Trang 9truyền I²C phù hợp với các ngoại vi mà sự ưu tiên về kết nối đơn giản và chi phí sản xuất thấp quan trọng hơn là yêu cầu về tốc độ truyền
2.5 Ngôn ngữ C
Khái niệm
- C được hiểu là ngôn ngữ bậc trung bởi vì nó kết hợp những yếu tố của những ngôn ngữ cấp cao và những chức năng của hợp ngữ (ngôn ngữ cấp thấp) C cho phép thao tác trên những thành phần cơ bản của máy tính như bits, bytes, địa chỉ… Hơn nữa, mã C rất dễ di chuyển nghĩa là phần mềm viết cho loại máy tính này có thể chạy trên một loại máy tính khác Mặc dù
C có năm kiểu dữ liệu cơ bản, nhưng nó không được xem ngang hàng với ngôn ngữ cao cấp về mặt kiểu dữ liệu C cho phép chuyển kiểu dữ liệu Nó cho phép thao tác trực tiếp trên bits, bytes, word và con trỏ (pointer) Vì vậy,
nó được dùng cho lập trình mức hệ thống
Hình 3: Ngôn ngữ C
Chức năng
- Một ngôn ngữ cốt lõi đơn giản, với các chức năng quan trọng chẳng hạn như
là những hàm hay việc xử lý tập tin sẽ được cung cấp bởi các bộ thư viện các thủ tục
- Tập trung trên mẫu hình lập trình thủ tục, với các phương tiện lập trình theo kiểu cấu trúc
Trang 10- Một hệ thống kiểu đơn giản nhằm loại bỏ nhiều phép toán không có ý nghĩa thực dụng
- Dùng ngôn ngữ tiền xử lý, tức là các câu lệnh tiền xử lý C, cho các nhiệm
vụ như là định nghĩa các macro và hàm chứa nhiều tập tin mã nguồn (bằng cách dùng câu lệnh tiền xử lý dạng #include chẳng hạn)
- Mức thấp của ngôn ngữ cho phép dùng tới bộ nhớ máy tính qua việc sử dụng kiểu dữ liệu pointer
- Số lượng từ khóa rất nhỏ gọn
- Các tham số được đưa vào các hàm bằng giá trị, không bằng địa chỉ
- Hàm các con trỏ cho phép hình thành một nền tảng ban đầu cho tính đóng và tính đa hình
- Hỗ trợ các bản ghi hay các kiểu dữ liệu kết hợp do người dùng từ khóa định nghĩa struct cho phép các dữ liệu liên hệ nhau có thể được tập hợp lại và được điều chỉnh như là toàn bộ
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ
3.1 Giới thiệu
- Đề tài yên cầu thiết kế hệ thống điều khiển giám sát mức nước thông qua màn hình hiển thị và các nút điều khiển button theo từng mức nước mà ta cần
Bật tắt các chế độ giám sát lượng nước
Đo lượng nước
Chuyển đổi thái
Bộ hiển thị
Hiển thị chế độ đang hoạt động
Trang 113.2 Thiết kế sơ đồ khối hệ thống
Hình 4: Sơ đồ khối của mạch
Khối hiển thị
- Hiển thị thông tin mực nước sau khi xử lí
Khối điều khiển
- Điều khiển mạch theo từng chế độ của mực nước theo nhu cầu của người dùng bằng cách nhấn các nút BUTTON
Khối xử lý trung tâm
- Sau khi nhấn nút các tín hiệu này được chuyền vào khối xử lí để đưa ra màn hình thông báo chế độ đang hoạt động theo đúng chế độ mà người dùng chọn
Khối báo trạng thái hoạt động
- Thông báo mạch đang hoạt động thực hiện các chế độ của người dùng chọn
3.3 Tính toán toàn mạch
Mạch điện song song
Khi chưa đóng công tắt:
*Điện trở
- R = 10kΩ
- R toàn mạch = 4 * 1/(10*10^3)=4*(10^-4)Ω
Trang 12*Chiều của dòng điện chạy trong mạch:
Hình 5: Chiều của dòng điện
Trang 133.4 Sơ đồ 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 cả 4 nút BUTTON bật tắt và chọn chế độ cần hoạt động , đèn LED hiển thị trạng thái hoạt động của máy, 4 điện trở và một số linh kiện nhỏ khác
- Sơ đồ nguyên lý được vẽ trên phần mềm Proteus
Phần Cứng
- Vi điều khiển ATMEGA16 là bộ vi điều khiển với công suất thấp 40 chân được lập trình bằng ngôn ngữ C với trình biên dịch là Mirochip studio Compiler Sau khi được biên dịch, chương trình C mà chúng ta thực thi sẽ được dịch và tạo thành một file có đuôi chấm hex hay còn gọi là mã máy và file chấm hex này là file mà
vi điều khiển ATMEGA16 có thể có thể đọc và thực thi được, ta thực hiện nạp code cho ATMEGA16 bằng công cụ PICKIT 4 được kết nối với máy tính thông qua cổng USB 2.0
- Nút BUTTON gồm có 4 nút để chọn và thực hiện lần lượt các chế độ hoạt động của mạch được kết nối với 4 chân DATA(PA3 đến PA6) của ATMEGA16
- LCD LM017L được kết nối với ATMEGA16 thông qua 11 chân IO gồm 3 chân
RS, RW, RE và 8 chân DATA (D0 đến D7) #include “lcd_lochan.h được tạo bởi
người dùng để dễ dàng sử dụng và thực thi thao tác được trên LCD
- Điện trở 10k giúp hiệu suất mạch làm việc ổn định tạo thành bộ chia điện áp khi đóng công tắt
- Đèn LED khi LED sáng báo hiệu chế độ của mạch đang trong tình trạng hoạt động
và ngược lại nếu LED tắt đồng nghĩa với việc chế độ hoạt động này của mạch đã tắt
Phần mềm
- Bên trong trương trình phần mềm được nạp vào ATMEGA16 ta tiến hành #iclude thư viện và khai báo một số biến, tiếp đến bên trong hàm int main(void) ta cho hiển thị thông tin chờ lên màn hình LCD và tạo một vòng lặp while chạy vô tận đề
Trang 14khi ta lần lược nhấn từng nút BUTTON thì mạch sẽ hoạt động theo đúng chức năng mà ta muốn lúc này LED sẽ sáng báo mạch đang chạy có tất cả 4 chế độ hoạt động (QUARTER LEVEL, HALF LEVEL, ¾ LEVEL, TANK IS FULL) tương ứng với 4 nút BUTTON Khi cả 4 nút đều mở thì mạch sẽ dừng và LCD sẽ quay
lại màn hình chờ lúc ban đầu và LED tắt
3.4.2 Sơ đồ nguyên lý
Hình 6: Sơ đồ nguyên lý của toàn mạch CHƯƠNG 4: THI CÔNG
4.1 Mô phỏng mạch trên proteus
Bước 1: Chọn chế độ hoạt động cho mạch
Có 4 chế độ hoạt động của mạch
- QUARTER LEVEL: Chế độ cấp một phần tư chế độ nước
- HALF LEVEL: chế độ cấp một 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 lần lượt các Button
Chế độ Quarter level:
- Nhấn và giữ lần lược các Button 2 , Button 3, Button 4 đến khi nào đèn báo sáng thì chế độ hoạt đã được kích hoạt khi này màng hình LCD sẽ hiện thông báo QUARTER LEVEL Motor running
Trang 15Hình 7: QUARTER LEVEL Motor running
Chế độ Half level:
- Nhấn và giữ lần lược các , Button 3, Button 4 đến khi nào đèn báo sáng thì chế độ hoạt đã được kích hoạt khi này màng hình LCD sẽ hiện thông báo Half level Motor running
Hình 8: HALF LEVEL Motor running
Chế độ 3/4 leve:
- Nhấn và giữ lần Button 4 đến khi nào đèn báo sáng thì chế độ hoạt đã được kích hoạt khi này màng hình LCD sẽ hiện thông báo 3/4 level Motor running
Trang 16Hình 9: 3/4 LEVEL Motor running
Chế độ Tank Is Full:
- Nhấn và giữ lần tất cả 4 Button đến khi nào đèn báo sáng thì chế độ hoạt đã được kích hoạt khi này màng hình LCD sẽ hiện thông báo Tank Is Full
Hình 10: Tank Is Full
Trang 174.2 Vẽ PCB cho mạch và 3D
Hình 11: PCB
Trang 18Hình 12: Ảnh 3D
Trang 194.3 Lặp trình hệ thống
Lưu đồ giải thuật
Hình 13: Lưu đồ giải thuật
Trang 22CHƯƠNG 5: KẾT LUẬN
5.1 Kết luận đề tài
Mục tiêu của đề là chế tạo một thiết bị tích hợp vào máy bơm nước để quản lý mực của hồ chứa tại các nhà máy, công ty, xí nghiệp, gia đình Sau khi hoàn thiện mạch đạt được những mục tiêu đã đề ra ban đầu em đã học những kiến thức mới củng như cũng cố lại những kiến thức cũ, ngoài ra cũng đã thực hiện đượ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 một sản phẩm có ý nghĩa giúp tăng hiệu suất làm việc cho con người
Mạch điều khiển thực hiện được cá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 đã hoàn thành, có thể phát triển và mở rộng thêm như sau:
- Thêm chức năng tự động thông báo khi nào cần bơm nước vào bể
- Độ chính xác cao hơn
- Đo độ ô nhiễm của nước
Trang 23Tài liệu tham khảo