Каталог статей


Выбранная схема!!!


7951
Весовая машина | Полный проект с исходным кодом

Весовая машина | Полный проект с исходным кодом

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

Восемь лет назад я купил небольшие весы для ванной в магазине @Home, Мумбаи, и тогда они обошлись мне в приличную сумму денег. Это простой аналоговый тренажер. Вы встаете на весы, стрелка отклоняется, читаете вес – просто и понятно. Это старший брат – тогда цифровые весы стоили гораздо дороже.

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

В следующей статье будет описано, как построить простой дешевый, но очень эффективный (максимум 5 кг) кухонный тренажер за копейки! Замените тензорезистор на больший, и ваши напольные весы готовы – все одинаково.

Мы будем использовать MCU — это Arduino с загрузчиком, тензодатчиком, панелью LCD размером 16*2, аналоговым усилителем HX711, несколькими приспособлениями, фитингами, гайками, болтами и шайбами, и ваш весовой станок готов к работе. готов.

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

Arduino (любой марки) / ATMEGA328 с загрузчиком — от 2 до 3 долларов
Весовой тренажер 5 кг (тензодатчик) – от 3 до 4 долларов
16*2 панель LCD – от 2 до 3 долларов
Инструментальный усилитель HX711 – от 1 до 2 долларов

Хотя все вышеперечисленные цены указаны на сайте aliexpress.com, некоторые цены вполне сопоставимы с ценами на ebay.in и amp; dx.com также.

Подготовка

Я предпочитаю HX711 любому другому инструментальному усилителю, например INA105P, потому что HX711 имеет цифровой выход, дешевый и имеет заголовочный файл adafruit для Arduino, что еще больше упрощает его использование. Весы имеют металлическую конструкцию, окруженную рамами для снятия натяжения, которые воспринимают нагрузку при воздействии веса. Тензорезисторы расположены в формате моста из пшеничного камня. На одну сторону подается напряжение while, на другой стороне измеряются изменения напряжения в зависимости от нагрузки, которой она подвергается.

Рисунок 1: мостик из пшеничного камня и соединения тензодатчиков (Courtesey:instrumentationengineering.org)

Это типичный тензодатчик, выполненный в виде моста из пшеничных камней. Выход зажат на 4 провода. Нагрузка прикладывается к свободному концу. Тензорезисторы установлены со всех трех сторон для измерения сжатия и расширения, что представляет собой не что иное, как сигнал нагрузки, который обрабатывается и измеряется для измерения веса. Цветовой код четырех проводов, выходящих из него, имеет единое значение: красный, белый, черный и ампер. зеленый.

КРАСНЫЙ = + Возбуждение: это будет идти к +5 Вольт или E+ платы HX711
ЧЕРНЫЙ = – Возбуждение: подключается к земле или E- платы HX711
БЕЛЫЙ = – Сигнал: он пойдет на A- платы HX711
ЗЕЛЕНЫЙ = + Сигнал: он пойдет на A+ платы HX711
ЖЕЛТЫЙ = (может быть есть или нет): это экранированный провод, который нужно соединить с землей.

У HX711 есть еще один неиспользуемый канал или if у вас есть еще один тензодатчик для измерения среднего значения, вы можете подключить его к другому каналу: B- & B+

Для HX711 это более-менее одинаково. См. картинку.

Рисунок: типичный модуль HX711 (предоставлено:aliexpress.com)

Операция

Программное обеспечение построено по принципу Arduino-on-board. После записи кода в ATMEGA328 чип вынимается и помещается на производственную плату. Первоначальные показания могут содержать ошибки, поскольку датчик еще не откалиброван. Поэтому нажмите кнопку, подключенную к цифровому контакту 10, один раз, и датчик выполнит самокалибровку и отобразится начальное показание 0,0. Затем заданное значение нуля будет сохранено во встроенном EEPROM Arduino. В следующий раз, когда вы перезапустите его после отключения switch, показания установки нуля будут считаны из EEPROM, а затем внутренняя калибровка будет скорректирована в соответствии с этим и отобразится в верхней строке. Во второй строке будет указано 0,0.

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

Рисунок: авторский прототип

Калибровка

Калибровка весов является важной частью измерительных приборов. Для HX711 есть один калибровочный коэффициент — 7050, который хорошо подходит для модулей adafruit. Поэтому я его не менял. Второй фактор — это фактор Zero_set, для которого я предусмотрел динамическое выполнение во время операций. После каждой калибровки значение Zero_set попадает в память EEPROM Arduino. В следующий раз, когда вы перезапустите компьютер, это значение будет получено из EEPROM, а затем будет достигнуто значение Zero_set. Таким образом, цифра Zero_set перемещается вместе с внутренним EEPROM машины.

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

Множитель

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

Подбор весов

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

Рис.: Детали установки

Посмотрите на отвертку: корпус тензодатчика отделен от опорной пластины с помощью двух толстых шайб. Верхняя пластина (здесь это компакт-диск) оснащена двумя толстыми шайбами, чтобы тензорезисторы, установленные на корпусе тензодатчика, не соприкасались с корпусом. Лучше всего для этого подойдут твердые плоские пластины. Этот тензодатчик способен выдерживать вес до 5 кг. Я проверил мерными зубочистками (1,7 грамма – 4 номера), пластиковой чайной чашкой (2,8 грамма) и книгами толщиной 4,3 кг, и каждый раз получалось одно и то же показание. Надо сказать, что машина обладает отличной повторяемостью. Погрешность измерения +- 1 грамм. Для точного измерения поместите машину в такое место, где нет движения воздуха, например, верхний вентилятор и т. д.

Рисунок: схематическое изображение

Программное обеспечение, используемое в этом тренажере

Программное обеспечение состоит из заголовочных файлов HX711 и эскиза Arduino. Сначала добавьте файлы библиотеки в Arduino IDE, а затем запустите скетч. Чтобы откалибровать датчик, нажмите кнопку один раз.

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

x=scale.get_units(25)*45.3592 ; //конвертируем в граммы для 25 показаний
масштаб.read_average(5); //читать 5 средних

Эта строка принимает 25 или 5 показаний, а затем усредняет их. Чтобы увеличить скорость, уменьшите количество усреднений. Если оно оставлено пустым, среднее значение не будет принято.


Категория: Железо | Добавил: Администратор (20.05.2026)
Просмотров: 6 | Рейтинг: 0.0/0


Всего комментариев: 0

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

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2026