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

NGHIÊN CỨU, THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ GIÓ VÀ HIỂN THỊ LÊN WEB SERVER

50 40 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

Tiêu đề Nghiên cứu, thiết kế mô hình hệ thống đo tốc độ gió và hiển thị lên web server
Người hướng dẫn ThS. Lê Văn Chương
Trường học Trường Đại Học Kỹ Thuật
Chuyên ngành Kỹ thuật điện
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 50
Dung lượng 3,68 MB

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

Cấu trúc

  • Máy đo dạng cối xay gió

  • Máy đo gió cầm tay có chong chóng

  • Hình 3.11: Hình ảnh và sơ đồ nguyên lý module Wifi ESP8266 ESP-01

Nội dung

Từ xa xưa, con người đã biết tới nguồn năng lượng gió và ảnh hưởng của nó đến đời sống. Người ta lợi dụng sức gió để đưa thuyền buồm ra khơi, để chế tạo cối xay gió, sử dụng năng lượng của gió để làm máy phát điện, ứng dụng trong khí tượng thủy văn hay trong hoạt động vui chơi như thả diều,…Tuy nhiên, những tác động của gió cũng có thể gây ra những ảnh hưởng tiêu cực như làm lệch hướng di chuyển của tàu thuyền, ảnh hưởng tới độ vững chắc của các tòa nhà cao tầng, hay những cơn gió to gây nên các hiện tượng xói mòn, bão cát,…thiệt hại tới tài sản và tính mạng con ngưởi. Do đó việc đo được sức gió, nghĩa là nắm được những thông số như hướng gió, tốc độ gió là rất quan trọng. Từ những ý nghĩa quan trọng và cấp thiết nói trên, chúng em đã tiến hành thực hiện đề tài “NGHIÊN CỨU, THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐO TỐC ĐỘ GIÓ VÀ HIỂN THỊ LÊN WEB SERVER”.

GIỚI THIỆU HỆ THỐNG ĐO TỐC ĐỘ GIÓ

Tổng quan

Gió là hiện tượng tự nhiên do sự chuyển động của không khí từ vùng áp suất cao đến vùng áp suất thấp, mang lại nguồn năng lượng vô tận Nó có thể mang lại nhiều lợi ích cho cuộc sống con người, nhưng cũng đồng thời gây ra không ít khó khăn và trở ngại.

Gió không chỉ giúp chúng ta sản xuất điện, điều khiển thuyền buồm, và chế tạo cối xay gió, mà còn có ứng dụng trong khí tượng thủy văn và các hoạt động giải trí như thả diều hay bay khinh khí cầu Tuy nhiên, bên cạnh những lợi ích đó, gió cũng mang lại những rủi ro lớn như bão và lốc xoáy, với sức gió mạnh có thể gây hư hại nghiêm trọng, làm lệch hướng tàu thuyền, và ảnh hưởng tiêu cực đến cuộc sống của con người cùng tài sản.

Mỗi ngành kinh tế đều có đặc điểm riêng và chịu ảnh hưởng từ thiên nhiên, trong đó gió tác động mạnh mẽ đến nhiều lĩnh vực như hàng hải, dự báo thời tiết và sửa chữa điều hòa Với sự cạn kiệt nguồn năng lượng truyền thống như dầu thô và khoáng sản, gió trở thành nguồn năng lượng sạch và vô hạn, dẫn đến sự phát triển mạnh mẽ của các tua bin gió Khí hậu trái đất biến đổi không ngừng, kéo theo sự thay đổi tốc độ gió, do đó việc hiểu rõ đặc điểm gió là cần thiết để ứng phó hiệu quả trong các lĩnh vực như hàng hải, xây dựng tua bin gió, và dự báo thời tiết Sự ra đời của máy đo tốc độ gió đã nhanh chóng chiếm lĩnh thị trường điện tử và trở thành một phần quan trọng trong đời sống.

Máy đo gió đầu tiên xuất hiện vào thế kỷ XV, với Leon Battista Alberti được công nhận là người phát minh ra máy đo cơ đầu tiên vào khoảng năm 1450.

Trong nhiều thế kỷ sau đó, rất nhiều người khác, trong đó có Robert Hooke và người Maya, đã phát triển các phiên bản riêng của họ.

Năm 1846, John Thomas Romney Robinson cải tiến thiết kế bằng cách sử dụng bốn cốc hình bán cầu và bánh quay cơ khí.

Năm 1926, John Patterson đã phát triển một máy đo gió ba cốc, và được cải tiến bởi Brevoort và Joiner vào năm 1935.

Năm 1991, Derek Weston phát triển thêm khả năng phát hiện hướng gió. Năm 1994, Tiến sĩ Andrews Pflitsch đã phát triển các máy đo gió siêu âm.

Hiện nay, sự phát triển của công nghệ đã mang lại những cải tiến cho máy đo gió, giúp thiết bị này phù hợp với nhiều mục đích sử dụng khác nhau và thích ứng với đặc điểm khí hậu riêng của từng quốc gia.

1.1.3 Ứng dụng của hệ thống đo gió

Hệ thống đo gió tại các trạm khí tượng thủy văn cung cấp thông tin về hướng gió, cường độ gió và áp suất gió, đóng vai trò quan trọng trong việc phân tích thời tiết và phát hành bản tin dự báo, cảnh báo thời tiết.

Trong hàng hải, thông tin về hướng và cường độ gió là yếu tố quan trọng giúp người điều khiển tàu điều chỉnh góc lái, tránh hiện tượng trôi dạt lệch hướng hành trình Hệ thống đo gió đóng vai trò thiết yếu trong việc dẫn đường hàng hải.

Ngoài ra hệ thống đo gió cũng được ứng dụng trong các lĩnh vực nông nghiệp,công nghiệp khai khoáng, xây dựng, thể thao…

Các thiết bị trên thực tế

Hiện nay, có rất nhiều hãng chế tạo máy đo tốc độ gió nổi tiếng như: hãng PCE (Anh), Extech, Kimo (Pháp), TPI (Mỹ), Kanomax (Mỹ), GrayWolf, Lutron,

Máy đo tốc độ gió được chế tạo theo hai dạng chính là:

- Máy đo tốc độ gió có chong chóng chỉ hướng gió.

