Болл С.Р. Аналоговые интерфейсы микроконтроллеров (2007) (1264220), страница 14
Текст из файла (страница 14)
Цепь из резистора и терморезистора образует делитель напряжения, и изменение сопротивления терморезистора приводит к изменению напряжения в точке соединения. Точность этой цепи зависит от точности параметров резистора, терморезистора и напряжения Чааг. Поскольку сам терморезистор имеет сопротивление, при прохождении через него тока выделяется тепло.
Данный эффект называется самаразогревам. Разработчик схемы должен выбрать достаточно большой по величине резистор В! для предотвращения чрезвычайного саморазогрева, иначе система будет измерять температуру при рассеивании мощности на терморезисторе, вместо температуры объекта, к которому терморезистор прикреплен.
Мощность, которую рассеивает терморезистор, нагреваясь до определенной температуры, называется константой диссинации (рассеивание мощности), Ф~ Вйзярайоп сопзгапг, 1)С), и обычно измеряется в мВт. Ф7 — это мощность, необходимая для нагрева терморезистора на 1'С выше окружающей температуры. Величина В1, определяющая разрешенный саморазогрев, зависит от требуемой точности измерения. В системе, рассчитанной на точность лишь ч-5'С, можно допустить больший саморазогрев, чем в системе, где требуется обеспечить ч-0.!'С.
Формула для вычисления диссинации самаразогрева может быть представлена в следующем виде: Р=КДх Я, где Я вЂ” требуемая точность, измеряемая в 'С. Например, если константа диссипации терморезистора 2мВт/'С, а температуру необходимо измерить с точностью 0.5'С, то максимально допустимая диссипация составит: 2 мВт/'С х 0.5 'С = 1 м Вт. 3. Е Температурные датчики ° 75 Поскольку в системе всегда существуют другие погрешности, то, вероятно, эту величину следовало бы ограничить, например, на половину, то есть до О. 5 мВт.
Заметим, что диссипация саморазогрева не должна превышать данную величину во всем температурном диапазоне. Допустим, сопротивление терморезистора Км составляет 10 кОм, а температуру мы собираемся измерять в пределах от 0 до 25'С. При 25'С сопротивление терморезистора 10 кОм. Чтобы ограничить рассеивание мощности на уровне 0.5 мВт, используя Чкаг = 2.5 В, величина для нагрузочного (рц!1-цр) резистора (К1 на Рис. 3.2) может быть вычислена следующим образом: Диссипация терморезистора = 0.5 мВт при 10 кОм. Падение напряжения (Е) при этой диссипации выводится из формулы Ез (Р = — ) и равно Е = /Р х Я. Подставляя численные значения Р и Я, Я получим: Я.ООО5 !ОООО = 2.11 В.
Ток через терморезистор = 2.23 В/10 кОм = 223 мкА. Падение напряжения на К1 = 2.5 — 2.23 = 0.27 В. Величина К1 (минимум) = 0.27 В/223 мкА = 1210 Ом. Теперь, предположим, нам понадобилось расширить диапазон измеряемых температур до 0...50'С.
Сопротивление терморезистора (см. Табл. 3.1) при 50'С равно 5758 Ом. Аналогичные вычисления для данного случая приведут к величине К1, равной 2725 Ом. Поскольку сопротивление терморезистора ниже при более высоких температурах, начальная величина 1210 Ом внесла бы слишком большую диссипацию на них.
3.1.2. Масштабирование Иногда необходимо изменить диапазон входного аналогового сигнала для приведения в соответствие с входным диапазоном АЦП, то есть провести операцию масштабирования. На Рис. 3.3 представлена подобная ситуация. Сигнал с терморезистора К,ь должен быть подан на аналоговый вход в диапазоне 0...5 В 8-битного АЦП, например, АЦП семейства 16С7х фирмы М(сгосЫр. Снова рассмотрим терморезистор из предыдущего примера. Напряжение Ч! может быть вычислено по следующей формуле: 2.5 х Кгь Ч! = К,ьч- К1' Величина К1 составляет 10 кОм, см. Рис. 3.3. Используя данное уравнение и табличную зависимость сопротивления терморезистора от температуры.
можно вычислить Ч! в интересующем нас температурном диапазоне. 76 ° Глава 3. Датчики Теперь, допустим, понадобилось измерить температуру в диапазоне 10...40'С с точностью не менее трех бит АЦП на 1'С (или 0.333'С на 1 бит). Если мы преобразуем табличный диапазон до величин АЦП, то получим следующее: При 1О'С цифровое слово = (1.61/5) к 256 = 82. При 40'С цифровое слово = (0.976/5) к 256 = 49 Тогда 82 — 49 = 33 отсчета АЦП, 40'С вЂ” 10'С = 30'С (диапазон).
Следовательно, 33 отсчета / 30'С = 1.1 шаг АЦП на градус. Данная величина меньше желаемого разрешения, следовательно, надо масштабировать выходной сигнал. Масштабирование подразумевает, что интересуемый диапазон температур (10...40'С) должен соответствовать всему диапазону входных напряжений АЦП. В данном примере диапазон 10...40'С соответствует напряжениям от 0.976 до 1.61 В, то есть размах сигнала равен 1.61 — 0.976 = 0.634 В. Можно установить размах, равным 5 В, умножением данного диапазона на 5/0.634 = 7.88 В. Результат такого умножения установил бы для диапазона 10...40'С входные напряжения между 7.67 и 12.67 В.
Размах сигнала и в самом деле 5 В, но вне вхолного диапазона АЦП (0...5 В). Следовательно, для правильного масштабирования необходимо усилить входной сигнал (умножение) и сдвинуть вниз (вычитание) до входного диапазона АЦП. Схема на Рис. 3.3 показывает, как ОУ может быть сконфигурирован для выполнения этой операции. Выходное напряжение ОУ можно вычислить следующим образом: Чв Ч2 Ч,— Ч2 Вг Вь 3.1. Температурные датчики ° 77 Чс Кс ексдуАЦП Термсреаистпр Вв 58 ЗОк Вв (Ом1 20к 4В акай ости 3 В 28 1Ок 1В ОВ 0 1О 20 ЗО 40 50 60 70 80 90100 ТемператураГС1 1О 40 Температура ГС1 Рис. 3.3. Масштабирование терморезнстора Если ОУ работает в линейном режиме, то Ч1 = Ч2, уравнение можно переписать следующим образом; Ч.-Ч1 Ч,-Ч1 ~г ~5 ~ь Решая это уравнение относительно Ч„получим следующее выражение: ( Вг о.г'т Чт ' Вг Ч. = Ч1(1+ — + — ~ - " ~ь ~ ~Ь ~г ~ГТ Ч,.
Кг где Ч1(1+ — + — 71 — это усиление, а ' — это смещение. Кь К~! кл Теперь можно применить это выражение для нашей задачи с терморезистором. Скажем, необходимо, чтобы входной диапазон температур 10...40*С соответствовал напряжениям АПП между 0.5 и 4.5 В. Зададим небольшой запас на границах диапазона, чтобы не выйти за его пределы при В нашем примере используется тальке участок ст 10 дс 40 'С диапазона температур ЧО ТемператураГС1 -10 0 !О 25 40 50 70 100 Вв [ком1 44.6 28.1 18.2 1О бл06 5358 2.954 1.229 78 ° Глава 3.
Датчики использовании резисторов со стандартными номиналами. Данное масштабирование устанавливает 204 отсчета АЦП для диапазона 30'С, то есть 6.8 отсчета на градус. Так входное изменение 0.634 В должно быть преобразовано в изменение на 4.5 — 0.5 = 4 В. Усиление составляет 4/0.634 = 6.3 В. Уравнение можно переписать в другой форме: %г )(г 63 = 1+ — ч- —. )(ь йь ' Если умножить Ч1 на 6.3, получим выходные напряжения: 0.976 х 6.3 = 6.14 В; 1.61 х 6.3 = 10.143 В. Таким образом, размах (10.14 — 6.14 = 4 В) какой требовался, но теперь следует определить смещение. Смещение можно найти вычитанием из любого из этих напряжений соответствуюшего заданного напряжения. 6.14 — 0.5 = 5.64 В или 10.14 — 4.5 = 5.64 В. В обоих примерах должен получиться одинаковый результат, если нет ошибок в предыдуших вычислениях. Смещение дано как Ч„х Кг/Кь, значит можно записать следуюшее уравнение: )г Кг 5.64 = —" Дь Сейчас можно решить одновременно уравнения усиления (6.3 = 1+ Кь/Кь + Кг/Кь) и смещения (5.64 =Ч„х Кг/Кь) относительно величин резисторов.
В данном примере величина опорного напряжения составляет 2.5 В, как показано на схеме (Рис. 3.3). Заметим, что опорное напряжение 2.5 В установлено одновременно и для цепей ОУ, и терморезистора. Опорное напряжение АЦП составляет 5 В. В полученной выше системе из двух уравнений неизвестны три величины сопротивлений резисторов. Значит, следует задать величину одного из резисторов. Выберем сопротивление 100 кОм для Кг, тогда: 100 кОм 100 кОм Ч„. 100 кОм 6.3 = 1 ь .564 г Кь ' ' К» Поскольку Ч„= 2.5 В, второе уравнение придет к виду: 5 64 250 кОм Яь 3. 1. Температурные датчики ° 79 Решая систему этих уравнений, получим: К„= 44.32 кОм; К„= 32.85 кОм.
Следующий шаг — выбор стандартных номиналов резисторов. Для резисторов с 1% — это 44.2 кОм (для разброса +1%) и 33.2 кОм (для разброса — 1%). Подставляя эти величины в уравнение для Чы получаем усиление 6.27 и смешение 5.65 В. Мы можем теперь составить зависимость результата преобразования от любой температуры диапазона: Эта зависимость еще понадобится, так как терморезистор нелинейный элемент, и программа должна будет решить, какому результату на выходе АЦП какая температура соответствует.