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

Устройство электронных напольных весов

Изделие состоит из нескольких элементов. Как правило, специалисты выделяют следующие его части:

  • дисплей;
  • корпус;
  • печатную плату с различными микросхемами;
  • тензодатчики.

Классические напольные весы со стеклянным корпусом. Обладают дисплеем, схемой и 4 датчиками

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

Важнейшей частью весов являются тензодатчики. Они представляют собой металлические пластины, которые расположены на задней части изделия.

Открытая пластина тензодатчика. Датчик преобразует силу деформации в килограммы

Внутри изделия находится плата, которая считывает данные и отображает их на дисплее. От электронной платы зависит функциональность весов. К плате подключаются 4 датчика. Вся конструкция надежна защищена корпусом. Дисплей в большинстве устройств черно-белый. Он хорошо отображает всю необходимую информацию.

Питание устройства осуществляется от батарейки. Используется миниатюрный элемент питания (батарейка таблетка)

Наиболее частые причины поломки

Существует список наиболее частых поломок. Выделяют следующие причины:

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

Весы могут не работать из-за севшего аккумулятора. В таком случае потребуется лишь самостоятельно заменить батарейки.

Начинать диагностику устройства нужно с поиска простых неполадок.

Прибор из закаленного стекла, которое редко выходит из строя из-за высокой прочности корпуса

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

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

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

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

Как найти источник проблемы

Самостоятельно провести диагностические мероприятия крайне проблематично. Потребуется выполнить следующий алгоритм для того, чтобы найти проблему:

  1. Внимательно осмотреть весы на предмет деформаций.
  2. Снять защитные ножки с тензометрических датчиков. Осмотреть металлические пластины.
  3. Разобрать корпус. Проверить все внутренние элементы.

Для того, чтобы разобрать корпус потребуется отвернуть все болты

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

Для восстановления работоспособности устройства потребуется специальный инструмент. Необходимо заранее приготовить:

  • паяльник (может потребоваться, если имеется разрыв провода);
  • маленькие отвертки.

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

Что из себя представляют медицинские напольные весы и как их выбрать, .

Устранение наиболее частых поломок

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

Ремонт датчиков

Если весы сломались из-за датчиков, в первую очередь потребуется установить вид проблемы (искривление датчика, отрыв провода, полная поломка). Если неисправность связана с искривлением конструкции, ее потребуется выпрямить. Чаще всего выходит из строя один из тензодатчиков. В таком случае потребуется выполнить следующие действия.

  1. Проверить работоспособность датчиков. Для этого нужно надавить руками на каждый из них. Даже при небольшом надавливании только на 1 датчик весы должны включаться.
  2. Разобрать весы, внимательно изучить проводку.
  3. Если имеется обрыв (рядом с платой или самим датчиком), его потребуется восстановить. Для этого нужно будет воспользоваться паяльником.
  4. В некоторых случаях обрыв спрятан за клеевой основой. Необходимо аккуратно вскрыть ее и проверить надежность соединения.

Провода, соединенные с тензометрическим датчиком

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

Рекомендуем к прочтению: выбор электронных напольных весов.

Починка шлейфа

Ремонт шлейфа обычно требуется, когда на дисплее цифры отображаются не полностью. Шлейф — это набор проводов, который внутри устройства соединяет дисплей и плату. Чтобы оценить состояние этого элемента и провести ремонт, выполняют следующие действия:

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

Нечеткое отображение цифр на дисплее (пример на картинке) может быть связано с его поломкой или некачественным соединением проводов

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

Калибровка устройства

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

Читайте также: как правильно настроить электронные напольные весы.

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

  1. Нажимается и удерживается кнопка включения до появления надписи CAL.
  2. На устройство ставится груз, вес которого точно известен.
  3. Производится калибровка.
  4. После успешных действий появляется надпись PASS.

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

Чистка соединений

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

Внутреннее устройство весов – все эти элементы должны быть тщательно очищены

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

Узнайте, как выбрать электронные складские напольные весы.

Когда невозможно провести ремонт дома

Весы имеют свой срок службы, после которого они выходят из строя. Обычно этот период варьируется от 3 до 10 лет (зависит от бренда и модели устройства).

В первую очередь ломаются тензодатчики. Они начинают отправлять неправильные данные. На длительность работы влияют условия эксплуатации. Если весы используются ежедневно (например, для взвешивания в спортзале), то они выйдут из строя быстрее.

Стандартная процедура взвешивания. Иногда приводит к выходу прибора из строя

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

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

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

О том, на что стоит обратить внимание при выборе торговых напольных электронных весов, читайте в нашей статье.

Как подключить тензодатчик к Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • модуль тензодатчика hx711;
  • провода «папа-папа», «папа-мама»;
  • паяльник и немного фантазии.

Для датчика потребуется придумать и собрать некую конструкцию весов, а также иметь под рукой весы, чтобы сравнивать данные с модуля с эталоном. Для сборки весов на Ардуино в датчике имеются отверстия с резьбой. Основным элементом модуля (см. картинку ниже) является 24 битный аналого-цифровой преобразователь для весов — микросхема HX711, к которой подключается тензодатчик.

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

После сборки весов на Ардуино, необходимо откалибровать тензорезистивный датчик. Подключите датчик к модулю HX711, согласно схеме размещенной выше, а сам модуль необходимо подключить к плате Ардуино. Порты DT и SCK можно подключить к любым цифровым портам микроконтроллера (в примере кода мы использовали 2 и 3 порт). После сборки схемы загрузите скетч для калибровки датчика в плату Arduino.

Счетч для калибровки тензодатчика HX711

#include <HX711.h> HX711 scale(2, 3); // порты DT, CLK float calibration_factor = -3.7; // калибровка датчика float units; float ounces; void setup() { Serial.begin(9600); Serial.println(«HX711 calibration sketch»); Serial.println(«Remove all weight from scale»); Serial.println(«Press + or a to increase calibration factor»); Serial.println(«Press — or z to decrease calibration factor»); scale.set_scale(); scale.tare(); // сбрасываем датчик на 0 long zero_factor = scale.read_average(); Serial.print(«Zero factor: «); Serial.println(zero_factor); } void loop() { scale.set_scale(calibration_factor); // применяем калибровку Serial.print(«Reading: «); units = scale.get_units(), 10; // выполняем замеры 10 раз if (units < 0) { units = 0.00; } ounces = units * 0.035274; // переводим усредненные значения в граммы Serial.print(ounces); Serial.print(» grams»); Serial.print(» calibration_factor: «); Serial.print(calibration_factor); Serial.println(); if (Serial.available()) { char temp = Serial.read(); if (temp == ‘+’ || temp == ‘a’) calibration_factor += 1; else if (temp == ‘-‘ || temp == ‘z’) calibration_factor -= 1; } }

Пояснения к коду:

  1. на монитор порта будет выведен поправочный коэффициент, который следует использовать далее в работе с датчиком для весов;
  2. при необходимости корректировки коэффициента, через монитор порта следует отправлять «+» или «-» на плату Ардуино.

Счетч для тензодатчика (hx711) Ардуино

#include <HX711.h> HX711 scale(2, 3); // порты DT, CLK float calibration_factor = -3.7; // калибровка датчика float units; float ounces; void setup() { Serial.begin(9600); scale.set_scale(); scale.tare(); // сбрасываем датчик на 0 scale.set_scale(calibration_factor); // применяем калибровку } void loop() { Serial.print(«Reading: «); for(int i=0; i<10; i++) units =+ scale.get_units(), 10; // выполняем замеры 10 раз units / 10; // делим значения на 10 ounces = units * 0.035274; // переводим значения в граммы Serial.print(ounces); Serial.print(» grams»); Serial.println(); }

  1. используя поправочный коэффициент из первой программы, ваши весы должны показывать довольно точные показания в граммах;
  2. скачать библиотеку hx711.h Arduino с описанием команд можно на нашем сайте на странице Библиотеки Ардуино.

Датчик веса – очень важный элемент многих проектов Arduino. По изменению массы можно не только узнать массу, но также отследить и фиксировать изменения объекта, а затем и выполнить какие-то действия. В этой статье мы узнаем, как подключить датчик веса к Ардуино на примере тензодатчиков различного номинала и микросхемы HX711 в качестве аналого-цифрового преобразователя.

Принцип работы тензодатчика

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

Датчик представляет собой прямоугольный брусок из алюминиевого сплава, с отверстием в центре. На его боковые поверхности нанесены тонкоплёночные резисторы, соединённые по мостовой схеме, поэтому резистивный датчик имеет 4 гибких вывода. Все элементы датчика залиты эпоксидным компаундом. На бруске предусмотрены резьбовые отверстия для крепления его к основанию и для установки пластины под измеряемый груз. На торцевой стороне датчика нанесена маркировка, указывающая максимальный вес измеряемого груза. Для того чтобы резисторы изменяли своё сопротивление, тензометрический датчик должен одним концом фиксироваться на основании, а на другой его конец должен действовать груз так, чтобы возникла деформация бруска и, соответственно, плёночных резисторов. Для того чтобы преобразовать аналоговый сигнал с выхода тензорного датчика в двоичный код, применяется аналого-цифровой преобразователь (АЦП) НХ711.

