1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chương trình giám sát và điều khiển mực nước dung PIC , có code

64 170 2

Đ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

Tiêu đề Chương Trình Giám Sát Và Điều Khiển Mực Nước Dùng Pic
Trường học Trường Đại Học
Chuyên ngành Kỹ Thuật Điện
Thể loại đồ án
Định dạng
Số trang 64
Dung lượng 4,2 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với mục đíchnghiên cứu, ứng dụng những kiến thức về lập trình vi điều khiển đã được học vàonhững dự án thực tế nên em đã quyết định nghiên cứu đề tài dùng cảm biến siêu âm để đo, hiển th

Trang 2

MỤC LỤC

• DANH MỤC CÁC HÌNH VẼ

Trang 4

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI

1.1 Giới thiệu:

Ngày nay với sự phát triển của công nghệ, các hoạt động sản xuất cũng nhưsinh hoạt hàng ngày đều được chuyển đổi theo hướng tự động hóa Với mục đíchnghiên cứu, ứng dụng những kiến thức về lập trình vi điều khiển đã được học vàonhững dự án thực tế nên em đã quyết định nghiên cứu đề tài dùng cảm biến siêu âm

để đo, hiển thị mực nước cũng như điều khiển mực nước trong bồn

1.2 Đối tượng nghiên cứu

Để hệ thống đo khoảng cách và điều khiển mực nước hoạt động tốt thì cần phảinghiên cứu các đối tượng sau:

• PIC 16f877A – Bộ điều khiển chính của hệ thống

• Cảm biến siêu âm

• Thiết kế sơ đồ nguyên lý cho hệ thống

• Viết chương trình hoạt động cho hệ thống

• Chạy mô phỏng

• Thiết kệ mạch in và làm mạch thực tế cho hệ thống

• Thiết kế phần cứng và hoàn thiện chạy hệ thống

1.4 Kết quả dự kiến

• Cảm biến siêu âm hoạt động đo được khoảng cách

• LCD nhận giá trị trả về từ chương trình cũng như cảm biến để hiện thịkhoảng cách

Trang 5

• Khi mức nước xuống đến giá trị đã càu đặt thì kích hoạt máy bơm.

• Khi bơm đến giá trị giới hạn trên thì ngừng bơm

2.1 Linh kiện IC 7805:

2.1.1 Tổng Quan:

• LM7805 hay 7805 là IC điều chỉnh điện áp dương đầu ra 5V Nó là IC củadòng ổn áp dương LM78xx IC này được sử dụng rộng rãi trong các thiết bịthương mại và giáo dục, dễ sử dụng và không cần nhiều linh kiện bên ngoài

IC có nhiều tính năng tích hợp lý tưởng để sử dụng trong nhiều ứng dụngđiện tử như dòng điện đầu ra 1.5A, chức năng bảo vệ quá tải, bảo vệ quánhiệt, dòng điện tĩnh thấp

Hình 2 1 Linh kiện LM7805

2.1.2 Các linh kiện cần có trong mạch:

Trang 6

Hình 2 2 Các linh kiện chi tiết trong mạch

• Cọc nguồn đầu vào 3A

2.1.3 Cấu tạo chân:

Pin 1: Input chức năng của chân này là cung cấp điện áp đầu vào (12VDC-40VDC)

Nó phải năm trong khoảng từ 7V đén 35 V Ap dụng điện áp không được kiểm soát cho chân này để điều chỉnh Đối với đầu vào 7.2 V thì IC đạt hiệu suất tối đa

Pin 2-Ground: Chân nối đất, đối với input và output thì chân này trung tính như nhau

Pin 3- Output: chân này dùng để lấy điện áp đầu ra đã được hiệu chỉnh là 5V

Trang 7

Hình 2 4 Cấu trúc tổng quát PIC16F877A

• 8K x 14 bits/word Flash ROM

Trang 8

• 256 x 8 Bytes EEPROM.

• 5 Port xuất/nhập (A, B, C, D, E) tương ứng 33 chân ra

• 2 Bộ định thời 8 bit Timer 0 và Timer 2

• 1 Bộ định thời 16 bit Timer 1, có thể hoạt động ở chế độ tiết kiệm nănglượng (SLEEP MODE) với nguồn xung clock ngoài

• 2 Bộ Capture/ Compare/ PWM.(Bắt Giữ/ So Sánh/ Điều Biến Xung)

• 1 Bộ biến đổi Analog to Digital 10 bit, 8 ngõ vào

• 2 Bộ so sánh tương tự (Compartor)

• 1 Bộ định thời giám sát (Watch Dog Timer)

• 1 Cổng giao tiếp song song 8 bit

• 1 Port nối tiếp

• 15 Nguồn ngắt (Interrupt)

• Tập lệnh gồm 35 lệnh có độ dài 14 bit

• Tần số hoạt động tối đa 20 MHz

2.2.2 Sơ đồ chân

Trang 9

2 RA0/AN0

– RA0: xuất/nhập số– AN0 : ngõ vào tương tự

3 RA1/AN1

– RA1 : xuất/nhập số– AN1: ngõ vào tương tự

4 RA2/AN2/VREF-/CV

REF

– RA2: xuất/nhập số– AN2: ngõ vào tương tự

Trang 10

5 RA3/AN3/VREF+

– RA3: xuất/nhập số– AN3: ngõ vào tương tự– VREF+ : ngõ vào điện áp chuẩn (cao) của bộ A/D

6 RA4/TOCKI/C1OUT

– RA4: xuất/nhập số– TOCKI: ngõ vào xung clock bên ngoài cho timer0

– C1 OUT : Ngõ ra bộ so sánh 1

7 RA5/AN4//SS

/C2OUT

– RA5: xuất/nhập số– AN4: ngõ vào tương tự 4– SS: ngõ vào chọn lựa SPI phụ– C2 OUT : ngõ ra bộ so sánh 2

8 RE0//RD/AN5

– RE0: xuất nhập số– RD: điều khiển việc đọc ở port nhánh song song

– AN5 : ngõ vào tương tự

9 RE1//WR/AN6

– RE1: xuất/nhập số– WR: điều khiển việc ghi ở port nhánh song song

– AN6 : ngõ vào tương tự

Trang 11

10 RE2//CS/AN7

– RE2: xuất/nhập số– CS: Chip lựa chọn sự điều khiển ở port nhánhsong song

– AN7 : ngõ vào tương tự

11 VDD Chân nguồn của PIC

kết hợp với chức năng OSC1

14 OSC2/CLKO Ngõ vào dao động thạch anh hoặc xung clock

– OSC2: Ngõ ra dao động thạch anh Kết nối đến

thạch anh hoặc bộ cộng hưởng

– CLKO: ở chế độ RC, ngõ ra của OSC2, bằng

Trang 12

số của OSC1 và chỉ ra tốc độ của chu kỳ lệnh.

15 RC0/T1 OCO/T1CKI

– RC0: xuất/nhập số– T1OCO: ngõ vào bộ dao động Timer 1– T1CKI : ngõ vào xung clock bên ngoài Timer 1

16 RC1/T1OSI/CCP2

– RC1: xuất/nhập số– T1OSI: ngõ vào bộ dao động Timer 1– CCP2: ngõ vào Capture 2, ngõ ra compare 2, ngõ

ra PWM2

17 RC2/CCP1

– RC2: xuất/nhập số– CCP1: ngõ vào Capture 1, ngõ ra compare 1, ngõ

ra PWM1

18 RC3/SCK/SCL

– RC3: xuất/nhập số– SCK: ngõ vào xung clock nối tiếp đồng bộ/ngõ ra

của chế độ SPI– SCL: ngõ vào xung clock nối tiếp đồng bộ/ ngõ ra

của chế độ I2C

19 RD0/PSP0 – RD0: xuất/nhập số

Trang 13

– PSP0 : dữ liệu port nhánh song song

20 RD1/PSP1

– RD1: xuất/nhập số– PSP1 : dữ liệu port nhánh song song

21 RD2/PSP2

– RD2: xuất/nhập số– PSP2 : dữ liệu port nhánh song song

22 RD3/PSP3

– RD3: xuất/nhập số– PSP3 : dữ liệu port nhánh song song

23 RC4/SDI/SDA

– RC4: xuất/nhập số– SDI: dữ liệu vào SPI– SDA : xuất/nhập dữ liệu vào I2C

24 RC5/SDO

– RC5: xuất/nhập số– SDO : dữ liệu ra SPI

25 RC6/TX/CK

– RC6: xuất/nhập số– TX: truyền bất đồng bộ USART– CK : xung đồng bộ USART

26 RC7/RX/DT

– RC7: xuất/nhập số– RX: nhận bất đồng USART– DT : dữ liệu đồng bộ USART

27 RD4/PSP

– RD4: xuất/nhập số– PSP4 : dữ liệu port nhánh song song

28 RD5/PSP5

– RD5: xuất/nhập số– PSP5 : dữ liệu port nhánh song song

Trang 14

29 RD6/PSP6

– PSP6 : dữ liệu port nhánh song song

30 RD7/PSP7

– RD7: xuất/nhập số– PSP7 : dữ liệu port nhánh song song

31 VSS Chân nối đất

32 VDD Chân nguồn của PIC

33 RB0/INT

– RB0: xuất/nhập số– INT : ngắt ngoài

34 RB1 xuất/nhập số

35 RB2 xuất/nhập số

36 RB3

– RB3: xuất/nhập số– Chân cho phép lập trình điện áp thấp ICPS

37 RB4

– xuất/nhập số– Ngắt PortB

38 RB5

– xuất/nhập số– Ngắt PortB

39 RB6/PGC

– RB6: xuất/nhập số– PGC: mạch vi sai và xung clock lập trình ICSP

– Ngắt PortB

40 RB7/PGD

– RB7: xuất/nhập số– PGD: mạch vi sai và dữ liệu lập trình ICSP– Ngắt PortB

Trang 15

2.2.4 Thạch anh

• Thạch anh là một linh kiện điện tử làm bằng tinh thể đá thạch anh được màiphẳng và chính xác Nó làm việc dựa trên hiệu ứng áp điện Hiệu ứng này cótính thuận nghịch Khi áp một điện áp vào 2 mặt của linh kiện thạch anh, nó

sẽ bị biến dạng và ngược lại, khi ta tạo sức ép vào 2 bề mặt đó, nó sẽ phát rađiện áp

• Ứng dụng của thạch anh: thạch anh được ứng dụng trong mạch dao độngcũng như mạch lọc tính hợp

2.3 Cảm biến siêu âm HC-SR04 (Ultrasonic Sensor)

• Cảm biến siêu âm HC-SR04 (Ultrasonic Sensor) đang được sử dụng phổbiến ngày nay để xác định khoảng cách vì độ chính xác tương đối và đặt biệt

là giá thành rẻ Cảm biến này sử dụng song siêu âm và có thể đo đượckhoảng cách từ 2 – 300cm Khi khoảng cách đo càng xa thì độ chính xáccàng giảm vì góc đo sẽ rộng theo hình nón Cảm biến siêu âm được sử dụng

để đo khoảng cách từ cảm biến cho tới vật cản trong phạm vi đo của cảmbiến Thông qua tín hiệu truyền về chúng ta biết được khoảng cách từ cảmbiến cho tới vật cản

Hình 2 6 Cảm biến siêu âm HC-SR04

2.3.1 Các chân chức năng:

Trang 16

VCC Cấp nguồn cho cảm biến (5V) hoặc 3.3V ở cảm biến 3V3

2.3.2 Nguyên lý hoạt động:

Hình 2 7 Nguyên lý đo khoảng cách

• Để đo khoảng cách thì cảm biến HC-SR04 phát 1 xung rất ngắn từ chânTrigger (5 microSeconds) Sau đó cảm biến tạo ra một xung lên ở chân Echocho đến khi nhận lại song phản xạ lại ở pin này Chiều rộng xung bằng thờigian song phát ra và phản hổi lại

Trang 17

• Ta dùng cách sau để xác định khoảng cách: Tốc độ âm thanh trong không khí

