ARDUINO HX711 Сензори за претегляне ADC модул Ръководство за потребителя
Приложение Прample с Arduino Uno:
Повечето измервателни клетки имат четири проводника: червен, черен, зелен и бял. На платката HX711 ще намерите E+/E-, A+/A- и B+/B връзки. Свържете динамометричната клетка към сензорната платка HX711 съгласно следната таблица:
Платка за сензор за натоварване HX711 | Тел за измервателна клетка |
E+ | червено |
E- | черен |
A+ | Зелено |
A- | Бяло |
B- | Неизползван |
B+ | Неизползван |
Сензор HX711 | Ардуино Уно |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
Модулът HX711 работи при 5V и комуникацията се осъществява чрез серийни SDA и SCK пинове.
Къде да приложа тежест върху датчика за натоварване?
Можете да видите стрелка, показана на клетката за натоварване. Тази стрелка показва посоката на силата върху динамометричната клетка. Можете да направите подреждане, показано на фигурата, като използвате метални ленти. Прикрепете метална лента към динамометричната клетка с помощта на болтове.
Програмиране на Arduino UNO за измерване на тегло в KG:
Свържете схемата, както е показано на фигура 1 по-горе.
За да може този сензорен модул да работи с Arduino платки, се нуждаем от библиотека HX711, която може да изтегля от https://github.com/bogde/HX711.
Преди HX711 да може да се използва за точно измерване на теглото на обект, първо трябва да се калибрира. Стъпката по-долу ще ви покаже как да извършите калибрирането.
1 стъпка: Скица за калибриране
Качете скицата по-долу в Arduino Uno Board
/* Handson Technology www.handsontec.com
* 29 декември 2017 г
* Модулен интерфейс на Load Cell HX711 с Arduino за измерване на тегло в кг
Ардуино
карфица
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Повечето щифтове на Arduino Uno ще бъдат съвместими с DOUT/CLK.
Платката HX711 може да се захранва от 2.7 V до 5 V, така че мощността на Arduino 5 V трябва да е наред.
*/
#include “HX711.h” //Трябва да имате тази библиотека в папката на библиотеката на Arduino
#define DOUT 3
#define CLK 2
HX711 скала (DOUT, CLK);
//Променете този коефициент на калибриране според вашата динамометрична клетка, след като се установи, че имате нужда от това
променяйте го в хиляди
float calibration_factor = -96650; //-106600 работи за моята настройка на кантар от 40 кг
//================================================== ========================================
// НАСТРОЙКА
//================================================== ========================================
void setup() {
Serial.begin(9600);
Serial.println(„Калибриране на HX711“);
Serial.println(“Премахване на цялото тегло от везната”);
Serial.println(“След като започнат отчитанията, поставете известното тегло върху везната”);
Serial.println(„Натиснете a,s,d,f, за да увеличите коефициента на калибриране с 10,100,1000,10000
съответно”);
Serial.println(„Натиснете z,x,c,v, за да намалите коефициента на калибриране с 10,100,1000,10000
съответно”);
Serial.println(“Натиснете t за тара”);
scale.set_scale();
scale.tare(); //Нулирайте мащаба на 0
дълъг zero_factor = scale.read_average(); //Получаване на базово отчитане
Serial.print(“Нулев фактор: “); //Това може да се използва за премахване на необходимостта от тариране на скалата.
Полезно при проекти с постоянен мащаб.
Serial.println(нулев_фактор);
}
//================================================== ========================================
// LOOP
//================================================== ========================================
void loop() {
scale.set_scale(калибрационен_фактор); //Коригиране към този коефициент на калибриране
Serial.print(“Четене: “);
Serial.print(scale.get_units(), 3);
Serial.print(”kg”); //Променете това на kg и коригирайте отново коефициента на калибриране, ако желаете
следвайте единиците SI като нормален човек
Serial.print(” calibration_factor: “);
Serial.print(calibration_factor);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
коефициент_на_калибриране += 10;
иначе ако (temp == '-' || temp == 'z')
коефициент_на_калибриране -= 10;
иначе ако (temp == 's')
коефициент_на_калибриране += 100;
иначе ако (temp == 'x')
коефициент_на_калибриране -= 100;
иначе ако (temp == 'd')
коефициент_на_калибриране += 1000;
иначе ако (temp == 'c')
коефициент_на_калибриране -= 1000;
иначе ако (temp == 'f')
коефициент_на_калибриране += 10000;
иначе ако (temp == 'v')
коефициент_на_калибриране -= 10000;
иначе ако (temp == 't')
scale.tare(); // Нулиране на скалата до нула
}
}
//================================================== =======================================
Отстранете всякакъв товар от сензора за натоварване. Отворете серийния монитор. Прозорецът по-долу трябва да се отвори, показвайки, че модулът се е свързал успешно с Arduino Uno.
Поставете предмет с известно тегло върху динамометричната клетка. В този случай авторът е използвал известно тегло от 191 грама с 10 KG динамометрична клетка. Серийният монитор ще покаже някакво тегло, както е показано по-долу:
Тук трябва да направим калибриране:
- Въведете буквата "a, s, d, f" в командното пространство на серийния монитор и натиснете бутона "Изпрати", за да увеличите коефициента на калибриране съответно с 10, 100, 1000, 10000
- Въведете буквата "z, x, c, v" в командното пространство на серийния монитор и натиснете бутона "Изпрати", за да намалите коефициента на калибриране съответно с 10, 100, 1000, 10000.
Продължавайте да регулирате, докато показанието покаже действителното тегло, поставено върху динамометричната клетка. Запишете стойността на „calibration_factor“, в този случай „-239250“ в теглото на автора от 191 g референтно с 10 KG динамометрична клетка. Ще ни трябва тази стойност, за да я включим във втората ни скица за реално измерване.
2-ра стъпка: Окончателен код за измерване на реално тегло
Преди да качим скицата, трябва да включим „коефициента на калибриране“, получен в 1-ва стъпка:
Качете скицата по-долу в Arduino Uno Board, след промяна на мащабния фактор:
/* Handson Technology www.handsontec.com
* 29 декември 2017 г
* Модулен интерфейс на Load Cell HX711 с Arduino за измерване на тегло в кг
Ардуино
карфица
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Повечето щифтове на Arduino Uno ще бъдат съвместими с DOUT/CLK.
Платката HX711 може да се захранва от 2.7 V до 5 V, така че мощността на Arduino 5 V трябва да е наред.
*/
#include “HX711.h” //Трябва да имате тази библиотека в папката на библиотеката на Arduino
#define DOUT 3
#define CLK 2
HX711 скала (DOUT, CLK);
//Променете този коефициент на калибриране според вашата товарна клетка, след като се установи, че много трябва да го променяте в хиляди
float calibration_factor = -96650; //-106600 работи за моята настройка на кантар от 40 кг
//================================================== ===============================================
// НАСТРОЙКА
//================================================== ===============================================
void setup() {
Serial.begin(9600);
Serial.println(“Натиснете T за тариране”);
scale.set_scale(-239250); //Коефициент на калибриране, получен от първата скица
scale.tare(); //Нулирайте мащаба на 0
}
//================================================== ===============================================
// LOOP
//================================================== ===============================================
void loop() {
Serial.print(“Тегло: “);
Serial.print(scale.get_units(), 3); //До 3 знака след десетичната запетая
Serial.println(”kg”); //Променете това на kg и коригирайте отново коефициента на калибриране, ако следвате lbs
if(Serial.available())
{
char temp = Serial.read();
if(temp == 't' || temp == 'T')
scale.tare(); // Нулиране на скалата до нула
}
}
//================================================== ===============================================
След успешно качване на скицата, отворете сериен монитор. Трябва да се появи прозорецът по-долу, показващ реалната измерена стойност:
Можете да нулирате отчитането на 0.000 kg (без товар“), като въведете „t“ или „T“ в командното пространство и натиснете бутона „Изпрати“. Долният дисплей, показващ измерваната стойност, става 0.000 kg.
Поставете предмет върху динамометричната клетка, действителното тегло трябва да се покаже. По-долу е показването на теглото, когато поставите обект от 191 грама (използван в 1-ва стъпка за калибриране).
Ура! вие сте конструирали кантар с точност до три десетични точки!
Документи / Ресурси
![]() |
ARDUINO HX711 Сензори за претегляне ADC модул [pdf] Ръководство за потребителя HX711 Сензори за претегляне ADC модул, HX711, Сензори за претегляне ADC модул, Сензори ADC модул, ADC модул, Модул |