온도 센서 기술

DS18B20 디지털 온도 센서로 디지털 온도계 만들기

DS18B20 온도 센서 디지털 온도계 프로브 + 와이어 세트가 포함된 터미널 어댑터 모듈

소개: 이 기사에서는 디지털 온도계 구축에 맞춤형 DS18B20 디지털 온도 센서를 적용하는 방법을 자세히 설명합니다.. 작동 원리 포함, 하드웨어 연결, 소프트웨어 프로그래밍 및 시뮬레이션 구현. 완전한 Protues 시뮬레이션 다이어그램 제공, 독자가 DS18B20의 사용법을 깊이 이해하고 실습할 수 있도록 돕는 C 소스 코드 및 결과 분석.

매개 변수 정보: 전원 공급 장치: 3.0V – 5.5V; 조정 가능한 해상도: 9 – 12 조금; 온도 범위: -55 ℃ +125 ℃; 산출 : 빨간색 (VCC), 노란색 (데이터), 검은색 (Gnd);
당신이 얻는 것: 당신은 얻을 것입니다 4 DS18B20 온도 센서, 4 어댑터 모듈 및 4 암컷에서 여성 점퍼 와이어; 어댑터 모듈에는 풀업 저항이 있습니다, 외부 저항이없는 Raspberry Pi와 호환 될 수 있습니다.;
DS18B20 온도 센서: 스테인레스 스틸 하우징의 크기는 약입니다. 6 엑스 50 mm/ 0.2 엑스 2 인치, 디지털 온도 열 케이블의 총 길이는 약입니다.. 1 중/ 39.4 인치, 당신의 요구를 충족시키기에 충분합니다;
품질 재료: 프로브는 품질 스테인레스 스틸 재료로 만들어졌습니다, 방수입니다, 수분 방지 및 녹슬기 쉽지 않습니다, 단락을 방지하기 위해;
광범위한 응용: 이 DS18b20 온도 센서는 Raspberry Pi와 호환됩니다, 케이블 트렌치의 온도 모니터링에 널리 적용됩니다., 보일러, 무엇, 농업 온실, 깨끗한 방, 등.

DS18B20 온도 센서 -55 에게 +125 섭씨도, Raspberry Pi와 호환됩니다

DS18B20 온도 센서 -55 에게 +125 섭씨도, Raspberry Pi와 호환됩니다

표면 마운트 DS18B20 디지털 온도 센서 방수 프로브

표면 마운트 DS18B20 디지털 온도 센서 방수 프로브

DS18B20 온도 센서 디지털 온도계 프로브 + 와이어 세트가 포함된 터미널 어댑터 모듈

DS18B20 온도 센서 디지털 온도계 프로브 + 와이어 세트가 포함된 터미널 어댑터 모듈

1. DS18B20 센서 특성
DS18B20 센서는 현대 온도 모니터링 분야에서 중요한 역할을합니다.. 높은 정확도로 온도를 측정 할 수 있습니다, 해상도는 필요에 따라 조정할 수 있습니다, 정밀도가 다른 온도 모니터링을 달성하기 위해. 게다가, DS18B20의 작은 크기는 공간이 제한된 환경에서 사용하기에 적합합니다., 사용하기 쉬운 특성은 초보자에서 전문가로 기술 임계 값을 줄입니다..

DS18B20의 성능 매개 변수를 추가로 탐색하기 전에, 먼저 작업 원칙을 이해해야합니다. DS18B20은 디지털 신호를 통해 온도 데이터를 전달합니다, 온도 데이터 수집에 편의를 제공합니다. 기존 아날로그 온도 센서와 비교합니다, DS18B20과 같은 디지털 센서는보다 정확한 판독 값을 제공 할 수 있으며 신호 전송 중에 노이즈에 덜 민감합니다..

DS18B20의 이러한 장점을 완전히 활용하기 위해, 성능 매개 변수를 깊이 이해해야합니다.. 이러한 매개 변수에는 온도 측정 범위가 포함됩니다, 정확성, 해결, 및 공급 전압. 이러한 매개 변수는 DS18B20이 특정 응용 프로그램의 요구를 충족시킬 수 있는지 여부를 결정할뿐만 아니라, 또한 전체 시스템의 성능과 신뢰성에도 영향을 미칩니다..