Тензодатчик и НХ711

Интегральная микросхема НХ711 представляет собой аналого-цифровой преобразователь с частотой дискретизации 24 бит и встроенным малошумящим операционным усилителем. Мультиплексор позволяет выбирать один из двух имеющихся входных каналов. Канал А имеет программируемый выбор коэффициента усиления, который может быть 64 или 128. Канал В работает с предустановленным коэффициентом, равным 32.

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

Основные технические характеристики НХ711:

  • Разрядность АЦП – 24 бит
  • Усиление по входу А – 64 или 128
  • Усиление по входу В – 32
  • Частота измерений – 10 или 80 раз в секунду
  • Питающее напряжение – 2,6-5,5 В
  • Потребляемый ток – менее 10 мА
  • Входное напряжение – ± 40 мВ

На плате с АЦП имеются два разъёма – J1 и JP2, на которых имеются следующие обозначения:

  • J1
    • E –, E + питание тензорного моста
    • A –, A + дифференциальный вход канала А
    • В –, В + дифференциальный вход канала В
  • JP2
    • GND, VCC питание
    • DT, SCK – информационные шины

Подключение HX711 к Arduino

Поскольку резисторы тензорного датчика включены по мостовой схеме, от устройства отходят 4 проводника, имеющих разную цветовую маркировку. На два плеча моста подаётся опорное напряжение, а с двух других плеч снимается выходное напряжение, которое подаётся на вход операционного усилителя микросхемы НХ711. Подключение по цветам проводов осуществляется следующим образом:

  • Красный – Е +
  • Чёрный – Е –
  • Белый – А –
  • Зелёный – А +

Для дальнейшей обработки и передачи информации осуществляется подключение НХ711 к Ардуино UNO. Для этого контакты питания GND и VCC HX711 подключаются к точкам GND и 5V разъёма POWER модуля Arduino UNO, а контакты DT и SCK подключаются к точкам A1 и A0 разъёма ANALOG IN. Тензодатчик НХ711 через контроллер Arduino UNO можно подключить к жидкокристаллическому дисплею LCD 1602 или компьютеру, используя USB порт и стандартные библиотеки для Ардуино.

Поскольку на выходе измерительного моста изменяется напряжение, то именно оно преобразуется в бинарный код. Диапазон контролируемых напряжений зависит от выбранного коэффициента усиления. Если коэффициент равен 128, диапазон измеряемых напряжений варьируется от – 20 mV до + 20 mV, выбор коэффициента усиления 64 определяет пределы измерения от – 40 mV до + 40 mV и при коэффициенте равном 32 пределы измерения определяются величинами – 80 mV и + 80 mV. Эти данные будут корректными только при напряжении питания +5 V. Если входное напряжение выйдет за нижнюю границу диапазона, АЦП выдаст код 800000h, а если за верхнюю, то код будет 7FFFFFh. Для калибровки и измерений можно использовать следующие коды:

//код для калибровки //код для калибровки #include «HX711.h» HX711 scale(A1, A0); // DT, CLK float Calibration_Factor_Of_Load_cell = -3.7; // этот калибровочный коэффициент настраивается в соответствии с тензодатчиком float U; float O; void setup() { Serial.begin(9600); Serial.println(«HX711 calibration sketch»); Serial.println(«Remove all weight from scale»); Serial.println(«After readings begin, place known weight on scale»); Serial.println(«Press + or a to increase calibration factor»); Serial.println(«Press — or z to decrease calibration factor»); scale.set_scale(); scale.tare(); //Сбросьте масштаб до 0 long zero_factor = scale.read_average(); //Получаем базовое чтение Serial.print(«Zero factor: «); //Это можно использовать, чтобы устранить необходимость тарирования шкалы. Полезно в проектах постоянного масштаба. Serial.println(zero_factor); } void loop() { scale.set_scale(Calibration_Factor_Of_Load_cell); //Отрегулируйте этот калибровочный коэффициент Serial.print(«Reading: «); U = scale.get_units(); if (U < 0) { U = 0.00; } O = U * 0.035274; Serial.print(O); Serial.print(» grams»); Serial.print(» Calibration_Factor_Of_Load_cell: «); Serial.print(Calibration_Factor_Of_Load_cell); Serial.println(); if (Serial.available()) { char temp = Serial.read(); if (temp == ‘+’ || temp == ‘a’) Calibration_Factor_Of_Load_cell += 1; else if (temp == ‘-‘ || temp == ‘z’) Calibration_Factor_Of_Load_cell -= 1; } }