Измеряемая величина и передаточная функция

Урок объясняет, что датчик измеряет не «истину», а выдаёт сигнал, связанный с величиной известной зависимостью.

Датчик — устройство, преобразующее физическую величину (температуру, давление, свет) в удобный для измерения сигнал (обычно напряжение, ток или цифровой код).

Когда вы читаете «25 °C» с термометра, вы видите не саму температуру, а результат цепочки преобразований: тепло меняет сопротивление, сопротивление меняет напряжение, напряжение оцифровывается, код пересчитывается обратно в градусы. На каждом шаге есть погрешность. Понять датчик — значит понять эту цепочку и обратить её аккуратно.

Передаточная функция

Связь между измеряемой величиной $x$ и выходным сигналом $y$ называется передаточной (или характеристической) функцией:

$$ y = f(x) $$

В идеале $f$ линейна: $y = S \cdot x + y_0$, где $S$ — чувствительность, а $y_0$ — выход при нуле (смещение). Реальные датчики линейны лишь приблизительно, поэтому работа инженера — найти $f$ по точкам и обратить её.

Прямая и обратная задача

Прямая задача — предсказать сигнал по величине, $y = f(x)$. Обратная — восстановить величину по сигналу, $x = f^{-1}(y)$. Именно обратную функцию мы используем при чтении показаний: датчик дал напряжение, нам нужны градусы.

# Линейная передаточная функция датчика давления:
# 0 кПа -> 0.5 В, чувствительность 0.04 В/кПа
S = 0.04
y0 = 0.5

def forward(p):       # прямая: давление -> напряжение
    return S * p + y0

def inverse(v):       # обратная: напряжение -> давление
    return (v - y0) / S

print("100 кПа ->", round(forward(100), 3), "В")
print("3.3 В ->", round(inverse(3.3), 1), "кПа")

Вывод:

100 кПа -> 4.5 В
3.3 В -> 70.0 кПа

Как работает под капотом

Физика датчика — это всегда какой-то закон природы, превращённый в зависимость. У терморезистора это температурная зависимость сопротивления, у тензодатчика — изменение сопротивления при деформации, у фотодиода — фототок, пропорциональный освещённости. Производитель измеряет эту зависимость на эталоне и записывает в даташит как формулу или таблицу. Наша программа просто использует эту формулу — но погрешность эталона, разброс деталей и старение делают каждый экземпляр чуть-чуть своим. Поэтому в серьёзных приложениях характеристику уточняют калибровкой (раздел 4).

Частые ошибки

  • Считать, что сигнал датчика — это и есть величина. Нет, это сигнал, связанный с величиной функцией $f$.
  • Путать чувствительность и точность: высокая чувствительность не гарантирует малой погрешности.
  • Использовать линейную модель там, где датчик заметно нелинеен (например, терморезистор на широком диапазоне).

Итог

  • Датчик описывается передаточной функцией $y = f(x)$.
  • Для чтения показаний нужна обратная функция $x = f^{-1}(y)$.
  • В идеале $f$ линейна, в реальности — приблизительно; уточняется калибровкой.
Проверьте себя
1. Что описывает передаточная функция датчика?
AСвязь между измеряемой величиной и выходным сигналом
BСрок службы датчика
CПотребляемую мощность
DЦену деления шкалы
2. Какую функцию мы используем, чтобы по напряжению получить измеряемую величину?
AПрямую f(x)
BОбратную f⁻¹(y)
CПроизводную f'(x)
DИнтеграл от f