Sơ lược về thiết bị cảm biến sử dụng trong hệ thống

Một phần của tài liệu DATN-HỆ THỐNG GIÁM SÁT THAM SỐ MÔI TRƯỜNG (Trang 62)

3.4.1. Vi điều khiển Arduino Nano

Arduino Nano là một vi điểu khiển cĩ kích thước nhỏ, hồn chỉnh, và cĩ bảng điều khiển dựa trên ATmega328 (Arduino Nano 3.0) hoặc ATmega168 (Arduino Nano 2.x). Nĩ cĩ các chức năng tương tự của Arduino Duemilanove, sử dụng jack cắm nguồn DC và hoạt động với cáp USB Mini-B. Arduino Nano được thiết kế và đang được sản xuất bởi Gravitech [13].

Hình 3. 2: Vi điều khiển Arduino Nano [13] Sơ đồ chân của vi điều khiển:

Thơng số kỹ thuật chi tiết:

Bảng 3. 1: Thơng số kỹ thuật Arduino Nano [13]

- Vi xử lý ATmega328 (phiên bản v3.0) - Điện áp hoạt động 5 V

- Điện áp đầu vào 7-12 V

- Chân vào/ra số 14 (6 chân cĩ khả năng xuất ra tín hiệu PWM) - Chân vào tương tự 8

- Dịng điện mỗi chân vào/ra

40 mA

- Bộ nhớ 16 KB (ATmega168), 32 KB (ATmega328) trong đĩ 2 KB dùng để nạp bootloader

- SRAM 1 KB (ATmega168) hoặc 2 KB (ATmega328) - EEPROM 512 bytes (ATmega168) hoặc 1 KB (ATmega328)

- Xung nhịp 16 MHz

- Kích thước 0.73" x 1.70"

Nguồn:

Arduino Nano cĩ thể được cung cấp qua kết nối USB Mini-B, nguồn điện bên ngồi khơng được kiểm sốt 6-20V nguồn cung cấp (chân 30) hoặc nguồn điện bên ngồi được điều chỉnh 5V (chân 27). Nguồn điện được tự động chọn đến nguồn điện áp cao nhất. Các FTDI FT232RL chip trên Nano chỉ được cung cấp nếu bảng đang được cung cấp trên USB. Kết quả là, khi chạy với nguồn ngồi (khơng phải USB), đầu ra 3.3V (được cung cấp bởi chip FTDI) khơng phải là cĩ sẵn và đèn RX và TX LED sẽ nhấp nháy nếu các chân kĩ thuật số ở trạng thái 0 hoặc 1.

Bộ nhớ:

ATmega168 cĩ 16 KB bộ nhớ flash để lưu trữ mã (trong đĩ 2 KB được sử dụng cho bộ tải khởi động); ATmega328 cĩ 32 KB, (cũng với 2 KB được sử dụng

cho bộ nạp khởi động). ATmega168 cĩ 1 KB SRAM và 512 byte của EEPROM (cĩ thể đọc và ghi bằng thư viện EEPROM); ATmega328 cĩ 2 KB SRAM và 1 KB của EEPROM.

Chân vào ra:

Mỗi một trong số 14 chân kỹ thuật số trên Nano cĩ thể được sử dụng như một đầu vào hoặc đầu ra, sử dụng các chức năng của pinMode(), digitalWrite() và digitalRead(). Các chân hoạt động ở 5 V. Mỗi pin cĩ thể cung cấp hoặc nhận tối đa 40 mA và cĩ một điện trở kéo lên bên trong (bị ngắt kết nối theo mặc định) từ 20-50 kOhms. Ngồi ra, một số chân cĩ các chức năng đặc biệt:

Truyền thơng nối tiếp (Serial):

Pin 0 (RX) và 1 (TX). Được sử dụng để nhận dữ liệu nối tiếp TTL (RX) và truyền (TX). Các chân này được kết nối với các chân tương ứng của chip FTDI USB-to-TTL Serial.

Ngắt ngồi (External Interrupts):

Pin 2 và 3. Những chân này cĩ thể được cấu hình để kích hoạt một ngắt trên một giá trị thấp, một cạnh tăng hoặc giảm, hoặc thay đổi giá trị.

PWM:

Pin 3, 5, 6, 9, 10, và 11. Cung cấp đầu ra PWM 8-bit với chức năng analogWrite().

SPI:

Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Những chân này hỗ trợ truyền thơng SPI, mặc dù được cung cấp bởi phần cứng cơ bản, hiện tại khơng cĩ trong ngơn ngữ Arduino.

LED:

Pin 13. Cĩ một đèn LED gắn sẵn kết nối với chân số 13. Khi pin cĩ giá trị CAO, đèn LED bật, khi pin ở LOW, nĩ tắt. Nano cĩ 8 đầu vào tương tự, mỗi tín hiệu cung cấp 10 bit độ phân giải (tức là 1024 giá trị khác nhau). Theo mặc định chúng đo từ mặt đất đến 5V, tuy nhiên cĩ thể thay đổi phần trên của dải bằng cách sử dụng hàm analogReference(). Ngồi ra, một số chân cĩ chức năng đặc biệt.

Pin 4 (SDA) và 5 (SCL). Hỗ trợ truyền thơng I2C (TWI) bằng cách sử dụng thư viện Wire. Cĩ một vài chân khác trên hình: AREF. Điện áp tham khảo cho các đầu vào tương tự. Được sử dụng với analogReference().

ATmega168 và ATmega328 cũng hỗ trợ giao tiếp I2C (TWI) và SPI. Phần mềm Arduino bao gồm một thư viện Wire để đơn giản hĩa việc sử dụng bus I2C. [6]

Cơng cụ lập trình:

Để lập trình cho Arduino, ngồi cách sử dụng hợp ngữ bậc thấp Assembly như các dịng vi xử lý khác, chúng ta cịn cĩ thể sử dụng ngơn ngữ bậc cao C/C++. Việc sử dụng ngơn ngữ bậc cao – gần với ngơn ngữ tự nhiên hơn – tạo điều kiện thuận lợi cho người dùng trong việc tư duy và triển khai thuật tốn. Đây cũng chính là ưu điểm khiến họ vi điều khiển Arduino trở nên phổ biến. Lập trình cho Arduino sử dụng ngơn ngữ lập trình C/C++ được thực hiện nhờ các trình biên dịch, trong đĩ cĩ 3 trình biên dịch phổ biến nhất hiện nay:

 Code Composer Studio do chính TI phát hành, dùng cho tất cả các vi điều khiển mà hãng sản xuất.

 Arduino IDE.

Nhĩm sinh viên lựa chọn trình biên dịch Arduino IDE với những ưu điểm sau:  Đây là trình biên dịch miễn phí phát hành dưới dạng phần mềm nguồn mở.  Hỗ trợ đầy đủ việc biên dịch ngơn ngữ C/C++.

 Sử dụng phương pháp lập trình dành cho mạch Arduino (một board mạch vi xử lý rất phổ biến), bằng việc kế thừa thư viện đồ sộ của Arduino, việc lập trình cho Arduino Nano càng trở nên đơn giản hơn rất nhiều.

3.4.2. Module nRF2401 + PA 3.4.2.1 Giới thiệu

Module nRF24L01 là mạch tích hợp của một chip thu phát nRF 2.4GHz sử dụng giao thức truyền dẫn ở băng tần cơ sở (Enhanced ShockBurst ™), phù hợp thiết kế cho các ứng dụng khơng dây cơng suất cực thấp. NRF24L01 được thiết kế để hoạt động trong dải tần số ISM trên tồn thế giới ở mức 2.400-2.4835GHz. Sử dụng MCU (vi điều khiển) và các thành phần linh kiện thụ động bên ngồi để thiết kế một hệ thống radio với nRF24L01.

NRF24L01 được cấu hình và vận hành thơng qua chuẩn giao tiếp truyền thơng nối tiếp SPI. Thơng qua chuẩn giao tiếp SPI, chúng ta cĩ thể truy cập vào các thanh ghi cấu hình trong nRF24L01 và điều chỉnh chế độ hoạt động của nĩ.

Tín hiệu đầu cuối sử dụng điều chế GFSK. Tốc độ dữ liệu cao nhất được hỗ trợ bởi nRF24L01 cĩ thể lên tới 2Mbps. Tốc độ dữ liệu cao kết hợp với hai chế độ tiết kiệm năng lượng nên nRF24L01 rất thích hợp cho các thiết kế cơng suất cực thấp [2]. 3.4.2.2. Cấu tạo Hình 3. 3: Module nRF24L01 [2] Thơng số kỹ thuật: - Hoạt động ở dải tần 2.4GHz - Cĩ 126 kênh RF. - Cĩ thể truyền và nhận dữ liệu.

- Truyền tốc truyền trong khơng khí là 250Kbps, 1Mbps hoặc 2Mbps.

- Điện áp hoạt động: 3-3.6V.

- Cơng suất ngõ ra tối đa: +20dBm.

- Dịng tiêu thụ ở chế độ phát (đỉnh): 115mA.

- Dịng tiêu thụ ở chế độ nhận (đỉnh): 45mA.

- Độ nhạy ở chế độ 2Mbps: -92dBm.

- Độ nhạy ở chế độ 1Mbps: -95dBm.

- Khoảng cách truyền tối đa ở tốc độ 2Mbps: 520m

- Khoảng cách truyền tối đa ở tốc độ 1Mbps: 720m.

- Khoảng cách truyền tối đa ở tốc độ 250Kbps: 1000m

- Khếch đại bị ảnh hưởng bởi nhiễu thấp (LNA)

- 3-32 bytes trên 1 khung truyền nhận module khả năng thay đổi cơng suất phát bằng chương trình, điều này giúp nĩ cĩ thể hoạt động trong chế độ tiết kiệm năng lượng.

Sơ đồ chân:

Chức năng chân:

Bảng 3. 1: Sơ đồ chân của nRF24L01 [2] Pin Tên Chức năng

chân

Giải thích

1 CE Digital Input Chip cho phép hoạt động chế độ RX và TX

2 CSN Digital Input SPI chip select

3 SCK Digital Input Tạo xung SPI

4 MOSI Digital Input Dữ liệu SPI đầu vào 5 MISO Digital Input Dữ liệu SPI đầu ra 6 IRQ Digital Input Chân ngắt, đặt mức thấp

7 VDD Power Nguồn 1,9-3,6V

8 VSS Power Đất (0V)

9 XC2 Analog Output Thạch anh chân 2 10 XC1 Analog Input Thạch anh chân 1

11 VDD_PA Power Output Nguồn cung cấp (1,8V) cho mạch trong nRF24L01 và mạch khuếch đại. Cĩ thể kết

nối với ANT1 và ANT2

12 ANT1 RF Anten 1

13 ANT2 RF Anten 2

14 VSS Power Đất (0V)

15 VDD Power Nguồn 1,9-3,6V

16 IREF Analog Output Kết nối với trở 22k

17 VSS Power Đất (0V)

Bảng 3. 2: Sơ đồ chân của nRF24L01 [2]

18 VDD Power Nguồn 1,9-3,6V

19 DVDD Power Output

20 VSS Power Đất (0V)

3.4.2.3. Các chế độ hoạt động:

Trong chế độ này nRF24L01 khơng thể sử dụng dịng tiêu thụ nhỏ nhất. Tất cả các giá trị thanh ghi ở trạng thái nghỉ và SPI giữ ở trạng thái tích cực.

Chế độ RX

Chế độ RX là một chế độ hoạt động mà nRF24L01 là một máy thu. Để hoạt độngchế độ này, nRF24L01 PWR_UP đặt cao, PRIM_RX đặt cao và pin CE đặt cao. Trong chế độ này, máy thu thu các tín hiệu từ kênh RF, liên tục trình bày các dữ liệu demodulated vào cơng cụ giao thức cơ sở. Cơng cụ protocol baseband liên tục tìm kiếm gĩi tin hợp lệ. Nếu một gĩi hợp lệ được tìm thấy (bởi một địa chỉ phù hợp và một CRC hợp lệ) gĩi dữ liệu được lưu trong một khe trống trong RX FIFO. Nếu RXFIFO đã đầy, gĩi tin nhận được hủy bỏ. nRF24L01 vẫn ở chế độ RX cho đến khi MCU cấu hình nĩ ở chế độ chờ hoặc chế độ tắt nguồn. Nếu các tính năng tự động (Enhanced ShockBurst ™) trong cơng cụ protocol baseband được kích hoạt, nRF24L01 cĩ thể nhập các chế độ khác để thực hiện giao thức. Trong chế độ RX, module phát hiện tín hiệu cĩ sẵn. Module phát hiện cĩ một tín hiệu được đặt cao khimột tín hiệu RF được phát hiện bên trong kênh tần số thu. Tín hiệu được điều chếFSK để phát hiện an tồn. Các tín hiệu khác cũng cĩ thể được phát hiện. Các CarrierDetect (CD) được đặt cao khi một tín hiệu RF được phát hiện trong chế độ RX, nếu khơng thì tín hiệu CD là thấp. Tín hiệu CD bên trong được lọc trước khi đưa vào sổ đăng ký CD. Tín hiệu RF phải cĩ ít nhất 128μs trước khi đĩa CD được đặt cao.

Chế độ TX

Chế độ TX là chế độ hoạt động, nơi nRF24L01 truyền gĩi tin. Để nhập chế độ này, nRF24L01 phải cĩ bit PWR_UP đặt cao, PRIM_RX bit đặt thấp. nRF24L01 vẫn ở chế độ TX cho đến khi kết thúc việc truyền gĩi tin hiện tại. Nếu CE = 0 nRF24L01 trở lại chế độ standby-I. Nếu CE = 1, hành động tiếp theo được xác định bởi trạng thái của TX FIFO. Nếu TX FIFO khơng rỗng thì nRF24L01 vẫn ở chế độ TX, truyền gĩi tiếp theo. Nếu TX FIFO rỗng, nRF24L01 chuyển sang chế độ standby-II. Bộ truyền nRF24L01 PLL hoạt động trong vịng lặp mở khi ở chế độ TX. Điều quan trọng là khơng bao giờ giữ nRF24L01 trong chế độ TX cho hơn 4ms tại một thời điểm. Nếu tự động phát lại được kích hoạt, nRF24L01 khơng bao giờ ở chế độ TX đủ lâu để khơng tuân theo quy tắc này.

Tần số kênh RF

Tần số kênh RF xác định trung tâm kênh được nRF24L01 sử dụng. Kênh chiếm băng thơng 1MHz ở tốc độ 1Mbps và 2MHz ở tốc độ 2Mbps. nRF24L01 cĩ thể hoạt động ở tần số từ 2.400GHz đến 2.525GHz. Độ phân giải của cài đặt tần số kênh RF là 1MHz. Với tốc độ 2Mbps kênh chiếm một băng thơng lớn hơn độ phân giải của cài đặt tần số kênh RF. Để đảm bảo các kênh khơng chồng chéo ở chế độ 2Mbps, khoảng cách kênh phải là 2MHz trở lên. Ở tốc độ 1Mbps, băng thơng kênh cũng giống như độ phân giải của cài đặt tần số RF.

Tần số kênh RF được thiết lập bởi thanh ghi RF_CH theo cơng thức sau:

F0 = 2400 + RF_CH [MHz] (3.2)

Máy phát và máy thu phải được lập trình cùng tần số kênh RF để cĩ thể giao tiếp với nhau.

Kiểm sốt cơng suất phát

Bộ điều khiển PA được sử dụng để đặt cơng suất ra từ bộ khuếch đại nRF24L01(PA). Trong chế độ TX kiểm sốt cĩ bốn bước lập trình được.

Bộ điều khiển PA được đặt bởi các bit RF_PWR trong thanh ghi RF_SETUP.

3.4.2.4. Chuẩn giao tiếp ngoại vi nối tiếp SPI a. Sơ lược về giao tiếp ngoại vi nối tiếp SPI

Giao tiếp ngoại vi nối tiếp (Serial Peripheral Interface - SPI) là một bus giao tiếp được sử dụng để gửi dữ liệu giữa các vi điều khiển và các thiết bị ngoại vi nhỏ như thanh ghi, cảm biến và thẻ nhớ SD. Nĩ sử dụng clock riêng biệt và các dịng dữ liệu, cùng với một dịng chọn để chọn thiết bị bạn muốn giao tiếp [12].

Một cổng giao tiếp hoạt động ở chế độ song cơng, tức tại một thời điểm cĩ thể xảy ra đồng thời quá trình truyền và nhận dữ liệu. Cả 2 chế độ hoạt động với chung một tốc độ. Các hệ thống máy tính thường dựa vào đồng hồ trên máy để đồng đồng bộ hĩa mọi thứ, điều này trở thành vấn đề khi 2 hệ thống cĩ thời gian được cài đặt khác nhau thực hiện giao tiếp với nhau. Để khắc phục vấn đề này, các kết nối khơng đồng bộ được thêm các bit khởi động và cĩ độ trễ thêm vào mỗi byte điều này giúp người nhận đồng bộ hĩa dữ liệu khi nĩ đến. Việc giao tiếp chỉ cĩ thể thực

