HRP-N3 - серия источников питания с максимальной пиковой мощностью в 350% от MEAN WELL
РадиоЛоцман - Все об электронике

Простое измерение температуры микроконтроллером с помощью диода и конденсатора

Использование p-n перехода диода для измерений температуры, как правило, основано на изменении прямого напряжения диода, связанного с температурой коэффициентом 2 мВ/K. Обычно, прежде чем это напряжение можно будет использовать в микроконтроллере, его нужно усилить и оцифровать с помощью АЦП. Менее известен тот факт, что обратный ток диода с p-n переходом имеет хорошую экспоненциальную зависимость от температуры; увеличение температуры примерно на 12 K увеличивает ток утечки вдвое (Рисунок 1). Проще всего измерить ток в столь большом диапазоне значений от двух до трех декад, зарядив и разрядив конденсатор и измерив время или частоту.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обратный ток p-n перехода диода экспоненциально зависит от температуры. Увеличение температуры примерно на 12 K удваивает ток утечки.
Рисунок 1. Обратный ток p-n перехода диода экспоненциально
зависит от температуры. Увеличение температуры
примерно на 12 K удваивает ток утечки.

Микроконтроллер заряжает конденсатор, либо временно используя линию ввода/вывода как выход, либо подключая внутренний подтягивающий резистор RPULLUP, имеющийся в некоторых микроконтроллерах (Рисунок 2а). После заряда этот вывод конфигурируется как высокоимпедансный вход, и конденсатор разряжается током утечки диода (Рисунок 2б). Тогда время разряда будет пропорционально температуре диода. Для некоторых типов диодов экспоненциальное поведение может быть почти идеальным. Необходима калибровка устройства в нижней точке шкалы, поскольку абсолютные значения тока при заданной температуре имеют сильный разброс.

Конденсатор C сначала заряжается через подтягивающий резистор линии вывода-ввода микроконтроллера, сконфигурированной как выход (а). Затем конденсатор разряжается обратным током утечки диода D (б).
Рисунок 2. Конденсатор C сначала заряжается через подтягивающий
резистор линии вывода-ввода микроконтроллера,
сконфигурированной как выход (а). Затем конденсатор
разряжается обратным током утечки диода D (б).

Выбор типа диода и емкости конденсатора требует определенного внимания. Чем меньше p-n переход, тем меньше обратный ток, и тем больше время разряда. Периоды больше нескольких секунд обычно не подходят. Слишком малое значение емкости конденсатора приводит к ошибкам, поскольку начинают сказываться емкости кабеля и p-n перехода самого диода.

Хорошие результаты обычно дают мощные диоды, такие как 1N4001 с емкостью 1 нФ. Время разряда, при комнатной температуре составляющее примерно от 0.3 с до 1 с, при 100 °C падает в миллисекундный диапазон. В схеме также можно использовать p-n переход мощного транзистора.

EDN

Перевод: AlexAAN по заказу РадиоЛоцман

