В этом проекте представлен двухканальный цифровой термометр, который состоит из следующих основных компонентов:
- микроконтроллер фирмы 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.
СХЕМА
ПЕРЕЧЕНЬ ЭЛЕМЕНТОВ
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 |
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 |
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 |
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 |
08.termo3310big_font_v2.5_avto1.hex |
09.termo3310v3.0_avto.hex 09.termo3310v3.0s_avto.hex |
ПРОЧИЕ ПРОШВКИ: |
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
|
Разные варианты исходного кода программного обеспечения можно скачать перейдя по следующей ссылки: