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

Nhóm 4 chương 7 buổi 7

8 2 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 691,5 KB
File đính kèm Nhóm-4-Chương-7-Buổi 7.rar (602 KB)

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

Nội dung

Trong chuẩn giao tiếp này chỉ cần 1 dây để truyền tín hiệu và làm nguồn nuôi Nếu không tín dây mass.. Bus dữ liệu khi ở trạng thái rãnh khi không có dữ liệu trên đường truyền phải ở mức

Trang 1

Môn: Kỹ thuật vi xử lý và vi điều khiển

Sinh viên thực hiện và tìm hiểu:

 Nguyễn Văn Hưng

 Lê Đức Nhân

 Đặng Văn Minh

 Dương Tuấn Linh

 Dương Đình Thắng

 Nguyễn Quang Đức

Trang 2

Mục lụ

Môn: Kỹ thuật vi xử lý và vi điều khiển 1

Mục lục 2

Chương 7 Đo lường và điều khiển các thiết bị theo chuẩn 1Wire 3

1 Chuẩn giao tiếp 1 Wire 3

1.1 Giới thiệu chuẩn giao tiếp 1Wire 3

1.2 Cách thức hoạt động: 4

1.3 Lập trình giao tiếp 1 Wire 5

2 Cảm biến và ngoại vi chuẩn 1 Wire 6

2.1 Một số loại cảm biến và ngoại vi giao tiếp với VĐK bằng 1 Wire 6

3 Lập trình đo và điểu khiển với cảm biến DS18B20 8

Mục lục hình ảnh: Hình 1: Sơ đồ đấu nối chuẩn giao tiếp 1 Wire 2

Hình 2: Gửi bit 1 3

Hình 3: Gửi bit 0 3

Hình 4: Đọc bit 3

Hình 5: Reset/Presence 4

Hình 6: Cảm biến đo nhiệt độ DS18B20 5

Hình 7: Cảm biến đo nhiệt độ/độ ẩm DHT11 6

Hình 8: Sơ đồ đấu nối với cảm biến DS18B20 7

Trang 3

Chương 7 Đo lường và điều khiển các thiết bị theo

chuẩn 1Wire

1 Chuẩn giao tiếp 1 Wire

1.1 Giới thiệu chuẩn giao tiếp 1Wire

Chuẩn giao tiếp 1 dây (1 wire) do hãng Dallas giới thiệu Trong chuẩn giao tiếp này chỉ cần 1 dây để truyền tín hiệu và làm nguồn nuôi (Nếu không tín dây mass) Là chuẩn giao tiếp không đồng bộ và bán song công (half-duplex) Trong giao tiếp này tuân theo mối liên hệ chủ tớ một cách chặt chẽ Trên một bus có thể gắn 1 hoặc nhiều thiết bị slave Nhưng chỉ có một master có thể kết nối đến bus này

Bus dữ liệu khi ở trạng thái rãnh (khi không có dữ liệu trên đường truyền) phải ở mức cao do vậy bus dữ liệu phải được kéo lên nguồn thông qua một điện trở Giá trị điện trở này có thể tham khảo trong datasheet của thiết bị / các thiết bị slave

Hình 1: Sơ đồ đấu nối chuẩn giao tiếp 1 Wire

Các thiết bị tớ (slave) kết nối với cùng một bus được phân biệt với nhau nhờ 64 bit địa chỉ duy nhất (64-bit serial number) 8 byte (64 bit) này và được chia làm ba phần chính:

Bắt đầu với LSB, là byte đầu tiên là mã họ thiết bị có độ lớn 8 bit (8-bit family codes) xác định kiểu thiết bị 6 byte tiếp theo lưu trữ địa chỉ riêng của thiết bị Byte

Trang 4

Tín hiệu trên bus 1 wire chia thành các khe thời gian 60 µs 1 bit dữ liệu được truyền trên bus dựa trên khe thời gian (time slots) Các thiết bị slave cho phép có thời gian nền có một chúc khác biệt từ thời gian nền danh nghĩa Tuy nhiên đối với thiết bị master cần có bộ định thời với độ chính xác cao, để đảm bảo giao tiếp đúng với các thiết bị salve có thời gian nền khác biệt Do đó rất quan trọng để tuân theo giới hạn thời gian mô tả trong các phần sau

Bốn thao tác hoạt động cơ bản của bus 1 wire là Reset/Presence, gửi bit 1, gửi bit

0, và đọc bit Thao tác byte như gửi byte và đọc byte dựa trên thao tác từng bít

1.2.1 Gửi bit 1 (“Write 1” signal)

Thiết bị master kéo bus xuống mức thấp trong khoảng 1 đến 15µs Sau đó nhả bus (releases the bus) cho đến hết phần còn lại của khe thời gian

Hình 2: Gửi bit 1

1.2.2 Gửi bit 0 ("Write 0" signal)

Kéo bus xuống mức thấp trong ít nhất 60µs, với chiều dài tối đa là 120 µs

Hình 3: Gửi bit 0

Lưu ý: giữa các lần gửi bit (0 hoặc 1), phải có khoảng thời gian phục hồi bus (recovery time) tối thiểu 1 µs

1.2.3 Đọc bit:

Thiết bị master kéo bus xuống mức thấp từ 0 -15µs Khi đó thiết bị tớ khi đó sẻ giữ bus ở mức thấp nếu muốn gửi bit 0, Nếu muốn gửi bit 1 đơn giản là nhả bus Bus nên lấy mẫu 15 µs sau khi bus kéo xuống mức thấp

Trang 5

Hình 4: Đọc bit

1.2.4 "Reset/Presence":

Tín hiệu reset và Presence(Báo hiện diện) được trình bày như hình bên dưới Thiết bị master kéo bus xuống thấp ít nhất 8 khe thời gian (tức là 480 µs) và sau đó nhả bus Khoảng thời gian bus ở mức thấp đó gọi là tín hiệu reset Nếu có thiết bị slave gắn trên bus nó sẻ trả lời bằng tín hiệu Presence tức là thiết bị tớ sẻ kéo bus xuống mức thấp trong khoảng thời gian 60µs Nếu không có tín hiệu Presence, thiết bị master sẻ hiểu rằng không có thiết bị slave nào trên bus, và các giao tiếp tiếp theo sẻ không thể diễn ra

Hình 5: Reset/Presence

1.3 Lập trình giao tiếp 1 Wire

Gửi 1 byte:

void onewire_write(int8 data) {

int8 count;

for(count = 0; count < 8; ++count) {

output_low(ONE_WIRE_PIN);

delay_us(2); // pull 1-wire low to initiate write time-slot output_bit(ONE_WIRE_PIN, shift_right(&data, 1, 0)); // set output bit on 1-wire

delay_us(60); // wait until end of write slot

output_float(ONE_WIRE_PIN); // set 1-wire high again,

delay_us(2); // for more than 1us minimum

Trang 6

delay_us(2); // pull 1-wire low to initiate read time-slot output_float(ONE_WIRE_PIN); // now let 1-wire float high,

delay_us(8); // let device state stabilise,

shift_right(&data, 1, input(ONE_WIRE_PIN)); // and load result delay_us(120); // wait until end of read slot

}

return data;

}

Thao tác reset:

#define ONE_WIRE_PIN PIN_A5

void onewire_reset()

{

output_low(ONE_WIRE_PIN); // pull the bus low for reset

delay_us(500);

output_float(ONE_WIRE_PIN); // float the bus high

delay_us(500); // wait-out remaining initialisation window output_float(ONE_WIRE_PIN);

}

2 Cảm biến và ngoại vi chuẩn 1 Wire

2.1 Một số loại cảm biến và ngoại vi giao tiếp với VĐK bằng 1 Wire

- Cảm biến đo nhiệt độ DS18B20

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 rất nhỏ gọn

DS18B20 giao tiếp thông qua giao thức 1 dây dẫn với vi xử lý

Đặc điểm chính của DS18B20 như sau:

 Cung cấp nhiệt độ với độ phân giải 12bit

 Ngưỡng nhiệt độ rộng: -10°C đến 125°C

 Sai số cho phép: ±0.5°C

 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

 Cảm 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

Trang 7

Hình 6: Cảm biến đo nhiệt độ DS18B20

- Cảm biến đo nhiệt độ/độ ẩm DHT11

DHT11 Là cảm biến nhiệt độ, độ ẩm rất thông dụng hiện nay vì chi phí rẻ và rất

dễ lấy dữ liệu thông qua giao tiếp 1-wire ( giao tiếp digital 1-wire truyền dữ liệu duy nhất) Cảm biến được tích hợp bộ tiền xử lý tín hiệu giúp dữ liệu nhận về được chính xác mà không cần phải qua bất kỳ tính toán nào

Đặc điểm:

 Điện áp hoạt động : 3V - 5V (DC)

 Dải độ ẩm hoạt động : 20% - 90% RH, sai số ±5%RH

 Dải nhiệt độ hoạt động : 0°C ~ 50°C, sai số ±2°C

 Tần số lấy mẫu tối đa: 1 Hz

 Khoảng cách truyển tối đa: 20m

Sơ đồ chân Cảm biến DHT11 gồm 2 chân cấp nguồn, và 1 chân tín hiệu Hiện nay, thông dụng ngoài thị trường có hai loại đóng gói cho DHT11: 3 chân và 4 chân

Trang 8

Sơ đồ đấu nối :

Hình 8: Sơ đồ đấu nối với cảm biến DS18B20

Ngày đăng: 11/03/2022, 21:11

w