Máy đo tốc độ gió không sử dụng chong chóng mà chỉ xác định hướng gió Hiện nay, nhiều loại máy đo tốc độ gió còn tích hợp thêm khả năng đo các thông số khác như nhiệt độ và độ ẩm.

1.2.1 Máy đo tốc độ gió có chong chóng chỉ hướng gió

 Dạng máy đo gió hình chén

Hình 1.1: Máy đo gió hình chén

Máy đo gió này có cấu trúc với 4 chén hình bán cầu gắn vào hai tay đòn nằm ngang vuông góc, xoay quanh một trục đứng ở giữa Bộ truyền động của máy sẽ đếm số vòng quay của trục và tính toán vận tốc gió dựa trên số vòng quay trong một khoảng thời gian nhất định Mặc dù thiết kế đơn giản, máy không thể lưu dữ liệu lên giấy tại một thời điểm cụ thể, dẫn đến việc thiếu thông tin về những cơn gió giật mạnh trong thời gian ngắn Kết quả thu được từ máy đo gió thường có sai số lên đến gần 50%.

 Máy đo dạng cối xay gió

Hình 1.2: Máy đo dạng cối xay gió

Máy đo gió này có trục quay nằm ngang, song song với hướng gió, giúp nó điều chỉnh theo sự thay đổi của gió Khi gió đổi chiều, trục quay cũng thay đổi để chong chóng chỉ đúng hướng gió Trong những trường hợp như hệ thống thông gió của mỏ hoặc nhà cao tầng, máy đo gió hoạt động hiệu quả và cung cấp kết quả chính xác.

 Máy đo gió cầm tay có chong chóng

Hình 1.3: Máy đo gió cầm tay có chong chóng

Với loại máy này, người dùng có thể điều chỉnh cảm biến chong chóng để hướng gió đi qua theo chiều mũi tên Hệ thống cảm biến điện tử tích hợp trong chong chóng sẽ đo lường tốc độ gió, lưu lượng gió, nhiệt độ, độ ẩm và áp suất thủy tĩnh tại vị trí đo Tín hiệu từ cảm biến sẽ được truyền về thân máy chính để xử lý và hiển thị trên màn hình gắn liền.

1.2.2 Máy đo tốc độ gió không có chong chóng chỉ hướng gió

Hình 1.4: Máy đo tốc độ gió không có chong chóng chỉ hướng gió

Máy này được trang bị cảm biến tốc độ gió tích hợp trên đầu ăng ten có thể thu vào hoặc kéo dài Tín hiệu từ cảm biến sẽ được truyền về máy chính thông qua hệ thống cáp chuyên dụng với chiều dài khoảng 1-2m.

1.3 Yêu cầu của các hệ thống đo tốc độ gió Để phù hợp với các ứng dụng cũng như từng mục đích khác nhau trong cuộc sống, máy đo tốc độ gió có các yêu cầu về tính năng cơ bản như sau:

 Máy đo gió có độ nhạy tốt, độ chính xác cao.

 Dải đo tốc độ gió lớn.

 Hoạt động tin cậy, chính xác trong môi trường khắc nghiệt.

 Có thể tích hợp đo và hiển thị nhiệt độ, độ ẩm đồng thời.

 Máy đo tốc độ gió điện tử hiển thị số ngay trên mặt máy.

 Đạt tiêu chuẩn an toàn theo TCVN 7079 - 2000.

 Dễ dàng sử dụng, hoạt động ổn định.

 Máy chắc chắn, độ bền cao.

TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC16F877A

Giới thiệu chung

2.1.1 Đặc điểm của vi điều khiển PIC16F877A Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài

Bài viết đề cập đến một vi điều khiển 14 bit, nơi mỗi lệnh được thực thi trong một chu kỳ xung clock Tốc độ hoạt động tối đa đạt 20 MHz với chu kỳ lệnh là 200ns Vi điều khiển này có bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu RAM 368x8 byte và bộ nhớ dữ liệu EEPROM 256x8 byte Ngoài ra, nó còn có 5 PORT I/O với tổng cộng 33 pin I/O và 8 kênh chuyển đổi A/D.

 Các đặc tính ngoại vi bao gồm các khối chức năng sau:

- Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.

Timer1 là một bộ đếm 16 bit với khả năng chia tần số, cho phép thực hiện chức năng đếm dựa trên xung clock ngoại vi ngay cả khi vi điều khiển đang hoạt động ở chế độ sleep.

- Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.

- Hai bộ Capture/so sánh/điều chế độ rông xung.

- Các chuẩn giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C.

- Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ.

- Cổng giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiển RD, WR,

 Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:

- Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.

- Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.

- Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm.

- Khả năng tự nạp chương trình với sự điều khiển của phần mềm.

- Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial

- Watchdog Timer với bộ dao động trong.

- Chức năng bảo mật mã chương trình.

- Có thể hoạt động với nhiều dạng Oscillator khác nhau. Đặc điểm PIC 16F877A

Tần số hoạt động DC-20MHz

Reset (và Delay) POR, BOR (PWRT,OST)

Bộ nhớ chương trình Flash (14-bit word) 8K

Bộ nhớ dữ liệu (byte) 368

Bộ nhớ dữ liệu EEPROM (byte) 256

Các port xuất nhập Các port A,B,C,D,E

Các module capture/compare/PWM 2

Giao tiếp nối tiếp MSSP, USART

Giao tiếp song song PSP

Module A/D 10bit 8 kênh ngõ vào

Bộ so sánh tương tự 2

44 chân QFN Bảng 2.1: Tóm tắt đặc điểm của vi điều khiển PIC 16F877A

2.1.2 Các dạng sơ đồ chân

Hình 2.1 Vi điều khiển PIC16F877A/PIC16F874A và các dạng sơ đồ chân

2.1.3 Sơ đồ khối vi điều khiển PIC16F877A

Hình 2.2 Sơ đồ khối vi điều khiển PIC16F877A Hình 2.2 là sơ đồ khối của PIC 16F877A, gồm các khối:

- Khối ALU – Arithmetic Logic Unit.

- Khối bộ nhớ chứa chương trình – Flash Program Memory.

- Khối bộ nhớ chứa dữ liệu EPROM – Data EPROM.

- Khối bộ nhớ file thanh ghi RAM – RAM file Register.

- Khối giải mã lệnh và điều khiển – Instruction Decode Control.

- Khối thanh ghi đặc biệt.

- Khối giao tiếp nối tiếp.

- Khối chuyển đổi tín hiệu tương tự sang số - ADC.

- Khối các port xuất nhập.

2.1.4 Chức năng các chân của vi điều khiển PIC16F877A

• Chân OSC1/CLK1(13): ngõ vào kết nối với dao động thạch anh hoặc ngõ vào nhận xung clock từ bên ngoài.

• Chân OSC2/CLK2(14): ngõ ra dao động thạch anh hoặc ngõ ra cấp xung clock.

• Chân MCLR/VPP (1) có 2 chức năng:

- MCLR: ngõ vào reset tích cực ở mức thấp.

- Vpp: ngõ vào nhận điện áp lập trình khi lập trình cho PIC.

• Chân RA0/AN0(2), RA1/AN1(3), RA2/AN2(3): có 2 chức năng

- AN 0,1,2: ngõ vào tương tự của kênh thứ 0,1,2.

Chân RA2/AN2/VREF-/CVREF+ (4) đóng vai trò quan trọng trong việc xuất nhập số và ngõ vào tương tự của kênh thứ 2, cũng như cung cấp điện áp chuẩn thấp và cao cho bộ chuyển đổi AD.

• Chân RA3/AN3/VREF+(5): xuất nhập số/ ngõ vào tương tự kênh 3/ ngõ vào điện áp chuẩn (cao) của bộ AD.

• Chân RA4/TOCK1/C1OUT(6): xuất nhập số/ ngõ vào xung clock bên ngoài cho Timer 0/ ngõ ra bộ so sánh 1.

• Chân RA5/AN4/SS/ C2OUT(7): xuất nhập số/ ngõ vào tương tự kênh 4/ ngõ vào chọn lựa SPI phụ/ ngõ ra bộ so sánh 2.

• Chân RB0/INT (33): xuất nhập số/ ngõ vào tín hiệu ngắt ngoài.

• Chân RB1(34), RB2(35): xuất nhập số.

• Chân RB3/PGM(36): xuất nhập số/ cho phép lập trình điện áp thấp ICSP.

• Chân RB4(37), RB5(38): xuất nhập số.

• Chân RB6/PGC(39): xuất nhấp số/ mạch gỡ rối và xung clock lập trình

• Chân RB7/PGD(40): xuất nhập số/ mạch gỡ rối và dữ liệu lập trình ICSP.

• Chân RC0/T1OCO/T1CKI(15): xuất nhập số/ ngõ vào bộ giao động Timer1/ ngõ vào xung clock bên ngoài Timer 1

• Chân RC1/T1OSI/CCP2(16) : xuất nhập số/ ngõ vào bộ dao động Timer 1/ ngõ vào Capture2, ngõ ra compare2, ngõ ra PWM2.

• Chân RC2/CCP1(17): xuất nhập số/ ngõ vào Capture1 ,ngõ ra compare1, ngõ ra PWM1.

Chân RC3/SCK/SCL (18) đảm nhiệm vai trò xuất nhập số và kết nối ngõ vào xung clock đồng bộ Nó hỗ trợ chế độ SPI cho ngõ ra và chế độ I2C cho ngõ vào xung clock.

• Chân RC4/SDI/SDA(23): xuất nhập số/ dữ liệu vào SPI/ xuất nhập dữ liệu

• Chân RC5/SDO(24): xuất nhập số/ dữ liệu ra SPI.

• Chân RC6/TX/CK(25): xuất nhập số/ truyền bất đồng bộ USART/ xung đồng bộ USART.

• Chân RC7/RX/DT(26): xuất nhập số/ nhận bất đồng bộ USART.

• Chân RD0-7/PSP0-7(19-30): xuất nhập số/ dữ liệu port song song.

• Chân RE0/ RD/AN5(8): xuất nhập số/ điều khiển port song song/ ngõ vào tương tự 5.

• Chân RE1/ WR/AN6(9): xuất nhập số/ điều khiển ghi port song song/ ngõ vào tương tự kênh thứ 6.

• Chân RE2/ CS/AN7(10): xuất nhấp số/ Chân chọn lụa điều khiển port song song/ ngõ vào tương tự kênh thứ 7.

Tổ chức bộ nhớ

Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chương trìn(Program memory) và bộ nhớ dữ liệu (Data Memory)

Hình 2.4: Bộ nhớ chương trình PIC16F877A

Khi vi điều khiển được reset, bộ đếm chương trình sẽ trỏ đến địa chỉ 0000h, được gọi là Reset vector Trong trường hợp có ngắt xảy ra, bộ đếm chương trình sẽ chuyển sang địa chỉ 0004h, hay còn gọi là Interrupt vector.

Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash với dung lượng 8K word (1 word = 14 bit), được chia thành nhiều trang từ page0 đến page 3, cho phép lưu trữ 8192 lệnh Để mã hóa địa chỉ cho 8K word, bộ đếm chương trình có kích thước 13 bit (PC) Khi vi điều khiển được reset, bộ đếm chương trình sẽ trỏ đến địa chỉ 0000h (Reset vector), trong khi khi có ngắt xảy ra, nó sẽ trỏ đến địa chỉ 0004h (Interrupt vector).

Bộ nhớ chương trình không bao gồm bộ nhớ stack và không được địa chỉ hóa bởi bộ đếm chương trình; bộ nhớ stack sẽ được thảo luận chi tiết trong phần tiếp theo.

Bộ nhớ dữ liệu của PIC16F877A là EEPROM, được chia thành 4 bank, mỗi bank có dung lượng 128 byte.

Bộ nhớ chương trình của vi điều khiển