На английском языке: Simple microcontroller-temperature measurement uses only a diode and a capacitor

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • А ничего, что параллельно диоду-датчику еще включены защитные диоды и ключевые транзисторы в микроконтроллере? Т.е. такой измеритель температуры будет мерить непойми что.
  • Он и так будет мерить не пойми что, пока каждый собранный экземпляр измерителя не будет откалиброван с помощью образцового термометра. Если нужна повторяемость, то эта схема не годится, ИМХО ...
  • Во-первых, ток защитных диодов, по крайней мере на порядок, как минимум, меньше, чем ток мощного диода. Во вторых, ток верхнего диода будет частично компенсировать ток нижнего и наоборот. Поэтому влияние его на измерение будет ничтожным. [B]kovigor, [/B] если нужна точность (1...2) грд., а не прецизионные измерения, то вполне сгодится.
  • чесать левой пяткой правое ухо - это наше всё.....огромный выбор специальзированных датчиков, как аналоговых, так и цифровых. Повторяемость измерений 100% не зависимо от экземпляров.
  • Зато дешево, очень ...
  • По бедности для измерения температуры до 200 градусов (даже до 250) использовал последовательное соединение из 3-4 диодов 1N4148 в стекле, включённых в землю делителя (резистор 5кОм на +5В). Получается NTC датчик (аналог полупроводниковых датчиков серии KTY8х). Для таких датчиков единожды снял характеристику с шагом в 1 градус. Т.к. терморегуляторы делал сам, то при программировании МК таблица просто зашивается в память, при измерениях простой поиск по таблице. Конечно, присутствовал разброс характеристик полученных датчиков, но в программе терморегулятора предусомотрел простейшую коррекцию для калибровки - ввод сдвига кривой (кроме стандартных гистерезиса и уставок). Это я к тому, что повторяемость у [B]дешёвых вариантов[/B] наподобие описанного мной есть, стоимость таких датчиков и терморегуляторов ничтожная. Там, где датчики часто умирают в силу механических причин, а у меня это было множество термопрессов с огромными прессформами и пуансонами c датчиками в каждой стенке, [B]такой подход очень даже оправдан[/B]. Точности измерения температуры в 1-3 градуса достаточно для большинства промышленных задач. Но те времена ушли, перешёл на термопары. А сейчас и этого делать не нужно, поскольку рынок наводнён китайскими термоконтроллерами почти под любую задачу. P.S. Да вот, единственная сложность - это соединение диодов. Паять нежелательно, лучше точечная сварка или аккуратная опрессовка ножек между собой гильзами. Конечно, при изготовлении датчиков нужны корпуса, пару сотен которых в подсобной токарке выточить из дюрали не проблема. [code]// Для трёх диодов 1n4148 отсчёты АЦП uint16_t temps_mas[331] PROGMEM = { 3327, 3320, 3312, ... 370, 364, 358 } void measure_temperature(void) { ... temp_1 = -50; // Не будет в таблице - датчик оборван uint16_t tmp1, tmp2; tmp1 = pgm_read_word(&temps_mas[0]); for(int i=1; i<331; i++) { tmp2 = pgm_read_word(&temps_mas[i]); if(ADC_value <= tmp1 && ADC_value > tmp2) { temp_1 = i-30; // Нижний предел -30 градусов break; } tmp1 = tmp2; } if(temp_1 <= -50) // Датчик в обрыве error_flag_1 = SET; else error_flag_1 = RESET; ... }[/code]
  • 1. Многие (если не все) промышленные терморегуляторы используют для измерения температуры холодного спая p-n переход. 2. Многие (если не все) промышленные терморегуляторы предоставляют пользователю возможность коррекции измерений в настройках прибора.
  • Возьмите любой дешевый мультиметр с поддержкой термопары, вроде DT838. Там для компенсации стоит диод. Едва ли кто-то калибрует каждый мультиметр, но и точность там порядка 1 - 2 градусов ...
  • А почему паять не рекомендуется ?
  • Вопрос скорее чем паять. Так, для температур в районе 200 градусов какой-нибудь бессвинцовый припой вполне подходит. А вот если рабочая температура 250 градусов, то уже нужно что-то более тугоплавкое. Поскольку те же ПОС30 / ПОС40 имеют температуру плавления 240-260 градусов, маловато. Конечно, подходят серебросодержащие припои типа ПСр 1,5 (ПСр 2,5, ПСр 3) и т. д. Но тут вопрос ещё и в культуре производства. В моём случае прессформы довольно большие, от 200 кг массой, причём полностью разборные. Значит всё на разъёмах, и нагрев, и контроль температуры. Разъёмы быстро окисляются из-за условий работы и тогда измерения плывут из-за привнесённых сопротивлений. Низкоквалифицированный персонал только постфактум по перегреву материала и нагару видит, что был перегрев. И на практике стенки порой перегреваются до 350. Это, очевидно, проблема для паяных соединений да и сами полупроводниковые датчики убиваются, потому что всему есть предел. Но чаще датчики убиваются при сборке- разборке прессформ из-за механических повреждений, обрывов. Вообще, много использовал платиновые термодатчики Pt100/Pt500, которые на керамике. Питание током, усилитель, коммутатор, АЦП МК. Делал регуляторы и с универсальными входами по типу овеновских ТРМ. Выход в зависимости от задачи - мощный симистор, если нужно резать фазу, или бистабильное реле. Но всё по той же причине окисления разъёмов (и в целом наличия промежуточных разъёмов) [B]использовать термодатчики со слабым выходным сигналом сложно[/B]. Термопары же не любят лишних разрывов измерительного провода и тем более разъёмов в цепи измерения. Для них компенсацию на разъёме прибора легко сделать, а вот промежуточные разъёмы привносят существенную погрешность в измерения. Но это азы, так сказать. Вообще, термопары - самые надёжные датчики. И недорогие, если покупать термопровод ХА/ХК бухтами :-) Раньше, при конструировании терморегуляторов, пока не научился делать дешёвую компенсацию на диоде, использовал активные термодатчики типа LM50. Диод же дешевле, схемы типовые. Но даже для своего производства выпускать терморегуляторы малыми сериями довольно накладно, учитывая обилие автоматики на рынке. Т. е. такой подход "сделай автоматику сам", конечно, неправильный. Но порой даёт существенную экономию и определённую гибкость. Гибкость в плане возможности реализации частных алгоритмов управления, удалённого оповещения и диагностики. Если делать нечего :-)
  • да, где-то так
  • Жду MAX31855!
  • Сам по себе термометр, построенный на MAX31855, тем более с первой попавшейся термопарой, никак нельзя назвать эталонным. На старте это 2-3 градуса отклонения или хуже. Наибольшую точность в эталонных приборах получают с платиновыми термометрами сопротивления (ТСП, ПТС). При этом точность обратнопропорциональна температуре. С ростом последней падает. Там тоже присутствует компенсация, но совсем другого рода.
  • Эталонность здесь совершенно не причем, зато очень даже причем то, что этот чип за доступную цену полностью избавляет от проблемы, рассмотренной в статье выше. А заодно и от проблем АЦП в МК, как аппаратных, так и программных. А для эталонных измерений наверняка уже есть свои "эталонные" чипы. :)
  • Да я не против этого чипа, просто показалось, что говорилось про образцовость. Проверить же термопару на высоких температурах проблематично. У меня для "обьективного контроля" есть термопарный старичёк Fluke 54. Для контроля работы терморегулятора в закалочной печи достаточно. Есть также пирометр. Но он врёт после 500 градусов, на отметке 800 градусов несовпадение с термопарой на 50 единиц. Кстати, купил недавно прозапас дешёвый HYELEC MS6501 до 750 градусов. Точность вверху заявленного диапазона не соответствует.
Полный вариант обсуждения »