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

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Весы на основе Arduino и HX711 своими руками

Микроконтроллерная платформа Arduino позволяет сделать множество несложных, но в то же время полезных в быту вещей. Одной из таких вещей можно назвать весы.

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

Микросхема HX711 специально предназначенf для усиления сигналов от весоизмерительных ячеек и передачи их в другой микроконтроллер. Весоизмерительные ячейки подключаются к плате с HX711, и эта плата сообщает Arduino, что именно измеряют весоизмерительные ячейки. Весоизмерительные ячейки (на 50 кг в данном случае) представляют собой металлические элементы специальной формы, к которым прикреплены тензодатчики (тензорезисторы). Тензорезисторы – это резисторы, которые меняют свое сопротивление при изгибе. Когда металлическая часть изгибается, сопротивление тензодатчика изменяется (HX711 точно измеряет это небольшое изменение сопротивления).

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

Убедитесь, что два терминала на весоизмерительных ячейках имеют наивысшее сопротивление между ними (например, черным и белым), соедините их в петлю в соответствии со цветами, например, черный-черный белый-белый черный-черный белый-белый. Затем можно подавать напряжение возбуждения на два противоположных центральных ответвления и снимать показания с другой пары центральных ответвлений. Таким образом, получим некоторое подобие моста Уитстона. Схема подключения весоизмерительных ячеек к модулю HX711 и затем к Arduino показана ниже.

Далее приведен код (скетч) для Arduino, позволяющий реализовать измерение веса. В нем используется библиотека HX711, которую можно взять на https://github.com/bogde/HX711. Перед началом полноценного использования весов, их необходимо откалибровать. Код калибровки выглядит следующим образом.

Код работы весов на основе Arduino и HX711.

Источник

Делаем весы на ардуино Arduino , работа с тензонометрическим датчиком и платой HX711

Через пару дней добавлю демонстративное видео !

Плата усилитель HX711 имеет 5 пинов для подключения . Эти штыри обозначены цветами; RED, BLK, WHT, GRN и YLW. Эти цвета соответствуют традиционному цветовому кодированию весоизмерительных датчиков , где из тензодатчика выходят провода — красные, черные, зеленые и белые провода, а желтый — это дополнительный заземляющий провод, который не подключен к тензодатчику, а служит как дополнительная защита от электромагнитных помех .Иногда вместо желтого провода идет метализированная оплетка или фольга для отражения электромагнитных помех , называемая экран.

Читайте также:  Как готовить торт своими руками

Для создания весов на ардуино нам нужно след. Железо :

Плата HX711 http://ali.pub/1s77td
Плата ардуино (нано,мега,уно ) http://ali.pub/1s8uzw
Тензометрический датчик http://ali.pub/1s780k (уже с платой )
Датчик на 1 кг http://ali.pub/1s8v5q
Датчик на 5 кг http://ali.pub/1s8v82

Датчик на 100\150 кг http://ali.pub/1s8val

Мостовая схема соединения тензометрических сопротивлений в датчике :

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

Четыре провода, выходящие из датчика для подключение имеют следующие цветовые маркировки , обычно:

• Питание + (E +) или VCC красное

• Питание — (Е) или земля черное.

• Выход + (O +), Сигнал + (S +) + или Усилитель + (A +) белый

• O-, S- или A- зеленый или синий

Некоторые датчики могут иметь небольшие различия в цветовом кодировании (особенно китайцы любят такой разнобой) , такие как синий вместо зеленого или желтого вместо черного или белого, если имеется только четыре провода (это означает, что экран не задействован ,или отсутствует вовсе ). Даже если цвета имеют другую маркировку , то всегда можно вызвонить датчик по сопротивлению , установив мультиметр на диапазор 2кОм , прозванивая пару проводов , провода питания будут иметь сопротивление порядка 400 ОМ ,провода сигнала 350 (пара) , питание + сигнал будут иметь сопротивление 300Ом .

Если показания веса у вас идут со значением «-» просто на плате HX711 поменяйте O + / O-провода местами.

После того как вы подключили датчик к плате 711 , вы можете подключить VCC, DAT, CLK и GND к микроконтроллеру, например к плате Arduino.

В примере кода DAT и CLK подключены к контактам цифровым 3 и 2 на плате Ардуино , но при надобности их можно легко изменить в коде. П итание платы начинается от 3 в , а питание датчика от 5 в, по этому можно смело питать от Ардуины .

Схема подключения создана в программе фритзинг

Источник

Делаем простые весы с помощью Arduino

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

Шаг 1. Что нам понадобится

Arduino — в нашем уроке мы используем стандартный Arduino Uno, другие версии Arduino или клоны должны также работать.

HX711 на переходной плате — этот микрочип специально предназначен для усиления сигналов от весоизмерительных датчиков и передачи их в другой микроконтроллер. Весоизмерительные датчики подключаются к этой плате и она сообщает Arduino что измеряют датчики нагрузки.

Датчик нагрузки на 5 кг. Датчик нагрузки представляют собой металлические детали специальной формы к которым приклеиваются тензодатчики. Тензорезисторы — это резисторы, которые меняют свое сопротивление, когда они изогнуты. Когда металлическая часть изгибается, сопротивление тензодатчика изменяется (HX711 точно измеряет это небольшое изменение сопротивления). Вы можете купить HX711 и весоизмерительную ячейку здесь, например, на Амазоне — https://www.amazon.com/Degraw-Load-Cell-HX711-Combo/dp/B075317R45/.

Прочная плоская монтажная поверхность (x2) — идеальная жесткая деталь из твердой древесины или металла.

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

Электропитание для Arduino.

Шаг 2. Устанавливаем датчик нагрузки

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

  1. Алюминиевый тензодатчик должен иметь 4 резьбовых отверстия и метки, показывающие направление силы. Установите сторону без метки на неподвижную поверхность и установите сторону с этикеткой на движущуюся поверхность. Стрелка на маркированной стороне должна указывать вниз в направлении движения платформы при приложении нагрузки.
  2. Монтажная пластина (опора, поверхность) и подвижная пластина должны быть как можно более жесткими.
  3. Удостоверьтесь, что между монтажными пластинами и тензодатчиком устанавливаются какие-то жесткие прокладки. Стойки или шайбы хорошо работают. Цель состоит в том, что любое усилие, прикладываемое к движущейся пластине, приводит к изгибу и скручиванию тензодатчика. Без прокладок загрузка будет передаваться непосредственно с подвижной пластины на неподвижную пластину, не затрагивая тензодатчик.
Читайте также:  Как сделать клей момент своими руками

Шаг 3. Подключаем датчик нагрузки и HX711

См. схему подключения датчиков нагрузки, HX711 и Arduino выше на рисунке.

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

Шаг 4. Добавляем библиотеку HX711 в среду разработки Arduino

Библиотека HX711 доступна по ссылке https://github.com/bogde/HX711.

Чтобы посмотреть инструкцию о том, как добавить библиотеку в вашу Arduino IDE перейдите по ссылке на официальный сайт Arduino: https://www.arduino.cc/en/Guide/Libraries.

Шаг 5. Код, калибровка и взвешивание

У пользователя Sparkfun есть ряд классных программ для Ардуино для запуска процесса взвешивания. Самая актуальная версия размещена ниже, но также её можно скачать с репозитория — https://github.com/sparkfun/HX711-Load-Cell-Amplifier.

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

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

На этом пока всё. Хороших вам проектов и отличного настроения!

Источник

Подключение тензодатчика HX711 к 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. Для калибровки и измерений можно использовать следующие коды:

Источник

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