Оглавление:
- Шаг 1: Установите тензодатчик
- Шаг 2: Подключите тензодатчики и HX711
- Шаг 3. Добавьте библиотеку HX711 в вашу среду разработки Arduino
- Шаг 4: откалибруйте и взвесьте
Видео: Весы Arduino с датчиком нагрузки 5 кг и усилителем HX711: 4 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
В этом руководстве описывается, как сделать небольшие весы, используя готовые детали.
Необходимые материалы:
1. Arduino - в этой конструкции используется стандартный Arduino Uno, другие версии или клоны Arduino также должны работать.
2. HX711 на коммутационной плате - этот микрочип специально разработан для усиления сигналов от тензодатчиков и передачи их другому микроконтроллеру. Тензодатчики подключаются к этой плате, и эта плата сообщает Arduino, что измеряют весоизмерительные ячейки.
3. Датчик веса 5 кг. Датчики веса представляют собой металлические детали особой формы, к которым приклеены тензодатчики. Тензодатчики - это резисторы, которые изменяют свое сопротивление при изгибе. Когда металлическая часть изгибается, сопротивление тензодатчика изменяется (HX711 точно измеряет это небольшое изменение сопротивления). Вы можете купить как HX711, так и датчик веса здесь:
Если вы все же приобрели комплект, оставьте отзыв! Это действительно полезно для будущих покупателей.
4. Прочная плоская монтажная поверхность (x2) - идеально подходит жесткий кусок твердой древесины или металла.
5. Провода разных цветов для соединения всех частей.
6. Блок питания для Arduino.
Шаг 1: Установите тензодатчик
Сначала мы собираемся установить датчик веса. Ваше животное будет уникальным, но вот рекомендации, которым вы должны следовать:
1. Алюминиевый датчик веса должен иметь 4 резьбовых отверстия и этикетку, показывающую направление силы. Установите сторону без этикетки на неподвижную поверхность и прикрепите сторону с этикеткой к движущейся поверхности. Стрелка на стороне с надписью должна указывать вниз в направлении движения платформы при приложении нагрузки.
2. Монтажная пластина и подвижная пластина должны быть как можно более жесткими.
3. Убедитесь, что между монтажными пластинами и датчиком нагрузки установлены жесткие распорки. Подойдут и стойки, и шайбы. Цель состоит в том, чтобы любая сила, приложенная к движущейся пластине, заставляла датчик веса изгибаться и скручиваться. Без прокладок нагрузка передавалась бы непосредственно с движущейся пластины на неподвижную, не влияя на датчик нагрузки.
Шаг 2: Подключите тензодатчики и HX711
См. Схему подключения, чтобы узнать, как подключить тензодатчики, HX711 и Arduino.
На алюминиевых тензодатчиках несколько тензодатчиков уже подключены вместе для моста Уитстона. Все, что вам нужно сделать, это правильно сориентировать провода к плате HX711.
Шаг 3. Добавьте библиотеку HX711 в вашу среду разработки Arduino
Библиотека HX711 доступна здесь:
См. Эту ссылку на веб-сайте Arduino для получения инструкций о том, как добавить библиотеку в вашу среду разработки Arduino:
Шаг 4: откалибруйте и взвесьте
У 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 (); }
Рекомендуемые:
Шкала натяжения Arduino с датчиком нагрузки на 40 кг и усилителем HX711: 4 ступени
Шкала натяжения Arduino с датчиком нагрузки на 40 кг и усилителем HX711: в этой инструкции описывается, как сделать шкалу натяжения, используя готовые детали. Необходимые материалы: 1. Arduino - в этой конструкции используется стандартный Arduino Uno, другие версии или клоны Arduino также должны работать2. HX711 на коммутационной плате
Весы для ванной Arduino с тензодатчиками 50 кг и усилителем HX711: 5 шагов (с изображениями)
Весы для ванной комнаты Arduino с тензодатчиками 50 кг и усилителем HX711: в этой инструкции описывается, как сделать весы, используя готовые готовые детали. Необходимые материалы: Arduino - (в этой конструкции используется стандартный Arduino Uno, другие версии или клоны Arduino должны работать. также) HX711 на прорывном боа
Автоматический переключатель нагрузки (вакуума) с ACS712 и Arduino: 7 шагов (с изображениями)
Автоматический переключатель нагрузки (вакуума) с ACS712 и Arduino: Всем привет! Запуск электроинструмента в замкнутом пространстве - это суета, потому что пыль, создаваемая в воздухе, и пыль в воздухе создают пыль в легких. Использование пылесоса в магазине может частично устранить этот риск, но его включение и выключение каждый раз
Учебное пособие: как откалибровать датчик нагрузки и связать его с Arduino UNO: 3 шага
Учебное пособие: Как калибровать и сопрягать тензодатчик с Arduino UNO: Привет, ребята, мы покажем вам учебное пособие: Как калибровать и сопрягать тензодатчик или модуль баланса HX711 с Arduino UNO. Описание модуля баланса HX711: Этот модуль использует 24 high- прецизионный аналого-цифровой преобразователь. Этот чип разработан для
Взаимодействие Arduino с ультразвуковым датчиком и бесконтактным датчиком температуры: 8 шагов
Взаимодействие Arduino с ультразвуковым датчиком и бесконтактным датчиком температуры: в настоящее время производители и разработчики предпочитают Arduino для быстрой разработки прототипов проектов. Arduino - это электронная платформа с открытым исходным кодом, основанная на простом в использовании аппаратном и программном обеспечении. У Arduino очень хорошее сообщество пользователей. В этом проекте