Весы своими руками тензодатчик

Электронные весы на HX711

В данной статье будет рассмотрена схема самодельных электронных весов на PIC16F628A, модуле АЦП с микросхемой HX711 и тензодатчиком. В прошлой статье «Микросхема HX711 с микроконтроллером PIC» я приводил подпрограмму взаимодействия модуля HX711 с PIC16F628A. А еще ранее на сайте была размещена статья так же посвященная электронным весам –«Электронные весы с тензодатчиком».
Сейчас рассмотрим практический вариант применение данного модуля в электронных весах. Схема весов приведена на рисунке 1.

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

Тензодатчик

Данный тензодатчик, примененный в схеме весов, представляет собой резистивный мост, величина сопротивления резисторов в котором меняется в зависимости от их механической деформации. В идеальном случае на выходе моста в нормальных условиях, (на резисторы не действуют ни какие силы), должен быть нулевой потенциал. То есть мост должен находиться в сбалансированном состоянии. У купленных мной тензодатчиках, на Aliexpress, на положительном выводе – белый провод, присутствовало напряжения отрицательной полярности. В таком случае можно просто нагрузить датчик таким весом, при котором напряжение сигнала моста выйдет в положительную область и программно сделать это напряжение нулевым. В качестве этого груза может выступить весовая платформа с соответствующим весом. Можно пойти другим путем. Так как электронный мост представляет собой симметричную структуру, то можно просто поменять местами провода выходного сигнала, т.е. зеленый провод поменять с белым. А усилие прикладывать в противоположную сторону относительно указателя на самом тензодатчике. При проведении экспериментов и отладке программы я так и поступил.
Про модуль HX711 я писать не буду, потому что в Сети на эту тему и так много всякого материала. Скажу лишь одно, чувствительность микросхемы одноименного модуля очень высокая. А это говорит о том, что особое внимание необходимо уделить качеству питающего напряжения, качеству монтажа, защите схемы от воздействия внешних электромагнитных помех. Иначе устойчивых показаний измеряемой величины вам не добиться.

На фото ниже показана работа устройства без взвешивания и с взвешиванием гирьки в сто грамм.


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

Теперь немного о программе микроконтроллера. После всей классической процедуры инициализации регистров начинается программа считывания данных из памяти микросхемы АЦП DA1. За ней следует подпрограмма коррекции нуля. Эта программа активизируется каждый раз при включении питания. Я не стал вводить в схему дополнительной кнопки для этой опции. Естественно, если вы включите весы с установленной на них тарой, то ее вес тоже будет вычитаться из общих значений и у вас на индикаторе будет вес нетто. Так как все датчики невозможно сделать с одинаковыми параметрами, значит, у разных датчиков будет разный наклон преобразовательной характеристики — зависимость уровня выходного сигнала от величины приложенного усилия. Исходя из этого, нам надо будет найти коэффициент, на который мы будем умножать числовое значение данных полученных с АЦП. В моем случае этот коэффициент равен 1,1295. Как его определить. Включаете весы, ставите контрольный груз, например гирьку в 100г. Считываете показания индикатора, у меня они были равны 88,5347… Потом 100г делите на 88,5347г и получаете нужный коэффициент. Программно мы будет умножать естественно на число без запятой – 11295. Т.е. коэффициент, умноженный на 10000. После умножения обратно делить на 10000, полученное произведение мы не будем, а просто после преобразования двоичного числа в двоично-десятичное, четыре младших разряда не будем выводить на индикацию, что и соответствует делению. В шестнадцатеричном коде это число выглядит: старший байт – 2С, младший – 1F. Ниже приведено окно Disassembly Listing, здесь помечены адреса регистров, в которых лежит этот коэффициент.

Это для людей знакомых с программированием. Теперь для тех, кто с программированием не знаком. Значение этого коэффициента можно изменить в указанных ячейках памяти программ. В программе Ic prog

В программ К-150, все на том же месте.

После программы умножения идут программы преобразования двоичного числа в двоично-десятичное и вывод информации на индикатор.
На этом у меня все. Удачи! К.В.Ю.

Источник

Преодолеем кризис вместе, или весы своими руками. Часть 2. Тензометрические весовые электронные устройства

Авзалов З.Г., ведущий специалист
Афанасьев В.А., начальник отделения разработки и производства электронных приборов
Железнов А.А., начальник отделения разработки и производства тензодатчиков
Киреенко Н.М., Генеральный Директор ООО «ТД «Тензо-М»

Сенянский М.В., Генеральный Директор ЗАО «ВИК «Тензо-М»
Фаворский Д.В., начальник отдела рекламы

За окном уже весна. Все мы начинаем понимать, что кризис – это надолго, а жить надо, поэтому работать надо эффективнее, чем раньше. Вторая наша антикризисная публикация поможет нам с Вами повысить свою эффективность. В ней мы продолжим рассказ о том, как своими руками организовать и воплотить в жизнь технологическое взвешивание на базе ТВЭУ. В предыдущем номере журнала была раскрыта тема электроники ТВЭУ – презентован новый антикризисный продукт – весовой терминал ТВ-003/05Н, имеющий большие возможности при низкой цене. В этом номере мы расскажем о том, как спроектировать ТВЭУ, подобрать для него тензодатчики и узлы их встройки, как грамотно провести калибровку и избежать «детских» ошибок.

Читайте также:  Информационная табличка своими руками

Прежде всего, надо сформулировать цель работы – что и зачем мы будем взвешивать, а затем учитывать. Часто собственники и руководители бизнеса стараются учитывать не только количество принимаемого сырья и отпускаемой готовой продукции, но и организовывать учет на промежуточных стадиях технологического процесса. Постараемся изложить процесс «синтеза» технического задания (Т.З.) на создание ТВЭУ в виде нескольких простых шагов.

Шаг 1 – Найдите те точки Вашего технологического процесса, где Вы хотели бы организовать пункты контроля (ПК). В каких емкостях и в каком физическом состоянии находится сырье или полуфабрикат? Это бункера с сыпучим продуктом типа зерно, мука, мел или комбикорм, или это баки и цистерны с маслом, дизельным топливом, молоком, горячим шоколадом и т.д.?

Шаг 2 – Узнайте каковы пределы изменения массы продукта в емкости? Какова масса тары, т.е. самого бункера или силоса?

Шаг 3 – Нарисуйте схему наполнения-опорожнения емкости и все подходящие к ней, так называемые, «паразитные» связи. К ним относятся присоединенные трубопроводы, подпорные конструкции, межэтажные перекрытия, снеговые и ветровые нагрузки (Рис.1).

Рис.1. Факторы, влияющие на точность взвешивания ТВЭУ

Шаг 4 – Решите для себя какую точность взвешивания Вы хотели бы иметь в каждом пункте контроля. Этот шаг является, пожалуй, самым важным, поскольку именно точность взвешивания определяет эффективность производственного учета. В зависимости от наибольшего предела взвешивания (НПВ), способа калибровки, количества и несовершенства «паразитных» связей предельная погрешность взвешивания может составлять 0,05… 0,5%.

Шаг 5 – Охарактеризуйте условия работы ТВЭУ с точки зрения агрессивности окружающей среды, влажности, взрывоопасности и т.д. Воздействует ли на датчики и электронику высокая температура, сильные электромагнитные поля и т.п.?

Первая задача, которую предстоит решить Вашим специалистам – это как встраивать весоизмерительные датчики. Как правило, решение подсказывает сама жизнь. Если Ваши бункера подвешены, то датчики могут быть встроены в линии подвеса. Датчики будут работать «на растяжение» и при использовании рекомендованных узлов встройки обеспечивать наивысшую точность. Для таких случаев «Весоизмерительная компания «Тензо-М» серийно производит датчики типа С2А, С2Н и С2 из алюминия, нержавеющей и легированной сталей на нагрузки от 100кг до 20т. (Рис.2).

Рис.2. Взвешивание емкостей путем подвески их на датчиках типа С2А, С2Н и С2, работающих на растяжение

Однако, чаще всего, емкости устанавливают на полу и тогда Вы должны подставить датчики под их опоры (Рис.3). Для этих случаев мы серийно производим датчики М50, М70К и М100 из нержавеющей стали на нагрузки от 500кг до 50т и датчики типа МВ из нержавеющей стали на нагрузки до 100т. Подробные рекомендации по выбору датчиков и силопередающих устройств мы дадим в следующем номере журнала, а сейчас продолжим описание процесса создания ТВЭУ у Вас на предприятии.

Рис.3. Встройка датчиков под опоры емкости – наиболее часто используемый способ реализации ТВЭУ

Элементы для построения ТВЭУ Вы приобретаете в компании «Тензо-М», являющейся крупнейшим производителем весоизмерительного оборудования в России. Мы производим все элементы весов и дозаторов – весоизмерительные тензодатчики, узлы их встройки, вторичные электронные приборы (преобразователи) или весовые терминалы (ВТ). Грузоприемные устройства (ГПУ) – платформы, бункера, балки и баки с целью снижения затрат Вам лучше использовать свои. При необходимости, конечно, мы можем изготовить их для Вас тоже.

Продолжим решение примера, начатое в прошлом номере журнала. А именно, взвесим бак с молоком. Решив это задачу, Вы будете круглосуточно контролировать приход молока с ферм и расход его в производство молочных продуктов (шаг 1). Сама цистерна или открытое «корыто» у Вас, конечно же, есть. Это уже экономия. Теперь надо встроить датчики под ее ноги (Рис.4).

Рис.4. Пример снижения жесткости «паразитных» связей путем вставки гофров для повышения точности ТВЭУ

Вес самой емкости из «нержавейки» составляет, например, 2т. Максимальный вес молока, соответственно, 10т. Итого максимальный вес «брутто» составит 12 т (Шаг 2). Ближайшее значение НПВ ТВЭУ составляет 15т (см. модельный ряд). Это означает, что цистерну или «корыто» надо устанавливать на 4 датчика по 5 т каждый, поскольку датчики должны иметь запас по перегрузу.

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

Если жесткость подходящих трубопроводов (влияние) будет снижена до ±5 кг, то мы можем рассчитывать на точность взвешивания молока с погрешностью не хуже ±10кг (Шаг 4). Это соизмеримо с погрешностью автомобильных весов, на которых взвешивается молоковоз Вашего поставщика молока! Следует, конечно, пояснить, что получение столь высокой точности взвешивания требует тщательной калибровки ТВЭУ гирями методом прямого нагружения.

Читайте также:  Замена редуктора шуруповерта интерскол своими руками

Конечно, всех 15т гирь класса точности М1 по ГОСТ 7328 Вам не найти. Такое количество может быть только в областном Центре стандартизации и метрологии, да у нескольких лучших производителей автомобильных и вагонных весов России. Поэтому Вам придется пользоваться методом замещения, который позволит снизить потребность в эталонных гирях в 4 раза, или заказать на «Тензо-М» комплект ТВЭУ с сертификатом о калибровке. Эту работу мы выполняем в заводских условиях на аттестованных эталонных силозадающих машинах.

Исходя из влажных условий эксплуатации и требований гигиены датчики этого ТВЭУ должны быть, конечно, изготовлены из нержавеющей стали (Шаг 5). И обязательно отечественного производства – иначе нам не преодолеть кризис! Скорое всего, это датчики М65 со степенью защиты оболочкой IP68 по ГОСТ 15254.

Мы разобрали простейший пример проектирования ТВЭУ для технологического взвешивания молока в условиях помещения при минимальных «паразитных» связях и отсутствии других осложняющих обстоятельств. Часто этого бывает вполне достаточно для самостоятельного выполнения первой и последующих работ. Однако, как показывает практика, наши заказчики сталкиваются с рядом ситуаций, когда требуется помощь нашего специалиста.

Таким «профессором» по ТВЭУ является наш ведущий инженер Авзалов Зайтун Галеевич, который может проконсультировать Вас по телефону в режиме «горячей» линии, или выехать в командировку для изучения и решения сложного вопроса на месте. Его телефон многоканальный +7 (495) 745-30-30, адрес электронной почты tenso@tenso-m.ru.

В следующем номере журнала мы рассмотрим вопрос побора датчиков и узлов их встройки для ТВЭУ. Не прощаемся! Звоните и пишите!

Успехов всем нам, Российским аграриям и производственникам, в преодолении кризиса! Вместе мы победим!

Источник

Электронные весы на базе HX711

На сегодняшний день в продаже имеются необходимые инструменты, чтобы буквально «на коленке» собрать свои электронные весы: микросхема АЦП HX711 (продается на AliExpress), специально предназначенная для применения в весах разрядностью 24 бита и датчик массы, представляющий собой мостовой или полумостовой измеритель на базе тензорезисторов в качестве чувствительного элемента.

Если при подборе элементной базы микросхемы HX711 представлены практически одними и теми же модулями, то датчики массы можно подобрать различной конфигурации. Главный параметр таких датчиков – это измеряемая масса (1 кг, 3 кг, 5 кг, 50 кг и так далее), в зависимости от этого параметра датчики могут иметь так же различную форму и исполнение. По сути, датчики массы измеряют приложенное усилие относительно плоскости датчика – вес тела, но при помощи несложных физических формул можно вычислить массу тела. А раз мы измеряем силу, с которой тело давит на датчик, то и сфера применения подобных схем резко увеличивается. В самом простом случае – это обычные весы, для которых масса тела будет пропорциональна данным, получаемым от АЦП. В более сложных случаях при помощи схем на основе данной элементной базы можно измерять, например, скорость ветра (сила, с которой ветер давит на опору датчика, будет пропорциональна размеру опоры и скорости ветра) или регулировать прикладываемую силу к какому-либо предмету относительно получаемых данных.

При измерении массы тела данным методом стоит учитывать при разработке некоторые нюансы. Как уже отмечалось, датчик регистрирует вес тела, а вес тела это масса, умноженная на ускорение свободно падения или силу тяжести (

9,8 м/c2). Таким образом, видим, что измеренная масса тела будет зависеть от значения силы тяжести планеты, что значит, что в разных точках Земли, а также с увеличением высоты (расстояния от поверхности земли) сила тяжести будет изменяться, что повлияет на то, что масса тела в различных условиях может быть в небольшой степени различна. Хотя масса тела неизменна, но способ измерения связан этими физическими явлениями, поэтому это может являться причинами погрешности измерений кроме основных причин.

Как же мы все-таки измеряем массу (вес) тела этим датчиком, с виду напоминающим железную болванку?

Для начала необходимо иметь понятие о чувствительном элементе этого датчика – тензорезисторе.

Тензорезистор – это резистор, сопротивление которого изменяется в зависимости от его деформации.

С этим понятно – есть некий резистор (обычно это гибкая пластинка – пленочный тензорезистор, на который напылены проводящие элементы), который при изгибе, растяжении и прочих деформациях изменяет свое сопротивление. На датчике массы тензорезистор располагается под слоем белого защитного полимера. Основание датчика – алюминиевый брусок с отверстиями для крепления и большим отверстием для задания модуля упругости бруска таким образом, чтобы тензорезистор улавливал упругую деформацию этого бруска в заданном диапазоне измерения массы. Итак, собирая воедино способность тензорезистора изменять свое сопротивление при его деформации и способность металла бруска при упругой деформации растягиваться или сжиматься (деформироваться) при воздействии силы, получаем датчик, который измеряет деформацию при приложенной силе к этому датчику. А так как модуль упругости в самом распространенном варианте имеет линейный характер (закон Гука), получаем вполне точный датчик, с помощью которого можно измерять усилие, приложенное к датчику в заданной плоскости, и, следовательно, вес тела (и массу), прикладывая груз перпендикулярно датчика.

Читайте также:  Как поставить батареи отопления своими руками

Направление усилия (приложения груза) указывается на самом датчике, там же указывается и вес, на который рассчитан этот датчик. Схема измерителя на этом датчике является полумостовой – один тензорезистор сверху, второй снизу, при приложении усилия один тензорезистор растягивается, второй сжимается. Схема способна регистрировать вес до сотой грамма, но в этом диапазоне очень много шумов, поэтому схема вполне стабильно способна регистрировать вес до десятых долей грамма. Однако, это применительно к датчику FZ0967 на 5 кг, если взять датчик на 1 кг, то теоретически минимально стабильный порог будет меньше. И аналогично при применении датчиков на больший вес минимально стабильный порог увеличится. Таким образом, при выборе датчика стоит учитывать сферу применения для получения максимально точного результата.

Для измерения массы различных тел был сделан измерительный столик из подручных материалов, а именно старой коробки DVD дисков и самих дисков (или подкладных болванок).

Одной стороной датчик прикручивается к центру коробки от дисков, ко второму конце датчика прикручивается диск, на которой будут ставиться грузы (диски хотя и гибкие, но при приложении чрезмерной силы хрупкие, это стоит учитывать при сверлении отверстий в них, чтобы не расколоть). Таким образом, один конец датчика зафиксирован, а вес прикладывается к другому концу – приложенный груз как бы действует на изгиб датчика, хотя этого вы не заметите.

Для работы с такими датчиками была специально разработана микросхема АЦП HX711.

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

Основные параметры микросхемы АЦП HX711:

  • Два входных канала для измерения
  • Регулируемый коэффициент усиления 32, 64, 128
  • Простой цифровой интерфейс, не требующий программирования (так гласит даташит, хотя по большому счету программирование параметров присутствует)
  • Регулируемое количество выборок 10 или 80
  • Разрядность АЦП 24 бита
  • Фильтр на 50 и 60 Гц питания
  • Потребление тока до 1,5 мА
  • Напряжение питания от 2,7 до 5,5 вольт
  • Диапазон рабочих температур от минус 40 до плюс 85 градусов Цельсия
  • Знаковые выходные данные от 800000h до 7FFFFFh

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

После того, как получим данные от АЦП необходимо учесть два нюанса. Первое, значение представляет собой чистые данные АЦП, то есть количество отсчетов относительно приложенного веса. Что бы не забивать себе голову пересчетами количества отсчетов в значение веса или массы, вспоминаем, что все зависимости у нас линейные, а значит пропорциональные, поэтому нам нужен всего один общий коэффициент для этого пересчета. Для моего экземпляра коэффициент равен 430 при пересчете в единицы грамм. Как это узнать? Есть два способа – строгий математический, с поиском различных справочных данных по материалу из которого изготовлен датчик, поиска параметров тензорезисторов для выведения зависимости модуля упругости материала в данной геометрической конфигурации к сопротивлению тензорезисторов при упругой деформации датчика. Второй способ не самый точный, но крайне быстрый и простой. Необходимо просто замерить сколько отсчетов АЦП приходится на единицу приложенной массы. Для этого необходимо учесть второй нюанс – сама конструкция имеет некоторый вес и перед измерениями его нужно просто убрать – вычесть и получить «ноль» на весах. Далее поставить на весы гирьку определенной известной массы и получить некоторое значение АЦП. Это количество отсчетов будет приходится на единицу массы на весах:

К=(количество отсчетов с массой гирьки – количество отсчетов без приложенной массы) / масса гирьки

Далее этот коэффициент используется после каждого измерения АЦП для перевода в значение единиц массы и выводится на дисплей. Для моего экземпляра этот коэффициент равен 430.

Для сборки весов используем микроконтроллер STM32.

Исходный код для микроконтроллера находится в конце статьи. Схему удобно собирать на минимальной отладочной плате, потому что в этом случае необходимо минимум деталей для сборки — соединяем между собой плату с микроконтроллером, дисплей и модуль АЦП с датчиком, подключаем к питанию.

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

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

Источник

Оцените статью