이 장에서, DS18B20의 성능 매개 변수를 자세히 소개합니다., 작업 원칙을 분석하십시오, 다른 응용 분야에서 장점을 탐색하십시오. 이 내용을 통해, 독자들은 DS18B20 센서에 대한 더 깊은 이해를 얻고 더 복잡한 응용 프로그램 및 프로그래밍을위한 견고한 기초를 마련 할 것입니다..

2. DS18B20의 1 와이어 커뮤니케이션 프로토콜에 대한 자세한 설명
DS18B20 센서가 널리 사용되는 이유는 주로 고유 한 통신 프로토콜 때문입니다. – 1-와이어 통신 프로토콜. 이 프로토콜은 하드웨어 연결에 대한 요구 사항을 단순화하고 데이터를 전송하는 효율적인 방법을 제공합니다.. 이 장에서는 1 라인 통신 프로토콜의 작업 메커니즘 및 데이터 교환 프로세스를 깊이 분석하여 후속 프로그래밍 관행을위한 탄탄한 기반을 마련합니다..
2.1 1 와이어 통신 프로토콜의 기본
2.1.1 1 와이어 통신 프로토콜의 기능:
DS18B20 1 와이어 통신 프로토콜도 호출됩니다 “단일 버스” 기술. 다음과 같은 기능이 있습니다: – 단일 버스 통신: 양방향 데이터 전송에는 하나의 데이터 라인 만 사용됩니다., 기존의 멀티 와이어 센서 통신 방법에 비해 배선의 복잡성을 크게 줄입니다.. – 다단계 연결: 하나의 데이터 버스에서 여러 장치를 연결하는 것이 지원됩니다, 장치 식별 코드를 통해 식별하고 통신합니다. – 낮은 전력 소비: 의사 소통 중, 커뮤니케이션에 참여하지 않을 때 장치는 저전력 대기 상태에있을 수 있습니다.. – 높은 정밀도: 데이터 전송 시간이 짧습니다, 외부 간섭을 줄이고 데이터 정확도를 향상시킬 수 있습니다.
2.1.2 1 와이어 통신의 데이터 형식 및 타이밍 분석
1 와이어 통신 프로토콜의 데이터 형식은 특정 타이밍 규칙을 따릅니다.. 초기화 타이밍이 포함됩니다, 타이밍을 작성하고 타이밍을 읽으십시오:
초기화 타이밍: 호스트는 먼저 존재 감지 타이밍을 시작합니다 (존재 맥박) 일정 시간 동안 버스를 내려 놓아, 그런 다음 센서는 응답으로 PRESENTE PULSE를 보냅니다..
쓰기 타이밍: 호스트가 쓰기 타이밍을 보낼 때, 먼저 버스를 내려갑니다 1-15 마이크로초, 그런 다음 버스를 출시합니다, 그리고 센서는 버스를 끌어 당깁니다 60-120 반응하기 위해 마이크로 초.
타이밍을 읽으십시오: 호스트는 센서에게 버스를 끌어 내고 방출하여 데이터를 보내도록 알립니다., 센서는 일정 지연 후 버스의 데이터 비트를 출력합니다..

3. 온도계 하드웨어 연결 방법
하드웨어 연결은 디지털 온도계를 구축하는 첫 번째이자 가장 중요한 단계입니다.. DS18B20 센서와 마이크로 컨트롤러 간의 올바른 연결은 정확한 데이터 전송을 보장하고 추가 소프트웨어 프로그래밍 및 데이터 처리를위한 견고한 기초를 제공합니다.. 이 장에서는 DS18B20과 마이크로 컨트롤러 사이의 인터페이스 디자인 원리와 회로 연결의 특정 단계를 자세히 소개합니다., 전원 공급 장치 및 신호 컨디셔닝의 관련 컨텐츠를 다루십시오..
3.1 DS18B20과 마이크로 컨트롤러 사이의 인터페이스
3.1.1 인터페이스 회로 설계 원칙
DS18B20의 인터페이스 회로 설계는 장치의 안정적이고 효율적인 작동을 보장하기 위해 몇 가지 핵심 원칙을 따라야합니다.:
안정적인 전원 공급 장치: DS18B20은 데이터 라인에서 전력을 얻을 수 있습니다 “DQ” (~라고 불리는 “기생 전원 모드”), 또는 외부 전원 공급 장치로 독립적으로 전원을 공급할 수 있습니다.. 어떤 방법이 사용되는지에 관계없이, 전원 공급 장치 변동으로 인한 데이터 전송 오류를 방지하기 위해 전원 공급 장치가 안정적이어야합니다..
신호 무결성: DS18B20은 단일 줄을 통해 데이터를 전송하기 때문에, 신호 무결성은 특히 중요합니다. 신호의 항 종 간 능력과 신호의 전기적 특성 일치를 고려해야합니다..
회로 보호: 과전류 보호 및 정전기 방전 (ESD) 센서 또는 마이크로 컨트롤러의 손상을 피하기 위해 회로 설계에 보호 조치가 포함되어야합니다..

