Ежик в тумане писал(а): Короче есть схема управления обогревом для некоторого устройства. она реализована на тини 25...
Измерение температуры осуществляется внутренним датчиком контроллера, для которого написана программа. суть ее такова: в памяти хранится 2 числа.
Когда результат АЦП будет будет больше или меньше одного из чисел, обогрев будет включаться, либо выключаться... что бы записать эти числа в память - нужно знать какой код выдает АЦП при определенной температуре.
Не буду сегодня ругать Тини, поговорим о конкретной проблеме и возможном ее решении.
Для начала, встроенный термодатчик НЕ ПРЕДНАЗНАЧЕН для
ИЗМЕРЕНИЯ температуры.
Его задача
оценить условия работы кристалла, в случае необходимости дать сигнал тревоги или отключить устройство.
Поэтому большинство производителей встроенный термодатчик не калибруют, и особой точности от него ждать не следует.
Второй момент, параметры полупроводников при нагреве меняются, поэтому результат калибровки незапаянного проца, после его монтажа изменится. Если запаивали правильно, не нарушая режимов, изменения будут небольшими, если кристалл перегрели - характеристики уплывут сильно.
Отсюда совет - калибровать уже готовое устройство.
Теперь о самой калибровке.
Если есть возможность смонтировать на устройство разъем, на который вывести 3 порта проца, то всю калибровку можно автоматизировать.
Один вывод назначаем как признак тестового режима.
При подаче на него сигнала проц входит в цикл считывания информации по 2 другим выводам и измерения температуры.
Для начала рассмотрим устройство с жестко заданными порогами.
При появлении сигнала на выводе условно названым "
High" проц берет результат измерения и записывает в переменную верхнего предела температуры.
При появлении сигнала на выводе условно названым "
Low" проц берет результат измерения и записывает в переменную нижнего предела температуры.
Если пределы в процессе работы могут меняться, скажем передаваясь по последовательному каналу с хоста, то калибровку можно производить при "0" и "+100", или 2 других удобных точках.
Зная эту разницу можно достаточно просто получить значения АЦП для любой заданной температуры в конкретном проце.
Наружу, из проца, результаты измерений выводить не надо, и заморачиваться с индикацией и перекодировкой тоже не придется.
Сама процедура калибровки выглядит следующим образом.
1. Несколько устройств соединяются 4-проводным шлейфом и помещаются в термостат.
2. Все включается, выдается сигнал на шину "Test", процы переходят в тестовый режим.
3. Выставляется нижний порог температуры, подается сигнал на шину "Low". Все процы записыват в свою память из АЦП значение нижнего порога.
4. Температура повышается, подается сигнал на шину "High" и процы пишут себе значение верхнего порога.
В случае, если устройство уже разработано и разъем для калибровки не вывести, то процы можно калибровать в панельках, но тогда очень тщательно следить за режимом пайки откалиброваных процов.
P.S.
ARV прав, применение готового устройства проще. Хотя если на кристал возложены еще какие-то задачи, то без МК возможно не обойтись. Но внешний калиброванный датчик все равно предпочтительней.