Устройство предназначено для оперативного контроля температуры тела человека и может быть полезно в случаях, когда быстрая оценка температуры важнее знания ее точного значения (ведь не секрет, что в большинстве случаев мы удовлетворяемся значениями «нормальная» или «повышенная», не уточняя конкретные цифры). Изюминкой устройства является то, что оно собрано на крохотном микроконтроллере attiny13и обладает следующими параметрами:
индикация 5 уровней температуры тела –от пониженнойдо очень высокой при помощи одного RGB-светодиода
питание от 2-х «таблеточных» батареек
в схеме всего 13 элементов, включая 2 батарейки
контроль напряжения питающих батарей
автонастройка на параметры компонентов схемы
полуавтоматическая калибровка датчика температуры
внутренняя точность измерения лучше 0,02°С
нет дорогих или дефицитных компонентов
Принципиальная схема индикатора приведена на рисунке.
Принципиальная схема
Основа конструкции – микроконтроллер attiny13. Он должен быть настроен на работуот встроенного RC-генератора 9,6 МГц с включенным делителем на 8 (именнос такими настройками эти контроллеры выпускаются производителем). Если контроллер уже побывал в работе, необходимо запрограммировать в нем следующие fuse-биты:DWEN=1, CKDIV8=0 и CKSEL=10. Для повышенной экономичности (все-таки, батарейная конструкция) желательно заблокировать встроенную систему контроля напряжения питания, т. е. установить fuse-битыBODLEVEL=11. Бит RSTDSBLобязательно должен быть равен 1 (это на случай, если у вас фирменный программатор)! Все прочиеfuse-биты принципиальной роли не играют.
В качестве датчика используется диод VD1. Он может быть любым кремниевым, желательно, как можно меньших габаритов, чтобы обеспечить быструю реакцию на изменение температуры.
Кнопка SB1 – тактовая, любого типа, служит для управления работой индикатора при калибровке и для включения режима измерения при эксплуатации.
Питание устройства осуществляется от двух «таблеточных» батареек GB1 и GB2. Конденсатор C1 – электролитический, емкостью от 10 мкФ, напряжением 5 и более вольт, с малым током утечки. Он сглаживает пульсации напряжения при подсевших батарейках и, в принципе, является необязательным компонентом. Выключателя питания у устройства нет, т. к. потребление энергии происходит в основномво время измерении температуры и индикации,т. е. относительно короткое время, а большую часть времени микроконтроллер «спит» и потребляемый ток практически равен току утечки C1.
RGB-светодиод HL1 типа KAA-3528EMBSGC. Этот SMD-вариант может быть заменен на любой другой. В крайнем случае можно использовать 3 отдельных разноцветных светодиода.
Резистор R1 используется для контроля напряжения батарей питания –он входитв состав делителя напряжения вместе со встроеннымв микроконтроллерpull-up резистором, сопротивление которого лежит в пределах20…50К. На резисторе R1 должно быть примерно от 1/3 до 1/6 напряжения питания, т. е. при свежих батарейках GB1 и GB2 от 0,5 до 1В.
Резисторы R2…R4 ограничивают ток кристаллов светодиода. На схеме указаны ориентировочные значения сопротивлений этих резисторов, конкретные их значения следует рассчитать, ориентируясь на параметры конкретно примененного светодиода. Для увеличения срока службы элементов питания желательно выбирать ток через любой кристалл светодиода HL1не более5 мА.
Так как суммарное напряжение GB1 и GB2 получается не более 3В, а прямое падение напряжения на синем кристалле HL1вряд ли будет менее 3,6В (для примененного светодиода KAA-3528EMBSGC оно составляет минимум 4В), напрямую от порта микроконтроллера засветить его не получится –не хватит напряжения. Чтобы обойти эту проблему, использована схема удвоения напряжения на элементахR4C2VD2. Работает эта схема так: когда необходимо зажечь синий кристалл светодиода, микроконтроллер формирует меандр с частотой около 35 кГцна выводе 5. Когда на выводе5 присутствует высокий уровень (3В), конденсатор С2 заряжается через резистор R4и последовательно включенный диод VD2, причем правая по схеме обкладка С2 имеет минусовый потенциал. Когда уровень на выводе5 сменяетсяна низкий,т. е. соединяется с минусом батареи питания, конденсатор С2 оказывается включенным последовательно с батарейками, диод DV2 запирается обратным напряжением на обкладкахС2. Так какС2 был заряжен примерно до 3В, то к синему кристаллу светодиода будет приложено практически 6В –он обязательно засветится.
В данной схеме параметры элементов C2, R4 и VD2 играют важную роль. Чем больше емкость С2, тем больший ток сможет обеспечить схема удвоения, однако, тем больший средний ток перезаряда C2 будет протекать по выводу контроллера. Чтобы ограничить его на допустимом уровне, используется R4, одновременно ограничивающий и ток через синий кристалл светодиода. Его сопротивлениетак же следует рассчитать исходя из требований ограничения тока через порт микроконтроллера на уровнене более10 мА(максимум –40 мА), при этом ток через кристалл светодиода так жене должен превышать допустимый, причем при расчете тока через кристалл следует помнить, что среднее напряжение питания его около 6В. При указанном на схеме сопротивлении R4 в 100 Ом обеспечивается приемлемая яркость синего кристалла светодиода KAA-3528EMBSGCи достаточно хорошая экономичность всей схемы. В качествеVD2 неплохо применить диод Шоттки или германиевый диод, чтобы снизить падения напряжения на неми тем самым поднять эффективность преобразователя.
Печатная плата устройства не разрабатывалась,т. к. схема настолько проста, что самостоятельно ее разработать должен суметь даже самый неискушенный радиолюбитель. При использовании SMD-компонентов конструкция легко уместится в корпусеот фломастера или маркера. Следует только вынести за пределы корпуса VD1и обеспечить его влагоизоляцию, например, нанеся тонкий слой эпоксидной смолы или термоклея. Так же следует соединять VD1с платой проводниками наименьшего сечения, а выводы диода максимально укоротить – так будет обеспечена лучшая реакция на изменение температуры, т. е. будет сокращено время измерения.
Измерение температуры основано на том факте, что прямое падение напряжения на кремниевом диоде линейно зависит от температуры, причем температурный коэффициент практически одинаков для любых типов диодов и составляет около −2 мВ/°С (т. е.с ростом температуры напряжение уменьшается). VD1 смещен в прямом направлении благодаря встроенному в микроконтроллерpull-up резистору. Сопротивление этого резистора, как было сказано ранее, колеблется в технологических пределах 20…50 килоом. Естественно, каждый экземпляр микроконтроллера может иметь свое сопротивление, каждый экземпляр диода при этом будет иметь свое падение напряжения при одинаковой температуре, т. е. для обеспечения высокой точности измерения, что необходимо для медицинских применений, обязательно нужно провести калибровку термодатчика. Этот процесс автоматизирован и выполняется следующим образом.
Первоначально собранное устройство не откалибровано,и при первом включении перейдет в режим калибровки, поэтому желательно заранее подготовиться к этому, наколов льда из морозильникав чашкуи поставивна плиту чайник. Тающий лед обеспечит нам первую образцовую температуру в 0°С, а кипящийчайник – вторую в 100°С. Калибровка начинается с фиксации0°С. Следует поместить VD1в тающий лед (конечно, предварительно обернув его полиэтиленом или изолировав от водыкак-то иначе), подождать некоторое время, пока VD1 охладится до нулевой температуры (этот процесс желательно контролировать образцовым термометром) и нажать кнопку SB1. HL1 начнет мигать синим: вам отводится 20 секунд, чтобы повторным нажатием SB1 зафиксировать нулевую температуру. Если этогоне сделать за 20 секунд – устройство выключится автоматичеки, а при повторном включении снова даст вам 20 секунд для фиксации точки и т. д.
После фиксации нулевой образцовой точки, следует поместить VD1в кипящую воду и аналогичным образом (только теперь HL1 будет мигать красным цветом) зафиксировать точку 100°С. Процесс успешной калибровки завершится миганием зеленым цветом.
Предусмотрена возможность повторной калибровки устройства. Если вы ошиблись и не вовремя нажали кнопку при фиксации образцовых точек, можно отменить это путем замыкания накоротко R1с последующим нажатием SB1 – вы увидите, что устройство сразу ведет себя, как некалиброванное.
Внимание!При замкнутом R1 невозможно провести калибровку, поэтому не следует замыкать его на длительное время, достаточно перемкнуть его пинцетом непосредственно перед нажатием SB1, а как только HL1засветится – убрать пинцет и нажать кнопку.
После успешной калибровки индикатор готов к использованию по прямому назначению. Пользоваться им очень просто: следует нажать на SB1и поместитьVD1в подмышечную впадину. В процессе измерения температуры HL1 раз в секунду вспыхивает белым цветом (т. е. все 3 кристаллаHL1 включаются одновременно – реально получающийся при этом цвет может отличаться от белого).Это будет продолжаться до тех пор, пока температура датчика не перестанетизменяться – ориентировочно до 60 секунд. После того, как температура измерена, HL1 начнет быстро мерцать, символизируя своим цветом уровень температуры:
СИНИЙ – температура низкая, менее 35,5°С.
ЗЕЛЕНЫЙ – нормальная температура, от 35,6 до 36,9°С.
ЖЕЛТЫЙ – слегка повышенная температура, от 37,0 до 37,4°С
МАЛИНОВЫЙ – высокая температура, от 37,5 до 38,2°С
КРАСНЫЙ – очень высокая температура –выше 38,2°С
Спустя 20 секунд после измерения устройство автоматически выключается. Можно выключить его раньше нажатием на кнопку. Перед повторным измерением температуры следует подождать, пока VD1не охладитсядо температуры явно ниже температуры тела, чтобы случайно не измерить температуру ошибочно.
Так как синий кристалл HL1 даже с учетом предпринятых мер уже не может гарантированно светиться при напряжении питания менее 2,3В, устройство контролирует состояние батарей питания и, при снижении его ниже 2,3В, вместо попытки измерить температуру сразу начинает мерцать поочередно красным и зеленымцветом – это означает, что батарейки следует заменить.
Замечание о точности измерений. В программе реализовано измерение напряжения на VD1с точностьюлучше 0,1 мВ, поэтому погрешностью АЦП и т. п. можно пренебречь, а основная погрешность устройства определяется лишь качеством калибровки. В домашних условиях не всегда есть возможность измерять температуру в широком диапазоне с точностью выше 0,5°С: далеко не у всех имеется спиртовой лабораторный термометр (тем более прошедший поверку). Поэтому точность калибровки устройства целиком основана на «доверии» к двум физическим константам – температурам кристаллизации и кипения воды. Однако известно, что обе эти температуры зависят от количества примесей в воде,а температура кипения дополнительно зависит от высоты местности над уровнем моря. Для средней полосы России этими нюансами можно пренебречь, т. к. отклонение на 2–3 градуса каждой из этих температур даст в сумме погрешность измерения не более 0,06°, что вполне достаточно для медицинских целей. Но есливы проживаете значительно выше уровня моря – лучше найти способ проконтролировать температуру кипения воды, и если требуется, увеличить ее добавкойповаренной соли.
Важное примечание об ответственности. Данное устройство не сертифицировано для медицинских применений, и не может считаться медицинским прибором. Используя его, вы соглашаетесьс тем, что автор ни при каких условиях не несет никакой ответственности за последствия – это исключительно ваше решение и ваша ответственность!
Макет собранного устройства
Прошивку для микроконтроллера можно скачать, как обычно, из файлового архива. Устройство начинает самонастройку сразу же после подачи питания, в частности, определяет напряжение на батареях как образцовое, т. е. соответствующее хорошо заряженным батареям. Чтобы исключить некорректные настройки, следует придерживаться особой процедуры прошивки:
Соединить вывод 2 с выводом 4.
Подключить программатор и запрограммироватьс обязательным стиранием EEPROM
Снять питание, впаять контроллер в схему, подключить батарейки.
Должен замерцать сиреневым цветом – дождаться погасания. Если не замерцал – повторить с п.1 (что-то было сделано не так, как написано). В крайнем случае можно наглухо соединить вывод 1 с выводом4 на все время нахождения микросхемы в программаторе.
Нажать кнопку –HL1 должен замерцать синим, это готовность к калибровке нуля. Далее поступать по ранее указанной методике калибровки.
Если на п.5 не HL1 замерцал синим – замкнуть 2 и 4, нажать кнопку. Пока светитсякрасным – разомкнуть 2 и 4. дождаться погасания и повторить п. 5.