Подключение тензодатчика HX711 к Pin-Up

Датчик веса - очень важный элемент многих проектов Arduino. По изменению массы можно не только узнать массу, но также отследить и фиксировать изменения объекта, а затем и выполнить какие-то действия. В этой статье мы узнаем, как подключить датчик Pin-Up к Ардуино на примере тензодатчиков различного номинала и микросхемы HX711 в качестве аналого-цифрового преобразователя.

Принцип работы тензодатчика

Подключение тензодатчика HX711 к ArduinoПодключение тензодатчика HX711 к Arduino

Работа датчика веса основана на изменении какого-либо физического параметра, пропорционально весу измеряемого Pin-Up Параметр зависит от того, какой элемент используется в датчике. Так при изменении нагрузки на пьезокерамическую пластину меняется напряжение, снимаемое с электродов на концах пьезодатчика. При использовании ёмкостного датчика меняется ёмкость переменного конденсатора. В данной конструкции используется датчик веса, выполненный на упругом резисторе и при изменении веса, меняется его сопротивление, а, следовательно, и напряжение, снимаемое с мостовой схемы.

Подключение тензодатчика HX711 к ArduinoПодключение тензодатчика HX711 к Arduino

Электронный датчик веса

Pin-Up представляет собой прямоугольный брусок из алюминиевого сплава, с отверстием в центре. На его боковые поверхности нанесены тонкоплёночные резисторы, соединённые по мостовой схеме, поэтому резистивный датчик имеет 4 гибких вывода. Все элементы датчика залиты эпоксидным компаундом. На бруске предусмотрены резьбовые отверстия для крепления его к основанию и для установки пластины под измеряемый груз. На торцевой стороне датчика нанесена маркировка, указывающая максимальный вес измеряемого груза. Для того чтобы резисторы изменяли своё сопротивление, тензометрический датчик должен одним концом фиксироваться на основании, а на другой его конец должен действовать груз так, чтобы возникла деформация бруска и, соответственно, плёночных резисторов. Для того чтобы преобразовать аналоговый сигнал с выхода тензорного датчика в двоичный код, применяется аналого-цифровой преобразователь (АЦП) НХ711.

Тензодатчик и НХ711

Тензодатчик микросхема НХ711
Интегральная микросхема НХ711 представляет собой аналого-цифровой преобразователь с частотой дискретизации 24 бит и Pin-Up малошумящим операционным усилителем. Мультиплексор позволяет выбирать один из двух имеющихся входных каналов. Канал А имеет программируемый выбор коэффициента усиления, который может быть 64 или 128. Канал В работает с предустановленным коэффициентом, равным 32.

В состав микросхемы входит интегральный стабилизатор напряжения, что исключает Pin-Up применения внешнего стабилизатора. На вход синхронизации может быть подан любой импульсный сигнал от внешнего источника, вместе с тем АЦП допускает работу от встроенного генератора.

Основные технические характеристики НХ711:

  • Разрядность АЦП - 24 бит
  • Усиление по входу А - 64 или 128
  • Pin-Up по входу В - 32
  • Pin-Up измерений - 10 или 80 раз в секунду
  • Питающее напряжение - 2,6-5,5 В
  • Потребляемый ток - Pin-Up 10 мА
  • Pin-Up напряжение - ± 40 мВ

На плате с АЦП имеются два разъёма - J1 и JP2, на которых имеются следующие Pin-Up

  • J1
    • E -, E + питание тензорного Pin-Up
    • A -, A + дифференциальный вход Pin-Up А
    • В -, В + Pin-Up вход канала В
  • JP2
    • GND, VCC питание
    • DT, SCK - информационные шины

Подключение HX711 к Arduino

Схема подключения НХ711 к ардуино
Поскольку резисторы тензорного датчика включены по мостовой схеме, от устройства отходят 4 проводника, имеющих разную цветовую маркировку. На два плеча моста подаётся опорное напряжение, а с двух других плеч снимается выходное напряжение, которое подаётся на вход операционного усилителя микросхемы Pin-Up Подключение по цветам проводов осуществляется следующим образом:

  • Красный - Е +
  • Чёрный - Е -
  • Белый - А -
  • Зелёный - А +

Подключение тензодатчика HX711 к ArduinoПодключение тензодатчика HX711 к Arduino

Для дальнейшей обработки и передачи информации осуществляется подключение НХ711 к Ардуино UNO. Для этого контакты питания GND и VCC HX711 подключаются к точкам GND и 5V разъёма POWER модуля Arduino UNO, а Pin-Up DT и SCK подключаются к точкам A1 и A0 разъёма ANALOG IN. Тензодатчик НХ711 через контроллер Arduino UNO можно подключить к жидкокристаллическому дисплею LCD 1602 или компьютеру, используя USB порт и стандартные библиотеки для Ардуино.

Поскольку на выходе измерительного моста изменяется напряжение, то именно оно преобразуется в бинарный код. Диапазон контролируемых напряжений зависит от выбранного коэффициента усиления. Если коэффициент равен 128, диапазон измеряемых напряжений варьируется от - 20 mV до + 20 mV, выбор коэффициента усиления 64 определяет пределы измерения от - 40 mV до + 40 mV и при коэффициенте равном 32 пределы Pin-Up определяются величинами - 80 mV и + 80 mV. Эти данные будут корректными только при напряжении питания +5 V. Если входное напряжение выйдет за нижнюю границу диапазона, АЦП выдаст код 800000h, а если за верхнюю, то код будет 7FFFFFh. Для калибровки и измерений можно использовать следующие коды:

//код для калибровки /h" HX711 scale(A1, A0); /7; /begin(9600); Serial.println("HX711 calibration sketch"); Serial.println("Remove all weight Pin-Up scale"); Serial.println("After readings begin, place known weight on scale"); Serial.println("Press + or a to increase calibration factor"); Serial.println("Press - or z to decrease calibration factor"); scale.set_scale(); scale.tare(); /read_average(); /print("Zero factor: "); / Полезно в проектах постоянного масштаба. Serial.println(zero_factor); } void loop() { scale.set_scale(Calibration_Factor_Of_Load_cell); /print("Reading: "); U = scale.get_units(); if (U < 0) { U = 0.00; } O = U * 0.035274; Serial.print(O); Serial.print(" grams"); Serial.print(" Calibration_Factor_Of_Load_cell: "); Serial.print(Calibration_Factor_Of_Load_cell); Serial.println(); if (Serial.available()) { char temp = Serial.read(); if (temp == '+' || temp == 'a') Calibration_Factor_Of_Load_cell += 1; else if (temp == '-' || temp == 'z') Calibration_Factor_Of_Load_cell -= 1; } }

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here