Этот проект
для записи температуры использует
микроконтроллер PIC,
EEPROM с последовательным
интерфейсом и
термистор.
Измерение
температуры и
ее сохранение производит
ся с периодичностью, выставленной пользователем;
запись происходит от 1
секунды до 256
секунд.
Временной интервал установливается путем записи
дл
ительности и времени
запуска в EEPROM.
Большую
часть времени
PIC находится в
спящем реж
име, и EEPROM
не активна.
Это дает очень
малое потребление потребление -
приблизительно 50 мкА или
приблизительно 1 мА/ч
в
день.
Используя EEPROM 32 кБ,
можно
сохранить до
32000 измерений. Если записывать
измерения каждые
30 секунд, то
памяти хватит
на 11
дней.
Данная
аналоговая схема и
термистор позволяют регистрировать температуру
от -40 °C до
+100 °C, но
линейность
будет только в диапазоне от
-10°C
до 40
°C
Готовое устройство:
На
этой фотографии
устройство регистрации температуры
показано с
подключенным внешним
термистором. К
разъему на конце
платы подведены питание, тактовая
частота и данные I2C
и аналоговый вход.
Полный
размер готового устройства составляет 40
мм
в длину,
26 мм в ш
ирину и 16
мм в высоту.
На этом
фото устройство
регистрации температуры
соединено с блоком
из 4 батареек типоразмера
AAA.
Плата (версия 1)
Первая версия устройства
была
собрана на макетной плате с
микросхемами
в корпусах
DIP и традиционными выводными
пассивными компонентами.
Микроконтроллер находится слева
от цента
печатной платы,
микросхема EEPROM
смонтирована вертикально для
сохранения места, справа от
центра.
Используемые внешние разъемы
– 1.3
мм
разъем питания и 5-контактный однорядный
разъем
справа.
Другие
компоненты: разъем для программирования
с д
иодом и резистором вверху
слева, кварцевый
резонатор и
2 конденсатора
слева от PIC,
два подтягивающих резистора для
I2C перед микросхемой EEPROM
и резистор для
деления
потенциала термистора вверху справа.
Печатная плата (версия 2)
Вторая версия устройства собра
на на односторонней
печатной плате домашнего
производства с
микросхемами в
корпусе SO8
и пассивными компонентами
для планарного монтажа.
Микросхемы
имеют шаг выводов 1.
27 мм, фильтрующий
конденсатор
в цепи питания имеет корпус
0805
(21.27
мм), резисторы в корпусах
1206 (31.
5 мм). Кварцевый
резонатор и
его конденсаторы
и разъемы
такие же как
и в предыдущей версии.
Дорожки были разведены с
шириной 0.5
мм.
Программа для PIC контроллера
Программа
для
PIC контроллера
написана на ассемблере и
основана на
предыдущих проектах, в
которых использовался
I2C интерфейс.
Микросхема EEPROM,
контроллер и внешний
разъем подключены к одной
шине I2C. Контроллер не
использует шину до
тех
пор, пока термистор не будет
подключен,
при этом
адрес продолжает инкрементироваться. Таким
образом, повреждения
данных будут видны.
Когда измерение
температуры не
производится, контроллер
находится в спящем
режиме. Он «просыпается» раз
в секунду (используя внешний
кварцевый резонатор и
внутренний
счетчик) чтобы проверить, не пора
ли
сделать измерение.
Интервал измерений хранится в
EEPROM по
строго определенному адресу
и считывается
при включении
питания.
Терм
истор и резистор формируют
делитель напряжения, которое измеряется
встроенным АЦП PIC контроллера.
Измерение производится четыре
раза,
и четыре значения складываются. Это
позволяет
производить измерения
немного точнее, так как
среднее значение
четырех измерений будет
ближе к
истинному значению,
чем результат
одного измерения, в
связи с шумом, присутст
вующим в схеме.
Значения, полученные
с АЦП, сохраняются
непосредственно,
без преобразования в значения температуры.
Для
экономии места
в памяти без потери
точности измерений,
изменение значения по
сравнению с
предыдущим измерением
сохраняется, по
возможности, в 1
байте. При отсутствии такой
возможности используются 2 байта.
Если значение изменило
сь с
последнего момента не более чем
на
±112, записывается
разница. Если изменения значения
превышают этот
порог, записываются 2
байта, при
этом первый
байт имеет
флаг, указывающий на
то, что число хранится
в двух байтах.
В
устройстве используется контроллер
PIC12F683,
работающий от внутреннего генератора на
частоте
4 МГц.
I2C интерфейс работает на
частоте около
100 кГц, при
этом интерфейс
реализован программно,
PIC SSP
не используется.
Полная
информация по этому проекту
доступна для скачивания. Она
включает библиотеку функций
для
I2C интерфейса, схему, расположения элементов
на
печатной плате
и различные программы на
С. Этот
проект включен в
библиотеку library
of PIC
code, которая
доступна для загрузки.
Программа для ПК
Чтобы
перезапустить устройство имеется программа,
которая очищает всю
EEPROM
(до 0xff) и записывает 32
байтный
заголовок со
временем запуска и интервалом
измерений. PIC
контроллер использует значение
интервала измерений,
чтобы определять
когда делать
измерение, значение времени
запуска используется программой, которая
обрабатывает данные.
Чтобы прочитать
данные, есть программа,
которая
считывает все содержимое EEPROM и
выделяет
из него
время старта, интервал
измерений и «сырые»
данные. Данные из
каждой области
EEPROM преобразуются
в дату,
время, измеренное значен
ие и температуру.
Схема
Схема
очень проста: один резистор
для встроенного АЦП,
два
– для интерфейса I2C, микросхема
EEPROM,
интерфейс для
программирования PIC (разъем, 1
диод и
1 резистор), тактовый
генератор (резонатор
и 2
конденсатора).
Расположение элементов на плате, версия 1
На этой
простой схеме показан монтаж
элементов на макетной
плате.
Это вид сверху, такой же,
как
на фотографии.
Расположение элементов на плате, версия 2
На этом рисунке
показаны элементы
и дорожки
на печатной
плате, сделанной на
заказ. Плата показана со
стороны дорожек, хотя некоторые
компоненты смонтированы на
другой
стороне.
Примеры результатовНиже изображен
пример
результатов, полученных
с использованием устройства регистрации
температуры
устройством.
Устройство было помещено
рядом с
домашним термостатом
на 10
дней зимой в
начале 2007. На графике
показаны измеренная температура и
установки термостата («умный»
термостат,
достигающий установленной температуры за определенное
время).
Измеренные данные
явно соответствуют установкам термостата:
когда термостат
включен в течение
дня, и
когда выключен
ночью, и
температура быстро спадает.
Скачать файлы проекта -
Вы не можете скачивать файлы с нашего сервера
Источник:
http://www.gedanken.demon.co.
uk/temperature-recorder/