Giới thiệu: Bài viết này giải thích chi tiết về việc áp dụng cảm biến nhiệt độ kỹ thuật số DS18B20 tùy chỉnh trong việc xây dựng nhiệt kế kỹ thuật số. Bao gồm cả nguyên tắc làm việc, Kết nối phần cứng, Lập trình phần mềm và triển khai mô phỏng. Cung cấp sơ đồ mô phỏng bảo vệ hoàn chỉnh, C mã nguồn và phân tích kết quả để giúp người đọc hiểu sâu và thực hành việc sử dụng DS18B20.
Thông tin tham số: cung cấp điện: 3.0V. – 5.5V.; Độ phân giải có thể điều chỉnh: 9 – 12 chút; Phạm vi nhiệt độ: -55 ℃ to +125 oC; Đầu ra : màu đỏ (VCC), màu vàng (Dữ liệu), đen (GND);
Những gì bạn nhận được: Bạn sẽ nhận được 4 Cảm biến nhiệt độ DS18B20, 4 Mô -đun bộ chuyển đổi và 4 dây nhảy nữ sang nữ; Mô-đun bộ điều hợp có điện trở kéo lên, có thể tương thích với Raspberry Pi mà không có điện trở bên ngoài;
Cảm biến nhiệt độ DS18B20: Kích thước của vỏ bằng thép không gỉ là xấp xỉ. 6 x 50 mm/ 0.2 x 2 inch, và cáp nhiệt nhiệt độ kỹ thuật số có tổng chiều dài xấp xỉ. 1 m/ 39.4 inch, đủ dài để đáp ứng nhu cầu của bạn;
Chất lượng vật liệu: Đầu dò được làm bằng vật liệu bằng thép không gỉ chất lượng, đó là không thấm nước, chống ẩm và không dễ bị rỉ sét, để ngăn chặn các mạch ngắn;
Ứng dụng rộng: Cảm biến nhiệt độ DS18B20 này tương thích với Raspberry Pi, và được áp dụng rộng rãi trong giám sát nhiệt độ của rãnh cáp, nồi hơi, Gì, Nhà kính nông nghiệp, Phòng sạch sẽ, vân vân.
1. Đặc điểm cảm biến DS18B20
Cảm biến DS18B20 đóng vai trò chính trong lĩnh vực giám sát nhiệt độ hiện đại. Nó có thể đo nhiệt độ với độ chính xác cao, và độ phân giải của nó có thể được điều chỉnh theo nhu cầu, để đạt được giám sát nhiệt độ với các mức độ chính xác khác nhau. Ngoài ra, Kích thước nhỏ của DS18B20 giúp nó phù hợp để sử dụng trong môi trường có không gian hạn chế, và các đặc điểm dễ sử dụng của nó làm giảm ngưỡng kỹ thuật từ người mới bắt đầu sang các chuyên gia.
Trước khi khám phá thêm các tham số hiệu suất của DS18B20, đầu tiên cần phải hiểu nguyên tắc làm việc của nó. DS18B20 truyền dữ liệu nhiệt độ thông qua các tín hiệu kỹ thuật số, mang lại sự tiện lợi cho việc thu thập dữ liệu nhiệt độ. So với các cảm biến nhiệt độ tương tự truyền thống, Các cảm biến kỹ thuật số như DS18B20 có thể cung cấp các bài đọc chính xác hơn và ít nhạy cảm hơn với tiếng ồn trong quá trình truyền tín hiệu.
Để sử dụng đầy đủ những lợi thế của DS18B20, Chúng ta phải có một sự hiểu biết sâu sắc về các tham số hiệu suất của nó. Những tham số này bao gồm phạm vi đo nhiệt độ, sự chính xác, nghị quyết, và điện áp cung cấp. Các tham số này không chỉ xác định liệu DS18B20 có thể đáp ứng nhu cầu của các ứng dụng cụ thể, nhưng cũng ảnh hưởng đến hiệu suất và độ tin cậy của toàn bộ hệ thống.
Trong chương này, Chúng tôi sẽ giới thiệu các tham số hiệu suất của DS18B20 một cách chi tiết, Phân tích nguyên tắc làm việc của nó, và khám phá những lợi thế của nó trong các ứng dụng khác nhau. Thông qua những nội dung này, Người đọc sẽ hiểu sâu hơn về các cảm biến DS18B20 và đặt nền tảng vững chắc cho các ứng dụng và lập trình phức tạp hơn sau đó.
2. Giải thích chi tiết về giao thức truyền thông 1 dây DS18B20
Lý do tại sao các cảm biến DS18B20 được sử dụng rộng rãi phần lớn là do giao thức truyền thông độc đáo của nó – 1-Giao thức giao tiếp dây. Giao thức này đơn giản hóa các yêu cầu cho các kết nối phần cứng và cung cấp một cách hiệu quả để truyền dữ liệu. Chương này sẽ phân tích sâu sắc cơ chế làm việc và quá trình trao đổi dữ liệu của giao thức truyền thông 1 dòng để đặt nền tảng vững chắc cho thực tiễn lập trình tiếp theo.
2.1 Khái niệm cơ bản về giao thức giao tiếp 1 dây
2.1.1 Các tính năng của giao thức giao tiếp 1 dây:
Giao thức giao tiếp DS18B20 1 dây cũng được gọi “Xe buýt đơn” công nghệ. Nó có các tính năng sau: – Giao tiếp xe buýt đơn: Chỉ có một dòng dữ liệu được sử dụng để truyền dữ liệu hai chiều, làm giảm đáng kể sự phức tạp của hệ thống dây điện so với phương pháp giao tiếp cảm biến đa dây truyền thống. – Kết nối nhiều thiết bị: Hỗ trợ kết nối nhiều thiết bị trên một bus dữ liệu, và xác định và giao tiếp thông qua mã nhận dạng thiết bị. – Tiêu thụ năng lượng thấp: Trong quá trình giao tiếp, Thiết bị có thể ở trạng thái chờ công suất thấp khi không tham gia giao tiếp. – Độ chính xác cao: Với thời gian truyền dữ liệu ngắn hơn, Nó có thể giảm nhiễu bên ngoài và cải thiện độ chính xác của dữ liệu.
2.1.2 Định dạng dữ liệu và phân tích thời gian của giao tiếp 1 dây
Định dạng dữ liệu của giao thức giao tiếp 1 dây tuân theo một quy tắc thời gian cụ thể. Nó bao gồm thời gian khởi tạo, Viết thời gian và đọc thời gian:
Thời gian khởi tạo: Máy chủ trước tiên bắt đầu thời gian phát hiện sự hiện diện (Xung hiện diện) bằng cách kéo xe buýt xuống trong một khoảng thời gian nhất định, và cảm biến sau đó gửi xung hiện diện để đáp ứng.
Viết thời gian: Khi máy chủ gửi thời gian ghi, đầu tiên nó kéo xe buýt xuống khoảng 1-15 micro giây, Sau đó phát hành xe buýt, và cảm biến kéo xe buýt xuống 60-120 micro giây để trả lời.
Đọc thời gian: Máy chủ thông báo cho cảm biến để gửi dữ liệu bằng cách kéo xe buýt xuống và phát hành nó, và cảm biến sẽ xuất bit dữ liệu trên xe buýt sau một sự chậm trễ nhất định.
3. Phương pháp kết nối phần cứng nhiệt kế
Kết nối phần cứng là bước đầu tiên và quan trọng nhất trong việc xây dựng nhiệt kế kỹ thuật số. Kết nối chính xác giữa cảm biến DS18B20 và bộ vi điều khiển sẽ đảm bảo truyền dữ liệu chính xác và cung cấp một nền tảng vững chắc để tiếp tục lập trình và xử lý dữ liệu. Chương này sẽ giới thiệu chi tiết các nguyên tắc thiết kế giao diện giữa DS18B20 và vi điều khiển và các bước cụ thể của kết nối mạch, và bao gồm nội dung có liên quan của nguồn điện và điều hòa tín hiệu.
3.1 Giao diện giữa DS18B20 và bộ vi điều khiển
3.1.1 Nguyên tắc thiết kế mạch giao diện
Thiết kế mạch giao diện của DS18B20 cần tuân theo một số nguyên tắc cốt lõi để đảm bảo hoạt động ổn định và hiệu quả của thiết bị:
Cung cấp năng lượng ổn định: DS18B20 có thể lấy năng lượng từ dòng dữ liệu “DQ” (gọi điện “Chế độ sức mạnh ký sinh”), hoặc nó có thể được cung cấp độc lập bởi nguồn cung cấp điện bên ngoài. Bất kể phương pháp nào được sử dụng, Nguồn cung cấp phải ổn định để ngăn chặn các lỗi truyền dữ liệu do biến động nguồn điện.
Tính toàn vẹn tín hiệu: Vì DS18B20 truyền dữ liệu qua một dòng, Tính toàn vẹn tín hiệu đặc biệt quan trọng. Cần phải xem xét khả năng chống giao tiếp của tín hiệu và khớp các đặc tính điện của tín hiệu.
Bảo vệ mạch: Bảo vệ quá dòng và xả tĩnh điện (ESD) Các biện pháp bảo vệ nên được đưa vào thiết kế mạch để tránh thiệt hại cho cảm biến hoặc vi điều khiển.
3.1.2 Các bước cụ thể cho kết nối mạch
Kết nối DS18B20 với bộ vi điều khiển thường tuân theo các bước sau:
Kết nối nguồn: Kết nối chân VDD của DS18B20 với nguồn điện 3,3V hoặc 5V (Tùy thuộc vào mức điện áp của bộ vi điều khiển), và pin GND vào đường dây mặt đất.
Kết nối dòng dữ liệu: Chân DQ được kết nối với chân I/O kỹ thuật số của bộ vi điều khiển. Để đảm bảo tính ổn định của truyền dữ liệu, Một điện trở kéo lên có thể được thêm vào giữa dòng dữ liệu và nguồn cung cấp năng lượng, với giá trị điển hình là 4,7kΩ đến 10kΩ.
Đặt lại và xử lý pin xung hiện diện: Thông thường, pin đặt lại (Đầu tiên) và pin xung hiện diện (Mệnh) của DS18B20 không cần được kết nối bên ngoài, Chúng là tín hiệu được sử dụng nội bộ.
Trong phần này, Chúng tôi đã thiết kế một mạch cơ bản thông qua đó cảm biến nhiệt độ DS18B20 có thể được kết nối với bộ vi điều khiển. Sau đây là sơ đồ mạch ví dụ dựa trên Arduino Uno và mô tả tương ứng:
Lưu đồ LR
DS18B20 — |Vdd| 5V.
DS18B20 — |GND| GND
DS18B20 — |DQ| 2
DQ — |Kéo lên| 5V.
Trong số đó, DS18B20 đại diện cho cảm biến nhiệt độ kỹ thuật số, 5V là đầu ra điện của bộ vi điều khiển, GND là dây nối đất, Và 2 đại diện cho pin Arduino từ không. 2, được sử dụng để truyền dữ liệu. Kết nối giữa DQ và 5V đại diện cho điện trở kéo lên.
3.2 Cung cấp điện và điều hòa tín hiệu
3.2.1 Lựa chọn phương pháp cung cấp điện
DS18B20 cung cấp hai phương pháp cung cấp năng lượng:
Chế độ sức mạnh ký sinh: Trong chế độ này, dòng dữ liệu (DQ) không chỉ có thể truyền dữ liệu, mà còn cung cấp năng lượng cho DS18B20. Tại thời điểm này, Điện áp cấp cao trên dòng dữ liệu phải ít nhất là 3.0V để đảm bảo đủ dòng điện. Chế độ này thường được sử dụng khi độ dài xe buýt ngắn và truyền dữ liệu không quá thường xuyên.
Chế độ cung cấp năng lượng bên ngoài: Trong chế độ này, DS18B20 có VDD đầu vào điện độc lập. Cung cấp năng lượng với nguồn điện bên ngoài có thể tăng cường cường độ tín hiệu của cảm biến và cải thiện khả năng chống giao thoa, phù hợp để truyền dữ liệu đường dài hoặc truyền dữ liệu thường xuyên.
3.2.2 Lọc và ổn định tín hiệu
Để đảm bảo tính ổn định tín hiệu và đọc dữ liệu chính xác, tín hiệu cần được lọc và ổn định đúng cách:
Điện trở kéo lên: Điện trở kéo lên được thêm vào giữa dòng dữ liệu và nguồn điện để đảm bảo rằng dòng dữ liệu ở trạng thái cấp cao khi không hoạt động.
Mạch on-jitter: Để loại bỏ các bài đọc sai do nhiễu đường hoặc dao động điện áp tức thời, Tín hiệu có thể được đặt phần mềm ở phía vi điều khiển.
Bảo vệ ESD: Các thành phần bảo vệ ESD (chẳng hạn như điốt TVS) được thêm vào các cổng của các cảm biến và bộ vi điều khiển để ngăn ngừa thiệt hại do phóng điện tĩnh điện.
Phần này tiếp tục xây dựng các yếu tố cần được xem xét khi chọn nguồn điện và điều hòa tín hiệu ở dạng bảng:
| Dự án | Chế độ sức mạnh ký sinh | Chế độ năng lượng bên ngoài | Sự miêu tả | | — | — | — | — | | Kịch bản áp dụng | Dòng ngắn, Dữ liệu không thường xuyên | Hàng dài, Dữ liệu thường xuyên | Chọn theo kịch bản ứng dụng thực tế | | Nguồn cung cấp năng lượng ổn định | Thấp hơn | Cao hơn | Nguồn cung cấp điện bên ngoài được khuyến nghị cho các dòng dài hoặc tần số cao | | Trị giá | Thấp hơn | Cao hơn | Cung cấp năng lượng bên ngoài yêu cầu các thành phần quản lý năng lượng bổ sung | | Chống can thiệp | Yếu hơn | Mạnh mẽ hơn | Cung cấp năng lượng bên ngoài phù hợp hơn cho môi trường giao thoa cao |
Các phương pháp kết nối trên và chiến lược xử lý tín hiệu có thể tích hợp hiệu quả cảm biến nhiệt độ DS18B20 vào bất kỳ hệ thống vi điều khiển nào. Chương tiếp theo sẽ giới thiệu cách sử dụng ngôn ngữ C để:
Thực hành lập trình chức năng của DS18B20:
4. DS18B20 Nhiệt kế kỹ thuật số C Lập trình ngôn ngữ
4.1 Tổ chức lập trình và chuẩn bị môi trường
4.1.1 Ý tưởng thiết kế chương trình và xây dựng khung
Trước khi bắt đầu viết chương trình ngôn ngữ C của nhiệt kế kỹ thuật số DS18B20, Trước tiên bạn cần thiết lập các ý tưởng cơ bản về thiết kế chương trình. Cảm biến DS18B20 giao tiếp với bộ vi điều khiển thông qua giao thức giao tiếp 1 dây. Vì thế, Nhiệm vụ chính của chương trình là thực hiện các hoạt động liên quan của giao thức truyền thông 1 dây, bao gồm khởi tạo DS18B20, Gửi hướng dẫn, Đọc dữ liệu nhiệt độ, và chuyển đổi và hiển thị dữ liệu đọc.
Khung chương trình được chia thành các phần sau:
Khởi tạo: Khởi tạo bộ vi điều khiển và cảm biến DS18B20.
Vòng chính: Chứa một vòng lặp liên tục đọc dữ liệu cảm biến.
1-Thư viện chức năng giao tiếp dây: Chứa các chức năng để thực hiện giao thức truyền thông một dây.
Xử lý dữ liệu: Chuyển đổi dữ liệu thô được cảm biến trả về thành các giá trị nhiệt độ có thể đọc được.
Hiển thị đầu ra: Hiển thị dữ liệu nhiệt độ đã xử lý trên màn hình LCD hoặc xuất nó vào máy tính thông qua cổng nối tiếp.
4.1.2 Xây dựng và cấu hình môi trường phát triển
Để lập trình và phát triển nhiệt kế kỹ thuật số DS18B20, Bạn cần chuẩn bị môi trường phát triển và cấu hình nó một cách thích hợp. Sau đây là những bước cơ bản để phát triển:
Chọn môi trường phát triển: Chọn môi trường phát triển tích hợp thích hợp (Ide) Theo loại vi điều khiển, chẳng hạn như để phát triển dựa trên bộ vi điều khiển Series Cortex-M ARM. Bạn có thể sử dụng Keil MDK hoặc STM32Cubeide.
Định cấu hình trình biên dịch: Theo IDE được sử dụng, Định cấu hình trình biên dịch để đảm bảo rằng mã ngôn ngữ C có thể được biên dịch chính xác.
Xây dựng bảng phát triển phần cứng: Chọn một bảng phát triển vi điều khiển phù hợp, chẳng hạn như dựa trên STM32, ESP32, vân vân.
Kết nối bảng phát triển: Kết nối cảm biến DS18B20 với chân được chỉ định của vi điều khiển thông qua giao thức giao tiếp 1 dây.
Viết mã: Tạo một dự án ngôn ngữ C mới trong IDE và bắt đầu viết mã chương trình.
Biên dịch và gỡ lỗi: Sử dụng công cụ IDE để biên dịch mã và chạy nó trên bảng phát triển để gỡ lỗi.
#bao gồm <stdio.h>
// DS18B20 Tuyên bố chức năng giao tiếp đầu tiên
void DS18B20_init();
VIAD DS18B20_RESET();
void DS18B20_Writebyte(không dấu Char dat);
Char DS18B20_ReadByte không dấu();
int ds18b20_readtemate();
int chính() {
// Khởi tạo cảm biến DS18B20
DS18B20_INIT();
// Vòng chính
trong khi(1) {
// Đọc giá trị nhiệt độ
Nhiệt độ int = ds18b20_readtemate();
// Giá trị nhiệt độ đầu ra đến cổng nối tiếp hoặc thiết bị hiển thị khác
printf(“Nhiệt độ hiện tại: %d n”, nhiệt độ);
}
trở lại 0;
}
4.2 Triển khai chương trình đọc nhiệt độ DS18B20
4.2.1 Xây dựng Thư viện chức năng giao tiếp một dây
Để nhận ra việc đọc nhiệt độ của DS18B20, Trước tiên bạn cần xây dựng thư viện chức năng giao tiếp một dây. Sau đây là các phương pháp triển khai của một số chức năng chính:
DS18B20_INIT(): Khởi tạo thời gian giao tiếp một dây.
DS18B20_RESET(): Đặt lại cảm biến và phát hiện xung của nó.
DS18B20_WRITEBYTE(không dấu Char dat): Viết một byte dữ liệu vào cảm biến.
DS18B20_READBYTE(): Đọc byte dữ liệu từ cảm biến.
DS18B20_READTemate(): Đọc nhiệt độ và chuyển đổi nó.
Việc triển khai Thư viện chức năng giao tiếp một dây của DS18B20 khá phức tạp vì nó đòi hỏi phải kiểm soát chính xác các thay đổi mức pin để tuân theo giao thức giao tiếp một dây. Sau đây là một ví dụ về triển khai chức năng:
VIAD DS18B20_RESET() {
// Trình tự thiết lập lại giao tiếp một dòng, bao gồm kéo xuống dòng dữ liệu, trì hoãn, phát hành xe buýt, và phát hiện xung hiện diện
// …
}
Mục đích của chức năng này là gửi xung đặt lại đến DS18B20. Sau khi thiết lập lại thành công, DS18B20 sẽ trả về xung hiện diện.
4.2.2 Thực hiện thuật toán đọc nhiệt độ
Đọc giá trị nhiệt độ của cảm biến DS18B20 là một quá trình phức tạp hơn, bởi vì cần phải gửi các hướng dẫn cụ thể đến cảm biến theo một thời gian nhất định và đọc chính xác dữ liệu được trả về. Thuật toán đọc giá trị nhiệt độ như sau:
Đặt lại cảm biến.
Gửi “Phòng tàu” yêu cầu (0XCC).
Gửi “chuyển đổi nhiệt độ” yêu cầu (0x44).
Đợi cho việc chuyển đổi hoàn thành.
Gửi “Đọc đăng ký” yêu cầu (0Xbe).
Đọc hai byte dữ liệu nhiệt độ.
Mã sau đây cho thấy cách đọc giá trị nhiệt độ của DS18B20:
int ds18b20_readtemate() {
Char Temp_low không dấu, TEMP_HIGH;
không dấu int temp;
// Đặt lại cảm biến và bỏ qua các hướng dẫn ROM
DS18B20_RESET();
DS18B20_WRITEBYTE(0XCC); // Bỏ qua lệnh ROM
// Gửi lệnh nhiệt độ chuyển đổi
DS18B20_WRITEBYTE(0x44);
// Đợi cho việc chuyển đổi hoàn thành. Ở đây bạn cần phải đợi theo thời gian chuyển đổi của DS18B20
// …
// Đặt lại cảm biến và đọc dữ liệu nhiệt độ
DS18B20_RESET();
DS18B20_WRITEBYTE(0XCC); // Bỏ qua lệnh ROM
DS18B20_WRITEBYTE(0Xbe); // Đọc lệnh đăng ký
// Đọc hai byte dữ liệu
TEMP_LOW = DS18B20_READBYTE();
TEMP_HIGH = DS18B20_READBYTE();
// Kết hợp hai byte dữ liệu thành một số nguyên 16 bit
Nhiệt độ = (TEMP_HIGH << 8) | TEMP_LOW;
// Trả lại giá trị nhiệt độ, Chuyển đổi một cách thích hợp dựa trên độ phân giải của DS18B20
trả lại temp;
}
4.2.3 Gỡ lỗi chương trình và xử lý ngoại lệ
Khi viết chương trình đọc DS18B20, Gỡ lỗi chương trình và xử lý ngoại lệ là rất quan trọng. Trong quá trình gỡ lỗi, Bạn có thể cần sử dụng trợ lý gỡ lỗi cổng nối tiếp để kiểm tra xem giá trị nhiệt độ đầu ra có đúng không, hoặc sử dụng máy phân tích logic để theo dõi thời gian tín hiệu của giao tiếp đầu tay. Xử lý ngoại lệ cần tính đến các lỗi phần cứng, lỗi giao tiếp, và phản ứng bất thường của DS18B20.
Sau đây là một số chiến lược xử lý ngoại lệ và gỡ lỗi:
Xác minh dữ liệu: Sau mỗi dữ liệu đọc, Sử dụng tổng kiểm tra hoặc kiểm tra bit để xác nhận tính chính xác của dữ liệu.
Nắm bắt ngoại lệ: Thêm một cơ chế chụp ngoại lệ vào chương trình, chẳng hạn như cơ chế thử lại thời gian chờ, Đặt lại cảm biến, vân vân.
Thông tin gỡ lỗi: Thêm đủ đầu ra thông tin gỡ lỗi vào chương trình để giúp xác định vấn đề.
int chính() {
// Khởi tạo cảm biến DS18B20
DS18B20_INIT();
// Vòng chính
trong khi(1) {
Nhiệt độ int;
// Đọc nhiệt độ và kiểm tra lỗi
Nhiệt độ = DS18B20_READTemate();
nếu như (nhiệt độ < 0) {
printf(“Nhiệt độ đọc lỗi!\N”);
// Bạn có thể chọn thử lại hoặc các cơ chế xử lý lỗi khác
} khác {
printf(“Nhiệt độ hiện tại: %d n”, nhiệt độ);
}
}
trở lại 0;
}
Chương này giới thiệu nền tảng lập trình ngôn ngữ C và chuẩn bị môi trường của nhiệt kế kỹ thuật số DS18B20, cũng như việc thực hiện chương trình đọc nhiệt độ, và nhấn mạnh tầm quan trọng của việc gỡ lỗi chương trình và xử lý ngoại lệ. Thông qua việc giới thiệu chương này, Người đọc có thể xây dựng một môi trường phát triển, hiểu tầm quan trọng của thư viện chức năng giao tiếp hàng đầu, và viết một chương trình đọc nhiệt độ cơ bản. Các chương sau sẽ tiếp tục đi sâu vào việc xây dựng và sử dụng môi trường mô phỏng Proteus, Cung cấp phương pháp kiểm tra mô phỏng cho lắp ráp phần cứng thực tế.
5. Sơ đồ mô phỏng Proteus và phân tích kết quả mô phỏng
5.1 Xây dựng môi trường mô phỏng Proteus
5.1.1 Hoạt động cơ bản của phần mềm Proteus
Trước khi bắt đầu xây dựng mô hình mô phỏng của nhiệt kế kỹ thuật số DS18B20, Trước tiên bạn cần hiểu và thành thạo hoạt động cơ bản của phần mềm Proteus. Proteus là một phần mềm mô phỏng mạch điện tử mạnh mẽ không chỉ thiết kế sơ đồ mạch, nhưng cũng thiết kế bố cục PCB mạch và cung cấp các chức năng mô phỏng. Dưới đây là một số bước chính để giúp bạn bắt đầu với Proteus:
Mở phần mềm Proteus và tạo một dự án mới.
Tìm kiếm và chọn các thành phần cần thiết trong thư viện thành phần, chẳng hạn như cảm biến DS18B20, vi điều khiển, nguồn điện, kết nối dây, vân vân.
Kéo các thành phần đã chọn vào khu vực thiết kế và sử dụng chuột để đặt và bố trí chúng.
Sử dụng công cụ nối dây để kết nối các chân của từng thành phần để tạo thành một mạch hoàn chỉnh.
Bấm đúp vào một thành phần hoặc dây để sửa đổi các thuộc tính của nó, chẳng hạn như giá trị kháng thuốc, điện áp cung cấp điện, vân vân.
Đảm bảo tất cả các thành phần được kết nối chính xác và kiểm tra lỗi hoặc thiếu sót.
5.1.2 Tạo dự án mô phỏng DS18B20
Các bước để tạo dự án mô phỏng cho nhiệt kế kỹ thuật số DS18B20 như sau:
Bắt đầu Proteus và chọn “Dự án mới” Để tạo một dự án mới.
Sau khi đặt tên và vị trí dự án, Nhấp “Kế tiếp”.
Chọn một mẫu dự án, chẳng hạn như “Bộ vi xử lý dựa trên”, và nhấp “Kế tiếp”.
Trong “Mục dự án” Tab, kiểm tra “Bao gồm các thành phần mặc định” và chọn một bộ vi điều khiển (chẳng hạn như pic, AVR, vân vân.) và cảm biến DS18B20.
Nhấp “Hoàn thành” Để hoàn thành việc tạo dự án.
Kế tiếp, Tạo một sơ đồ mạch:
Chọn “Chọn thiết bị” dụng cụ, Tìm và chọn cảm biến vi điều khiển và cảm biến DS18B20 trong thư viện thành phần.
Sử dụng “Đặt thiết bị” công cụ để đặt thành phần đã chọn trong khu vực thiết kế.
Sử dụng “DÂY ĐIỆN” công cụ để kết nối vi điều khiển và các chân có liên quan của cảm biến DS18B20.
Sau khi hoàn thành kết nối, Sử dụng “CHỮ” công cụ để thêm các chú thích vào sơ đồ mạch để dễ hiểu và sửa đổi.
5.2 Kiểm tra mô phỏng và phân tích dữ liệu
5.2.1 Đặt các tham số và điều kiện mô phỏng
Trước khi bắt đầu mô phỏng, Bạn cần đặt các tham số và điều kiện cho việc chạy mô phỏng:
Bấm đúp vào thành phần vi điều khiển để nhập giao diện cài đặt thuộc tính.
Chọn đường dẫn tệp chương trình được viết trước đó tại “Tệp chương trình”.
Đặt các tham số nguồn điện để đảm bảo rằng cả bộ vi điều khiển và cảm biến DS18B20 đều có điện áp nguồn chính xác.
Kế tiếp, Đặt tham số thời gian cho mô phỏng:
Trong bảng điều khiển mô phỏng, lựa chọn “Cài đặt toàn cầu”.
Điều chỉnh tốc độ mô phỏng và thời gian mô phỏng tối đa.
Đặt các điểm dừng thích hợp để phân tích dữ liệu trong quá trình mô phỏng.
5.2.2 Mô phỏng và đọc dữ liệu nhiệt độ
Chạy mô phỏng và mô phỏng dữ liệu nhiệt độ:
Nhấp vào “Chơi” nút trong bảng điều khiển mô phỏng để bắt đầu mô phỏng.
Sử dụng “Gỡ lỗi” công cụ để xem trạng thái chạy chương trình và các giá trị biến.
Mô phỏng cảm biến DS18B20 để đọc giá trị nhiệt độ, thường đạt được bằng cách sửa đổi nhiệt kế ảo trong môi trường mô phỏng.
Để đọc dữ liệu nhiệt độ trong mô phỏng, Bạn có thể tham khảo các bước sau:
Tìm cài đặt mô phỏng nhiệt độ trong các thuộc tính của thành phần DS18B20.
Sửa đổi giá trị nhiệt độ để kiểm tra đáp ứng hệ thống trong các điều kiện nhiệt độ khác nhau.
Quan sát cách chương trình vi điều khiển xử lý dữ liệu nhiệt độ.
5.2.3 Phân tích kết quả và khắc phục sự cố
Phân tích kết quả mô phỏng và xác nhận hiệu suất của nhiệt kế:
Giám sát dữ liệu trong cửa sổ đầu ra để kiểm tra xem việc đọc nhiệt độ có chính xác không.
Sử dụng công cụ phân tích logic để theo dõi xem quá trình giao tiếp dữ liệu có bình thường không.
Kiểm tra xem có bất kỳ tín hiệu bất thường hoặc đầu ra không ổn định.
Thực hiện chẩn đoán lỗi và gỡ lỗi:
Nếu việc đọc nhiệt độ không chính xác hoặc có lỗi, Kiểm tra phương thức kết nối và cấu hình của DS18B20.
Phân tích mã chương trình để đảm bảo rằng các thuật toán chuyển đổi dữ liệu và giao tiếp đầu tay được triển khai chính xác.
Sử dụng “Dừng lại” chức năng của phần mềm mô phỏng để tạm dừng mô phỏng và quan sát trạng thái hiện tại của hệ thống.