Оглавление:

Весы для ванной Arduino с тензодатчиками 50 кг и усилителем HX711: 5 шагов (с изображениями)
Весы для ванной Arduino с тензодатчиками 50 кг и усилителем HX711: 5 шагов (с изображениями)

Видео: Весы для ванной Arduino с тензодатчиками 50 кг и усилителем HX711: 5 шагов (с изображениями)

Видео: Весы для ванной Arduino с тензодатчиками 50 кг и усилителем HX711: 5 шагов (с изображениями)
Видео: Весы Arduino с датчиками веса HX711 и весами для ванной комнаты на 50 кг | Пошаговое руководство. 2024, Ноябрь
Anonim
Весы для ванной Arduino с тензодатчиками 50 кг и усилителем HX711
Весы для ванной Arduino с тензодатчиками 50 кг и усилителем HX711
Весы для ванной Arduino с тензодатчиками 50 кг и усилителем HX711
Весы для ванной Arduino с тензодатчиками 50 кг и усилителем HX711

В этом руководстве описывается, как сделать весы, используя готовые детали.

Необходимые материалы:

  1. Arduino - (в этой конструкции используется стандартный Arduino Uno, другие версии или клоны Arduino также должны работать)
  2. HX711 на коммутационной плате - этот микрочип специально разработан для усиления сигналов от тензодатчиков и передачи их другому микроконтроллеру. Тензодатчики подключаются к этой плате, и эта плата сообщает Arduino, что измеряют весоизмерительные ячейки.
  3. Весоизмерительные ячейки 50 кг (x4) - Тензодатчики представляют собой металлические детали особой формы, к которым приклеены тензодатчики. Тензодатчики - это резисторы, которые изменяют свое сопротивление при изгибе. Когда металлическая часть изгибается, сопротивление тензодатчика изменяется (HX711 точно измеряет это небольшое изменение сопротивления). Вы можете купить тензодатчики и HX711 в виде комплекта здесь: https://www.amazon.com/Degraw-amplifier-weight-Arduino-Bathroom/dp/B075Y5R7T7/ Если вы все же покупаете комплект, оставьте отзыв! Это действительно полезно для будущих покупателей.
  4. Прочная плоская монтажная поверхность - идеально подходит жесткий кусок твердой древесины или металла.
  5. Провода разных цветов для соединения всех частей
  6. Блок питания для Arduino

Шаг 1: Установите датчики веса

Установите тензодатчики
Установите тензодатчики
Установите тензодатчики
Установите тензодатчики

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

Шаг 2: Проверьте проводку тензодатчика

Проверьте проводку тензодатчика
Проверьте проводку тензодатчика

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

Чтобы убедиться, что вы все поняли правильно, убедитесь, что выяснили, какие две клеммы на тензодатчиках имеют наибольшее сопротивление между ними (например, черный и белый, чтобы соответствовать схеме), соедините их в большой контур согласования цветов, например BB WW BB WW, а затем возбудите (E + / E-) два противоположных центральных удара (R) и ощутите (A + / A-) на другой паре центральных ударов.

На этой странице Sackexchange есть еще лучшая информация:

Шаг 3: Подключите тензодатчики и HX711

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

См. Схему подключения, чтобы узнать, как подключить тензодатчики, HX711 и Arduino.

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

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

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

Библиотека HX711 доступна здесь:

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

Шаг 5: откалибруйте и взвесьте

У Sparkfun есть отличные программы Arduino для масштабирования. Самые последние версии доступны на GitHub и перепечатаны ниже:

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

/*

Пример использования коммутационной панели SparkFun HX711 со шкалой Автор: Натан Зейдл SparkFun Electronics Дата: 19 ноября 2014 г. Лицензия: этот код является общественным достоянием, но вы купите мне пиво, если воспользуетесь им, и мы когда-нибудь встретимся (лицензия Beerware). Это калибровочный эскиз. Используйте его, чтобы определить коэффициент калибровки, который используется в основном примере. Он также выводит нулевой коэффициент, полезный для проектов с постоянной массой на шкале между циклами включения питания. Настройте весы и начните набросок БЕЗ гири на весах. После отображения показаний поместите гирю на весы. Нажмите +/- или a / z, чтобы отрегулировать калибровочный_фактор до тех пор, пока выходные значения не будут соответствовать известному весу. Используйте этот калибровочный_фактор на примере эскиза В этом примере используются фунты (фунты). Если вы предпочитаете килограммы, измените Serial.print («фунты»); линия в кг. Коэффициент калибровки будет значительно отличаться, но он будет линейно связан с фунтами (1 фунт = 0,453592 кг). Ваш калибровочный коэффициент может быть как положительным, так и отрицательным. Все зависит от настройки вашей системы масштабирования и направления отклонения датчиков от нулевого состояния. В этом примере кода используется отличная библиотека bogde: "https://github.com/bogde/HX711" Библиотека bogde выпущена под ГЕНЕРАЛЬНОЙ ОБЩЕСТВЕННОЙ ЛИЦЕНЗИЕЙ GNU Вывод 2 Arduino -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Практически любой вывод на Arduino Uno будет совместим с DOUT / CLK. Плата HX711 может питаться от 2,7 В до 5 В, поэтому с питанием Arduino 5 В должно быть все в порядке. * / #include "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 Масштаб HX711; коэффициент калибровки поплавка = -7050; // - 7050 сработало для моей настройки максимального масштаба 440 фунтов void setup () {Serial.begin (9600); Serial.println («Калибровочный эскиз HX711»); Serial.println («Убрать весь вес с весов»); Serial.println («После начала считывания поместите известный вес на весы»); Serial.println («Нажмите + или a, чтобы увеличить коэффициент калибровки»); Serial.println («Нажмите - или z, чтобы уменьшить коэффициент калибровки»); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); scale.tare (); // Сбрасываем масштаб на 0 long zero_factor = scale.read_average (); // Получение базового значения для чтения Serial.print ("Нулевой коэффициент:"); // Это можно использовать для устранения необходимости тарировать весы. Полезно в проектах постоянного масштаба. Serial.println (нулевой коэффициент); } void loop () {scale.set_scale (коэффициент_калибровки); // Настраиваем на этот коэффициент калибровки Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); Serial.print («фунты»); // Измените это на кг и повторно отрегулируйте коэффициент калибровки, если вы следуете единицам СИ, как здравомыслящий человек Serial.print ("Calibration_factor:"); Serial.print (калибровочный_фактор); Serial.println (); если (Serial.available ()) {char temp = Serial.read (); if (temp == '+' || temp == 'a') калибровочный_фактор + = 10; иначе if (temp == '-' || temp == 'z') калибровочный_фактор - = 10; }}

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

/*

Пример использования коммутационной панели SparkFun HX711 со шкалой Автор: Натан Зейдл SparkFun Electronics Дата: 19 ноября 2014 г. Лицензия: этот код является общественным достоянием, но вы купите мне пиво, если воспользуетесь им, и мы когда-нибудь встретимся (лицензия Beerware). Этот пример демонстрирует базовый результат масштабирования. См. Эскиз калибровки, чтобы узнать коэффициент калибровки для вашей конкретной настройки датчика веса. В этом примере кода используется отличная библиотека bogde: https://github.com/bogde/HX711 Библиотека bogde выпущена под ОБЩЕЙ ОБЩЕСТВЕННОЙ ЛИЦЕНЗИЕЙ GNU HX711 хорошо справляется с одной задачей: считывает тензодатчики. Коммутационная плата совместима с любыми весоизмерительными ячейками на основе моста из пшеничного камня, что должно позволить пользователю измерять все, от нескольких граммов до десятков тонн. Контакт 2 Arduino -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Плата HX711 может питаться от 2,7 В до 5 В, поэтому с питанием Arduino 5 В должно быть все в порядке. * / #include "HX711.h" #define Calibration_factor -7050.0 // Это значение получено с использованием эскиза SparkFun_HX711_Calibration #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 scale; void setup () {Serial.begin (9600); Serial.println («Демонстрация масштаба HX711»); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (коэффициент_калибровки); // Это значение получается с помощью скетча SparkFun_HX711_Calibration scale.tare (); // Предполагая, что на весах нет веса при запуске, сбрасываем весы на 0 Serial.println ("Readings:"); } void loop () {Serial.print ("Чтение:"); Serial.print (scale.get_units (), 1); //scale.get_units () возвращает число с плавающей запятой Serial.print ("lbs"); // Вы можете изменить это значение на kg, но вам потребуется рефакторинг calibre_factor Serial.println (); }

Рекомендуемые: