Перейти к содержанию

Подключение тензодатчика

Тензодатчик измеряет силу или вес через очень маленькую деформацию металлической балки, кнопки или платформы.

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

Главная мысль: тензодатчик почти никогда не подключают напрямую к контроллеру. Его сигнал слишком маленький. Обычно между датчиком и контроллером ставят модуль HX711 или похожий усилитель/АЦП.

Что нужно для подключения

Минимальный набор:

  • тензодатчик нужного диапазона веса;
  • модуль HX711;
  • контроллер: Arduino, ESP32, RP2040, STM32 или другая плата;
  • жёсткое механическое крепление;
  • известный груз для калибровки;
  • короткие аккуратные провода.

Если механика плохая, схема не спасёт. Тензодатчик может быть подключён идеально, но давать бессмысленные показания из-за перекоса, люфта или нагрузки не в той точке.

Как устроено подключение

Тензодатчик подключается к HX711 аналоговыми проводами.

HX711 подключается к контроллеру цифровыми проводами.

Типовая цепочка:

тензодатчик -> HX711 -> контроллер

У HX711 обычно есть две стороны:

  • вход от тензодатчика: E+, E-, A+, A- или похожие обозначения;
  • подключение к контроллеру: VCC, GND, DT/DOUT, SCK/CLK.

Схема подключения HX711 и тензодатчика

Источник: SparkFun Electronics, CC BY-SA 4.0

Провода тензодатчика

У распространённого четырёхпроводного тензодатчика обычно есть:

  • E+ - плюс питания моста;
  • E- - минус питания моста;
  • S+, A+ или O+ - положительный измерительный сигнал;
  • S-, A- или O- - отрицательный измерительный сигнал.

Частая цветовая схема:

  • красный - E+;
  • чёрный - E-;
  • зелёный или синий - A+;
  • белый - A-.

Но цвета не являются законом. У разных датчиков они могут отличаться. Если есть техническое описание конкретного тензодатчика, ориентируйся на него.

Если у датчика есть пятый провод, фольга или экран, это часто экран от помех. Его не нужно путать с измерительным проводом моста. Обычно экран подключают к GND или корпусу с одной стороны, если это указано в документации, но не к измерительным A+/A-.

Если схемы проводов нет, не подключай тензодатчик "наугад". Сначала найди документацию на датчик или прозвони мост по гайду производителя: ошибка в проводах легко даёт нестабильные показания или перегружает вход HX711.

Подключение HX711 к контроллеру

На стороне контроллера обычно нужны четыре линии:

  • VCC - питание модуля;
  • GND - общий минус;
  • DT, DOUT или DATA - данные;
  • SCK, CLK или PD_SCK - тактирование.

Для многих модулей HX711 питание может быть 3.3V или 5V, но нужно смотреть конкретный модуль. Если контроллер работает на 3.3V, удобнее использовать модуль и питание, совместимые с 3.3V логикой.

Пины DT и SCK обычно можно подключать к обычным GPIO. Это не I2C и не SPI в привычном смысле, а простой двухпроводный интерфейс HX711.

Механика важнее схемы

Тензодатчик должен деформироваться так, как задумал производитель.

Для балочного датчика часто одна сторона крепится к неподвижной базе, а другая сторона несёт нагрузку. Если закрепить обе стороны жёстко к одной детали, датчик не будет нормально изгибаться.

Проверь:

  • где у датчика сторона крепления;
  • где должна прикладываться нагрузка;
  • в каком направлении должна идти сила;
  • нужны ли проставки;
  • не касается ли подвижная часть корпуса;
  • нет ли перекоса;
  • нет ли боковой нагрузки;
  • не перетянуты ли винты;
  • не упирается ли катушка или платформа мимо рабочей зоны датчика.

Для веса катушки особенно важно, чтобы вся нагрузка шла через датчик, а не частично через стенку корпуса, ось, кабель или декоративную крышку.

Нельзя перегружать датчик

Диапазон тензодатчика - это не рекомендация, а предел измерения.

