사진의 고온용 온도계. ATmega8의 온도계 및 온도 센서 DS18B20

MK에서. 그 핵심은 PIC16F628A 마이크로컨트롤러입니다. 온도계 회로는 공통 양극이 있는 4자리 또는 2+2 LED 표시기를 사용합니다. 사용된 온도 센서는 DS18B20 유형이며 제 경우에는 센서 판독값이 0.5*C의 정확도로 표시됩니다. 온도계의 온도 측정 한계는 -55 ~ +125*C로 모든 경우에 충분합니다. 온도계에 전원을 공급하기 위해 트랜지스터 13001이 있는 IP에서 휴대폰의 일반 충전기를 사용했습니다.

PIC16F628A 마이크로컨트롤러 온도계의 개략도:

PIC16F628A 펌웨어를 플래시하기 위해 ProgCode 프로그램을 사용하여 컴퓨터에 설치하고 잘 알려진 구성표에 따라 ProgCode 프로그래머를 조립했습니다.

사용된 마이크로 컨트롤러의 핀 지정 및 기타 유사한 MK의 핀아웃:

ProgCode 프로그램과 단계별 펌웨어 사진이 포함된 지침은 포럼 아카이브에 있습니다. 이 구성표에 필요한 모든 파일도 있습니다. 프로그램에서 "모두 기록"버튼을 열고 클릭하십시오. 제가 제작한 장치에서는 사진에서 볼 수 있듯이 온도계 2개가 한 케이스에 한 번에 조립되어 있으며 위쪽 표시기는 집의 온도를 나타내고 아래쪽 표시기는 외부 온도를 보여줍니다. 실내 어느 곳에나 배치되며 화면의 유연한 와이어로 센서에 연결됩니다. 자료 제공: ansel73. 펌웨어 편집자: [)eNiS

답변

Lorem Ipsum은 인쇄 및 조판 산업의 단순한 더미 텍스트입니다. Lorem Ipsum은 1500년대부터 알려지지 않은 인쇄업자가 활자 갤리를 가져와 활자 표본 책을 만들기 위해 뒤섞인 이후로 업계 표준 더미 텍스트였습니다. 이 텍스트는 http://jquery2dotnet.com/ 5세기 이상 생존했습니다. , 전자 조판으로의 도약(본질적으로 변경되지 않음) 1960년대 Lorem Ipsum 구절이 포함된 Letraset 시트가 출시되면서 대중화되었으며, 최근에는 Lorem Ipsum 버전을 포함하는 Aldus PageMaker와 같은 데스크탑 출판 소프트웨어가 출시되었습니다.

이 장치는 DS18B20 센서의 전체 범위(-55~+125도)에 걸쳐 0.1도의 정확도로 온도를 측정하도록 설계되었습니다. 0.1의 정확도는 매우 조건적입니다. 제조업체가 선언한 DS18B20 센서 자체의 정확도는 0.5도입니다. 그럼에도 불구하고 사람들은 0.1도까지 표시되는 온도계를 만들어 달라는 제안으로 나에게 자주 접근했고, 나는 그렇게 했습니다.

온도계는 온도를 측정하여 4자리 LED 표시기에 표시합니다. 다양한 온도 범위는 다르게 표시됩니다.
-55.0...-10.0 - 도 기호 없이 -ХХ.Х 형식
-9.9...0.1 - 형식 -Х.Х 및 도 기호
0.0...9.9 - X.X 형식 및 도 기호
10.0...99.9 - XX.X 및 도 기호
100.0...125.0 - 도 기호가 없는 XXX.X


또한 온도계에는 표시기의 밝기를 어둡게 하는 기능이 있습니다. 밝기는 S 버튼으로 선택하며, 버튼을 누르고 있는 동안은 밝기가 높아지고, 누르지 않으면 밝기가 낮아집니다. 버튼 대신 조도센서를 연결해 시간대(좀더 정확하게는 조도)에 따라 밝기가 자동으로 변하도록 할 수도 있다.

온도계는 2개의 인쇄 회로 기판에 조립되어 있습니다. 표시기 보드 및 컨트롤러 보드. 보드는 접촉 패드에 따라 90도 각도로 함께 납땜됩니다. 7805 칩을 설치할 때 방열판 플랜지를 잘라야 합니다. 표시기는 빨간색이든 녹색이든 무엇이든 될 수 있습니다. 공통 양극이 있는 동적 디스플레이를 갖는 것이 중요합니다.

온도계는 DS18B20 센서, DS1820, DS18S20 센서 등과만 올바르게 작동합니다. 이 온도계에는 적합하지 않습니다! 7~12V의 일정한 전압을 생성하는 모든 안정화 또는 비안정화 전원 공급 장치가 장치에 전원을 공급하는 데 적합합니다. 예를 들어 휴대폰에 불필요한 충전기를 사용할 수 있습니다. 전원 공급 장치의 출력 전압이 8V를 초과하지 않으면 7805 안정기 대신 78L05를 사용할 수 있지만 매우 뜨거워지면 표시기 음극의 저항을 220Ω으로 높여야 합니다.

온도계가 달린 탁상시계와 벽시계는 아날로그 시계 케이스로 제작됩니다. 시계와 온도계는 별도의 독립된 장치로 제작됩니다.

온도계에 대해서는 설명하지 않겠습니다. 동일한 웹 사이트에 게시되어 있습니다. 회로, 인쇄 회로 기판 및 펌웨어가 있으며 모든 것이 변경되지 않았습니다.

탁상시계의 온도 센서 DS18B20은 창 바깥쪽에 있습니다. 절연 전선 0.35mm, 길이 약 10m

시계는 단일 7세그먼트 녹색 LED 표시기로 조립됩니다. 숫자의 크기는 14x25.4mm로 방의 어느 구석에서나 명확하게 보입니다. 표시기는 담금질 저항 없이 연결됩니다. 이는 각 세그먼트가 직렬로 연결된 두 개의 LED로 구성되고 공칭 전압이 3.8V이기 때문입니다. 동적 표시를 사용하면 전류가 허용 값을 초과하지 않습니다.

전압 안정기는 어댑터 플러그에 있습니다. 표준 회로에 따라 3 와트 변압기와 고주파 변환기 안정기 LM2575T-5.0에 조립됩니다. 방열판이 없는 초소형 회로는 실제로 가열되지 않습니다. 3.5mm 전원 공급 장치용 커넥터입니다. 석영 4MHz.

모든 저전력 n-p-n 트랜지스터. 도체 측면에 납땜된 버튼 6x6 H=14/10mm . 버튼 푸셔의 길이는 설계 요구 사항에 따라 선택됩니다. 버튼을 누를 때마다 유닛이 추가됩니다. 누르고 있으면 카운트 속도가 적당한 속도로 빨라집니다.

저항기 MLT – 0.25. R3 – R6 1-3kΩ.

배터리: GP-170 4개 또는 이와 유사한 것. 주 전압이 꺼지면 마이크로컨트롤러에만 전원이 공급됩니다.

순방향으로 전압 강하가 가장 낮은 다이오드를 선택하는 것이 좋습니다.
보드는 단면 호일 유리 섬유로 만들어집니다.
폴더 1번에 HEX 파일, 다이어그램, 씰이 있습니다.

옵션 2: 하나의 보드에

이 케이스는 시계와 온도계라는 두 개의 보드에 맞지 않았습니다. 나는 시계 표시기의 크기를 줄이고 싶지 않았습니다.

나는 탁상시계에 하나의 표시기로 시간과 온도를 차례로 표시하는 것을 좋아하지 않습니다.
나는 온도계에 대한 또 다른 작은 표시기를 가져와서 새로운 인쇄 회로 기판을 그려야 했습니다. 따라서 온도계의 회로와 펌웨어가 다릅니다.

폴더 2번에 HEX 파일과 온도계 다이어그램이 있습니다. 같은 위치에 인쇄 회로 기판이 있습니다.
변경 사항이 없는 시계 다이어그램은 첫 번째 섹션에서 가져온 것입니다.

아래에서 HEX 형식의 펌웨어 및 인쇄 회로 기판을 다운로드할 수 있습니다.

방사성 원소 목록

지정 유형 명칭 수량 메모가게내 메모장
옵션 1
MK PIC 8비트

PIC16F628A

1 메모장으로
VR1 DC/DC 펄스 변환기

LM2575

1 5V 메모장으로
VT1-VT4 바이폴라 트랜지스터

KT3102

4 메모장으로
VD1, VD2, VD4 다이오드

D310

3 메모장으로
VD3 쇼트키 다이오드

1N5819

1 메모장으로
VS1 다이오드 브리지

DB157

1 메모장으로
C1, C2 콘덴서20pF2 메모장으로
C3, C5 콘덴서0.1μF2 메모장으로
C4 330μF 16V1 메모장으로
C6 전해콘덴서100μF 35V1 메모장으로
R1, R2 저항기

10kΩ

2 메모장으로
R3-R6 저항기

1k옴