là hằng số không đổi có giá trị là 340 m/s, ứng với 29,412 ms/cm Khi tínhđươc thời gian song phát ra và phản hồi lại, ta chia cho 29,412 sẽ ra đượckhoảng cách đo

2.4 Màn hình LCD

• Màn hình LCD là thiết bị dùng để hiển thị trạng thái và thông số được sửdụng rộng rãi trong các dự án điện tử và lập trình

2.4.1 Cấu trúc tổng quản:

• Màn hình LCD 16x2 có 16 chân, trong đó có 8 chân dữ liệu từ D0 đến D7 và

3 chân điều khiển là RS, RW và EN

• Các chân còn lại dùng để cấp nguồn và đèn nền

• Các chân điều khiển giúp chúng ta cấu hình màn hình LCD ở chế độ lệnhhoặc chế độ dữ liệu

2.4.2 Các chân chức năng

Trang 18

Hình 2 8 Sơ đồ chân LCD

• VSS: cực âm nguồn cho LCD - GND: 0V

• VDD: cực dương nguồn LCD - 5V

• Constrast Voltage (Vo): điều khiển độ sáng màn hình

• Register Select (RS): lựa chọn thanh ghi

• Enable: Cho phép ghi vào LCD

• D0 - D7: 8 chân trao đổi dữ liệu với các vi điều khiển, với 2 chế độ sử dụng

• Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7

Trang 19

• Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB làDB7.

• Backlight (Backlight Anode (+) và Backlight Cathode (-)): Tắt bật đèn mànhình LCD

- Đẩy nước cao: <= 3 Mét (có ống Tio)

Hình 2 9 Máy bơm mô hình thực tế

2.6 Các phân mềm được sử dụng

2.6.1 Phần mềm Proteus

Trang 20

Hình 2 10 Phần mềm mô phỏng Proteus

• Proteus là phần mềm mô phỏng mạch điện tử của Lancenter Electronics.Phần mềm này mô phỏng được hết các linh kiện điện tử thông dụng như PIC,8051,

• Phần mềm gồm 2 phần là ISIS dùng để mô phỏng và ARES để vẽ mạch in.Sau khi ta vẽ mạch nguyên lý hệ thống và chạy mô phỏng hoàn chỉnh thì taxuất sang file vẽ mạch in Ta có thể dùng chế độ auto đi dây cũng như tự đitheo ý muốn của mình

2.6.2 Phần mêm Altium Designer

Hình 2 11 Phần mềm thiết kế mạch Altium

Trang 21

• Altium Designer là 1 trong những công cụ vẽ mạch điện tử mạnh nhất đượcphát triển bởi hãng Altium Limited.

• Một số đặt trưng:

+ Giao diện thiết kế, quản lý và chỉnh sửa dễ dàng xử dụng

+ Hỗ trợ mạnh mẽ trong việc thiết kế và đi dây tự động

+ Hệ thống thư viện linh kiện phong phú và hoàng chỉnh

+ Mô phỏng mạch 3D đem lại cái nhìn tổng quan cho mạch trong không gian

3 chiều

2.6.3 Phần mềm CCS

• CCS là trình biên dịch lập trình ngôn ngữ C cho vi điều khiển PIC

• CCS là trình biên dịch lập trình ngôn ngữ C cho Vi điều khiển PIC của hãngMicrochip

3.1 Sơ đồ khối:

- Hệ thống được chia làm 4 khối:

+ Khối Nguồn: Cấp nguồn 5V cho VĐK và chấp nguồn cho máy bơm chạy

+ Khối xử lý: PIC 16F877A làm trung tâm điều khiển và xử lý tín hiệu

+ Khối cảm biến: linh kiện chính là cảm biến siêu âm SRF04 dùng để thu số liệutruyền về vi xử lý

+ Khối chấp hành: Nhận tín hiệu điều khiển và chấp hành lệnh điều khiển, gồm có 3phần chính là switch điều khiển, màng hình LCD hiển thị thông số đo và tình trạnghoạt động của mạch, máy bơm nước vào hệ thống

