ARDUINO HX711 тараза сенсорлору ADC модулунун Колдонуучу колдонмосу
ARDUINO HX711 тараза сенсорлору ADC модулу

Колдонмо ExampArduino Uno менен:

Көпчүлүк Load уячасында төрт зым бар: кызыл, кара, жашыл жана ак. HX711 тактасында сиз E+/E-, A+/A- жана B+/Bconnections таба аласыз. Жүктөө клеткасын HX711 сенсор тактасына төмөнкү таблицага ылайык туташтыруу:

HX711 Load Sensor Board Cell Wire жүктөө
E+ Кызыл
E- Кара
A+ Жашыл
A- Ак
B- Колдонулбаган
B+ Колдонулбаган

Байланыш

HX711 сенсор Arduino Uno
GND GND
DT D3
SCK D2
VCC 5V

HX711 модулу 5V менен иштейт жана байланыш сериялык SDA жана SCK пиндери аркылуу ишке ашырылат.

Жүктөлгөн клеткага салмакты кайда колдонуу керек?
Жүктөө уячасында жебе көрсөтүлгөнүн көрө аласыз. Бул жебе жүк клеткасына күчтүн багытын көрсөтөт. Сиз металл тилкелерди колдонуу менен сүрөттө көрсөтүлгөн аранжировка жасай аласыз. Болтторду колдонуп Load уячасына металл тилкени бекитиңиз.

Салмагы

Arduino UNOну KG менен салмакты өлчөө үчүн программалоо:

Жогорудагы 1-сүрөттө көрсөтүлгөндөй схеманы туташтырыңыз.
Бул сенсор модулу Arduino такталары менен иштеши үчүн бизге HX711 китепканасы керек, ал төмөнкүдөн жүктөөнү төмөндөтөт. https://github.com/bogde/HX711.
HX711 объектинин таразасын так өлчөө үчүн колдонулаардан мурун, алгач аны калибрлөө керек. Төмөнкү кадам калибрлөө кантип жасоону көрсөтөт.

1-кадам: Калибрлөө эскизи
Төмөнкү эскизди Arduino Uno тактасына жүктөңүз

/* Handson Technology www.handsontec.com
* 29-декабрь 2017-жыл
* Салмагын кг менен өлчөө үчүн Cell HX711 модулунун интерфейсин Arduino менен жүктөңүз
Arduino
пин
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Arduino Unoдогу бардык пин DOUT/CLK менен шайкеш келет.
HX711 тактасын 2.7Вдан 5Вга чейин кубаттоого болот, андыктан Arduino 5V кубаттуулугу жакшы болушу керек.
*/
#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 Calibration");
Serial.println("Бардык салмакты таразадан алып салуу");
Serial.println("Окуу башталгандан кийин белгилүү салмакты таразага коюңуз");
Serial.println(“Калибрлөө коэффициентин 10,100,1000,10000 жогорулатуу үчүн a,s,d,f баскычтарын басыңыз
тиешелүүлүгүнө жараша»);
Serial.println(“Калибрлөө коэффициентин 10,100,1000,10000 азайтуу үчүн z,x,c,v баскычтарын басыңыз
тиешелүүлүгүнө жараша»);
Serial.println("Тара үчүн t баскычын басыңыз");
scale.set_scale();
scale.tare(); // Масштабды 0гө кайтарыңыз
long zero_factor = scale.read_average(); //Базалык окууну алыңыз
Serial.print("Нөл фактор: "); //Муну шкаладан тазалоо зарылдыгын алып салуу үчүн колдонсо болот.
Туруктуу масштабдуу долбоорлордо пайдалуу.
Serial.println(нөл_фактор);
}
//================================================ =======================================
// LOOP
//================================================ =======================================
void loop() {
scale.set_scale(calibration_factor); //Бул калибрлөө факторуна тууралаңыз
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(температура == '+' || темп == 'a')
calibration_factor += 10;
else if(температура == '-' || temp == 'z')
calibration_factor -= 10;
башка if(температура == 's')
calibration_factor += 100;
башка if(температура == 'x')
calibration_factor -= 100;
башка if(температура == 'd')
calibration_factor += 1000;
башка if(температура == 'c')
calibration_factor -= 1000;
башка if(температура == 'f')
calibration_factor += 10000;
башка if(температура == 'v')
calibration_factor -= 10000;
башка if(температура == 't')
scale.tare(); // Масштабды нөлгө кайтарыңыз
}
}
//================================================ ======================================

Жүк сенсорунан кандайдыр бир жүктү алып салыңыз. Сериялык мониторду ачыңыз. Төмөнкү терезе модулдун Arduino Uno менен ийгиликтүү туташкандыгын көрсөтүү менен ачылышы керек.

Конфигурация

Белгилүү салмактуу объектти жүк уячасына коюңуз. Бул учурда автор 191KG Load Cell менен 10 грамм белгилүү салмагын колдонгон. Сериялык монитор төмөндө көрсөтүлгөндөй бир аз салмак көрсөткүчүн көрсөтөт:
Конфигурация

Бул жерде калибрлөө жүргүзүү керек:

  • Сериялык монитордун буйрук мейкиндигине "a, s, d, f" тамгасын териңиз жана калибрлөө коэффициентин 10, 100, 1000, 10000гө көбөйтүү үчүн "Жөнөтүү" баскычын басыңыз.
  • Монитордун сериялык командалык мейкиндигине "z, x, c, v" тамгасын териңиз жана калибрлөө коэффициентин тиешелүүлүгүнө жараша 10, 100, 1000, 10000 азайтуу үчүн "Жөнөтүү" баскычын басыңыз.
    Конфигурация

Окуу жүк клеткасына коюлган чыныгы салмакты көрсөткөнгө чейин тууралоону уланта бериңиз. “calibration_factor” маанисин жазыңыз, бул учурда “-239250” автордук салмагы 191g шилтемеде 10KG Load Cell менен. Чыныгы өлчөө үчүн экинчи эскизибизге кошуу үчүн бул маани керек болот.

2-кадам: Чыныгы салмакты өлчөө үчүн жыйынтыктоочу код
Эскизди жүктөөдөн мурун, биз 1-кадамда алынган "калибрлөө коэффициентин" кошуубуз керек:
Жайгашуу

Масштаб факторун өзгөрткөндөн кийин, төмөндөгү эскизди Arduino Uno Board'га жүктөңүз:

/* Handson Technology www.handsontec.com
* 29-декабрь 2017-жыл
* Салмагын кг менен өлчөө үчүн Cell HX711 модулунун интерфейсин Arduino менен жүктөңүз
Arduino
пин
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Arduino Unoдогу бардык пин DOUT/CLK менен шайкеш келет.
HX711 тактасын 2.7Вдан 5Вга чейин кубаттоого болот, андыктан Arduino 5V кубаттуулугу жакшы болушу керек.
*/
#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”); //Кг деп өзгөртүп, калибрлөө коэффициентин кайра тууралаңыз
if(Serial.available())
{
char temp = Serial.read();
if(температура == 't' || temp == 'T')
scale.tare(); // Масштабды нөлгө кайтарыңыз
}
}
//================================================ =============================================

Эскизди ийгиликтүү жүктөгөндөн кийин Сериялык мониторду ачыңыз. Төмөнкү терезе чыныгы өлчөө маанисин көрсөтүү менен пайда болушу керек:
Конфигурация

Сиз буйрук мейкиндигине "t" же "T" баскычын киргизүү менен окууну 0.000 кгга (жүксүз") баштапкы абалга келтирип, "Жөнөтүү" баскычын бассаңыз болот. Төмөндө өлчөө маанисин көрсөткөн дисплей 0.000 кг болуп калат.
Конфигурация

Объектти жүктөөчү уячага салыңыз, чыныгы салмагы көрсөтүлүшү керек. Төмөндө 191 грамм объектти жайгаштырганда салмактын дисплейи (калибрлөө үчүн 1-кадамда колдонулат).
Конфигурация

Ура! сиз үч ондук чекиттин тактыгы менен таразаны курдуңуз!

Документтер / Ресурстар

ARDUINO HX711 тараза сенсорлору ADC модулу [pdf] Колдонуучунун колдонмосу
HX711 тараза сенсорлору ADC модулу, HX711, тараза сенсорлору ADC модулу, сенсорлор ADC модулу, ADC модулу, модулу

Шилтемелер

Комментарий калтырыңыз

Сиздин электрондук почта дарегиңиз жарыяланбайт. Талап кылынган талаалар белгиленген *