Железо |
 |
| Схема устройства |
| Спецификация |
| 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. |