PIC16F877A là bộ nhớ flash, dung lượng bộ nhớ 8K word (1 word = 14 bit) và được phân thành nhiều trang (từ page0 đến page

Bộ nhớ chương trình có khả năng lưu trữ 8192 lệnh, tương đương với 8*1024 lệnh, do mỗi lệnh sau khi mã hóa chiếm 1 từ (14 bit) Để mã hóa địa chỉ cho 8K từ của bộ nhớ chương trình, bộ đếm chương trình cần có dung lượng 13 bit (PC).

- Các thanh ghi có chức năng đặc biệt SFG (Special Function Register) nằm ở các vùng địa chỉ thấp.

- Các thanh ghi mục đích chung GPR (General Purpose Register) nằm ở vùng địa chỉ còn lại trong bank.

Các thanh ghi SFR, như thanh ghi STATUS, được đặt ở tất cả các bank của bộ nhớ dữ liệu, giúp tối ưu hóa quá trình truy xuất và giảm thiểu số lượng lệnh trong chương trình.

Sơ đồ cụ thể của bộ nhớ dữ liệu PIC16F877A như sau:

Hình 2.5 Sơ đồ bộ nhớ dữ liệu PIC16F877A

Thanh ghi chức năng đặc biệt SFR là các thanh ghi quan trọng được sử dụng bởi CPU để thiết lập và điều khiển các khối chức năng tích hợp trong vi điều khiển Chúng được chia thành hai loại: thanh ghi SFR liên quan đến các chức năng bên trong CPU và thanh ghi SFR dành cho việc thiết lập và điều khiển các khối chức năng bên ngoài như ADC, PWM Bài viết này sẽ tập trung vào các thanh ghi liên quan đến chức năng bên trong, trong khi các thanh ghi điều khiển khối chức năng sẽ được đề cập khi thảo luận về các khối đó.

 Thanh ghi mục đích chung GPR

Các thanh ghi này có thể được truy xuất trực tiếp hoặc gián tiếp thông qua thanh ghi

FSG (File Select Register) là các thanh ghi dữ liệu thông thường, cho phép người sử dụng tùy chỉnh theo mục đích chương trình để lưu trữ biến số, hằng số, kết quả hoặc các tham số cần thiết cho chương trình.

Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu, mà là một vùng nhớ đặc biệt không cho phép đọc hay ghi Khi lệnh CALL được thực hiện hoặc khi một ngắt xảy ra, giá trị của bộ đếm chương trình PC sẽ được vi điều khiển lưu vào stack Khi thực thi các lệnh RETURN, RETLW hoặc RETFIE, giá trị PC sẽ được lấy ra từ stack để vi điều khiển tiếp tục thực hiện chương trình theo đúng quy trình đã định.

Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng lưu trữ 8 địa chỉ và hoạt động theo cơ chế xoay vòng Khi giá trị được lưu vào bộ nhớ Stack lần thứ 9, nó sẽ ghi đè lên giá trị của lần đầu tiên, và giá trị của lần thứ 10 sẽ ghi đè lên giá trị của lần thứ 2.

Không có cờ hiệu nào để chỉ ra trạng thái của stack, vì vậy chúng ta không thể xác định thời điểm stack tràn Hơn nữa, các lệnh của vi điều khiển dòng PIC không bao gồm lệnh POP hay PUSH, do đó, mọi thao tác liên quan đến bộ nhớ stack hoàn toàn phụ thuộc vào CPU.

Các cổng xuất nhập của vi điều khiển PIC16F877A

Cổng xuất nhập (I/O port) là phương tiện thiết yếu giúp vi điều khiển tương tác với môi trường bên ngoài Qua các tương tác đa dạng này, chức năng của vi điều khiển được thể hiện một cách rõ ràng và hiệu quả.

Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB, PORTC, PORTD và PORTE

PORTA (RPA) có 6 chân I/O hai chiều, cho phép xuất và nhập dữ liệu Chức năng của các chân này được điều khiển thông qua thanh ghi TRISA (địa chỉ 85h) Để thiết lập một chân trong PORTA là input, cần "set" bit điều khiển tương ứng trong thanh ghi TRISA, trong khi để thiết lập chân đó là output, cần "clear" bit điều khiển Quy trình này cũng áp dụng tương tự cho các PORT khác và các thanh ghi điều khiển tương ứng như TRISB cho PORTB, TRISC cho PORTC, TRISD cho PORTD và TRISE cho PORTE.

PORTA không chỉ là ngõ ra của bộ ADC và bộ so sánh, mà còn đóng vai trò quan trọng trong việc cung cấp ngõ vào analog, ngõ vào xung clock cho Timer0, cũng như ngõ vào cho bộ giao tiếp MSSP (Master Synchronous Serial Port) Các thanh ghi SFR liên quan đến PORTA sẽ được trình bày chi tiết trong phần tiếp theo.

- PORTA (địa chỉ 05h): chứa giá trị các pin trong PORTA.

- TRISA (địa chỉ 85h): chứa giá trị các pin trong PORTA.

- CMCON (địa chỉ 9Ch): thanh ghi điều khiển bộ so sánh.

- CVRCON (địa chỉ 9Dh): thanh ghi điều khiển bộ so sánh điện áp.

- ADCON1 (địa chỉ 9Fh): thanh ghi điều khiển bộ ADC.

PORTB (RPB) bao gồm 8 chân I/O, với thanh ghi điều khiển xuất nhập tương ứng là TRISB Một số chân của PORTB được sử dụng trong quá trình nạp chương trình cho vi điều khiển với các chế độ nạp khác nhau Ngoài ra, PORTB còn liên quan đến ngắt ngoại vi và bộ Timer0, và được tích hợp chức năng điện trở kéo lên có thể điều khiển bằng chương trình.

Các thanh ghi SFR liên quan đến PORTB bao gồm:

- PORTB (địa chỉ 06h,106h): chứa giá trị các pin trong PORTB

- TRISB (địa chỉ 86h,186h): điều khiển xuất nhập

- OPTION_REG (địa chỉ 81h,181h): điều khiển ngắt ngoại vi và bộ Timer0.

PORTC (RPC) có 8 chân I/O, được điều khiển bởi thanh ghi TRISC Ngoài ra, PORTC còn tích hợp các chân chức năng cho bộ so sánh, Timer1, PWM, cùng với các giao thức nối tiếp như I2C, SPI, SSP và USART.

Các thanh ghi điều khiển liên quan đến PORTC:

- PORTC (địa chỉ 07h): chứa giá trị các pin trong PORTC.

- TRISC (địa chỉ 87h): điều khiển xuất nhập.

PORTD (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng là TRISD PORTD còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (Parallel Slave Port)

Các thanh ghi liên quan đến PORTD bao gồm:

- Thanh ghi PORTD: chứa giá trị các pin trong PORTD.

- Thanh ghi TRISD: điều khiển xuất nhập.

PORTE (RPE) gồm 3 chân I/O Thanh ghi điều khiển xuất nhập tương ứng là

TRISE Các chân của PORTE có ngõ vào analog Bên cạnh đó PORTE còn là các chân điều khiển của chuẩn giao tiếp PSP.

Các thanh ghi liên quan đến PORTE bao gồm:

- PORTE: chứa giá trị các chân trong PORTE.

- TRISE: điều khiển xuất nhập và xác lập các thông số cho chuẩn giao tiếp

- ADCON1: thanh ghi điều khiển khối ADC.

Các bộ định thời TIMER

2.4.1 TIMER 0 Đây là một trong ba bộ đếm hoặc bộ định thời của vi điều khiển PIC16F877A Timer0 là bộ đếm 8 bit được kết nối với bộ chia tần số (prescaler)

Cấu trúc của Timer0 cho phép lựa chọn xung clock và cạnh tích cực của xung clock Ngắt Timer0 xảy ra khi Timer0 bị tràn, với bit điều khiển TMR0IE (INTCON) quyết định việc cho phép ngắt Khi TMR0IE=1, ngắt Timer0 sẽ được kích hoạt, trong khi TMR0IF=0 sẽ ngăn chặn ngắt Timer0.

Thanh ghi TMR0 cho phép ghi và xóa, giúp xác định thời điểm ngắt Để Timer0 hoạt động ở chế độ đếm, cần thiết lập bit TOSC (OPTION_REG).

Khi thanh ghi TMR0 bị tràn, bit TMR0IF (INTCON) sẽ được thiết lập, đánh dấu sự kiện ngắt của Timer0 Để đảm bảo bộ đếm hoạt động chính xác, cờ ngắt này cần được xóa qua chương trình trước khi bắt đầu quá trình đếm lại.

“đánh thức” vi điều khiển từ chế độ sleep.

Các thanh ghi điều khiển liên quan đến Timer0 bao gồm:

- TMR0 (địa chỉ 01h, 101h) : chứa giá trị đếm của Timer0.

- INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE và PEIE).

- OPTION_REG (địa chỉ 81h, 181h): điều khiển prescaler.

Timer1 là bộ định thời 16 bit, với giá trị được lưu trong hai thanh ghi TMR1H và TMR1L Cờ ngắt của Timer1 được xác định bởi bit TMR1IF (PIR1), trong khi bit điều khiển là TMR1IE (PIE).

Timer1 hoạt động tương tự như Timer0, với hai chế độ chính: chế độ định thời (timer) sử dụng xung clock của oscillator, và chế độ đếm (counter) nhận xung từ các sự kiện bên ngoài qua chân RC0/T1OSO/T1CKI Tần số của timer tương đương với tần số của oscillator Việc chọn xung tác động, từ đó xác định chế độ hoạt động là timer hay counter, được điều khiển bởi bit TMR1CS (T1CON).

Timer1 có chức năng reset input được điều khiển bởi một trong hai khối CCP Khi bit T1OSCEN được set, Timer1 nhận xung clock từ chân RC1/T1OSI/CCP2 và RC0/T1OSO/T1CKI để đếm Timer1 bắt đầu đếm sau cạnh xuống đầu tiên của xung ngõ vào, trong khi PORTC bỏ qua tác động của hai bit TRISC và PORTC được gán giá trị 0 Khi bit T1OSCEN được clear, Timer1 sẽ lấy xung đếm từ oscillator hoặc chân RC0/T1OSO/T1CKI.

Timer1 có hai chế độ đếm là đồng bộ (Synchronous) và bất đồng bộ (Asynchronous), được xác định bởi bit điều khiển T1CON Các thanh ghi liên quan đến Timer1 cũng rất quan trọng trong việc điều khiển chế độ hoạt động của nó.

- INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE và PEIE).