4 메모장으로
R7, R10 저항기

100옴

2 메모장으로
L1 인덕터330μH1 메모장으로
TR1 변신 로봇 1 메모장으로
F1 퓨즈100mA1 메모장으로
배터리4.8V1 메모장으로
HL1, HL2 발광 다이오드 2 메모장으로
S1, S2 단추 2 메모장으로
Z1 석영4MHz1 메모장으로
지시자FYS10012BG211 메모장으로
옵션 2
MK PIC 8비트

PIC16F628A

1 메모장으로
VT1-VT4 바이폴라 트랜지스터

KT3102

1 메모장으로
C1, C2 콘덴서20pF2 메모장으로
C3 콘덴서0.1μF1 메모장으로
R1 저항기

4.7k옴

1 메모장으로
R2, R3, R5, R6 저항기

인쇄회로기판과 디자인은 벽에 걸 수 있는 컴팩트한 장치를 만들겠다는 기대를 가지고 디자인했다는 점을 바로 지적하고 싶습니다.

장치는 하나의 버튼을 사용하여 제어됩니다. 마이크로 컨트롤러용 프로그램은 C로 작성되었으며 주석이 제공되며 사용자는 특정 작업에 맞게 수정하거나 기능을 확장할 수 있습니다. LCD 표시기를 제어하기 위해 기성품 Peter Fleury 라이브러리가 사용됩니다(다운로드 가능한 아카이브는 다운로드 섹션에서 사용 가능). 또한 데이터는 섭씨 또는 화씨로 표시될 수 있습니다. 표시기 백라이트를 제어하는 ​​데는 여러 가지 모드가 있습니다.

또 다른 중요한 점은 주목할 가치가 있습니다. 장치는 특수 모듈(옵션)을 사용하여 Bluetooth 프로토콜을 통해 무선 데이터 전송을 수행할 수 있습니다.

개략도

회로 설계 관점에서 볼 때 장치는 간단하므로 구성 요소를 별도로 고려하겠습니다.

온도계의 전원 공급은 표준 연결(적절한 필터 커패시터 포함)의 통합 전압 조정기를 기반으로 만들어집니다. 3.3V AMS1117 전압 조정기가 회로에 포함되어 있지만 Bluetooth 모듈을 사용하는 경우 사용할 수 있습니다. 이러한 모듈의 전원 공급 장치는 종종 3.3V입니다.

장치에 사용되는 표시기는 HD44780 컨트롤러의 표준 2줄 표시기입니다. 트랜지스터는 마이크로 컨트롤러의 논리 신호 또는 마이크로 컨트롤러의 PWM 신호로 표시기 백라이트를 제어하도록 설계되었습니다. 저항 R3은 트랜지스터 베이스를 통과하는 전류를 제한하고, 저항 R1은 베이스를 0 전위로 끌어옵니다.

온도계의 기본은 8MHz의 주파수에서 작동하고 모든 주변 주변 장치를 제어하는 ​​마이크로 컨트롤러입니다.

DHT-11 센서는 프로젝트에서 실외 센서로 사용되는 저가형 온도 및 상대습도 센서입니다. 속도와 정확성이 빠르지는 않지만 비용이 저렴하기 때문에 아마추어 무선 프로젝트에 사용됩니다. DHT-11은 용량성 습도 센서와 서미스터로 구성됩니다. 또한 센서에는 습도와 온도의 아날로그 값을 변환하기 위한 간단한 ADC가 포함되어 있습니다.

주요 특징:

  • 저렴한 비용;
  • 공급 전압 3V - 5V;
  • 최대 20m 거리에서 1-Wire 버스를 통한 데이터 전송;
  • 5% 정확도로 습도 20-80% 측정;
  • 최대 전류 소비 2.5mA;
  • 2%의 정확도로 온도 측정 0...50°;
  • 폴링 주파수는 1Hz 이하(1초에 한 번 이하)입니다.
  • 치수 15.5 × 12 × 5.5mm;

인터페이스는 동일하지만 특성이 더 나은 DHT-22 센서를 시중에서 찾을 수 있다는 점에 유의해야 합니다.

센서는 데이터 라인의 풀업 저항과 전원 공급 장치의 차단 커패시터를 사용하여 1-Wire 버스(다이어그램의 커넥터 JP3)를 통해 마이크로컨트롤러에 연결됩니다.

내부 센서는 널리 사용되는 아날로그 온도 센서 LM35 IC5이며 마이크로 컨트롤러 ADC의 채널 1에 연결됩니다.

마이크로컨트롤러 회로 내 프로그래밍 인터페이스의 커넥터 J1을 사용하면 프로그램 코드를 빠르게 변경하거나 소프트웨어를 업데이트할 수 있습니다. UART 인터페이스를 통해 온도계를 연결하려면 커넥터 JP1이 사용됩니다. SW1 제어 버튼은 마이크로컨트롤러의 외부 인터럽트 입력에 연결되며, 이 입력은 포트의 내부 저항을 통해 전원 공급 장치에 연결됩니다.

다이어그램에 IC3으로 표시된 무선 데이터 전송용 Bluetooth 모듈인 GP-GC021은 마이크로컨트롤러의 UART 인터페이스에도 연결되어 PC, 휴대폰 또는 웹 서버로 데이터를 전송할 수 있습니다. 인쇄회로기판은 모듈 설치를 위한 공간을 제공합니다. 다운로드 섹션에는 모듈, 상호 작용 프로세스 및 명령에 대한 설명이 포함되어 있습니다.

커넥터 내부의 인쇄회로기판 전면에 LCD 인디케이터를 장착하여 메인보드에 장착된 부품을 숨길 수 있어 컴팩트한 장치를 얻을 수 있습니다. 블루투스 모듈을 장착하는 위치는 인쇄회로기판(PCB) 뒷면입니다(기판 사진 참조).

완성된 온도계용 인쇄회로기판의 모습


Eagle CAD의 PCB 도면

블루투스 모듈이 설치된 보드

다운로드

회로도 및 인쇄회로기판(Eagle), 소프트웨어(소스코드, 펌웨어) -
HD44780 컨트롤러의 LCD 표시기 작업을 위한 라이브러리 -
블루투스 모듈 GP-GC021에 대한 기술 설명 -

가정용으로 설계된 PIC16F628A 및 DS18B20 기반의 2채널 온도계 설계는 일반 무선 아마추어와 자동차를 소유한 사람들 모두의 관심을 끌었습니다.

자동차에 사용하기 위해 온도계 디자인은 회로와 소프트웨어 모두에서 많은 변화를 겪었습니다. "Home"이라는 문구가 "Salon"으로 대체되었으며 이제 디스플레이 하단 라인에 차량 온보드 네트워크의 전압이 표시됩니다. 온보드 네트워크의 전압 측정 기능을 구현할 때 사용된 마이크로 컨트롤러에 디지털-아날로그 변환기(ADC)가 부족하여 어려움이 발생했습니다. 그러나 마이크로 컨트롤러에는 온보드 전압을 측정하는 데 사용되는 비교기 모듈이 있습니다. 비교기 모듈을 사용하여 0.7V의 측정 분해능으로 5.6V ~ 16V의 입력 전압 범위에서 전압을 측정할 수 있었습니다. 이는 마이크로컨트롤러를 교체하지 않고 문제를 해결하기 위한 최선의 선택입니다. 온보드 네트워크의 전압을 알면 배터리 상태를 평가할 수 있습니다. 장치를 켜는 즉시(점화 스위치 또는 다른 방법 사용) 온보드 전압이 측정됩니다. 온보드 전압이 10.5V 미만인 경우 자동차 온도계 전압계는 소리 신호(1.5초 동안)로 알리고 동시에 디스플레이 하단 줄에 약 1분 동안 "배터리 - 방전됨"이라는 메시지를 표시합니다. 3~4초 다음으로, 온보드 전압의 현재 값이 하단 라인에 표시됩니다. 전압 값이 5.6V 미만이면 표시기에 "전압"이라는 메시지가 표시됩니다.<6B ", 그리고 16V를 초과하는 경우 - "전압 >16V ".

계획에 대한 설명:

Microchip PIC16F628A의 마이크로 컨트롤러는 내부 클록 생성기(4MHz)에서 이 장치에서 작동하는 제어 컨트롤러 D1로 사용됩니다.

마이크로 컨트롤러는 Nokia3310 휴대폰의 LCD 표시기 E1에 차량 온보드 네트워크의 측정된 온도 및 전압에 대한 정보를 표시합니다. 이 정보는 SPI 유형의 직렬 인터페이스 채널을 통해 전송됩니다. 마이크로컨트롤러와 디스플레이 간의 정보 교환은 단방향이며 데이터는 마이크로컨트롤러에서 표시기로만 전송됩니다.

저항 R11...R15는 표시기에 내장된 입력 보호 회로와 함께 표시기에 공급되는 제어 신호 레벨의 조정을 보장합니다.

표시기는 약 +3.3V의 표시기 공급 전압을 제공하는 파라메트릭 전압 안정기에 의해 전원이 공급됩니다. 전압 안정기는 제너 다이오드 V5, 저항 R10 및 필터 커패시터 C8로 구성됩니다. 스태빌라이저에 공급되는 전원은 +5V의 안정화된 전압 소스에서 공급됩니다. 온도 측정은 Maxim DS18B20의 디지털 온도 센서 U1 및 U2를 통해 수행됩니다. 이 센서는 공장에서 보정되었으며 -55 ~ +125°C의 주변 온도를 측정할 수 있으며, -10...+85°C 범위에서 제조업체는 ±0.5°C보다 나쁘지 않은 절대 측정 오류를 보장합니다. 측정 온도 범위 경계에서는 정확도가 ±2°C로 저하되며, 온도계 판독값은 측정 온도 전체 범위에서 ±0.1°C의 분해능으로 표시됩니다.

마이크로컨트롤러 D1과 온도 센서 U1 및 U2 간의 데이터 및 명령 교환은 1-Wire 직렬 인터페이스 채널을 사용하여 수행됩니다. 소프트웨어를 단순화하기 위해 센서는 마이크로컨트롤러의 별도 입력에 연결됩니다. 이 경우 1-Wire 버스를 통한 교환 프로토콜이 단순화됩니다. 즉, 센서 주소 지정 및 예비 초기화가 필요하지 않습니다.

저항 R4, R6은 1-Wire 인터페이스 라인용 부하 저항입니다. 저항 R5, R7은 센서 전원 회로에 단락이 발생한 경우 온도계의 내부 전원 공급 장치를 보호하는 기능을 수행합니다.

커넥터 X3은 마이크로컨트롤러 D1의 회로 내 프로그래밍에 사용됩니다. SMD 마이크로컨트롤러를 사용하거나 DIP 패키지의 마이크로컨트롤러가 소켓에 설치되지 않고 보드에 직접 납땜되는 경우 설치해야 합니다. 커넥터 X3은 PICKIT2 프로그래머를 온도계에 직접 연결합니다.

피에조 이미터 SP1은 배터리가 부족함을 알리는 사운드 신호를 출력합니다.

자동차 온도계의 내부 전원 공급 장치 회로는 다음과 같이 구현됩니다. - 커넥터 X4에서 온보드 전압이 다이오드 V1 및 저항 R3을 통해 유형 7805의 통합 전압 안정기 칩 U3에 공급됩니다.

이 마이크로 회로는 온보드 네트워크 전압을 사용하여 +5V의 안정화된 전압을 생성하여 마이크로 컨트롤러, 파라메트릭 표시기 안정기 및 디지털 온도 센서에 전원을 공급합니다.

다이오드 V1은 온도계의 전원 공급 회로에서 음전압 임펄스 노이즈의 통과를 방지하고, 장치에 잘못된 전원 공급(전력 반전)이 발생할 경우 장치를 보호하며, 커패시터 C1과 함께 장치 마이크로컨트롤러의 재시작을 방지합니다. 자동차 시동 장치 또는 기타 에너지 집약적 소비자가 자동차를 켤 때 온보드 네트워크에 전압 강하가 발생하는 경우 - 저항 R3은 제한 다이오드(억제기) V2와 함께 펄스 노이즈의 영향으로 발생하는 과전압으로부터 온도계의 내부 회로를 보호합니다.

온보드 네트워크의 전압을 측정하는 데 필요한 아날로그 신호를 생성하는 장치는 저항성 전압 분배기 R1, R2, 잡음 억제 필터 커패시터 C2(R1, C2) 및 다이오드 V3, V4에 조립됩니다. 저항 R1은 과전압으로부터 마이크로컨트롤러의 아날로그 입력을 보호합니다.

전압 측정의 정확도를 높이려면 1% 정확도의 저항 R1, R2를 사용하는 것이 좋지만 측정 분해능이 매우 크므로(0.7V) 이 조건은 필요하지 않습니다.

저항 R3의 전력은 0.5W 이상이어야 하며 강철 저항의 전력은 출력의 경우 0.125W, SMD 저항의 경우 0.1W가 될 수 있습니다.

자동차 온도계의 프로토타입이 단면 인쇄 회로 기판에 조립되었습니다.

주의, 인쇄 회로 기판 및 프로토타입의 설치는 아래에 제시된 파일인 Shema_avto_termo_3310_pic16f628.spl 다이어그램에 따라 이루어집니다. 위에 제시된 다이어그램과의 차이점은 요소의 디자인 및 위치 지정에만 있습니다.