3.1.2 회로 연결을위한 특정 단계
DS18B20을 마이크로 컨트롤러에 연결하면 일반적으로 다음 단계를 따릅니다.:
전원 연결: DS18B20의 VDD 핀을 3.3V 또는 5V 전원 공급 장치에 연결하십시오. (마이크로 컨트롤러의 전압 레벨에 따라), 지면 선으로 GND 핀.
데이터 라인 연결: DQ 핀은 마이크로 컨트롤러의 디지털 I/O 핀에 연결됩니다.. 데이터 전송의 안정성을 보장하기 위해, 데이터 라인과 전원 공급 장치 사이에 풀업 저항을 추가 할 수 있습니다., 일반적인 값은 4.7kΩ ~ 10kΩ입니다.
재설정 및 존재 펄스 핀 처리: 보통, 재설정 핀 (RST) 그리고 존재 펄스 핀 (평가) DS18B20의 외부에 연결할 필요가 없습니다, 내부적으로 사용되는 신호입니다.

이 섹션에서, DS18B20 온도 센서가 마이크로 컨트롤러에 연결할 수있는 기본 회로를 설계했습니다.. 다음은 Arduino UNO 및 해당 설명을 기반으로 한 예제 회로도입니다.:

흐름도 LR
DS18B20 — |VDD| 5V
DS18B20 — |Gnd| Gnd
DS18B20 — |DQ| 2
DQ — |풀업| 5V

그 중, DS18B20은 디지털 온도 센서를 나타냅니다, 5V는 마이크로 컨트롤러의 전원 출력입니다, GND는 접지선입니다, 그리고 2 Arduino의 핀 번호를 나타냅니다. 2, 데이터 전송에 사용됩니다. DQ와 5V 사이의 연결은 풀업 저항을 나타냅니다..


3.2 전원 공급 및 신호 컨디셔닝
3.2.1 전원 공급 장치 선택 방법
DS18B20은 두 가지 전원 공급 장치 방법을 제공합니다:
기생 전원 모드: 이 모드에서, 데이터 라인 (DQ) 데이터 만 전송할 수 없습니다, 또한 DS18B20에 전원을 공급하십시오. 이때, 충분한 전원 공급 장치 전류를 보장하기 위해 데이터 라인의 고급 전압은 3.0V 이상이어야합니다.. 이 모드는 일반적으로 버스 길이가 짧고 데이터 전송이 너무 빈번하지 않을 때 사용됩니다..

외부 전원 공급 모드: 이 모드에서, DS18B20에는 독립적 인 전력 입력 VDD가 있습니다. 외부 전원 공급 장치로 전원을 공급하면 센서의 신호 강도를 향상시키고 간섭 방지 능력을 향상시킬 수 있습니다., 장거리 전송 또는 빈번한 데이터 전송에 적합한.

3.2.2 신호 필터링 및 안정화
신호 안정성과 정확한 데이터 읽기를 보장하기 위해, 신호는 올바르게 필터링되고 안정화되어야합니다:
풀업 저항: 풀업 저항은 데이터 라인과 전원 공급 장치 사이에 추가되어 데이터 라인이 유휴 상태에있을 때 높은 수준 상태에 있는지 확인합니다..
온조 회로: 라인 간섭 또는 순간 전압 변동으로 인한 잘못된 판독 값을 제거하기 위해, 신호는 마이크로 컨트롤러쪽에 소프트웨어를 제조 할 수 있습니다.
ESD 보호: ESD 보호 구성 요소 (TVS 다이오드와 같은) 정전기 방전으로 인한 손상을 방지하기 위해 센서 및 마이크로 컨트롤러 포트에 추가됩니다..

이 섹션은 테이블 형태의 전원 공급 장치 및 신호 컨디셔닝을 선택할 때 고려해야 할 요소에 대해 자세히 설명합니다.:
| 프로젝트 | 기생 전원 모드 | 외부 전원 모드 | 설명 | | — | — | — | — | | 해당 시나리오 | 짧은 줄, 드물게 데이터 | 긴 줄, 빈번한 데이터 | 실제 응용 프로그램 시나리오에 따라 선택하십시오 | | 전원 공급 장치 안정성 | 낮추다 | 더 높은 | 외부 전원 공급 장치는 긴 라인 또는 고주파수에 권장됩니다. | | 비용 | 낮추다 | 더 높은 | 외부 전원 공급 장치에는 추가 전원 관리 구성 요소가 필요합니다 | | 반 간 회의 | 약합니다 | 더 강력합니다 | 외부 전원 공급 장치는 높은 간섭 환경에 더 적합합니다 |

위의 연결 방법 및 신호 처리 전략은 DS18B20 온도 센서를 모든 마이크로 컨트롤러 시스템에 효과적으로 통합 할 수 있습니다.. 다음 장에서는 C 언어를 사용하는 방법을 소개합니다.:


DS18B20의 기능적 프로그래밍 실무:
4. DS18B20 디지털 온도계 C 언어 프로그래밍
4.1 프로그래밍 기반 및 환경 준비
4.1.1 프로그램 설계 아이디어 및 프레임 워크 구성
DS18B20 디지털 온도계의 C 언어 프로그램을 작성하기 전에, 먼저 프로그램 디자인의 기본 아이디어를 설정해야합니다.. DS18B20 센서는 1 와이어 통신 프로토콜을 통해 마이크로 컨트롤러와 통신합니다.. 그러므로, 이 프로그램의 주요 작업은 1 와이어 커뮤니케이션 프로토콜의 관련 작업을 구현하는 것입니다., DS18B20 초기화 포함, 지침 보내기, 읽기 온도 데이터, 읽기 데이터를 변환하고 표시합니다.

프로그램 프레임 워크는 대략 다음 부분으로 나뉩니다.:
초기화: 마이크로 컨트롤러 및 DS18B20 센서를 초기화하십시오.
메인 루프: 센서 데이터를 지속적으로 읽는 루프가 포함되어 있습니다.
1-와이어 통신 기능 라이브러리: 1 와이어 통신 프로토콜을 구현하기위한 기능이 포함되어 있습니다.

데이터 처리: 센서가 반환 한 원시 데이터를 읽을 수있는 온도 값으로 변환.
디스플레이 출력: 가공 온도 데이터를 LCD 화면에 표시하거나 직렬 포트를 통해 컴퓨터에 출력합니다..

스테인레스 스틸 방수 DS18B20 온도 프로브 1- 와이어 1, 2, 5 미터

스테인레스 스틸 방수 DS18B20 온도 프로브 1- 와이어 1, 2, 5 미터

DS18B20 1 와이어 디지털 온도 센서

DS18B20 1 와이어 디지털 온도 센서

DS18B20 온도 센서 모듈 키트 1 M-3.2 피트 방수 디지털 스테인리스 스틸 프로브

DS18B20 온도 센서 모듈 키트 1 M-3.2 피트 방수 디지털 스테인리스 스틸 프로브

4.1.2 개발 환경 구성 및 구성
DS18B20 디지털 온도계를 프로그래밍하고 개발하기 위해, 개발 환경을 준비하고 적절하게 구성해야합니다.. 다음은 개발을위한 기본 단계입니다:

개발 환경을 선택하십시오: 적절한 통합 개발 환경을 선택하십시오 (IDE) 마이크로 컨트롤러 유형에 따르면, ARM Cortex-M 시리즈 마이크로 컨트롤러를 기반으로 한 개발. Keil MDK 또는 STM32Cubeide를 사용할 수 있습니다.

컴파일러를 구성하십시오: 사용 된 IDE에 따르면, C 언어 코드를 올바르게 컴파일 할 수 있도록 컴파일러를 구성하십시오..
하드웨어 개발 보드를 구축하십시오: 적절한 마이크로 컨트롤러 개발 보드를 선택하십시오, STM32 기반, ESP32, 등.
개발위원회를 연결하십시오: 1 와이어 통신 프로토콜을 통해 DS18B20 센서를 마이크로 컨트롤러의 지정된 핀에 연결하십시오..
코드를 작성하십시오: IDE에서 새로운 C 언어 프로젝트를 만들고 프로그램 코드 작성을 시작하십시오..
컴파일 및 디버그: IDE 도구를 사용하여 코드를 컴파일하고 디버깅을 위해 개발 보드에서 실행하십시오..

#포함하다 <stdio.h>

// DS18B20 1 차 통신 기능 라이브러리 선언
void ds18b20_init();
void ds18b20_reset();
void ds18b20_writebyte(서명되지 않은 문자);
서명되지 않은 char ds18b20_readbyte();
int ds18b20_readtemperature();

int 메인() {
// DS18B20 센서를 초기화하십시오
DS18B20_INIT();
// 메인 루프
~하는 동안(1) {
// 온도 값을 읽으십시오
int 온도 = DS18B20_READTEMPERATION();
// 직렬 포트 또는 기타 디스플레이 장치에 대한 출력 온도 값
printf(“현재 온도: %d n”, 온도);
}
반품 0;
}


4.2 DS18B20 온도 읽기 프로그램 구현
4.2.1 1 와이어 통신 기능 라이브러리의 구성
DS18B20의 온도 판독을 실현하기 위해, 먼저 1 와이어 커뮤니케이션 기능 라이브러리를 구축해야합니다.. 다음은 몇 가지 주요 기능의 구현 방법입니다.:

DS18B20_INIT(): 1 와이어 통신 타이밍을 초기화하십시오.
DS18B20_RESET(): 센서를 재설정하고 펄스를 감지하십시오.
DS18B20_WRITEBYTE(서명되지 않은 문자): 센서에 바이트를 작성하십시오.
DS18B20_READBYTE(): 센서에서 바이트의 데이터를 읽으십시오.
DS18B20_READTEMPERATURE(): 온도를 읽고 변환하십시오.

DS18B20의 원선 통신 기능 라이브러리의 구현은 1 와이어 통신 프로토콜을 따르려면 핀 레벨 변경의 정확한 제어가 필요하기 때문에 매우 복잡합니다.. 다음은 기능 구현의 예입니다:
void ds18b20_reset() {
// 단선 통신 재설정 시퀀스, 데이터 라인을 끌어내는 것을 포함하여, 지연, 버스 공개, 존재 펄스를 감지합니다
// …
}

이 기능의 목적은 재설정 펄스를 DS18B20으로 보내는 것입니다.. 재설정이 성공한 후, DS18B20은 존재 펄스를 반환합니다.


4.2.2 온도 읽기 알고리즘의 구현
DS18B20 센서의 온도 값을 읽는 것이 더 복잡한 프로세스입니다., 특정 타이밍에서 센서에 특정 지침을 보내야하고 반환 된 데이터를 올바르게 읽어야하므로. 온도 값을 읽는 알고리즘은 다음과 같습니다.:

센서를 재설정하십시오.
보내십시오 “배” 명령 (0XCC).
보내십시오 “온도를 변환합니다” 명령 (0x44).
전환이 완료 될 때까지 기다립니다.
보내십시오 “레지스터를 읽습니다” 명령 (0XBE).
온도 데이터의 두 바이트를 읽으십시오.

다음 코드는 DS18B20의 온도 값을 읽는 방법을 보여줍니다.:

int ds18b20_readtemperature() {
서명되지 않은 char temp_low, temp_high;
서명되지 않은 int 온도;

// 센서를 재설정하고 ROM 지침을 건너 뜁니다
DS18B20_RESET();
DS18B20_WRITEBYTE(0XCC); // ROM 명령을 건너 뛰십시오
// 전환 온도 명령을 보내십시오
DS18B20_WRITEBYTE(0x44);
// 전환이 완료 될 때까지 기다립니다. 여기서는 DS18B20의 변환 시간에 따라 기다려야합니다.
// …

// 센서를 재설정하고 온도 데이터를 읽으십시오
DS18B20_RESET();
DS18B20_WRITEBYTE(0XCC); // ROM 명령을 건너 뛰십시오
DS18B20_WRITEBYTE(0XBE); // 레지스터 명령을 읽습니다

// 두 바이트의 데이터를 읽으십시오
temp_low = ds18b20_ReadByte();
temp_high = ds18b20_ReadByte();
// 두 바이트의 데이터를 16 비트 정수에 결합하십시오
온도 = (temp_high << 8) | temp_low;
// 온도 값을 반환하십시오, DS18B20의 해상도를 기반으로 적절하게 변환
반환 온도;
}


4.2.3 프로그램 디버깅 및 예외 처리

DS18B20 읽기 프로그램을 작성할 때, 프로그램 디버깅 및 예외 처리는 매우 중요합니다. 디버깅 중, 출력 온도 값이 올바른지 확인하려면 직렬 포트 디버깅 어시스턴트를 사용해야 할 수도 있습니다., 또는 로직 분석기를 사용하여 1 차 통신의 신호 타이밍을 모니터링하십시오.. 예외 처리는 하드웨어 고장을 고려해야합니다, 통신 오류, 및 DS18B20의 비정상 반응.

다음은 디버깅 및 예외 처리 전략입니다:

데이터 검증: 각 데이터를 읽은 후, 체크섬 또는 점검 비트를 사용하여 데이터의 정확성을 확인하십시오..
예외 캡처: 프로그램에 예외 캡처 메커니즘을 추가하십시오, 타임 아웃 재 시도 메커니즘과 같은, 센서를 재설정하십시오, 등.
디버그 정보: 문제를 찾는 데 도움이되는 프로그램에 충분한 디버깅 정보 출력을 추가하십시오..
int 메인() {
// DS18B20 센서를 초기화하십시오
DS18B20_INIT();
// 메인 루프
~하는 동안(1) {
int 온도;
// 온도를 읽고 오류를 확인하십시오
온도 = DS18B20_READTEMPERATURE();
만약에 (온도 < 0) {
printf(“오류 읽기 온도!\N”);
// 재 시도 또는 기타 오류 처리 메커니즘을 선택할 수 있습니다.
} 또 다른 {
printf(“현재 온도: %d n”, 온도);
}
}
반품 0;
}

이 장에서는 DS18B20 디지털 온도계의 C 언어 프로그래밍 재단 및 환경 준비를 소개합니다., 온도 판독 프로그램의 구현뿐만 아니라, 프로그램 디버깅 및 예외 처리의 중요성을 강조합니다.. 이 장의 소개를 통해, 독자는 개발 환경을 구축 할 수 있어야합니다, 1 차 통신 기능 라이브러리의 중요성을 이해하십시오, 기본 온도 읽기 프로그램을 작성하십시오. 다음 장은 Proteus 시뮬레이션 환경의 구성 및 사용을 더 자세히 살펴볼 것입니다., 실제 하드웨어 어셈블리를위한 시뮬레이션 테스트 방법 제공.


5. Proteus 시뮬레이션 다이어그램 및 시뮬레이션 결과 분석
5.1 Proteus 시뮬레이션 환경 구성
5.1.1 Proteus 소프트웨어의 기본 작동
DS18B20 디지털 온도계의 시뮬레이션 모델을 구축하기 전에, 먼저 Proteus 소프트웨어의 기본 작동을 이해하고 마스터해야합니다.. Proteus는 강력한 전자 회로 시뮬레이션 소프트웨어로 회로 회로도를 설계 할 수있을뿐만 아니라, 또한 회로 PCB 레이아웃을 설계하고 시뮬레이션 기능을 제공합니다.. 다음은 Proteus를 시작하는 데 도움이되는 몇 가지 주요 단계입니다.:

Proteus 소프트웨어를 열고 새로운 프로젝트를 만듭니다.
구성 요소 라이브러리에서 필요한 구성 요소를 검색하고 선택하십시오., DS18B20 센서와 같은, 마이크로 컨트롤러, 전원 공급 장치, 연결 전선, 등.
선택한 구성 요소를 설계 영역으로 드래그하고 마우스를 사용하여 배치하고 레이아웃하십시오..
배선 도구를 사용하여 각 구성 요소의 핀을 연결하여 완전한 회로를 만듭니다..
구성 요소 또는 와이어를 두 번 클릭하여 속성을 수정하십시오, 저항 값과 같은, 전원 공급 장치 전압, 등.

모든 구성 요소가 올바르게 연결되어 있는지 확인하고 오류 또는 누락을 확인하십시오..

5.1.2 DS18B20 시뮬레이션 프로젝트를 만듭니다
DS18B20 디지털 온도계를위한 시뮬레이션 프로젝트를 만드는 단계는 다음과 같습니다.:

Proteus를 시작하고 선택하십시오 “새로운 프로젝트” 새로운 프로젝트를 만들려면.
프로젝트 이름과 위치를 설정 한 후, 딸깍 하는 소리 “다음”.
프로젝트 템플릿을 선택하십시오, ~와 같은 “마이크로 프로세서 기반”, 그리고 클릭 “다음”.
에서 “프로젝트 항목” 꼬리표, 확인하다 “기본 구성 요소를 포함합니다” 마이크로 컨트롤러를 선택하십시오 (PIC와 같은, AVR, 등.) 및 DS18B20 센서.
딸깍 하는 소리 “마치다” 프로젝트 생성을 완료합니다.

다음, 회로 회로도를 만듭니다:
선택하십시오 “장치를 선택하십시오” 도구, 구성 요소 라이브러리에서 마이크로 컨트롤러 및 DS18B20 센서를 찾고 선택하십시오..
사용하십시오 “장치를 배치하십시오” 선택한 구성 요소를 설계 영역에 배치하는 도구.
사용하십시오 “철사” 마이크로 컨트롤러 및 DS18B20 센서의 관련 핀을 연결하는 도구.
연결을 완료 한 후, 사용하십시오 “텍스트” 쉽게 이해하고 수정하기 위해 회로도에 주석을 추가하는 도구.

5.2 시뮬레이션 테스트 및 데이터 분석
5.2.1 시뮬레이션 매개 변수 및 조건을 설정하십시오
시뮬레이션을 시작하기 전에, 시뮬레이션 실행의 매개 변수와 조건을 설정해야합니다.:
마이크로 컨트롤러 구성 요소를 두 번 클릭하여 속성 설정 인터페이스를 입력하십시오..
이전에 작성된 프로그램 파일 경로를 선택하십시오 “프로그램 파일”.
마이크로 컨트롤러와 DS18B20 센서에 올바른 전원 공급 장치 전압을 갖도록 전원 공급 장치 매개 변수를 설정하십시오..
다음, 시뮬레이션의 시간 매개 변수를 설정하십시오:
시뮬레이션 제어판에서, 선택하다 “글로벌 설정”.
시뮬레이션 속도와 최대 시뮬레이션 시간을 조정하십시오.
시뮬레이션 프로세스 중에 데이터를 분석하기 위해 적절한 중단 점을 설정.

5.2.2 온도 데이터를 시뮬레이션하고 읽습니다
시뮬레이션을 실행하고 온도 데이터를 시뮬레이션하십시오:
클릭하십시오 “놀다” 시뮬레이션 제어판의 버튼은 시뮬레이션을 시작합니다..
사용하십시오 “디버그” 프로그램 실행 상태 및 가변 값을 볼 수있는 도구.
DS18B20 센서를 시뮬레이션하여 온도 값을 읽습니다, 일반적으로 시뮬레이션 환경에서 가상 온도계를 수정하여 달성됩니다..

시뮬레이션에서 온도 데이터를 읽습니다, 다음 단계를 참조 할 수 있습니다:
DS18B20 구성 요소의 속성에서 온도 시뮬레이션 설정 찾기.
온도 값을 수정하여 다른 온도 조건에서 시스템 응답을 테스트합니다..
마이크로 컨트롤러 프로그램이 온도 데이터를 처리하는 방법을 관찰하십시오.

5.2.3 결과 분석 및 문제 해결
시뮬레이션 결과를 분석하고 온도계의 성능을 확인하십시오.:
온도 판독 값이 정확한지 확인하기 위해 출력 창의 데이터를 모니터링합니다..
로직 분석기 도구를 사용하여 데이터 통신 프로세스가 정상인지 모니터링하십시오..
비정상적인 신호 또는 불안정한 출력을 확인하십시오.

결함 진단 및 디버깅을 수행하십시오:
온도 판독 값이 부정확하거나 오류가있는 경우, DS18B20의 연결 방법과 구성을 확인하십시오.
프로그램 코드를 분석하여 1 차 통신 및 데이터 변환 알고리즘이 올바르게 구현되도록합니다..
사용하십시오 “멈추다” 시뮬레이션 소프트웨어 기능 시뮬레이션을 일시 중지하고 시스템의 현재 상태를 관찰합니다..