Тензодатчик – это датчик, преобразующий величину деформации в электрический сигнал.
В основе своей конструкции имеет тонкоплёночные резисторы, которые изменяют своё сопротивление при деформации. Данные резисторы объединены в мост, который подключается непосредственно к АЦП, который фиксирует изменения значений резисторов. Тензорезистор располагается под слоем белого защитного полимера.
Датчик выполнен из алюминия, имеет форму бруска с 4 отверстиями на одной плоскости и особым сдвоенным отверстием на другой. При установке датчика в рабочее положение необходимо жёстко закрепить одну его сторону, а на вторую установить (при необходимости) платформу для завешивания грузов.
Подключение к модулю HX711:
- Красный – E+
- Черный – Е-
- Белый – A-
- Зеленый – A+
Схема
Пример
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
/* Калибровка весов */ // Подключение библиотеки #include "HX711.h" // создание экземпляра объекта // 15(A1) – пин подключения DT // 14(A0) – пин подключения SCK HX711 weight(15, 14); // значение калибровочного коэффициента (делать подбор для своих весов) float scale_calibration = -3.7; // переменные float weight_units; float weight_gr; void setup() { // Инициализируем последовательный порт Serial.begin(9600); Serial.println("HX711 calibration …"); scale.set_scale(); // Сбрасываем весы на 0 scale.tare(); } void loop() { // Устанавливаем калибровочный коэффициент scale.set_scale(scale_calibration); // получить данные Serial.print("Read data: "); weight_units = scale.get_units(), 10; // если <0 то 0 if (weight_units < 0) { weight_units = 0.00; } // перевод из унций в граммы weight_gr = weight_units * 0.035274; // вывод данных в последовательный порт // вес Serial.print("weight_gr ="); Serial.print(weight_gr); Serial.print(" gr"); // калибровочный коэффициент Serial.print("scale_calibration="); Serial.println(scale_calibration); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
/* Измерение веса */ // Подключение библиотеки #include "HX711.h" // создание экземпляра объекта // 15(A1) – пин подключения DT // 14(A0) – пин подключения SCK HX711 weight(15, 14); // значение калибровочного коэффициента (делать подбор для своих весов) float scale_calibration = 64.80; // переменные float weight_units; float weight_gr; void setup() { Serial.begin(9600); scale.set_scale(); // Сбрасываем на 0 scale.tare(); // Применяем калибровку scale.set_scale(scale_calibration); } void loop() { Serial.print("Read data … "); // усредняем показания for (int i = 0; i < 10; i ++) units = + scale.get_units(), 10; weight_units / 10; // перевод из унций в граммы weight_gr = weight_units * 0.035274; // вывод данных в последовательный порт Serial.print("weight_gr ="); Serial.print(weight_gr); Serial.println(" gr"); } |