Как подключить датчик нагрузки через INA128: пошаговый практический гид
Ты купил датчик нагрузки (тензодатчик), подключил его к ардуине — а сигнал почти нулевой. Или шумит, как радио на старой батарейке. Не переживай: это не твоя вина. Просто ты не подключил усилитель. И если ты хочешь измерять вес с точностью до грамма — без дифференциального усилителя INA128 тебе не обойтись.
Я не буду рассказывать, что такое тензометрический мост или коэффициент усиления. Я покажу, как сделать так, чтобы твой датчик заработал — и работал стабильно. Без лишней теории. Только то, что нужно, чтобы собрать устройство и не тратить недели на эксперименты.
Почему именно INA128?
Датчики нагрузки выдают сигнал в диапазоне от 1 до 30 мВ при полной нагрузке. Ардуина или STM32 читают напряжение от 0 до 5 В. То есть тебе нужно усилить сигнал в 100–500 раз. Но не просто усилить — нужно усилить дифференциально.
Почему именно дифференциально? Потому что тензодатчик — это мост Уитстона. Он выдаёт разность напряжений между двумя выходами. А шум, помехи, колебания питания — одинаковы на обоих проводах. Если ты подключишь один вывод к обычному усилителю, ты усилешь и сигнал, и весь этот шум. А INA128 — он отфильтровывает общий шум. Он «видит» только разницу между двумя проводами. Это как слушать разговор в шумном кафе: ты фокусируешься на голосе друга, а не на криках за соседним столом.
INA128 — это не самый дешёвый, но самый надёжный вариант для датчиков нагрузки. Он:
- имеет очень низкий дрейф нуля — важен для точности;
- работает от однополярного питания (3–12 В) — подходит для Arduino и Raspberry Pi;
- не требует внешних резисторов для базового усиления — всё встроено;
- позволяет точно настроить коэффициент усиления одним резистором.
Если ты хочешь собрать весы для кухни, лабораторные весы или систему контроля нагрузки на прессе — INA128 твой лучший выбор. Не ищи «более современные» чипы. Они могут быть точнее, но сложнее в настройке. А тебе нужно — просто и надёжно.
Как подключить INA128 к датчику нагрузки: пошагово
Предположим, у тебя 4-проводной датчик нагрузки (обычный тип, как в кухонных весах): красный — питание, чёрный — земля, зелёный — сигнал +, белый — сигнал -.
Вот как подключить его к INA128:
- Питание INA128: подключи V+ к 5 В (от Arduino или стабилизатора), V- — к GND. Не используй напряжение выше 12 В — чип перегреется.
- Подключение датчика:
- Красный (V+) → входы 1 и 2 INA128 (они внутри соединены)
- Чёрный (GND) → входы 3 и 4 INA128 (они тоже соединены)
- Зелёный (Signal +) → вход 5 (IN+)
- Белый (Signal -) → вход 6 (IN-)
- Установка усиления: между выводами 1 и 8 впаяй резистор. Вот формула:
Gain = 1 + (50 kΩ / Rg). Если хочешь усиление 1000 — выбери Rg = 50 Ω. Если 500 — 100 Ω. Начни с 100 Ω (усиление ~500) — это безопасно для большинства датчиков. - Выход: сигнал с вывода 6 (OUT) иди к аналоговому входу Arduino (A0).
- Фильтр: между OUT и GND поставь конденсатор 0.1 мкФ — это сгладит высокочастотный шум.
Вот и всё. Никаких сложных схем. Никаких операционников в каскадах. Просто подключил — и готово.
Как выбрать резистор усиления: таблица для быстрого выбора
| Желаемое усиление | Значение Rg (Ом) | Подходит для |
|---|---|---|
| 100 | 500 | Датчики с высоким выходом (например, 10 мВ/В), грубые измерения |
| 250 | 200 | Бытовые весы, точность ±10 г |
| 500 | 100 | Лабораторные весы, точность ±1 г |
| 1000 | 50 | Точные измерения, но требует стабильного питания и экранирования |
Если ты не знаешь, какое усиление тебе нужно — начни с Rg = 100 Ом. Это безопасный выбор для большинства датчиков. Потом, если сигнал всё ещё слабый — уменьши Rg. Если шумит — увеличь.
Что выбрать: INA128, HX711 или другой усилитель?
Ты, наверное, слышал про HX711. Он тоже используется с датчиками нагрузки. Чем он отличается?
- HX711 — это готовый модуль с встроенным усилителем и АЦП. Подключаешь его по SPI, читаешь цифровые значения. Просто, но не гибко. Он работает только с 2.6–5.5 В, не позволяет менять усиление вручную, и если он перегревается — начинает глючить. Хорош для «сделай и забей».
- INA128 — аналоговый усилитель. Ты сам контролируешь усиление, фильтрацию, питание. Ты можешь подключить его к любой микросхеме: Arduino, STM32, Raspberry Pi. Точность выше, если ты сделаешь правильную схему. Но нужно собрать схему вручную.
Выбирай HX711, если:
- ты хочешь собрать весы за час;
- не хочешь разбираться в аналоговых схемах;
- точность ±5 г — тебе достаточно.
Выбирай INA128, если:
- ты хочешь точность ±0.1–0.5 г;
- планируешь использовать датчик в промышленной системе;
- нужна стабильность при температурных колебаниях;
- ты хочешь понять, как это работает — не просто «взял и подключил».
Частые ошибки — и как их избежать
Я видел сотни таких схем. Вот что ломает систему чаще всего:
- Нет конденсаторов на питании. INA128 чувствителен к шуму на питании. Обязательно поставь 10 мкФ электролит + 0.1 мкФ керамики между V+ и GND рядом с чипом. Без этого — шум, дрейф, непредсказуемые значения.
- Плохой земляной контакт. Датчик, INA128 и микроконтроллер должны иметь одну общую землю. Если ты заземляешь Arduino от USB, а датчик — от отдельного блока питания — получишь дрейф напряжения. Лучше питать всё от одного стабилизатора.
- Использование длинных проводов. Провода от датчика к INA128 должны быть короткими (не более 10–15 см). Если длиннее — используй экранированный кабель, заземлив экран только с одной стороны (у усилителя).
- Неправильный Rg. Слишком маленький резистор — усилитель насыщается, выход «залипает» на 5 В. Слишком большой — сигнал слишком слабый. Если выход стабильно 5 В — уменьши усиление.
- Игнорирование калибровки. Даже идеально собранная схема даст ошибку, если не откалибрована. Обязательно делай калибровку: взвесь датчик без нагрузки — запомни значение. Потом добавь известный груз (например, 1 кг) — запомни новое значение. Рассчитай коэффициент:
кг = (значение - ноль) / (значение_с_грузом - значение_без_груза).
Как лучше сделать: 3 сценария
Вот как действовать в разных ситуациях:
Сценарий 1: Ты делаешь весы для кухни (точность ±5 г)
Используй INA128 с Rg = 100 Ом. Питание — 5 В от USB. Конденсаторы 10 мкФ и 0.1 мкФ. Провода от датчика — не длиннее 10 см. Калибруй на 1 кг гире. Вывод — на A0 Arduino. Программа: считай среднее за 100 измерений, отними ноль. Готово. Собираешь за 2 часа.
Сценарий 2: Ты создаёшь систему контроля нагрузки на прессе (точность ±0.1 г, температура меняется)
Используй INA128 с Rg = 50 Ом. Питание — от стабилизированного источника 12 В (например, LM7812). Добавь термодатчик (DS18B20) и компенсируй дрейф в коде. Используй экранированный кабель от датчика. Подключи к STM32 с 16-битным АЦП. Калибруй ежедневно. Собираешь за 3 дня, но результат — промышленный.
Сценарий 3: Ты экспериментируешь с несколькими датчиками
Не используй один INA128 для нескольких датчиков — они будут мешать друг другу. Лучше взять 4 INA128 и подключить их параллельно к одному микроконтроллеру. Или — если хочешь дешевле — используй HX711 для каждого датчика. Но помни: HX711 не умеет работать с разными коэффициентами усиления. Если датчики разного типа — INA128 единственный вариант.
Что делать, если сигнал всё ещё нестабильный?
Если после сборки ты видишь:
- Постоянный дрейф — проверь питание и землю. Убедись, что нет помех от двигателей, светодиодов, реле.
- Скачки на 10–20 единиц — добавь цифровой фильтр: скользящее среднее за 50–100 измерений. Или медианный фильтр.
- Выход всегда 0 или 5 В — уменьши усиление (увеличь Rg). Возможно, ты перегрузил усилитель.
- Шум, как «шум радио» — проверь, нет ли проводов рядом с моторами, трансформаторами, светодиодными лентами. Перенеси схему подальше.
Если всё сделано правильно — сигнал будет плавным. Даже если ты не видишь изменений на глаз — в цифрах он стабилен. Проверь это: взвесь датчик, подожди 5 минут — значение не должно меняться больше чем на ±1 единицу.
Что делать дальше?
Собери схему. Не жди идеальных условий. Начни с Rg = 100 Ом, питание 5 В, конденсаторы на месте. Подключи к Arduino. Загрузи простой скетч, который выводит значения на монитор порта. Взвесь что-нибудь известное — бутылку воды, гирю. Посмотри, как изменяется показание.
Если значение меняется плавно — ты всё сделал правильно. Если нет — проверь подключение датчика. Часто люди путают провода: зелёный и белый — не «плюс» и «минус» в обычном смысле. Это дифференциальный сигнал. Если ты перепутал — вместо роста при нагрузке ты увидишь падение. Просто поменяй местами зелёный и белый — и всё заработает.
Не трать время на поиск «идеального» усилителя. INA128 — это проверенный инструмент. Он не самый быстрый, не самый дешёвый, но он работает. И если ты хочешь надёжность, точность и понимание, что происходит внутри — это твой выбор.
Собери. Проверь. Откалибруй. И не бойся экспериментировать. Главное — не уходить от простоты. Чем проще схема — тем меньше шансов, что она сломается.
Информация в этой статье носит ознакомительный характер. При проектировании устройств, связанных с измерением веса или нагрузки, особенно в промышленных, медицинских или безопасностных системах, обязательно проконсультируйтесь с инженером или специалистом по измерительным системам.