hiện khi cả 2 bên cùng tốc độ truyền tải (chẳng hạn 9600 bit/giây). Nếu cĩ sự khác biệt nhỏ về tốc độ truyền tải thì người nhận sẽ đồng bộ hĩa lại ở đầu mỗi byte.

SPI hoạt động theo giao diện đồng bộ. Điều này cĩ nghĩa bất cứ quá trình nào cũng được đồng bộ hĩa với tín hiệu clock chung. Tín hiệu này được sinh ra bởi master.

Hình 3. 5: Sơ đồ kết nối giao thức SPI [12]

Trong giao tiếp SPI cĩ 4 tín hiệu số:

- MOSI (Master Out Slave IN) là chân dành cho việc truyền tín hiệu từ thiết bị chủ động đến thiết bị bị động.

- MISO (Master IN Slave Out) là chân dành cho việc truyền dữ liệu từ slave đến master.

- SCLK (Serial Clock): Xung nhịp được tạo bởi master.

- SS (Slave Select) là tín hiệu chọn vi mạch. SS sẽ ở mức cao khi khơng làm việc. Nếu master kéo SS xuống thấp thì sẽ xảy ra quá trình giao tiếp. Chỉ cĩ một đường SS trên mỗi slave nhưng cĩ thể cĩ nhiều đường điều khiển SS trên master tùy thuộc vào thiết kế của người dùng.

b. Nguyên lý hoạt động

Trong SPI chỉ cĩ một bên tạo ra tín hiệu clock (thường gọi là CLK hoặc SCK nếu là Serial Clock). Bên phía tạo ra tín hiệu clock được gọi là bên “chủ” (master) và bên cịn lại được gọi là “nơ lệ” (slave). Trong một hệ thống chỉ cĩ 1 master duy nhất nhưng cĩ thể cĩ nhiều slave.

Khi dữ liệu từ master gửi đến slave, nĩ sẽ gửi trên dịng tín hiệu số MOSI. Nếu slave cần gửi phản hồi về master, master sẽ tiếp tục tạo ra chu kỳ xung nhịp đã được sắp xếp trước và slave sẽ sử dụng tín hiệu số MISO [12].

3.4.3. Cảm biến nhiệt độ và độ ẩm khơng khí DHT22

Cảm biến DHT22 cĩ bộ cảm biến nhiệt độ và độ ẩm với đầu ra dạng tín hiệu số đã được hiệu chuẩn bằng cách sử dụng kỹ thuật nhận tín hiệu kỹ thuật số độc

quyền và cơng nghệ cảm biến nhiệt độ và độ ẩm. Cảm biến này bao gồm một điện trở cấu tạo dạng đo độ ẩm và bộ phận đo nhiệt độ NTC, khi được kết nối với bộ vi điều khiển 8 bit cho giá trị thơng số đầu cĩ độ tin cậy cao và ổn định, chất lượng tuyệt vời, phản ứng nhanh khi thơng số mơi trường thay đổi, khả năng chống nhiễu và hiệu quả về chi phí.

Hình 3. 6: Module DHT22 [14] Thơng số kỹ thuật [14]:

 Điện áp hoạt động: 3.3-5.5V  Dải đo độ ẩm: 0-100%  Sai số độ ẩm:

 Dải đo nhiệt độ:  Sai số nhiệt độ:

Sơ đồ chân

Thứ tự chân Tên gọi Mơ tả

1 + Nguồn 5V

2 Out Tín hiệu đầu ra

Hình 3. 7: Sơ đồ chân kết nối với vi xử lý [14] Nguồn

DHT22 sử dụng nguồn điện từ 3-5,5V DC. Khi nguồn điện được cung cấp cho cảm biến, khơng nên gửi bất kỳ lệnh nào đến bộ cảm biến trong vịng một giây để cảm biến đạt trạng thái ổn định. Cĩ thể thêm một tụ điện cĩ giá trị 100nF cĩ thể được thêm vào giữa VDD và GND để lọc nguồn.

Quy trình giao tiếp: Truyền thơng nối tiếp (Single-Wire Two-Way)

Định dạng dữ liệu đơn bus được sử dụng để giao tiếp và đồng bộ hĩa giữa

Một phần của tài liệu DATN-HỆ THỐNG GIÁM SÁT THAM SỐ MÔI TRƯỜNG (Trang 62)

Tải bản đầy đủ (DOCX)

(107 trang)
w