Оглавление:

Шкала натяжения Arduino с датчиком нагрузки на 40 кг и усилителем HX711: 4 ступени
Шкала натяжения Arduino с датчиком нагрузки на 40 кг и усилителем HX711: 4 ступени

Видео: Шкала натяжения Arduino с датчиком нагрузки на 40 кг и усилителем HX711: 4 ступени

Видео: Шкала натяжения Arduino с датчиком нагрузки на 40 кг и усилителем HX711: 4 ступени
Видео: Уроки Arduino. Подключение термометров DS18B20 и NTC термистора 2024, Ноябрь
Anonim
Шкала натяжения Arduino с датчиком нагрузки на 40 кг и усилителем HX711
Шкала натяжения Arduino с датчиком нагрузки на 40 кг и усилителем HX711

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

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

1. Arduino - в этой конструкции используется стандартный Arduino Uno, другие версии или клоны Arduino также должны работать.

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

3. Датчик нагрузки (40 кг) с кронштейнами. Есть 2 варианта получить один из них. Вы можете купить уже сделанный (легко), или вы можете разобрать дешевые цифровые весы для багажа и удалить датчик веса (сложнее, но, возможно, у вас уже есть один). Вы можете купить уже сделанный с HX711 здесь:

Если вы все же приобрели комплект, оставьте отзыв! Это действительно полезно для будущих покупателей.

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

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

6. Блок питания для Arduino.

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

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

Сначала мы собираемся установить датчик веса. Ваше животное будет уникальным, но вот рекомендации, которым вы должны следовать:

1. Стальной датчик нагрузки представляет собой пластину с приклеенными к середине тензодатчиками. Датчик веса измеряет силу, определяя, насколько он изгибается.

2. Кронштейны прикрепляют через отверстия на концах балки весоизмерительной ячейки. Кронштейны имеют такую форму, что тянущее усилие прилагается к центру балки весоизмерительного датчика. Из-за своей формы и места крепления балка весоизмерительного датчика изгибается при вытягивании кронштейнов.

3. Прикрепите скобы к тому, что вы хотите измерить. Лучше всего использовать что-то, что может свободно двигаться (например, цепь, крючки, прочную веревку или стяжки). Вы хотите, чтобы весоизмерительная ячейка и кронштейн в сборе могли центрироваться в направлении нагрузки, чтобы измерения были точными.

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

Подключите тензодатчик и HX711
Подключите тензодатчик и 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 (); }

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