- PIR1 (địa chỉ 0Ch): chứa cờ ngắt Timer1 (TMR1IF).

- PIE1( địa chỉ 8Ch): cho phép ngắt Timer1 (TMR1IE).

- TMR1L (địa chỉ 0Eh): chứa giá trị 8 bit thấp của bộ đếm Timer1.

- TMR1H (địa chỉ 0Eh): chứa giá trị 8 bit cao của bộ đếm Timer1.

- T1CON (địa chỉ 10h): xác lập các thông số cho Timer1.

Timer2 là một bộ định thời 8 bit, được hỗ trợ bởi hai bộ chia tần số là prescaler và postscaler Giá trị đếm của Timer2 được lưu trong thanh ghi TMR2, trong khi bit TMR2ON (T2CON) cho phép kích hoạt ngắt Timer2 Cờ ngắt của Timer2 được xác định bởi bit TMR2IF (PIR1) Tín hiệu đầu vào với tần số bằng tần số oscillator được đưa qua bộ chia tần số prescaler 4 bit, với các tỷ lệ chia tần số là 1:1, 1:4 hoặc 1:16, được điều khiển bởi các bit T2CKPS1:T2CKPS0 (T2CON).

Timer2 hoạt động với sự hỗ trợ của thanh ghi PR2, trong đó giá trị đếm của thanh ghi TMR2 sẽ gia tăng từ 00h đến giá trị được lưu trữ trong PR2, sau đó sẽ được đặt lại về 00h Khi thanh ghi PR2 được reset, nó sẽ nhận giá trị mặc định là FFh.

Timer2 không chỉ kết nối với khối SSP mà còn đảm nhận vai trò quan trọng trong việc tạo ra xung clock đồng bộ cho khối giao tiếp SSP.

Các thanh ghi liên quan đến Timer2 bao gồm:

- INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép toàn bộ các ngắt

- PIR1 (địa chỉ 0Ch): chứa cờ ngắt Timer2 (TMR2IF).

- PIE1 (địa chị 8Ch): chứa bit điều khiển Timer2 (TMR2IE).

- TMR2 (địa chỉ 11h): chứa giá trị đếm của Timer2.

- T2CON (địa chỉ 12h): xác lập các thông số cho Timer2.

- PR2 (địa chỉ 92h): thanh ghi hỗ trợ cho Timer2.

THIẾT KẾ, CHẾ TẠO HỆ THỐNG ĐO TỐC ĐỘ GIÓ … 25 3.1 Phân tích yêu cầu thiết kế

Xác định bài toán thiết kế

Mô hình hệ thống được thiết kế nhằm đo tốc độ gió và gửi dữ liệu lên ThingSpeak, thể hiện rõ ý tưởng của người thiết kế Hệ thống cần đáp ứng các yêu cầu kỹ thuật như kích thước nhỏ gọn, độ ổn định cao trong quá trình hoạt động và độ chính xác trong việc đo lường.

Lựa chọn công nghệ

