Доброго времени суток!
Обещанный гаджет в виде новогоднего подарка – мелкое терморегулирующее устройство на основе DS18B20 и PIC12F629 испеклося. По ходу работ успел наскочить на собственные "грабли" в виде конденсатора в 270 микрофарад на макетке и собственно "особеннотей готовки ПИКа"... Так что в программе и фузах кой-чего может показаться избыточным... Одначе такие склерозно -мелкоподзабытости обошлись в три дня матюков с последующим... мндяаа...

однако с пользой для результата работы.
Выложенная прожка и схемка соответствуют применению как автономно, так и в комплекте с ранее смурлыченным индикатором «extdi_2313».
http://img.radiokot.ru/files/20529/tcsnkhver.GIF - собственно регулятор
и ранее сделанный внешний индикатор -
Однако при некоторой переделке исходника вывод L_ErO терморегулятора выполняет роль простого индикатора аварийного/рабочего состояния.
Собственно в исходнике изначально ставился на том выводе индикатор статуса ошибки (закомментирован), а для контрольных испытаний был прикошмарен внешний индикатор.
Теперь несколько особенностей «готовки» данного устройства.
1. В исходнике установлено значение калибровочной константы (скорректированное) для моего образца – повторяющему данную схемку прийжется сначала считать значение калибровочной константы своего МК (а также значение в колонке «Bandgap») и после процедуры загрузки trm629.hex восстановить значения именно для собственного образца МК.
2. Для работы с внешним индикатором может потребоваться изменение значения калибровочной константы в пределах +/- 8 единиц для устойчивой работы канала связи с индикатором (изначальная конструкция с PIC16F676 запустилась без оных «плясок с бубном») – если индикация будет выбрасывать вперемешку то значение температуры датчика, то сообщение «ECRC».
Возможные общие сообщения индикатора
«8.8.88» - начальная тест-заставка;
«ECRC» - ошибка контрольной CRC пакета при обмене по RS232;
«Er-L» - обрыв и/или КЗ шлейфа датчика (сброс только отключением питания);
«Er- C» - ошибка пакета CRC при обмене с датчиком (сброс только отключением питания).
Система работает в режиме самосинхронизации независимо от порядковости подачи питания на модули индикатора и/или датчика.
Уставка пользователя, тип регулятора (нагреватель/холодильник) и интервал работы «пускового термореле» для компрессора задается в файле eei_trm629_1 в соответствующих ячейках, текст основной программы при этом не меняется.
Однако пока (да и для большинства простых применений) такого «фиксированного» при изготовлении значения вполне достаточно.
Да и внешний цифровой индикатор – штука весьма излишняя. Теоретически такую систему без «внешнего индикатора» (только сам регулятор и светики статуса состояния) можно организовать и на PIC12F508 – но там с отладкой и возможной сменой уставок (PIC12C508) достаточно муторно.
В «чистом виде» (очищено от «излишних разъёмов» и кросс-плат/переходников свойственных конкретно моим макеткам) схема регулятора может иметь вид:
http://img.radiokot.ru/files/20529/tcsp0r6og.GIF - терморегулятор с датчиком и мелкосхемой RS232/индикаторными диодами (силовой ключ - на выбор из предложенного)
и "внешний индикатор"
http://img.radiokot.ru/files/20529/tcspkrxf3.GIF с максимально упрощенной схемой.
Интервал между замерами 0,88 секунды, уставка пользователя является максимальной температурой, вторая уставка генерируется программой в соответствии с типом регулятора (для нагревателя -1, для холодильника +1).
Вобщем… Кому будет интересно – пишите замечания/пожелания.
С любезной подачи
Sem7 получил опыт работы с программой uniprof (для чего была предварительно спаяна схемка для COM-порта
http://img.radiokot.ru/files/20529/tcsk418sa.GIFhttp://img.radiokot.ru/files/20529/tcsr208ak.jpgс разводкой, соответствующей уже ранее применяемых у меня на STK200 панелек.
Вполне употребимый софт, даже с несколько излишними для начинающих наворотами.
Со схемкой COM-порта работает вполне уверенно… Жабко только та схемка может использовать лишь штатный порт материнки – с USB-COM работать не будет…
Главная особенность (и «подвох» в некотором роде) это разница «до наоборот» в отношении «галок» при установке фузов в uniprof и PonyProg2000.
Это вкладки для одного и того же проекта на ATTiny13A:
- для понипрога
- и тот же проект для унипрофа
Появились также пара экземпляров PIC16F1823…Однако под них (и не только) прийдется переделывать старую добрую AN589 – надо изменить схему под регулируемый стабилизатор напряжения программирования (даавноо напрашивается – особо в ключе применения AN589 в комплекте с winpicpgm_1.8.3.0)… А поскольку мудернизировать старую как-то неохота прийдется по ходу дела новенькое вымутить…
