Nhận làm đồ án VĐK các loại ( 8051, AVR, PIC) Tư vấn - Hướng dẫn - lập trình
Hiển thị các bài đăng có nhãn Cảm biến. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Cảm biến. Hiển thị tất cả bài đăng

Thứ Sáu, 27 tháng 3, 2015

SRF04

CẢM BIẾN SIÊU ÂM SRF04

Sơ đồ nguyên lý:


I. Cảm biến siêu âm
1. Nguyên lý hoạt động của cảm biến siêu âm:


Trên cảm biến có 4 chân:

VCC: nguồn cấp cho cảm biến 5V
GND: đất
Trigger: pin cho cực phát ---- nối trực tiếp vào chân của vdk
Echo: pin cho cực thu ---- nối trực tiếp vào chân của vdk
Nguyên lý hoạt động:


Khi bắt đầu thì vđk sẽ phát 1 xung vào pin Trigger có độ rộng là 10us
Sau khi có xung kích vào chân Trigger thì cực phát của cảm biến sẽ phát ra 8 xung của sóng âm thanh ( v= 340m/s)
Ngay sau đó pin Echo ở vdk sẽ đẽ kéo lên cao và đợi sóng âm thanh phản xạ lại. khi gặp sóng phản xạ thì pin Echo sẽ được kéo xuống thấp. Như vậy, thời gian pin Echo ở mức cao sẽ chính là thời gian sóng âm thanh đi và về trên quãng đường từ cảm biến tới vật cản. chúng ta sẽ dùng timer để đếm khoảng thời gian này


Bài đăng đang hoàn thiện vui lòng đóng góp ý kiến. Cảm ơn các bạn đã đọc bài viết của chúng tôi!






Mọi thắc mắc vui lòng liên hệ qua:
Facebook: Rid HaUI
Gmail: dienturid@gmail.com

DS18B20

GIỚI THIỆU VỀ CẢM BIẾN DS18B20

1. Tổng quan

DS18B20 là IC cảm biến nhiệt độ, chỉ bao gồm 3 chân, đóng gói dạng TO-92 3 chân nhỏ gọn.


Đặc điểm chính của DS18B20 như sau:
+ Lấy nhiệt độ theo giao thức 1 dây (1wire)
+ Cung cấp nhiệt độ với độ phân giải config 9,10,11,12 bit, tùy theo sử dụng. Trong trường hợp không config thì nó tự động ở chế độ 12 bit.

Thời gian chuyển đổi nhiệt độ tối đa là 750ms cho mã hóa 12 bit
+Có thể đo nhiệt độ trong khoảng -55 -> +125°C. Vi khong nhit đ là -10°C to +85°C thìđ chính xác ±0.5°C0.25°C ,±0.125°C,±0.0625°C. theo s bít config.
+ Có chức năng cảnh báo nhiệt khi nhiệt độ vượt ngưỡng cho phép. Người dùng có thể lập trình chức năng này cho DS18B20. Bộ nhớ nhiệt độ cảnh báo không bị mất khi mất nguồn vì nó có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên chip (on chip), giá trị nhị phân được khắc bằng tia laze.
+ Cam bien nhiet do DS18B20 có mã nhận diện lên đến 64-bit, vì vậy bạn có thể kiểm tra nhiệt độ với nhiều IC DS18B20 mà chỉ dùng 1 dây dẫn duy nhất để giao tiếp với các IC này.
Với DS18B20 bạn hoàn toàn có thể tạo cho mình mạch cảm biến nhiệt độ theo ý muốn.

+ Điện áp sử dụng : 3 – 5.5 V
+ Dòng tiêu thụ tại chế độ nghỉ rất nhỏ.
II: Lấy nhiệt độ với ds18b20
a. Tìm hiểu về các lệnh ROM liên quan đến DS18b20
- READ ROM (33h) 
Cho phép đọc ra 8 byte mã đã khắc bằng laser trên ROM, bao gồm: 8 bit mã định tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC. Lệnh này chỉ dùng khi trên bus có 1 cảm biến DS1820, nếu không sẽ xảy ra xung đột trên bus do tất cả các thiết bị tớ cùng đáp ứng. 
- MATCH ROM (55h) 
Lệnh này được gửi đi cùng với 64 bit ROM tiếp theo, cho phép bộ điều khiển bus chọn ra chỉ một cảm biến DS1820 cụ thể khi trên bus có nhiều cảm biến DS1820 cùng nối vào. Chỉ có DS1820 nào có 64 bit trên ROM trung khớp với chuỗi 64 bit vừa được gửi tới mới đáp ứng lại các lệnh về bộ nhớ tiếp theo. Còn các cảm biến DS1820 có 64 bit ROM không trùng khớp sẽ tiếp tục chờ một xung reset. Lệnh này được sử dụng cả trong trường hợp có một cảm biến một dây, cả trong trường hợp có nhiều cảm biến một dây. 
- SKIP ROM (CCh) 
Lệnh này cho phép thiết bị điều khiển truy nhập thẳng đến các lệnh bộ nhớ của DS1820 mà không cần gửi chuỗi mã 64 bit ROM. Như vậy sẽ tiết kiệm được thời gian chờ đợi nhưng chỉ mang hiệu quả khi chỉ có một cảm biến. 
- SEARCH ROM (F0h) 
Lệnh này cho phép bộ điều khiển bus có thể dò tìm được số lượng thành viên tớ đang được đấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng bằng một chu trình dò tìm. 
- ALARM SEARCH (ECh) 
Tiến trình của lệnh này giống hệt như lệnh Search ROM, nhưng cảm biến DS1820 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo nhiệt độ cuối cùng. Điều kiện cảnh báo ở đây được định nghĩa là giá trị nhiệt độ đo được lớn hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất và nhiệt độ thấp nhất đã được đặt trên thanh ghi trong bộ nhớ của cảm biến. 
Sau khi thiết bị chủ (thường là một vi điều khiển) sử dụng các lệnh ROM để định địa chỉ cho các cảm biến một dây đang được đấu vào bus, thiết bị chủ sẽ đưa ra các lệnh chức năng DS1820. Bằng các lệnh chức năng thiết bị chủ có thể đọc ra và ghi vào bộ nhớ nháp (scratchpath) của cảm biến DS1820. khởi tạo quá trình chuyển đổi giá trị nhiệt độ đo được và xác định chế độ cung cấp điện áp nguồn. Các lệnh chức năng có thể được mô tả ngắn gọn như sau: 
- WRITE SCRATCHPAD (4Eh) 
Lệnh này cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS1820. Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được ghi vào thanh ghi TL (byte 3 của bộ nhớ nháp). Dữ liệu truyền theo trình tự đầu tiên là bit có ý nghĩa nhất và kế tiếp là những bit có ý nghĩa giảm dần. Cả hai byte này phải được ghi trước khi thiết bị chủ xuất ra một xung reset hoặc khi có dữ liệu khác xuất hiện. 
- READ SCRATCHPAD (BEh)
Lệnh này cho phép thiết bị chủ đọc nội dung bộ nhớ nháp. Quá trình đọc bắt đầu từ bit có ý nghĩa nhấy của byte 0 và tiếp tục cho đến byte rhứ 9 (byte 8 - CRC). Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất kỳ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần được đọc. 
- COPYSCRATCHPAD (48h) 
Lệnh này copy nội dung của hai thanh ghi TH và TL (byte 2 và byte 3) vào bộ nhớ EEPROM. Nếu cảm biến được sử dụng trong chế dộ cấp nguồn l bắt đầu việc đo. 
- CONVERT T (44h) 
Lệnh này khởi động một quá trình đo và chuyển đổi giá trị nhiệt độ thành số (nhị phân). Sau khi chuyển đổi giá trị kết quả đo nhiệt độ được lưu trữ trên thanh ghi nhiệt độ 2 byte trong bộ nhớ nháp Thời gian chuyển đổi không quá 200 ms, trong thời gian đang chuyển đổi nếu thực hiện lệnh đọc thì các giá trị đọc ra đều bằng 0. 
- READ POWER SUPPLY (B4h) 
Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS1820 đang sử dụng chế độ cấp nguồn như thế nào, giá trị đọc được bằng 0 nếu cấp nguồn bằng chính đường dẫn dữ liệu và bằng 1 nếu cấp nguồn qua một đường dẫn riêng.

b. Cách config độ phân giải cho ds18b20
Sơ đ b nh ca DS18B20:


Các byte thứ 5 của bộ nhớ đệm có chức năng đăng ký cấu hình (config) cho ds18b20, và các bít được tổ chức như sau:


Các bit từ 0 đến 4 luôn được đọc giá trị là 1, bít số 7 luôn được đọc giá trị là 0. Cấu hình độ phân giải cho ds18b20 được quyết định bởi R1 và R0 ta có bảng thiết lập như sau.


c. Sơ đ kết ni cm biến nhit ds18b20
- Sơ đ khi s dng mt cm biến.




- Sơ đ khi mc nhiu cm biến. (Chúng ta cũng ch cn 1 dây đ ly mu nhit đ)


d. Đc nhit đ
Khi bắt đầu chuyển đổi nhiệt độ thì chân DQ sẽ được kéo xuống mức thấp và khi chuyển đổi xong thì ở mức cao.Như vậy ta sẽ căn cứ vào hiện tượng này để xác định khi nào chuyển đổi xong nhiệt độ. Lưu ý luôn phải dùng một điện trở tầm 4.7k trở lên vào chân DQ treo lên nguồn như sơ đồ mắc.
Dưới đây là một ví dụ mẫu đo nhiệt độ bằng ds18b20 hiển thị LCD các bạn tham khảo sẽ hiểu rõ hơn về sử dụng cảm biến này như thế nào. Đồng thời tham khảo thêm datasheet của ds18b20.

+ Cách thức hoạt động của cảm biến
Cách giao tiếp với DS1820 có thể tóm tắt và hiểu nôm na như sau:
Việc đo nhiệt độ của DS1820 theo tôi được thực hiện theo từng phiên làm việc và mỗi phiên được ngăn cách với phiên làm việc trước bởi 1 tín hiệu reset và 1 presence pulse. Reset được xem như quá trình ngăn cách và khởi động lại quá trình đo nhiệt độ mới, presence pulse giống như tín hiệu báo hiệu cho 8051 biết là DS1820 đang có mặt và đã sẵn sàng. Ở đây mình thực hiện đo nhiệt độ và hiển thị đơn giản nhất với 1 con DS1820 thôi. Do đó có thể bỏ qua các phần : match ROM, search Rom, alarm search, hay read ROM… (các bạn có thể đọc thêm phần này trong datasheet và thực hiện nhưng với mạch chỉ đo nhiệt độ thôi thì không cần thiết…)
Reset: đặt chân data xuống mức thấp trong khoảng 480-960us (dùng 500us là ok)
Đặt chân data lên mức cao trong khoảng 15-60us
Presence pulse: sau khi cho chân đó lên mức cao tiếp tục chờ 60-240us để bắt tín hiệu mức thấp do DS1820 kéo xuống trong khoảng thời gian trên. Bắt được tín hiệu này tức là DS1820 sẵn sàng.
Skip ROM: skip ROM để khỏi mất thời gian match ROM … vì chỉ có 1 con thôi khi nào xài nhiều con trên 1 đường dây mới cần match, thực hiện bằng cách nhảy tới chương trình con write và ghi mã skip ROM (CCh) vào data line.
Write: clear dataline và delay trong 15us rồi mới đặt bit cần ghi lên và delay 15us nữa, giữa 2 bit cần ghi liên tiếp phải đặt data line lên mức cao trong 1us và tiếp tục ghi bit tiếp theo.
Gửi lệnh read scratchpad và đọc dữ liệu về 2 lần, lần đầu lấy byte thấp (chứa giá trị nhiệt độ lưu lại trong thanh ghi R3 lát nữa xử lý sau) lần sau lấy byte cao(chứa dấu của nhiệt độ nếu chỉ đo trong khoảng 0-125 độ thì không cần đọc byte này), sau đó đọc tiếp 7 lần nữa để địa chỉ đọc trở về ban đầu.
Read: clear data line trong 1us và đọc dữ liệu về trong vòng 15us giữa 2 lần đọc phải cách nhau <1us (lấy 2us là được) rồi lại đọc tiếp.
Convert T: trước khi conv phải reset trước, chờ presence rồi skip ROM, sau đó gửi convert command (44h).
Giờ là lúc xử lý thanh ghi R3 đã lưu giá trị nhiệt độ. Có nhiều cách xử lý các bạn hãy nghiên cứu khung dữ liệu của nó và xử lý theo cách riêng để tách giá trị ra. Sau đó chuyển giá trị thành mã BCD rồi xuất ra led hay LCD tùy ý.
Đó là toàn bộ các bước thực hiện giao tiếp với DS1820. Chúc các bạn thành công.






Mọi thắc mắc vui lòng liên hệ qua:
Facebook: Rid HaUI
Gmail: dienturid@gmail.com

HS 1101

CẢM BIẾN HS-1101

I.          Giới thiệu cảm biến HS1101

Trong ứng dụng hàng ngày, nhu cầu theo dõi nhiệt độ và độ ẩm ngày càng trở nên phổ biến và thiết thực và sử dụng trong:

  • Sản xuất chế biến nông nghiệp
  • Hiển thị và thực thi điều khiển (quạt gió, máy sấy, điều hòa,... hay báo động)
  • Datalog dữ liệu về môi trường tại một khu vực...
  • Theo dõi môi trường, chế độ làm việc của một số các dây truyền, thiết bị có yêu cầu cao.
Trên thị trường có một số loại cảm biến độ ẩm, nhiệt độ: SHT75, SHT11, HS1101,....với độ chính xác khác nhau


 HS1101 là loại cảm biến đo độ ẩm. Độ chính xác +-2%. Dãy nhiệt độ hoạt động từ -400C à1000C. Cảm biến HS1101 được sử dụng phổ biến trong cuộc sống, ngoài ra nó còn dùng kết hợp với cảm biến DS18B20 dùng đo nhiệt độ.


II. Nguyên lí làm việc
Cảm biến HS1101 là cảm biến điện dung. Khi độ ẩm thay đổi, điện dung của HS1101 thay đổi. Do vậy, để đo được độ ẩm người ta thiết kế mạch đo điện dung của HS1101.
Trong thực tế, người ta thường ghép nối HS1101 và IC NE555. Khi đó giá trị điện dung của HS1101 thay đổi thì làm thay đổi tần số đầu ra của IC555. Như vậy chỉ cần đo tần số đầu ra là có thể đo được điện dung của HS1101.

Hình 1: Sơ Đồ Ghép Nối HS1101 với NE555

III. Cách thức đo độ ẩm
Trước tiên ta sẽ đo tần số từ Hình 1
Ta có công thức tính tần số như sau :


Trong đó: 

-  F là tần số
-  C@%RH: độ ẩm 
-  R2 = 576K, R4 = 49.9k
Ta có công thức liên hệ giữa độ ẩm và điện dung:





Trong đó:
-  C@55% = 180pF ( tài liệu của hãng )
-  C(pf) chính là điện dung đo được.
Từ (1) và (2) ta có mỗi liên hệ giữa tần số và 
độ ẩm

Giải pháp tính toán:
Ta thấy hàm độ ẩm là hàm mũ 3, nên rất khó tính toán mối liên hệ F và RH. 
Ta thấy hàm C(pf) là hàm đồng biến với RH. Do vậy ta F sẽ nghịch biến với RH. Từ đó ta có phương pháp tính độ ẩm bằng phương pháp tra bảng ( bảng 1).
Ta dùng bảng Excel như bảng 1, tạo mối quan hệ RH và F, ta thu được bảng.
F[100] = {7410;7392;….;6019}. Mảng này có 100 phần tử tương đương với độ ẩm từ 0-100%
Như vậy, khi ta đo được tần số F, ta chọn F>=F và sát nhất với F.

Khi đó Độ ẩm RH 
=i%.
Bảng 1: Bảng tính giá trị độ ẩm qua tần số:








Mọi thắc mắc vui lòng liên hệ qua:
Facebook: Rid HaUI
Gmail: dienturid@gmail.com

Thứ Tư, 18 tháng 3, 2015

HC-SR501

HC-SR501


Module Cảm Biến Chuyển Động HC-SR501  của chúng tôi sử dụng IC cảm biến mới nhất tên mã: BISS0001

1. Thông Số Kỹ Thuật.
- Sử dụng điện áp: 4.5-20V
- Đầu ra: 0-3.3V
- Thứ tự chân: Vcc OUT GND
- 2 chế độ hoạt động:
        + (L) không lặp lại kích hoạt
        + (H) lặp lại kích hoạt.
- Thời gian trễ: điều chỉnh trong khoảng 0.5-200S.
- Kích thước PCB:32mmx24mm
- Góc quét
- Sử dụng cảm biến: 500BP
- Khoảng các phát hiện: 2-4.5m

2. Các tính năng.
A. Tự động cảm ứng: Khi có người vào phạm vi cảm ứng, OUT: 1.5-3.3V. Không phát hiện ở 0V
B. Kiểm soát ánh sáng (tùy chọn): Bạn có thể xem vị trí lắp quang trở, khi có quang trở, sẽ thiết lặp Module hoạt động ban ngày hoặc ban đêm.
C. Thiết lập hai chế độ kích hoạt: L không có thể được lặp đi lặp lại, H có thể được lặp đi lặp lại. Bạn chọn chế độ bằng việc cắm Jump Chốt ( Như hình vẽ)
    a. Không thể lặp lại kích hoạt: Module tự động đưa về mức thấp khi hết thời gian trễ.
    b. Lặp lại kích hoạt: Module luôn giữ ở mức cao cho đến khi không còn người chuyển động.
D. Thiết lập thời gian: Module hoạt động ổn định khi cài đặt >5s
E. Điện áp sử dụng: Sử dụng điện áp từ 5-12V
3. Hướng dẫn sử dụng.
a. Cài đặt: Khi khởi tạo, Module cần thời gian khởi tạo khoảng 1 phút. Trong thời gian này, moudle tạo ra điện áp cao từ 1-3 lần sau đó vào chế độ chờ.
Điện áp ra 1.5-3.3V, nếu sử dụng I/O 4.5-5.5V bạn nên lắp thêm tran ( như hình vẽ).
b. Địa điểm sử dụng: Nên cố gắng tránh ánh sáng trực tiếp và nguồn nhiễu gần với bề mặt lăng kính của các mô-đun, để tránh đưa ra tín hiệu nhiễu, tránh sử dụng môi trường nhiều gió.


Lưu ý khi sử dụngDo tính nhạy cảm cao của cảm biến PIR, không mên sử dụng PIR module trong các điều kiện (hoặc tương tự) sau:
·         Môi trường thay đổi đột ngột
·         Bị sốc hoặc rung động
·         Tại nơi có vật liệu cản trở (ví dụ như thủy tinh) mà nơi đó hồng ngoại không thể vượt qua trong khu vực phát hiện
·         Tiếp xúc trực tiếp với gió từ máy sưởi hoặc máy điều hòa không khí


Khái niệm:Module cảm biến chuyển động pyroelectricity (pyroelectric sensor module), được phát triển để phát hiện cơ thể người, Một cảm biến PIR kết hợp với một ống kính Fresnel được gắn trên một PCB kích thước nhỏ gọn cùng với một IC Analog và các linh kiện khác để tạo thành một Module hoàn chỉnh. đầu ra mức cao và độ rộng xung có thể thay đổi được.



Mọi thắc mắc vui lòng liên hệ qua:
Facebook: Rid HaUI
Gmail: dienturid@gmail.com

previous home