Если поставить 1 kg датчик туда, где катушка и держатель могут дать больше, датчик будет работать плохо или необратимо деформируется.

Выбирай диапазон с запасом:

  • максимальный вес катушки;
  • вес держателя;
  • возможные рывки;
  • перекосы;
  • запас на ошибку пользователя.

Но слишком большой диапазон тоже не всегда хорош. Датчик на 100 kg будет хуже чувствовать маленькую катушку, чем датчик на 5 kg или 10 kg, если механика и электроника одинаковые.

Первый запуск

Перед установкой в устройство проверь систему на столе:

  1. Подключи тензодатчик к HX711.
  2. Подключи HX711 к контроллеру.
  3. Запусти тестовый код или библиотеку.
  4. Убедись, что сырые значения меняются при нажатии на датчик.
  5. Убери нагрузку и проверь, что значение более-менее стабильно.
  6. Положи известный груз и проверь изменение.

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

Если значение уменьшается при увеличении веса, обычно достаточно поменять местами A+ и A- или учесть знак в программе.

Тара и калибровка

Тензодатчик без калибровки не знает, что такое граммы.

Обычно процесс такой:

  1. Ставят пустую платформу.
  2. Делают тару: это ноль с учётом веса платформы.
  3. Кладут известный груз.
  4. Подбирают калибровочный коэффициент.
  5. Проверяют несколько разных весов.

Для катушки филамента важно решить, что именно считается весом:

  • вся катушка с пластиком;
  • только остаток пластика без веса пустой катушки;
  • изменение веса относительно начального значения.

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

Помехи и нестабильные показания

HX711 измеряет очень маленький сигнал, поэтому система чувствительна к шуму и механическим проблемам.

Причины нестабильных показаний:

  • длинные провода от датчика до HX711;
  • плохие контакты;
  • силовые провода нагревателя рядом с сигнальными проводами;
  • вибрации вентилятора или принтера;
  • мягкое основание;
  • люфт в креплении;
  • температурный дрейф;
  • нагрузка касается корпуса в обход датчика.

Практические меры:

  • держать HX711 ближе к тензодатчику;
  • не вести сигнальные провода рядом с силовыми проводами нагревателя;
  • закрепить провода, чтобы они не тянули датчик;
  • использовать усреднение измерений;
  • калибровать после установки в корпус;
  • делать тару после прогрева устройства, если температура заметно влияет.

Что проверить после сборки

Перед использованием:

  • датчик рассчитан на нужный вес;
  • нагрузка идёт через рабочую часть датчика;
  • крепёж не блокирует деформацию;
  • HX711 получает правильное питание;
  • DT и SCK подключены к правильным GPIO;
  • общая земля есть;
  • сырые значения меняются при нагрузке;
  • без нагрузки показания не уплывают слишком быстро;
  • известный груз показывает ожидаемый вес после калибровки;
  • провода не тянут платформу;
  • катушка или держатель не касаются корпуса мимо датчика.

Типовые ошибки

  • подключают тензодатчик напрямую к аналоговому входу контроллера;
  • путают E+/E- и A+/A-;
  • верят цветам проводов без технического описания;
  • забывают калибровку;
  • делают тару до окончательной установки механики;
  • крепят датчик так, что он не может изгибаться;
  • перегружают датчик;
  • выбирают слишком большой диапазон и теряют чувствительность;
  • получают нестабильность из-за длинных проводов и помех;
  • ожидают точности до грамма от гибкого пластикового корпуса без жёсткой механики.

Главное

  • Тензодатчик обычно подключают через HX711, а не напрямую к контроллеру.
  • Провода датчика идут на E+, E-, A+, A-.
  • HX711 подключается к контроллеру через питание, землю, DT и SCK.
  • Механика важнее схемы: нагрузка должна идти через датчик правильно.
  • Нужны тара и калибровка с известным грузом.
  • Без жёсткого крепления и нормальной механики точных показаний не будет.

Материалы по теме