Подключаем INA128 к тензодатчику: от схемы до рабочего весового терминала

Представьте ситуацию: у вас на столе лежит тензодатчик, который вы сняли с кухонных весов или купили отдельно. Вы хотите собрать свои весы, измеритель усилия или просто контролировать нагрузку на кран. В лоб подключить этот датчик к микроконтроллеру (например, Arduino или STM32) не получится — сигнал там в милливольтах, а шумов в цепи полно. Вам нужен усилитель. И вот здесь на сцену выходит INA128.

Многие пугаются этого микросхемы из-за обилия ножек и специфических требований к питанию. Но на практике это один из самых надежных и понятных инструментов в арсенале инженера. В этой статье мы пройдем путь от теории к рабочему прототипу, разберем, как правильно рассчитать усиление, как бороться с шумом и почему ваше первое измерение может выдавать «мусор», а не реальный вес.

Почему именно INA128? Что с ним не так, как у остальных?

В мире электроники есть микросхемы, которые берут ценой, и есть те, что берут универсальностью. INA128 — это классический пример второго. Это инструментальный усилитель (Instrumentation Amplifier). В отличие от обычных операционных усилителей, у него внутри уже собрана схема из трех ОУ, которая идеально согласована. Для нас это значит одно: он умеет вычитать полезный сигнал из шума, который наводится на оба провода датчика одновременно.

Ваша главная задача при работе с тензодатчиком — выделить микроскопическое изменение сопротивления (и напряжения) на фоне огромного напряжения питания моста. Тензодатчик обычно питается от 5 или 10 вольт, а полезный сигнал при максимальной нагрузке может составлять всего 20–30 милливольт. Обычный усилитель тут захлебнется, а INA128 отсечет всё лишнее.

Почему он популярен именно сейчас? Потому что он не требует идеального баланса внешних резисторов, как это было в старых схемах на индивидуальных операционных усилителях. Внутренняя подгонка у него заводская, очень точная. Вы можете менять коэффициент усиления, просто поставив один внешний резистор, и не бояться, что сигнал исказится.

Схема подключения: разбираем ножек по местам

Давайте сразу посмотрим на микросхему, не углубляясь в даташит с кучей графиков. У нас есть 14 выводов. Нам нужно запомнить всего несколько ключевых групп.

Самое важное — это входной каскад. Ножки In+ (вход 2) и In- (вход 1). Сюда мы подключаем сигнал от тензодатчика. Но перед тем как туда подать сигнал, нужно понять, как питать сам датчик. Тензодатчики — это мостовая схема (Wheatstone bridge). Она требует стабильного напряжения. У INA128 есть вывод Vref (вход опорного напряжения, ножка 5). Это критически важный момент, о котором часто забывают новички.

Принципиальная логика схемы

  1. Питание датчика. Тензодатчик требует постоянного тока. Обычно его питают от вывода V+ (напряжение питания моста) микросхемы или отдельного источника. Важно: если вы берете опорное напряжение для датчика прямо с выхода АЦП микроконтроллера, это плохая идея. Нужно использовать стабильный источник (например, REF5025 или качественный LDO-стабилизатор).
  2. Входы. Два выхода тензодатчика (Signal+ и Signal-) подключаются к In+ и In- INA128. Полярность важна: если вы перепутаете, график будет идти вниз, а не вверх, но схема работать будет.
  3. Резистор усиления (Rg). Это «сердце» настройки. Между ножками 1 и 8 вешается один резистор. Никаких кнопок, никаких переключателей — только один резистор определяет, во сколько раз мы усилим сигнал.
  4. Выход (Vout). С ножки 6 сигнал идет дальше — на АЦП микроконтроллера или на вольтметр.
  5. Опорное напряжение (Vref). Ножка 5. Она задает «ноль» на выходе. Если на входе ноль, то на выходе должно быть, скажем, 2.5 В (середина диапазона АЦП). Это позволяет видеть и увеличение, и уменьшение веса.

Остальные ножки — это питание (V+ и V-), которые нужно подключить к источнику питания (обычно 5-12В) и обязательно зашунтировать конденсаторами 100 нФ как можно ближе к корпусу микросхемы. Без этих конденсаторов схема будет ловить всё, что летает в эфире, и выдавать хаос на выходе.

Расчет усиления: формула, которая работает

Самый частый вопрос: «Какой резистор поставить?» Ответ зависит от того, какой сигнал вы хотите получить на выходе. У INA128 есть простое, но точное уравнение:

G = 1 + (50000 / Rg)

Где G — коэффициент усиления, а Rg — сопротивление резистора в Омах.

Давайте применим это на практике. Предположим, у вас тензодатчик с чувствительностью 2 мВ/В. Вы питаете его от 5 вольт. При полной нагрузке сигнал будет:

2 мВ/В * 5 В = 10 мВ (0.01 В).

Ваш микроконтроллер (например, Arduino) умеет измерять напряжение от 0 до 5 вольт. Если вы подадите на него всего 10 мВ, вы увидите «0» или случайные скачки, так как разрешение АЦП не позволит точно измерить такой крошечный сигнал. Нам нужно размазать этот сигнал по диапазону, скажем, до 2.5 вольт (чтобы иметь запас и не уходить в насыщение).

Требуемое усиление: 2.5 В / 0.01 В = 250 раз.

Теперь подставляем в формулу: 250 = 1 + (50000 / Rg).

Rg = 50000 / (250 — 1) ≈ 200 Ом.

Вот и ответ: нам нужен резистор на 200 Ом. Но есть нюанс. Резисторы имеют допуск. Лучше всего взять подстроечный резистор (триммер) или собрать цепочку, чтобы точно попасть в нужное значение. Если вы поставите резистор с допуском 5% или 10%, ваши весы будут «врать» на несколько процентов просто из-за погрешности детали.

Для прецизионных измерений используйте резисторы с допуском 0.1% или 1%. В схеме с INA128 нет места для дешевых «болванок».

Настройка нуля и опорное напряжение (Vref)

Многие новички подключают Vref сразу на землю (GND). И ошибаются. Если Vref = 0, то при отсутствии нагрузки выходное напряжение будет 0 В. А что если датчик под нагрузкой? Сигнал станет отрицательным. Микроконтроллеры не умеют читать отрицательные напряжения (у них диапазон от 0 до Vcc). Выходное напряжение «упадет в ноль», и вы не увидите разницы.

Правильная стратегия:

  • Смещение в середину. Подайте на Vref половину вашего напряжения питания АЦП. Если питание 5В, то на Vref даем 2.5В. Тогда при отсутствии нагрузки на выходе будет 2.5В. При нагрузке напряжение будет меняться: 2.5В + наклон вверх или 2.5В — наклон вниз. Это дает максимальный динамический диапазон.
  • Генератор опорного напряжения. Не используйте делитель на резисторах для создания 2.5В (он будет шуметь). Используйте отдельную микросхему-опору, например, REF3133 или аналогичную. Она даст чистое напряжение без шумов питания.

Таблица: Подбор резистора Rg под разные условия

Для удобства я свел популярные сценарии в таблицу. Это поможет вам быстро прикинуть параметры без калькулятора.

Напряжение питания датчика Чувствительность датчика Макс. сигнал (нагрузка) Желаемый выход (Vout) Коэф. усиления (G) Примерный Rg (Ом)
5 В 1 мВ/В 5 мВ 2.5 В 500 ~100
5 В 2 мВ/В 10 мВ 2.5 В 250 ~200
10 В 2 мВ/В 20 мВ 2.5 В 125 ~400
3.3 В 2 мВ/В 6.6 мВ 1.65 В 250 ~200
12 В 3 мВ/В 36 мВ 3.0 В 83 ~600

Обратите внимание: чем больше напряжение питания датчика, тем сильнее сигнал, и тем меньше нужно усиливать. Это позволяет снизить требования к резистору Rg и уменьшить влияние шумов усиления.

Частые ошибки и как их избежать

В реальной работе, на практике, теория разбивается о физику. Вот список ошибок, с которыми я сталкивался десятки раз, и способы их решения.

1. Игнорирование фильтров

Вы собрали схему, проверили мультиметром — вроде всё ок. Подключили к компьютеру, запустили софт — график прыгает как бешеный. Это не микросхема барахлит. Это наводки. В цепи выхода (Vout) обязательно должен стоять фильтр нижних частот. Простой RC-фильтр: резистор 1-10 кОм и конденсатор 1-10 нФ перед входом АЦП. Это сгладит высокочастотный шум и даст вам плавную кривую.

2. Плохая разводка земли (Ground Loops)

Если у вас есть другие мощные потребители (моторы, реле), они создают скачки напряжения на общей земле. Если земля датчика и земля усилителя соединены в разных точках, эти скачки станут сигналом. Решение: «Звезда». Все земли собираются в одной точке — там, где подключается минус источника питания. Никаких петель.

3. Использование некалиброванного резистора Rg

Как я уже писал, резистор влияет на погрешность. Но еще важнее: вы не знаете точного значения Rg, если используете обычный резистор из набора. Для точных весов используйте прецизионный резистор или подстроечник, который вы настроите по эталонному грузу.

4. Перегрев

INA128 греется при больших токах, но также и сами тензодатчики греются от тока питания. Если вы подадите на датчик слишком высокое напряжение (например, 12В на датчик, рассчитанный на 10В), он нагреется, сопротивление изменится, и показания «поплывут» через 5 минут работы. Не превышайте номиналы питания датчика.

Сценарии выбора: как поступить в вашей ситуации

В зависимости от того, что вы делаете, подход может немного отличаться. Давайте разберем два типичных сценария.

Сценарий А: Вы делаете точные весы (до 1 кг, погрешность < 1 г)

Здесь вам важны стабильность и отсутствие шума.

Что делать:

  • Используйте питание датчика от отдельного прецизионного источника (REF5025), а не от USB или 5В платы.
  • Установите Rg с допуском 0.1%.
  • Добавьте RC-фильтр на выходе с частотой среза около 10 Гц.
  • В программном обеспечении используйте усреднение (оверсэмплинг). Считайте 100 раз в секунду и выводите среднее.

Сценарий Б: Вы измеряете усилие в механизме (грузоподъемный кран, пресс)

Здесь главное — надежность и защита от скачков. Точность до грамма не нужна, нужно видеть тренд.

Что делать:

  • Можно питать датчик напрямую от основного источника 12-24В (если датчик позволяет), чтобы получить максимальный сигнал.
  • Установите мощный фильтр на выходе, чтобы гасить вибрации, которые наводятся на провода.
  • Обязательно добавьте защиту входа (стабилитроны) от перенапряжения, если рядом мощное оборудование.

Сценарий В: Прототип «на коленке» (школьный проект)

Нужно показать, что работает.

Что делать:

  • Питайте всё от одной ардуинки (5В).
  • Вместо прецизионного резистора возьмите подстроечный на 500 Ом и крутите его, пока не получите нужные значения.
  • Используйте готовые библиотеки для АЦП, они часто имеют встроенное усреднение.

Практические рекомендации по сборке

Если вы собираете это своими руками, помните про следующие правила, которые экономят кучу нервов:

  1. Защита входов. Между входами INA128 (In+ и In-) поставьте два диода (например, 1N4148) с катодами навстречу друг другу. Это защита от случайного перенапряжения, если вы случайно подадите 12В вместо 5В. Диоды зашунтируют перенапряжение.
  2. Длина проводов. Провода от датчика к усилителю должны быть короткими и экранированными. Если датчик стоит далеко, используйте витую пару. Экран подключайте только к земле со стороны усилителя, а не к земле со стороны датчика (чтобы избежать петель).
  3. Термостабильность. Тензодатчики чувствительны к температуре. Если вы делаете промышленное решение, размещайте усилитель INA128 подальше от источников тепла (блоков питания, мощных транзисторов).
  4. Калибровка. Никакая схема не будет идеальной без калибровки. Всегда оставляйте возможность в ПО скорректировать «коэффициент». Запишите значение на выходе при нулевой нагрузке (Tare) и при известном грузе. Вычислите разницу и используйте её в расчетах.

Итоги: делаем правильный выбор

INA128 — это рабочий инструмент, который проверен временем. Он не самый дешевый на рынке (есть более доступные аналоги типа AD620 или MCP6S21), но он обладает отличной линейностью и простотой настройки. Если вы проектируете устройство, где важна повторяемость результатов, он подходит идеально.

Ваш алгоритм действий прост:

1. Определите напряжение питания и чувствительность датчика.

2. Рассчитайте Rg по формуле.

3. Закажите прецизионный резистор.

4. Сделайте качественное питание опорного напряжения.

5. Добавьте RC-фильтр на выходе.

6. Откалибруйте софт.

Если вы соблюдете эти шаги, у вас получится надежный измерительный канал, который будет служить годами. Главное — не пытайтесь сэкономить на резисторах и питании, именно эти мелочи решают, будет у вас работать «инструмент» или просто «игрушка».

Данная статья содержит техническую информацию и описывает принципы работы электронных компонентов. Приведенные схемы и расчеты являются ориентировочными. При разработке устройств, используемых для контроля критических процессов, взвешивания грузов или медицинских измерений, обязательно проводите независимые испытания и проконсультируйтесь с профильным инженером. Использование информации на свой страх и риск.

Radio-Blog.ru