Trang 22

3.1.1 Khối nguồn:

• Cấp nguồn 5V cho VĐK và chấp nguồn cho máy bơm chạy

Hình 3 2 Thành phần bên trong khối nguồn

3.1.2 Khối cảm biến:

• Linh kiện chính là cảm biến siêu âm SRF04 dùng để thu số liệu truyền về vi

xử lý

Trang 23

Hình 3 3 Mô phỏng cảm biến siêu âm SRF04

Trang 24

là switch điều khiển, màng hình LCD hiển thị thông số đo và tình trạng hoạtđộng của mạch, máy bơm nước vào hệ thống:

3.1.4.1LCD hiển thị các thông số, và hệ số điều chỉnh và các chế độ:

Hình 3 5 Mô phỏng LCD hiển thị

3.1.4.2Động cơ và cụm máy bơm nước:

Hình 3 6 Mô phỏng động cơ và máy bơm

• Linh kiện dùng IRFZ44N là transistor MOSFET, loại transistor kênh N, dùng để điều khiển động cơ bơm nước

Trang 25

Hình 3 7 Sơ đồ chân

• Cấu tạo của Mosfet ngược Kênh N: G (Gate) cực cổng là cực điều khiểnđược cách lý hoàn toàn với cấu trúc bán dẫn còn lại bởi lớp điện môi cựcmỏng nhưng có độ cách điện cực lớn dioxit-silic, S (Source) cực nguồn , D(Drain): cực máng đón các hạt mang điện

3.1.4.3Các switch điều khiển:

Hình 3 8 Mô phỏng nút nhấn

3.2 Mô phỏng trên phần mềm Protues:

• Để thiết kế sơ đồ nguyên lý, ta dựa trên những linh kiện đã chọn và dùngphần mềm Proteus để tiền hành

Trang 26

Hình 3 9 Mạch mô phỏng tổng thể

• Trong sơ đồ nguyên lý này, cảm biến siêu âm được kết nối với vi điều khiênthông qua 2 cặp chân Trigger – RB1 và Echo – RB0 Trong khi đó với mànhình LCD để kết nối với PIC 16F877A thì dùng các cặp chân: RS, RW, E củaLCD nối lần lượt với chân RD0, RD1, RD2 của PIC và các chấn D4, D5, D6,D7 của 2 linh kiện này nối với nhau Ngoài ra để điều khiển máy bơm cũngnhư kích hoạt máy bơm thì ta nối chân RC2 của PIC vào Motor, các chân E0,E1, E2 của vi điều khiển nối vào các nút nhấn để điều khiển các chế độ hoạtđộng của hệ thống

Trang 27

3.2.1 Kết quả mô phỏng

• Hệ thống được thiết kế mạch nguyên lý và chạy mô phỏng trên phần mềmProteus Để tiến hành mô phỏng ta nạp code vào PIC, với code ta nạp vàofile hex

Hình 3 10 Kết quả LCD hiển thị thông tin

Trang 28

Hình 3 11 Kết quả LCD hiển thị thông tin

Hình 3 12 Mô phỏng hiệu chỉnh múc dưới

Trang 29

Hình 3 13 Mô phỏng hiệu chỉnh múc trên

Hình 3 14 Mô phỏng hiệu chỉnh chiều cao bồn

Trang 30

Hình 3 15 Mô phỏng hiệu chỉnh

Hình 3 16 Mô phỏng chế độ Auto

Trang 32

Hình 4 2 Thiết kế mạch in

4.1.1 Kết quả thiết kế:

Trang 33

Hình 4 3 Mạch in màu 2 lớp

Trang 34

Hình 4 4 Mạch in lớp dưới

4.2 Thiết kế lưu đồ giải thuật:

Trang 38

Hình 4 5 Lưu đồ giải thuật

4.3 Mô hình thực tế:

• Sau khi thiết kế mạch in, ta tiến hành in mạch làm board đồng

• Bước tiếp theo là khoan và hàn mạch

• Cuối cùng là hoàn thiện phần cứng và chạy thực tế

Trang 39

Hình 4 9 Mô hình thực tế