Hiện nay, máy đo tốc độ gió được sản xuất rộng rãi trên toàn cầu với nhiều công nghệ khác nhau Các công nghệ này đang được sử dụng phổ biến trong nhiều lĩnh vực.

- Đo bằng phương pháp đếm xung bằng cơ khí cổ điển.

- Đo bằng phương pháp nhiệt.

- Đo bằng phương pháp siêu âm.

- Đo bằng phương pháp đếm xung dùng bộ thu phát hồng ngoại

Ngoài ra, còn có một số phương pháp khác như Karmen Vortex, áp suất, Ion và laser Tuy nhiên, những phương pháp này thường phức tạp, có chi phí cao và ít được áp dụng cho thiết bị nhỏ gọn cầm tay.

Sau đây ta trình bày sơ lược bốn công nghệ trên:

 Phương pháp đếm xung bằng cơ khí cổ điển (đo tốc độ vòng quay)

Thiết bị đo tốc độ gió thô sơ, được phát minh bởi John Thomas Romney Robinson vào năm 1846, là một trong những công cụ đơn giản nhất để đo tốc độ gió Thiết bị này bao gồm 4 chiếc cốc hình nửa bán cầu gắn trên 4 cánh tay đòn, kết nối với một trục quay Khi gió thổi vuông góc với trục, các cốc sẽ quay quanh trục, và tốc độ quay của trục tỷ lệ thuận với tốc độ gió Để đo tốc độ này, ta có thể sử dụng từ trường của nam châm bằng cách gắn nam châm vào cuối cán trục, tạo ra các xung tương ứng với tốc độ gió.

Hình 3.2: Nguyên lý cấu tạo máy đo tốc độ gió thô sơ

Dưới nam châm có một công tắc điện, mở và đóng theo mỗi vòng quay của cực từ Khi cực từ gần công tắc, lực hút từ trường làm công tắc mở, và khi xa thì công tắc đóng, tạo ra tần số đóng cắt tỷ lệ thuận với tốc độ gió Hai đầu công tắc được kết nối với thiết bị chuyển đổi tần số hoặc vi xử lý để xử lý tín hiệu, từ đó tính toán và quy ra tốc độ gió chuẩn.

Cấu tạo đơn giản và dễ chế tạo của thiết bị này làm cho nó trở thành lựa chọn lý tưởng cho việc sản xuất máy kích thước lớn Thiết bị thường được ứng dụng trong lĩnh vực khí tượng thủy văn và đo tốc độ của một số chất lỏng trong các nhà máy.

Máy đo tốc độ gió có nhược điểm như độ nhạy thấp và độ chính xác không cao, phụ thuộc vào kết cấu cơ khí của cánh Kích thước cồng kềnh do các cánh tay đòn vuông góc với trục khiến nó không phù hợp cho việc chế tạo máy đo tốc độ gió cầm tay Tuy nhiên, hiện nay một số hãng vẫn sử dụng kết cấu cơ khí tương tự nhưng đã cải tiến đáng kể về độ chính xác và kích thước.

 Đo bằng phương pháp nhiệt

Hình 3.3: Nguyên lý phương pháp đo bằng nhiệt điện trở

Phương pháp đo tốc độ gió này dựa trên nguyên tắc của nhiệt điện trở, sử dụng cảm biến gồm một nhiệt điện trở (Thermistor) và thanh bạch kim đặc biệt (Platinum Hot Wire) Thanh bạch kim nhạy cảm với sự thay đổi môi trường xung quanh, trong khi nhiệt điện trở đo nhiệt độ của luồng gió đi vào cảm biến Dòng điện qua thanh bạch kim được điều khiển bởi mạch điện, đảm bảo ổn định tỷ lệ với dòng qua nhiệt điện trở.

Khi có gió thổi vào, tấm bạch kim mất nhiệt, và tốc độ gió càng lớn thì bạch kim càng mất nhiều nhiệt, dẫn đến điện trở của nó thay đổi và làm giảm dòng điện Mạch điều khiển sẽ tăng dòng điện chạy qua bạch kim sao cho tỷ lệ với dòng qua nhiệt điện trở (Thermistor), do đó dòng điện bù này tỷ lệ với tốc độ gió Đồng thời, mạch cũng trích ra một điện áp từ dòng điện, và điện áp này tỷ lệ thuận với dòng điện cũng như tốc độ gió, giúp ta đo được tốc độ gió.

Tóm lại phương pháp này hoạt động dựa trên sự thay đổi điện trở của bạch kim khi khi nhiệt độ thay đổi

Phương pháp này áp dụng cho đo các loại khí như nito, oxy, heli, argon,…

Cảm biến gió có tần số đáp ứng cao với môi trường xung quanh, cho phép đo tốc độ gió với độ nhạy và độ phân giải lớn Với thiết kế dạng que, thiết bị này có khả năng đo tốc độ gió tại những vị trí nhỏ hẹp Ngoài ra, nó còn có thể tích hợp đo đồng thời dòng điện, điện áp và nhiệt độ, mang lại sự tiện lợi trong việc giám sát nhiều thông số môi trường.

Nhược điểm của phương pháp này là giá thành cao và thanh kim loại bạch kim mỏng manh, dễ bị hư hại khi va đập Hơn nữa, khí đo cần phải là loại khí sạch, không có bụi bẩn Trong môi trường hầm lò, độ ẩm thường rất cao, có thể đạt tới 100%, điều này làm thay đổi nhiệt độ của đầu đo và gây ra sai số lớn, do đó phương pháp này không phù hợp cho máy đo tốc độ gió sử dụng trong hầm lò.

 Đo bằng phương pháp siêu âm

Phương pháp đo tốc độ gió bằng sóng siêu âm đã được nghiên cứu và phát triển từ năm 1970, và hiện nay được coi là một trong những phương pháp tiên tiến nhất Nguyên lý hoạt động của nó dựa trên việc phát sóng siêu âm qua không khí, sóng này sẽ va chạm vào mục tiêu và phản hồi trở lại cảm biến Từ đó, khoảng cách từ cảm biến đến mục tiêu được tính toán theo một công thức nhất định.

D: khoảng cách từ sensor tới mục tiêu.

T: Thời gian sóng âm truyền từ sensor tới mục tiêu

Tốc độ âm thanh là một tốc độ cao, phụ thuộc vào nhiệt độ và áp suất của môi trường mà nó truyền qua Mối liên hệ giữa tốc độ âm thanh và nhiệt độ được thể hiện qua công thức cụ thể.

Dựa vào các đặc tính và quy luật trên thiết bị đo tốc độ gió bằng siêu âm cũng được chế tạo như hình vẽ dưới:

Hình 3.4: Nguyên lý đo bằng phương pháp siêu âm

Hai sensor phát thu sóng âm được lắp đặt trên một ống dài để đo tốc độ gió Khi không có gió, thời gian sóng âm di chuyển từ sensor phát đến sensor thu là hằng số Tuy nhiên, khi gió thổi vào ống, sự thay đổi về nhiệt độ và áp suất làm thay đổi thời gian truyền sóng âm Dựa vào sự thay đổi này, tốc độ gió được tính toán và hiển thị qua một đồng hồ đo hoặc vi xử lý kết nối với hai sensor.

Thiết bị đo gió có độ chính xác cao và khả năng đo dải tốc độ gió lớn, bao gồm cả trong điều kiện bão Điểm mạnh của nó là không cần bộ phận chuyển động để hứng gió, giúp kết quả đo ít bị ảnh hưởng bởi các yếu tố cơ khí.

Phương pháp siêu âm trong chế tạo máy đo tốc độ gió có nhược điểm là giá thành cao hơn so với các phương pháp khác và thiết kế chế tạo phức tạp Ngoài ra, trong hầm lò thường có nhiều bụi bẩn, điều này có thể gây sai lệch về tốc độ và hướng của sóng siêu âm, khiến việc áp dụng phương pháp này trở nên khó khăn.

 Đo bằng phương pháp đếm xung bằng bộ thu phát hồng ngoại

Hình 3.5: Nguyên lý đo tốc độ gió bằng phương pháp hồng ngoại

Phương án thiết kế

Dựa trên kiến thức về bộ mã hóa góc quay Encoder, vi điều khiển PIC 16F877A, module Wifi ESP8266 ESP-01 và cảm biến thu phát hồng ngoại, chúng tôi đã phát triển một ý tưởng thiết kế cho hệ thống đo tốc độ gió Hệ thống này sẽ sử dụng các linh kiện trên để thu thập và truyền tải dữ liệu về tốc độ gió một cách chính xác và hiệu quả.

- Sử dụng vi điều khiển PIC 16F877A làm khối xử lí trung tâm.

Cảm biến tốc độ gió hoạt động dựa trên nguyên lý của encoder với đĩa quay có 4 lỗ, cho phép thu thập 4 xung đầu ra cho mỗi vòng quay thông qua cảm biến hồng ngoại.

- Sử dụng 4 led 7 thanh hiển thị số xung đếm được.

- Tốc độ gió được gửi lên ThingSpeak.com thông qua module Wifi

Thiết kế mô hình hệ thống sử dụng vật liệu đơn giản và dễ tìm, đồng thời tận dụng các vật liệu tái sử dụng, không chỉ giúp tiết kiệm chi phí mà còn góp phần bảo vệ môi trường.

Thiết kế sơ đồ khối

Để thực hiện được các yêu cầu và chức năng đặt ra, hệ thống đo tốc độ gió có sơ đồ khối như sau:

Khối xử lí trung tâm Module Wifi

Hình 3.6: Sơ đồ khối hệ thống đo tốc độ gió Nguyên lý làm việc :

Hệ thống đo tốc độ gió sử dụng phương pháp đếm xung với bộ thu phát hồng ngoại Module này phát tia hồng ngoại liên tục, và khi cánh quạt quay, các tia hồng ngoại sẽ bị cản trở và phản xạ lại bộ thu, tạo ra xung sáng đèn báo Các xung này được gửi về mạch xử lý để hiển thị số xung trên các LED 7 thanh, trong khi khối xử lý trung tâm tính toán và chuyển đổi thành tốc độ gió, sau đó gửi dữ liệu lên ThingSpeak qua module wifi.

3.2.1 Khối xử lí trung tâm Đây là bộ phận quan trọng nhất của thiết bị đo tốc độ gió, là trung tâm điều hành của thiết bị làm nhiệm vụ thu thập, xử lý dữ liệu về thông số tốc độ gió và thực hiện truyền các lệnh với dữ liệu và hiển thị chúng.

Khối xử lý trung tâm sử dụng vi điều khiển PIC 16F877A, được tích hợp trên module KIT PIC V2, là một giải pháp học tập đơn giản và tiết kiệm chi phí Module KIT PIC V2 hỗ trợ các dòng vi điều khiển 8 bit của Microchip như PIC16F877A, PIC16F887, PIC18F4550 và PIC18F4520, giúp người dùng dễ dàng tiếp cận và thực hành.

 Thông số kỹ thuật của KIT PIC V2:

- Điện áp qua cổng USB.

 Vi điều khiển mặc định: PIC16F877A.

 Hỗ trợ Socket 40P dễ dàng thay thế các dòng chip khác.

 Các tính năng hỗ trợ:

- Giao tiếp UART (cổng RS232).

- Cổng giao tiếp LCD 1602, LCD 12864.

- Cổng giao tiếp siêu âm SRF05.

- Cổng giao tiếp wifi ESP8266.

- Cổng nạp ICSP (PIC KIT 2).

- Cổng giao tiếp hồng ngoại 1838T.

- Cổng giao tiếp nhiệt độ DS18B20, LM35.

3.2.2 Module đo tốc độ gió Ở đây do ta dùng phương pháp đếm xung hồng ngoại nên ta chọn một bộ thu phát hồng ngoại gồm một mắt phát và một mắt thu Dùng một cánh quạt có độ nhạy cao để cảm biến được tốc độ gió

Như vậy khối cảm biến đo tốc độ gió ở đây gồm hai phần chính:

- Bộ thu phát hồng ngoại.

Cảm biến hồng ngoại hoạt động bằng cách phát ra tia hồng ngoại liên tục Khi không có vật cản, máy thu hồng ngoại sẽ tắt do không nhận được phản xạ hoặc cường độ phản xạ quá yếu Tuy nhiên, khi phát hiện vật cản trong phạm vi, tia hồng ngoại sẽ được phản xạ lại, kích hoạt máy thu và làm cho các đầu ra OUT của module ở mức thấp, đồng thời đèn báo sẽ sáng lên.

- Chân OUT xuất tín hiệu số 0-1.

Hình 3.8: Hình ảnh và sơ đồ nguyên lý module thu phát hồng ngoại V2

Cánh quạt là thiết bị thiết yếu để thu hút luồng gió từ bên ngoài Khi cánh quạt quay với các tốc độ khác nhau, nó sẽ tạo ra tín hiệu tại mắt thu, giúp đo lường các tốc độ gió khác nhau một cách chính xác.

Hình 3.9: Cánh quạt hứng gió

Khối hiển thị là LED 7 thanh 0.36x4 được tích hợp trên module KIT PIC V2, có chức năng hiển thị số xung đếm được từ module thu phát hồng ngoại.

Hình 3.10: Hình ảnh và sơ đồ nguyên lý LED 7 thanh 0.36x4

3.2.4 Module Wifi Ở đây chúng ta sử dụng Module Wifi ESP8266 ESP-01 để thực hiện việc truyền dữ liệu lên Internet Đây là module truyền nhận wifi đơn giản dựa trên chip ESP8266 SoC(System on chip).

ESP8266 là một chip tích hợp lý tưởng cho việc kết nối Internet trong các dự án Chip này sử dụng giao thức nối tiếp với tốc độ baud 9600 (mặc định) và có khả năng kết nối mạng không dây Nó hoạt động như một máy chủ hoặc cầu nối trung gian, cho phép tải dữ liệu từ Internet một cách dễ dàng.

- Wi-Fi 2.4GHz, hỗ trợ WPA/WPA2.

- Chuẩn điện áp hoạt động: 3.3V.

- Chuẩn giao tiếp nối tiếp UART với tốc độ baud lên đến 115200.

- Có 3 chế độ hoạt động: Client, Access Point, Both Client and Access

- Hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK, WPA2_PSK,

- Hỗ trợ cả 2 giao tiếp TCP và UDP.

- Làm việc như các máy chủ có thể kết nối 5 máy con.

Hình 3.11: Hình ảnh và sơ đồ nguyên lý module Wifi ESP8266 ESP-01

 Tập lệnh AT giao tiếp với Module ESP8266:

AT Lệnh kiểm tra kết nối

AT + RST Lệnh Reset module

AT+GMR Lệnh kiểm tra phiên bản module

AT+CWMODE=3 Lệnh cài đặt module hoạt động ở chế độ trạm phát wifi, điểm truy cập wifi

AT+CWLAP Lệnh tìm các mạng wifi đang có

AT+CWJAP="

Lệnh truy cập vào mạng wifi khác

AT+CIFSR Lệnh lấy đỉa chỉ IP của module

AT+CIFSR="tên_mang","mật_khẩu",

Lệnh đặt tên và mật khẩu cho mạng wifi do module ESP8266 phát ra

Có thể sử dụng module ESP8266 ở hai chế độ: TCP Client hoặc TCP sever.

 Cài đặt module hoạt động ở chế độ TCP Client:

- Cho phép module hoạt động ở chế độ đa kết nối, bằng cách gửi lệnh: AT+CIPMUX=1.

- Sử dụng lệnh CIPSTART để chọn kênh kết nối (0-4), phương thức truyền(TCP/UDP), địa chỉ IP của website (or domain) và cổng kết nối.

Ví dụ: AT+CIPSTART=4,"TCP","google.com",80

- Sử dụng lệnh AT + CIPSEND để báo kênh truyền và số byte của địa chỉ websever mình cần lấy dữ liệu.

Ví dụ: địa chỉ: “ GET / HTTP/1.0\r\n\r\n” có 18 byte sẽ phải gửi lệnh:

Chúng ta sẽ sử dụng ThingSpeak để hiển thị và lưu trữ giá trị tốc độ gió đo được dưới dạng biểu đồ ThingSpeak là một ứng dụng dễ sử dụng, mang lại nhiều lợi ích cho người dùng.

ThingSpeak là một ứng dụng mã nguồn mở trong lĩnh vực Internet of Things (IoT), cung cấp API để lưu trữ và truy xuất dữ liệu qua giao thức HTTP Ứng dụng này cho phép phát triển các giải pháp khai thác cảm biến, theo dõi vị trí và mạng xã hội cho các thiết bị có khả năng cập nhật trạng thái.

ThingSpeak đã tích hợp hỗ trợ từ phần mềm Matlab của MathWorks, cho phép người dùng phân tích và hình dung dữ liệu tải lên mà không cần mua giấy phép Matlab.

Hình 3.12: Sơ đồ dữ kiệu gửi lên ThingSpeak

3.2.6 Bộ nguồn Điện áp sử dụng cho khối xử lí trung tâm là điện áp Jack DC 5V hoặc sử dụng điện áp qua cổng USB.

Module thu phát hồng ngoại sử dụng điện áp DC 5V và module WifiESP8266 ESP-01 sử dụng điện áp DC 3.3V được cấp thông qua module KITPIC V2.

Thiết kế sơ đồ nguyên lý

Hình 3.13: Sơ đồ nguyên lý module KIT PIC V2

Hình 3.14: Sơ đồ nguyên lý khối vi xử lý PIC16F877A

Hình 3.15: Sơ đồ nguyên lý hệ thống đo gió đơn giản

Lập trình phần mềm

Phần mềm được thiết kế nhằm đảm bảo các mục tiêu sau:

- Chương trình hoạt động ổn định, chính xác và thực hiện đầy đủ chức năng.

- Phần mềm tạo khả năng giao tiếp với máy tính hoặc các thiết bị khác.

- Phần mềm phải có khả năng linh hoạt, mềm dẻo để dễ thay đổi, phát triển.

Phần mềm vi xử lý được lập trình bằng ngôn ngữ C và sử dụng phần mềm KeilC để biên dịch Chức năng của phần mềm này là điều khiển hoạt động của vi xử lý theo ý tưởng thiết kế của người lập trình.

Lưu đồ thuật toán của chương trình:

Khởi động UART,ESP TIMER 1

ESP gửi dữ liệu lên ThingSpeak

Temp++ count =0, dem =0 set timer1 = 49911 count ++ guidulieulent

Chế tạo thử nghiệm……………………………………………… 44 KẾT LUẬN

Thinkspeak tan so = temp dem 0 S count =0 Đ temp =0 dem 20 S dem=0 Đ dem

Ngày đăng: 22/05/2021, 14:38

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w