Железо |
|
Схема устройства |
Спецификация |
DD1 | ATtiny15L |
DD2 | MAX232CPE |
Rt | 100K, 5%, EPCOS B57164J |
R1 | 4.7K |
R2 | 15K |
R3-R5 | 1K |
C1-C5 | 1мкф, 50В |
C6 | 4700пф |
C7 | 1нф |
C8 | 0.1мкф |
VT1 | КТ815В |
K1 | Tyco, RT184005 |
|
Свободное место на плате оставлено под сетевой трансформатор, фильтр-выпрямитель-стабилизатор. Монтировать не стал специально. Всё таки 220В - это высокое напряжения, а я его боюсь!!! Последовательно с R2 включен подстроечник, после чего подключен мультиметр (Mastech-838) и... легким движением отвертки 5% превращаются в 0.8% (кажется такая точность у мультиметра). |
|
Фас |
|
Профиль |
|
Формирователь для RS-232, виден только в отраженном свете ;) |
|
Термистор от EPCOS |
Снимок окна терминалки. |
|
Настройки для терминалки |
Софт |
Архив проекта со всеми файлами, которые нагенерил Atmel AVR Studio 4, Version 4.12, Build 472, Service Pack 2. Там же батник для зашивки AVReAl'ом. Там же два Excel файла с табличкой сопротивлений термостата, там же расчётные значения для таймеров, которые рулят UART'ом. |
Программа для экспериментов с таблицей сопротивлений термистора и экспериментов с алгоритмом Брезенхема. |
Таблица сопротивлений термистора. Температуры в нём нет, однако: шаг в 5 градусов, начальное значение дано для -55 градусов, конечное - для 125 градусов. |
Программа заточена под микроконтроллер ATtiny15L. По причине отсутствия в нём ОЗУ - UART работает в полудуплексе. Размер буфера команд - 10 байт (символов). Для интерполяции (апроксимации???) используется алгоритм Брезенхема. Точность должна быть ~1 градус. Сколько реально - не знаю как проверить ;) При подключении взамен термистора - подстроечного сопротивления, результат получается вполне нормальный. То есть, сопротивление на входе соответствует температуре, выдаваемой термостатом. Команды для общения с термостатом видны на картинке. Всё что можно - вынесено в прерывания. |
Сводная таблица параметров и не только |
Параметр | Использовано | Было всего |
ROM (байт) | 932 | 1024 |
Регистры | 31 | 32 |
RAM | 0 | 0 |
UART | soft, 2400бод, 1 стоп бит (1 отсчёт на бит, старт с ножки, далее по таймеру) | предельная скорость пока не проверялась |
Timers | 2 (UART + запуск ADC) | 2 |
Температура | -20 : +125 (увы, 10 бит АЦП не хватило) | -55 : +125 |
Точность | 1градус (расчётное значение) | даже и не знаю, сколько может быть в теории |
|
Другие реализации |
Исходный TRM от Dmitry Orlov на базе PIC12F675 |
TRM от Nicolas Minakov на базе AVR ATtiny45. |
(с) Vladimir Rybakov, 2006. |