PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Luận văn tốt nghiệp (http://www.picvietnam.com/forum/forumdisplay.php?f=27)
-   -   Help! Giao tiếp nhiều cảm biến DS18b20 / 1 bus (http://www.picvietnam.com/forum/showthread.php?t=32089)

lxtonline 09-04-2013 01:02 AM

Help! Giao tiếp nhiều cảm biến DS18b20 / 1 bus
 
Em đang phải làm cái đồ án đo nhiệt độ 4 kênh dùng Pic6f877a + cảm biến nhiệt độ DS18b20.
En tìm mãi chỉ thấy các ví dụ về kết nối trên bus chỉ có 1 con DS18b20.
Em muốn kết nối 4 con trên 1 bus nhưng không tài nào tìm ra một bài nào nói về cái này.
Bác nào hướng dẫn em với!
nếu biết bài nào hay ví dụ cụ thể về code C đo nhiệt độ với 2 con sd18b20 trở lên thì càng tốt.

namqn 14-04-2013 07:44 PM

Bạn đọc datasheet của BS18B20 về ROM commands. Để dùng nhiều cảm biến trên cùng bus, master sẽ phải xác định (bằng ROM command thích hợp) chip nào sẽ nhận lệnh kế tiếp.

Đọc kỹ rồi hỏi sẽ giúp bạn hiểu được những gì người khác muốn giúp bạn.

Vào box này toàn thấy xin LVTN, vậy nên tôi chấm bảo vệ tốt nghiệp chẳng quan tâm mấy đến quyển thuyết minh, chỉ tập trung xác định trình độ của người đang bảo vệ.

Thân,

lxtonline 15-04-2013 03:23 AM

Trích:

Nguyên văn bởi namqn (Post 81509)
Bạn đọc datasheet của BS18B20 về ROM commands. Để dùng nhiều cảm biến trên cùng bus, master sẽ phải xác định (bằng ROM command thích hợp) chip nào sẽ nhận lệnh kế tiếp.

Đọc kỹ rồi hỏi sẽ giúp bạn hiểu được những gì người khác muốn giúp bạn.

Vào box này toàn thấy xin LVTN, vậy nên tôi chấm bảo vệ tốt nghiệp chẳng quan tâm mấy đến quyển thuyết minh, chỉ tập trung xác định trình độ của người đang bảo vệ.

Thân,

Em đã đọc rồi! trong đó có nói đến lệnh SEARCH ROM (F0h)
nói rằng để tìm kiếm các thiết bị gắn trên bus và 64bit ROM code của chúng.
nhưng không hiểu nó tìm như thế nào ROM code của từng cảm biến được lưu vào đâu.

Và cũng đã đọc App note 162( link: https://docs.google.com/viewer?a=v&q...7IIPcIbOL4wYdQ)

có ví dụ: SEARCH ROM CODE EXAMPLES
Em không hiểu lệnh khai báo biến này nghĩa như thế nào:
và biến này có ý nghĩa như thế nào?

unsigned char FoundROM[5][8];// table of found ROM codes

Trên lớp em học lập trình ASM cho 8051 lúc làm đồ án thì bị lại làm về PIC và lập trình C nên có nhiều bỡ ngỡ mong bác thông cảm!

namqn 15-04-2013 11:00 PM

Vì bạn chỉ có 4 chip, tôi đề nghị bạn làm như sau:

1. Nối 1 chip vào bus, dùng lệnh READ ROM để đọc, rồi ghi lại serial ROM của chip đó (vào EEPROM của PIC chẳng hạn).
2. Lặp lại bước 1 cho 3 chip còn lại (mỗi lần 1 chip, và ghi vào 1 vị trí khác).
3. Sau bước 2, bạn đã có đủ serial ROM của 4 chip. Bây giờ bạn viết chương trình như bình thường, dùng các serial ROM đã xác định được, và lệnh MATCH ROM để truy xuất một chip nào đó. Nhớ sau khi truy xuất 1 chip thì tạo xung reset để có thể truy xuất chip khác.

Thân,

TRUNGBAOSPKT 16-04-2013 11:26 PM

Bạn làm như NAMQN hướng dẫn đó . Mỗi con DS18b20 có địa chỉ rom của nó mà !

lxtonline 18-04-2013 10:15 PM

Cảm ơn mọi người em viết được rồi.
Thế là giải quyết được tình thế cho cái đồ án.
Nhưng mà vì ham mê vđk nên em muốn phát triển hơn!
Nếu sử dụng cách trên thì hơi bất tiện.
Liệu có cách nào đọc được tất cả các ROM CODE của tất cả các cảm biến khi tất cả đang gắn trên bus.
Em thấy có lệnh SEARCH ROM nói để tìm kiếm các thiết bị và rom code của các thiết bị đang được gắn trên BUS . Không biết lệnh này dùng thế nào các bác? có thể áp dụng để thực hiện được điều nói trên không ?

thuanbk1989 05-06-2016 09:22 PM

Trích:

Nguyên văn bởi lxtonline (Post 81566)
Cảm ơn mọi người em viết được rồi.
Thế là giải quyết được tình thế cho cái đồ án.
Nhưng mà vì ham mê vđk nên em muốn phát triển hơn!
Nếu sử dụng cách trên thì hơi bất tiện.
Liệu có cách nào đọc được tất cả các ROM CODE của tất cả các cảm biến khi tất cả đang gắn trên bus.
Em thấy có lệnh SEARCH ROM nói để tìm kiếm các thiết bị và rom code của các thiết bị đang được gắn trên BUS . Không biết lệnh này dùng thế nào các bác? có thể áp dụng để thực hiện được điều nói trên không ?

Bác gì ơi bác giao tiếp nhiều con DS18B20 được chưa? Giúp e với e làm mãi không được :D


Múi giờ GMT. Hiện tại là 03:31 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam