No Image

Hx711 datasheet на русском

СОДЕРЖАНИЕ
1 259 просмотров
12 декабря 2019

Общие сведения:

Тензодатчики (типа "мост" и типа "полу-мост") и микросхема HX711 — связка, которая позволит создавать устройства для измерения веса или давления, оказываемого на поверхность датчика, а затем передавать эти показания (с высокой точностью) на плату Arduino.

Видео:

Спецификация:

Спецификация HX711

  • Разрядность АЦП: 24 бит;
  • Коэффициент усиления:
  • Вход А: 64 или 128;
  • Вход В: 32;
  • Частота измерений: 10/80 Гц;
  • Напряжение питания: 5В;
  • Потребляемый ток: до 10 мА;
  • Размеры: 34мм х 21мм;
  • Спецификация тензодатчиков мостовых

    • Максимальный вес: 1/5/10/20 кг;
    • Отверстия под винты: M4/M5 (подходит под винт с потайной головкой);
    • Размеры: 14мм х 14мм х 80.5мм;

    Спецификация тензодатчика полумостового

    • Максимальный вес: 50 кг;
    • Размеры: 34мм х 34мм х 9мм;

    Подробнее о плате HX711:

    Микросхема HX711 позволяет с высокой точностью получать показания веса или давления, оказываемого на тензодатчик (он же — тензорезистор).

    Микросхема имеет 2 канала считывания показания счётчика: А и В:

    • Канал А имеет возможность выбора коэффициента усиления: 64 или 128.
    • Канал В имеет фиксированный коэффициент усиления, равный 32.

    Это позволяет подключать к микросхеме HX711 до 2 независимых тензодатчиков! Однако, следует помнить, что чем выше коэффициент усиления, тем выше точность измерения показаний.

    Подробнее о датчиках:

    Тензорезистивные датчики предназначены для создания на их основе весов, датчиков давления или концевых датчиков.

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

    Существует 2 версии данных датчиков:

    • 1 — те, в которых резисторы объединены в мост, подключённый непосредственно к АЦП, который фиксирует изменения значений резисторов. Датчики выполнены из алюминия, имеют форму бруска с 4 отверстиями на одной плоскости и особым сдвоенным отверстием на другой. При установке датчике в рабочее положение необходимо жёстко закрепить одну его сторону, а на вторую установить (при необходимости) платформу для завешивания грузов. Имеют на выходе из датчика 4 провода.

    Схема устройства и подключения мостового датчика к микросхеме HX711:

    Схема устройства и подключения полу-мостового датчика к микросхеме HX711:

    Для 1 тензодатчика:

    Для 4 тензодатчиков:

    Обратите внимание на то, что если полученные значения имеют отрицательный знак, то вам следует поменять местами датчики, подключенные к выводам А+ и А —

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

    Подключение:

    Микросхема HX711

    На плате есть два разъёма – P1 и P2, на которых имеются следующие обозначения:

    Разъём P1

    • GND — земля;
    • VCC — питание 5В;
    • DT, SCK – информационные выводы;

    Разъём P2

    • E– , E+ — питание тензорного моста;
    • A– , A+ — подключение канала А;
    • В– , В+ — подключение канала В;

    Тензодатчик (мостовой)

    У данного тензодатчика 4 выходных провода:

    Провода тензодатчика Выводы микросхемы HX711
    Красный провод E+
    Чёрный провод E-
    Зелёный провод A-
    Белый провод A+

    Тензодатчик (полумостовой)

    У данного тензодатчика 3 выходных провода:

    Провода тензодатчика Выводы микросхемы HX711
    Красный провод E+
    Чёрный провод E-
    Белый провод A+
    Провода тензодатчика Выводы микросхемы HX711
    Зелёный провод A-

    HX711

    Данная плата подключается к Arduino по 4 проводам:

    Выводы микросхемы HX711 Выводы Arduino
    GND GND
    VCC 5V
    DT любой цифровой вывод (указывается в скетче)
    SCK любой цифровой вывод (указывается в скетче)

    Подключение HX711 к Arduino можно осуществить одним из 2 способов:

    1. Напрямую к плате Arduino/Piranha UNO:
    2. К одному из шилдов для подключения:

    Питание:

    Входное напряжение 5В, подаётся на выводы Vcc (V) и GND (G).

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

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

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

    Читайте также:  Дизельная электростанция fubag ds 7000 da es

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

    Читайте также:  Благоустройство дачного участка 6 соток фото

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

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

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

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

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

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

    У энтузиастов, использующих данный модуль для сборки электронных весов "по-умолчанию", с пяти-вольтовым питанием, проблем не возникает.

    Я-же который раз сталкиваюсь с несоответствиями мануалов — притом ладно, линейный регулятор сгорает при вдвое меньшем входном напряжении, или настройки модуля Ai-Thinker не сохраняются, но перепутать формулу в документации — это перебор.

    О модификации платы 24-битного конвертера АЦП для работы от "батареек" под катом.

    Для исключения необходимости во внешнем стабилизированном источнике напряжения, микросхема содержит внутренний эталонный регулятор (1.25V).

    Напряжение, подаваемое на измерительный мост Уитстона(тензодатчики) задается делителем напряжения на R1,R2 (первое фото).

    Правильная формула следующая Vavdd=Vbg*(R1+R2)/R2, где Vbg и есть 1.25V.

    При значениях "по умолчанию" 20k и 8.2k на датчики подается 4.2V то-есть при напряжении питания схемы ниже 4.3V (согласно документации) мы получим ложные значения веса, гуляющие с просадкой источника питания.

    Для того, что-бы схема правильно работала от 3.3V, нужно уменьшить номинал R1(верхнего на рисунке резистора), тогда на мост будет подаваться меньшее напряжение.

    Но нет, "земля" уже не та!

    С первых дней радио-кружка нас учили, что "масса" — она в схеме общая!

    Китайцев видимо — нет.

    В итоге, став щупами тестера на выходы питания моста E+ и E-, картина против использования входной линии "земли" меняется.

    Может это из-за специфики разводки именно данной платы, но падение напряжения составляет 750mV (а не 100, как в доке).

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

    Выход — в делителе на R1,R2 использовать одинаковые номиналы, тогда мост будет питаться от 2.5V, и стабильно работать при просадке входного напряжения до 3.25V.

    Спросите — зачем такие сложности?

    Все просто — я таки собираю систему мониторинга ульев (на фото — отладочный стенд).

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

    В итоге решил для начала сделать простые автономные СМС-весы сразу для 3 ульев.

    Схема нормально засыпает, самый пожиратель батареи — GSM-модуль — все железо потребляет

    1.8мА при хорошем сигнале оператора связи.

    Но основная суть, что информация по модулю HX711 может пригодиться кулибиным, не интересующимся пчелами, поэтому и написал отдельную статью.

    P.S. А "центр управления полетами" опишу отдельно уже в ближайшее время.

    UPD — ВЫВОД — НЕ ПОКУПАЙТЕ ТАКУЮ ПЛАТУ ВООБЩЕ.

    Именно как на фото — E- не подключен к GND, вместо резисторов по 100 Ом на все измерительные входы (4 шт), тут стоят по 1.2k на A+, B+.

    Посмотрел фотографии других модулей на HX711 — что зеленых, что красных -все в порядке — и по количеству элементов, и по номиналам.

    Визуально отличить легко — вся тыльная сторона нормальной платы — проводник (земля) к которому подключены E- и GND, есть варианты с экраном, что предпочтительней.

    PPS, для нормальной работы регулятора напряжения моста при питании от 3.3В, R1, R2(рядом с транзистором) перепаяйте на резисторы одинакового номинала 2-10k

    До новых встреч на страницах Хабра, Андрей.

    Читают сейчас

    Похожие публикации

    • 12 октября 2015 в 07:37

    Беспроводный Lighting-Sensor с питанием от CR2450

    PIC16F1503. Тачка на прокачку — 3. Питание

    Улучшаем схему питания беспроводной клавиатуры

    Вакансии

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Комментарии 53

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

    Читайте также:  Видеоглазок из камеры сотового телефона

    по теме — вот прибыль меда веснойлетом — понятный процесс и для чего. А мониторинг убыли веса зимой пчеловодам не интересен?

    Как много в этом звуке.

    С точностью у китайцев проблемы.

    В самом АЦП можно установить три коэффициента усиления 128, 64 и 32.

    Но в итоге на 64 некоторые пользователи отмечают более стабильные показания и выше точность против 128.

    В итоге, став щупами тестера на выходы питания моста E+ и E-, картина против использования входной линии "земли" меняется.

    так и не понял, что это значит? что и где поменялось то?

    Может это из-за специфики разводки именно данной платы, но падение напряжения составляет 750mV (а не 100, как в доке).

    эм, падение где? на каком элементе?

    Если измерять между точками GND и E+ напряжение падает на 100мВ против GND и VCC, независимо от номиналов делителя на R1, R2.

    E+ и E- напряжение задается делителем, но ниже чем входное на 750мВ.

    Дока-же гласит:
    The output voltage is equal to VAVDD=VBG*(R1+R2)/ R1 (Fig. 1). This voltage should be designed with a minimum of 100mV below VSUP voltage.

    То-есть VAVDD — это напряжение на контактах E+ и E-, VSUP — входное напряжение

    The output voltage is equal to VAVDD=VBG*(R1+R2)/ R1 (Fig. 1). This voltage should be designed with a minimum of 100mV below VSUP voltage.

    Странный у Вас перевод документации. Я больше сию фразу понял так:

    Выходное напряжение равно /далее формула/. Это напряжение должно быть рассчитано (задано разработчиком) как минимум на 100мВ ниже чем напряжение VSUP.

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

    По-сути они правы, ибо на 750мВ — еще ниже ;-), но пользователи берут за основу число из документации.

    вопрос, на сей чудной плате E- с GND не соединен?

    Сказать по правде, — не соединен 🙁
    Только что еще одним тестером перепроверил.
    Плата — однослойная — дорожек не наблюдается.

    В доке тоже все туманно:

    То-есть земля должна быть вроде одна, но на плате начертили MCU GND и ADC GND

    Так соедините, иначе у Вас схема не соответствует datasheet-у.

    То-есть земля должна быть вроде одна, но на плате начертили MCU GND и ADC GND

    напряжение насыщения для транзистора S8550 — 0.5В

    Этой статье не место на Хабре. Ей место на форуме ардуинщиков.
    После прочтения статьи становиться ясно, что автор профан в электронике.

    Я-же который раз сталкиваюсь с несоответствиями мануалов — притом ладно, линейный регулятор сгорает при вдвое меньшем входном напряжении, или настройки модуля Ai-Thinker не сохраняются, но перепутать формулу в документации — это перебор.

    Документацию пишут люди. Людям свойственно ошибаться. Ошибки в документации встречаются и у более именитых производителей. Как говориться доверяй, но проверяй. Формула приведена к рисунку 1, где сам рисунок?

    С первых дней радио-кружка нас учили, что «масса» — она в схеме общая

    Данное утверждение в корне не верно, все зависит от схемотехники.

    Удивление автора, по поводу трассировки платы от дядюшки Ляо из Чайнариладж, вообще странные. Сам купил поделие за копейки, не проверил трассировку и удивляется, что она через одно место работает (что снова указывает на дилетантство). Покупать надо было хотя бы от нормальных производителей, например SparkFun.

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

    Собственно это и ключевое отличие дорогих TI и AD от более доступных китайских аналогов

    Я бы не рекомендовал пчеловодам покупать ваши весы. Это не прибор, а игрушка. В данном продукте используется, в качестве измерительного устройства схема на самых дешевых компонентах. То, о чем автор говорит- это схема уставки опорного напряжения. Источник опорного напряжения — это ключевой компонент, обеспечивающий точность и стабильность измерений. Автор думает, поставил резисторы и все тип-топ. Только про стабильность измерений можно забыть. И ладно, это отдельные измерения, но автору нужна ретроспектива, т.е изменение по времени. А точностью этих измерений огромные проблемы- в первую очередь, из за внешней температуры и стабильности источника питания. А про то, что ставить надо прецизионные резисторы, как минимум, автор не догадывается. Вообще-то для таких задач используют отдельные источники опорного напряжения. Такая микросхема обеспечивает сверхвысокостабильное напряжение и сверхнизкий шум напряжения, относительно которого производятся вычисления. И стоит она дороже самого АЦП, а для этого- на порядок дороже. Только таким образом можно достичь заявленной точности преобразований. Резисторы, кстати, имеют свой тепловой шум. Настоятельно советую автору непожмотиться и приобрести настоящий комплект измерений на 24 бита, сделанный профессионалами. И сравнить. Измерения с точностью выше 16 бит с наскока и без глубоких знаний схемотехники не решаются.

    Комментировать
    1 259 просмотров
    Комментариев нет, будьте первым кто его оставит

    Это интересно
    Adblock detector