4.3.1 LCD hiển thị thông tin:

Hình 4 10 LCD hiển thị đồ án

Trang 40

• Khi cấp nguồn cho hệ thống ta sẽ hiệu chỉnh các thông số:

+ Gía trị mức trên (Max_value): Gía trị mực nước cao nhất của bồn mà tamong muốn Trong chế độ Auto, khi đạt tới mực này thì hệ thống sẽ tự đồngdừng

+ Gía trị mực dưới (Min_value): giá trị mức nước thấp nhất trong bồn mà tamong muốn, Trong chế độ Auto, khi mực nước đạt giá trị này, máy bơm sẽ tựđộng bơm nước vào bồn cho đến khi đạt giá trị mức trên

+ Ngoài 2 thông số trên, ta còn chỉnh hai thông số là chiều cao của bồn(Hight_tank) và hiệu chỉnh (Posi)

Hình 4 13 Mô hình chỉnh mức trên

Trang 41

Hình 4 14 Mô hình chỉnh mức dưới

Hình 4 15 Mô hình chỉnh chiều cao bồn

Trang 42

Hình 4 16 Mô hình chỉnh thông số hiệu chỉnh

• Khi ta cài đặt 4 thông số trên, cảm biến sẽ đo khoảng cách từ cảm biến tớimực nước và cho giá trị là Dist được tính bằng công thức:

• Từ đó ta sẽ có công thức tính mực nước như sau:

Mực nước trong bồn = (Hight_tank + Posi) – Dist

Trang 43

4.3.3 Chế độ Auto và Manual:

4.3.3.1Chế độ Auto:

• Khi chỉnh chế độ Auto, hệ thống sẽ tự động đo mực nước có trong bồn

Trang 44

Hình 4 17 Mô hình chế độ Auto

• Nếu mực nước chưa đạt giá trị mức trên thì máy bơm sẽ tự động bơm thêmnước vào

Trang 45

Hình 4 18 Máy bơm đang hoạt động

• Khi mực nước chạm giá trị mức trên, máy bơm sẽ dừng

Hình 4 19 Máy bơm dừng khi full

Trang 46

• Chế độ Manual, hệ thống sẽ được điều khiển bằng tay và 2 nút nhấn là nútthứ 2 (bơm nước vào) và nút thứ 3 (dừng hoạt động)

Hình 4 20 Mô hình chế độ Manual

• Khi bấm nút ở giữa thì máy bơm sẽ tự động bơm nước vào bồn

Hình 4 21 Mô hình máy bơm đang bơm chế độ Manual

• Khi bấm nút thứ 3, máy bơm sẽ dừng lại

Trang 47

Hình 4 22 Mô hình máy bơm dừng chế độ Manual

Trang 48

• Hệ thống hoạt động ổn định

• Đo được mức nước và hoạt động kích máy bơm chính xác

• Giá thành rẻ

5.2 Nhược điểm hệ thống

• Các linh kiện có cũng như hệ thống làm bằng tay nên có thể có nhiều sai số

• Vì cảm biến dùng song siêu âm đo nên khi bị dao động nhiều thì số liệu sẽkhông chính xác

5.3 Hướng phát triển

• Giao tiếp với điện thoại cũng như kết nối với mạng lưới thông tin để lưu trữ

dữ liệu, các số liệu lên server

• Ap dụng vào hệ thông hoàn thiện hơn, vào nhiều vấn đề thực tế

Tài liệu kham thảo

[1] Datasheet PIC 16F877A, liên kết trực tuyến

Trang 49

Mã chương trình

//chan echo la chan B0

//chan trig la chan B1

#define LCD_ENABLE_PIN PIN_D2

#define LCD_RS_PIN PIN_D0

#define LCD_RW_PIN PIN_D1

#define LCD_DATA4 PIN_D4

#define LCD_DATA5 PIN_D5

#define LCD_DATA6 PIN_D6

#define LCD_DATA7 PIN_D7

#define TRIGGER PIN_B1

#define ECHO PIN_B0

Ngày đăng: 30/12/2021, 17:21

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w