В этом проекте представлен двухканальный цифровой термометр, который состоит из следующих основных компонентов: 

- микроконтроллер фирмы Microchip PIC16F628A;
- модуль жидкокристаллического графического индикатора, в котором используется дисплей от мобильного телефона Nokia 5110 (вместо этого модуля можно использовать индикатор от телефона Nokia 3310 с соответствующей схемой включения);
- два датчика температуры фирмы Maxim DS18B20 или DS18S20, DS1820;
- небольшое количестве резисторов и конденсаторов.

Измерение температуры выполняется цифровыми датчиками температуры DS18B20 (DS18S20, DS1820). Данные цифровые датчики позволяют измерять температуру от -55 до+125°С, причем в интервале -10...+85°С производитель гарантирует абсолютную погрешность измерения не хуже ±0,5°С. На границах диапазона измеряемых температур точность ухудшается до ±2°С.Индикация показаний термометра во всем диапазоне измеряемых температур выполняется с точностью ±0.1°C, при использовании DS18B20, и с точностью ±0.5°C, при использовании DS18S20.

СХЕМА

termo 628 5110 shema

ПЕРЕЧЕНЬ ЭЛЕМЕНТОВ

D1  - микроконтроллер PIC16F628A;
E1 -  модуль индикатора Nokia 5110;
C1,C2  - керамический конденсатор 0,1мкФ;
C3  - электролитический или танталовый конденсатор 33мкф х 16В;
R1  - резистор 10к Ом, 0.125Вт;
R2,R3  - резистор 4,7к Ом, 0.125Вт;
R4,R5  - резистор 100 Ом, 0.125Вт;
Х1  - любой разьем для подачи напряжения питания +5В;
X2  - разьем типа PLS-5 для подключения программатора PICKIT2 или PICKIT3;
X3,X4  - любые разьемы для подключения датчиков DS18B20 (DS18S20, DS1820).

ОПИСАНИЕ

Управляющие команды от микроконтроллера  к датчикам, а также данные об измеренной температуре от датчиков в микроконтроллер передаются  по однопроводному последовательному интерфейсному каналу типа 1-Wire. Для упрощения программного обеспечения  термометра для каждого датчика выделен отдельный канал. К термометру одновременно должны подключаться только датчики одного типа. Тип датчиков определяется программным обеспечением при занесении кода программы в микроконтроллер.

Микроконтроллер  PIC16F628A, получив информацию о значениях температур от датчиков, преобразует  её для отображения на LCD индикаторе Nokia5110.  Вывод полученной от датчиков температуры и обработанной микроконтроллером информации на LCD индикатор осуществляется по последовательному интерфейсному каналу типа SPI (реализован программно).

Разъем Х2 служит для осуществления внутрисхемного программирования. Тип разъема и его цоколевка контактов обеспечивают подключения устройства к программатору типа PICKit2, PICKIT3. Если под микроконтроллер устанавливается панелька типа TRS18, то разъем Х2 можно не устанавливать, а программирование микроконтроллера осуществлять с помощью любого другого программатора отдельно от устройства.

Питание термометра осуществляется от источника постояного тока с напряжением 5В через разъем Х1. При подключении цепи "BL" (контакт 1 разъема Х1) к цепи "+5V" (контакт 2 разъема Х1) включится подсветка индикатора E1.

ПРОГРАММА

Имеется несколько версий программного обеспечение 2-х канального цифрового термометра. Отличие версий друг от друга заключаются в выводимой на экран информации, а также в возможности работать с тем или другим датчиком температуры (DS18B20 или DS18S20). Версии программного обеспечения, работающие с датчиками DS18S20 и DS1820 в имени файла имеют букву "S" после номера версии.

Соответствие выводимой информации к версии прошивки приведено ниже:

01.termo3310v1.0.hex

  01.termo3310v1.0s.hex

 02.termo3310v1.1.hex

  02.termo3310v1.1s.hex

 03.termo3310big_font_v2.0.hex

  03.termo3310big_font_v2.0s.hex

IMG 20160229 223318  IMG 20160229 225649   IMG 20160229 225816

 04termo3310big_font_v2.1.hex

  04termo3310big_font_v2.1s.hex

05.termo3310big_font_v2.2.hex 

 05.termo3310big_font_v2.2s.hex

 05.termo3310big_font_v2.2_Teplota.hex
IMG 20160229 225922  IMG 20160229 230039  IMG 20160229 230236 

06.termo3310big_font_v2.3.hex

06.termo3310big_font_v2.3s.hex

06.termo3310big_font_v2.3_andr.hex 06.termo3310big_font_v2.3_andr1.hex
IMG 20160229 230520   IMG 20160229 230634  IMG 20160229 230740

07. termo3310big_font_v2.4.hex

 07. termo3310big_font_v2.4s.hex

08.termo3310big_font_v2.5.hex

08.termo3310big_font_v2.5s.hex

08.termo3310big_font_v2.5_avto.hex

08.termo3310big_font_v2.5s_avto.hex

IMG 20160229 231047 IMG 20160229 231231 IMG 20160229 231422
 08.termo3310big_font_v2.5_avto1.hex

 09.termo3310v3.0_avto.hex

  09.termo3310v3.0s_avto.hex

 ПРОЧИЕ ПРОШВКИ:
IMG 20160229 231601 IMG 20160229 231850

 08.termo3310big_font_v2.5_avto2.hex

23_termo_lcd_628_18b20_for_vectra.hex

 для китайских LCD Nokia3310:

06.termo3310big_font_v2.3_china_Sasha.hex

27_termo_18b20_big_font_china_salon.hex

 

Разные варианты исходного кода программного обеспечения можно скачать перейдя по следующей ссылки: