Принцип термостатирования, описанный в [1], может применяться в микроконтроллерных системах даже с большей эффективностью, так как функции дискретных элементов термостата полностью берут на себя микроконтроллер и встроенное программное обеспечение. Измеряется напряжение база-эмиттер транзистора, который используется как датчик температуры и, одновременно, как нагреватель. Простейший алгоритм, по достижении порогового напряжения снижающий базовый ток транзистора на заданное время, позволяет поддерживать температуру термостата с точностью не хуже ±0.2 °C. Такой точности более чем достаточно для решения задач повышения метрологических характеристик аппаратуры, в том числе находящейся в эксплуатации, так как редко микроконтроллер (МК) используется на 100%, а в данном случае требуется один свободный порт ввода/вывода (с возможностью аналого-цифрового преобразования) и несколько десятков байт программной памяти. В локальном термостатировании, в первую очередь, нуждаются частотозадающие элементы и источники опорного напряжения, в том числе в составе микросхем. Применение в качестве датчика-нагревателя миниатюрных транзисторов в SMD исполнении позволяет термостатировать практически любой элемент микроконтроллерной системы, а то и несколько элементов одновременно.
Поскольку публикаций, посвященных теме использования транзисторов в качестве единственного элемента термостата, не обнаружено, в данном материале делается попытка предоставить читателю необходимый инструментарий и обобщить полученные результаты.
Первым шагом в исследовании данной тематики стал стенд на базе МК Atmel ATtiny13 (Рисунок1). Он содержит в своем составе термостатируемый элемент (датчик LM35), транзистор-нагреватель, ЖК индикатор (МТ-10Т11, МЭЛТ), коммутатор входов микроконтроллера U2 и схему бесперебойного питания. Датчик позволяет отслеживать температуру в термостатируемом объеме с точностью ±0.1 °C, и одновременно является тепловой нагрузкой для исследуемого транзистора. Это дает возможность оценить некоторые временные и мощностные характеристики реального термостата. Напряжение база-эмиттер в милливольтах выводится на индикатор одновременно с выходным напряжением датчика LM35, которое численно равно температуре в десятых долях градуса Цельсия. Коммутатор входов (CD74HC4053) микроконтроллера дает возможность оперативно обновлять внутреннюю память, оставляя входы МК под задачи исследования. Может использоваться любой программатор с интерфейсом программирования SPI. Надежно работают китайские клоны USBISP и USBASP.
Рисунок 1. |
Особо нужно отметить схему бесперебойного питания. Ее наличие снимает проблему ограниченных возможностей программаторов и самой шины USB по току, особенно при испытаниях транзисторов средней мощности, а также гарантирует стабильность показаний измеряемых параметров при коммутации нагревателем значительной мощности.
Программное обеспечение стенда включает две программы на ассемблере и, безусловно, излишне сложнó для практического использования, так как обеспечивает индикацию температуры и напряжения база-эмиттер транзистора (UBE), но позволяет быстро получить необходимые параметры для реальной задачи. Измерение температуры отдельным датчиком в стенде дает довольно точную картину колебаний температуры термостатируемого элемента, если масса и размеры последнего соизмеримы с датчиком.
Первая программа (ts67) при включении сначала стабилизирует температуру на несколько градусов ниже той, что запланирована, используя сигнал датчика LM35, и только потом, фиксируя UBE, переходит в режим стабилизации по этому напряжению. Для использования в термостате достаточно немного скорректировать, на несколько милливольт, значение UBE, выводимого на индикатор, в зависимости от отклонения средней температуры датчика от заданной. Точность поддержания определяется как разность максимальной и минимальной температуры. Таким образом можно проверить пригодность конкретного типа транзистора и получить исходные данные для проектируемой системы.
Вторая программа (ts65) – это, собственно, термостат, но с большим коэффициентом усреднения измерений для обеспечения удобства считывания результата, позволяет определить время выхода на режим и, приблизительно, мощностные характеристики по времени включенного состояния транзистора. Алгоритм стабилизации по порогу напряжения UBE и, как ожидается, температуры одинаков для обеих программ.
Поскольку первоначальной целью была термостабилизация кварцевого резонатора HC-49U, а наиболее удобными для этого показались транзисторы в корпусе TO-92 (SC-72), именно они стали первым объектом испытаний на применимость. Чтобы сделать хоть сколько-нибудь обоснованные выводы, было выбрано случайным образом 4 типа транзисторов (2SC3199, 2SC1740S, 2SC3311 и 2SC3330S). Из небольшой партии отбиралось по три транзистора с максимальным, средним и минимальным значениями h21E. Ток коллектора, приблизительно 120 мА, задавался резистором R3 и не изменялся при смене транзисторов. Попутно проверилась надежность транзисторов при использовании в термостате. Дело в том, что максимальный паспортный ток коллектора для 2SC3311 – 100 мА. Именно этот тип специально проверялся на токе, превышающем максимальный на 20%, в течение нескольких месяцев. Все параметры термостата, полученные в начале испытаний, подтвердились по завершению. После этого излишне говорить о режимах, заведомо ниже максимальных.
Испытуемый транзистор и датчик LM35, выводами в одну сторону, стягивались двумя витками медного провода или небольшим колечком термоусадочной трубки (между деталями вкладывалась полоска меди) и помещались в соединитель стенда, изготовленный из панельки для микросхем. Теплоизоляцией служил комочек ваты. Других мер теплоизоляции специально не применялось.
В микроконтроллер стенда была загружена первая, из вышеописанных, программа. Для всех транзисторов через 20 минут после начала работы стенда фиксировалось пороговое напряжение, минимальная и максимальная температура датчика. На этом этапе был забракован транзистор 2SC1740S, с которым точность поддержания температуры ±0.55 °C была признана неприемлемой. Обратило на себя внимание и самое большое пороговое напряжение среди претендентов – 695 мВ (65 °C). Далее испытывались оставшиеся на дистанции типы, и только с крайними значениями h21E. Данные порогового напряжения приводились к ожидаемой температуре 65 °C. Для этого использовался эмпирический коэффициент –3.0 мВ/°C, то есть разница между температурой 65 °C и зафиксированной на стенде умножалась на этот коэффициент, и на эту величину корректировалось UBE перед компиляцией и заливкой второй программы. На данном этапе программа становится индивидуальной. Пример: 2SC3330S, h21E = 433/288, UBE = 675/670. Установка температуры в термостате, таким методом, вполне удовлетворительная. Транзистор работал термостатом не менее 10 дней. Два раза в сутки фиксировались минимальное и максимальное значения температуры датчика. Назовем разность этих величин кратковременной нестабильностью. Дело в том, что несколько раз были замечены необъяснимые отклонения (до +1.5 °C), значительно превышающие типовую нестабильность, но при следующей проверке показания возвращались в обычные рамки. Над этой проблемой еще предстоит поработать, но повторяем: эти скачки долговременной нестабильности достаточно редки.
Безусловным фаворитом среди претендентов является транзистор 2SC3111 с коэффициентом усиления 435. Пороговое напряжение (при температуре 65 °C) равно 650 мВ. Кратковременная стабильность термостата – ±0.1 °C. Зафиксированный разовый скачок температуры – 0.6 °C. Теперь этот экземпляр служит эталоном в данном направлении. Следующий – 2SC3330S (433/288). UBE = 675/670 (65 °C) мВ. Кратковременная стабильность – ±0.25/0.45 °C. Обратите внимание, транзистор с меньшим усилением демонстрирует большую нестабильность. Это закономерность, подтвержденная результатами. Далее – 2SC3199 (300 – среднее), UBE = 668, стабильность ±0.35 °C. На этом транзисторе в достаточном диапазоне проверен шаг перестройки температуры в зависимости от порога напряжения UBE и принят коэффициент –3.0 мВ/°C. Точное значение еще предстоит проверять, но близость к температурному коэффициенту p-n-перехода очевидна.
Из вышесказанного нетрудно сделать простой вывод об элементной базе термостата. Теперь об оставшихся за чертой. Если используется транзистор с коэффициентом усиления ~250, стабильность не выходит за границы ±0.5 °C. Транзисторы с меньшим коэффициентом не испытывались, но это не значит, что использовать их в термостате бессмысленно. Возможно, потребуется пересмотреть алгоритмы или режимы.
В заключение необходимо указать на некоторые особенности использования предложенной схемы. Резистор R2, скоммутированный портом микроконтроллера на «землю», снижает базовый ток транзистора, но не выключает его полностью. Это ограничивает минимальную температуру (~50 °C) термостата, но позволяет стабилизировать ее в пределах 60…70 °C, с указанной точностью, без существенных затрат процессорного времени. Режим с коммутацией базы на «землю» (R2 = 0) расширяет диапазон от температуры окружающей среды до заданной, но требует бóльшего времени. Следует отметить, что усреднение результатов преобразования по 64 отсчетам, применяемое в ПО стенда, совершенно излишне на практике.
И последнее… Ни один транзистор, включаемый по приведенной схеме, в процессе исследований не пострадал.