Сделано по образу и подобию термостата Хардлока. Плата в один слой не влезла, но второй слой состоит только из перемычек. В принципе термостат на Tiny2313 тоже с перемычками на обратной стороне.
Прошивки и исходники в аттаче, всё проверено в железе.
Основные идеи такие:
- в тиньку 2313 постоянно что-то не влезает, но при этом цена на нее перестала быть сильно ниже, чем на мегу.
- в термостате Хардлока главное то, что он стал платформой, на которой разработана куча ответвлений. Предлагая смену чипа, нужно помнить про совместимость на уровне платформы - люди часто просят что-то доработать.
- исходный код термостата Хардлока должен втыкаться с минимальными переделками в термостат на меге
- исходный код термостата из "работы над ошибками" должен вообще быть совместим, ну плюс-минус ссылки на другой контроллер.
При разводке печатной платы выяснилось, что всё влезает примерно в форм-фактор термостата на 2313. Примерно соответствует оригиналу даже расположение входов под кнопки и выходов на нагрузку, и падов для подпайки датчика температуры. То есть в принципе возможно заменить оригинальный термостат на этот, что может оказаться полезным. Особо хочется отметить, что реализованы некоторые старые "хотелки":
- простейший супервизор питания включен в схему изначально
- кварц не влезал, но удалось впихнуть керамический резонатор (для всяких там тахометров и распределений зажиганий)
- удалось вывести на колодку один из входов АЦП (для всяких там вольтметров в машину)
- защитный диод заменен на защитный полевой транзистор, это позволяет запитываться напрямую от USB зарядок
- сама печатная плата может быть сделана на однослойном текстолите, вся обратная сторона может быть заменена перемычками из проводов (сам пока не пробовал, нужно внимательно следить за соединениями земляных полигонов)
- предусмотрены пады под все ноги, необходимые при программировании, причем почти все они находятся на одном торце устройства, это на мой взгляд удобно
- вывод RESET не получилось вывести на колодку на торце. Может кто придумает как...
нижний торец (нумерация справа налево) - подключение питания и датчика (3,4,5 соответствуют названиям пинов в даташите на DS18B20)
1 GND
2 V+
3 GND
4 VDD
5 DQ
правый торец (нумерация от нижнего угла)
1 GND
2 LOAD (выход на реле), MOSI
3 BTN-, MISO
4 BTN+, SCK
5 VCC
6 ADC (пока не используется прошивкой)
для программирования требуется штырек для доступа к пину RESET, отмечен стрелочкой на картинке выше.
Фьюзы: Изменения:
Номер версии вернулся к четвертой (сначала была выложена версия под номером 7.0.7), теперь версии исходного термостата на ATtiny2313 и этого термостата на ATmega8 TQFP синхронизированы по функционалу и имеют одинаковые версии 4.1.00
Для поддержания совместимости с версией для ATtiny2313 (http://hardlock.org.ua/viewtopic.php?f=9&t=370)
некоторые прямые обращения к регистрам заменены на дефайны:
DISPLAY_PORT, DISPLAY_PIN, DISPLAY_DDR,
OUTPIN_NO (нормально открытый порт),
OUTPIN_NC (нормально закрытый порт - в Mega8 пока не поддерживается)
Бинарники теперь собираются на CodevisionAVR v3
Для автоматизации сборки в проект добавлен файл version.txt
Плата слегка изменена:
В парочке мест увеличены расстояния между дорожками, так как при ручном изготовлении там из раза в раз медь не протравливалась.
Все отверстия колодок приведены в соответствие с размером штырьков PLS. В предыдущей версии был задан такой диаметр отверстий, что штырьки не влезали.
Переходное отверстие, к которому припаивается штырь RESET также увеличено до размеров штырька PLS.
В итоге платы, изготовленные на заказ по комплекту герберов TermostatTQFP.gerber.v2.0.4.zip выглядят так: В архиве также есть полноценная плата в формате Sprint Layout 6, весьма точно соответствующая плате в формате Eagle. Но по lay6 я на производстве не заказывал и в железе не проверял, так что за отсутствие косяков не ручаюсь.
И по многочисленным заявкам наших постоянных зрителей выкладываю фотку готового девйса: Номиналы деталей не соответствуют схеме, это я экономлю, беру похожие из имеющихся в наличии. Плата подключена к USB зарядному устройству шнурком с USB-A разъемом на конце. Шнур питания припаян (я пока не придумал как без пайки сделать надежно, компактно и так, чтобы не препутать плюс с минусом. Регулятор напряжения не распаян, вместо него сопелька из припоя.
Светодиод в верхеней части фото - часть супервизора питания.
На плате виден распаяный резонатор - это необязательный элемент.
Исправленные ошибки:
1. Версия 4.1.02 исправляет неправильную конфигурацию портов кнопок - порты были настроены на выход вместо входа. Проблема проявлялась в повышенном потреблении тока при нажатии кнопок.
2. Фьюзы - обратите внимание, термостат должен работать на 8ми мегагерцах.