Делаем весы на ардуино Arduino , работа с тензонометрическим датчиком и платой HX711

Через пару дней добавлю демонстративное видео !

<Место для видео >

Плата усилитель HX711 имеет 5 пинов для подключения . Эти штыри обозначены цветами; RED, BLK, WHT, GRN и YLW. Эти цвета соответствуют традиционному цветовому кодированию весоизмерительных датчиков где из тензодатчика выходят провода - красные, черные, зеленые и белые провода, а желтый - это дополнительный заземляющий провод, который не подключен к тензодатчику, а служит как дополнительная защита от электромагнитных помех .Иногда вместо желтого провода идет метализированная оплетка или фольга для отражения электромагнитных помех , называемая экран.

Для создания весов на ардуино нам нужно след. Железо :

Плата HX711 http://ali.pub/1s77td
Плата ардуино (нано,мега,уно ) http://ali.pub/1s8uzw
Тензометрический датчик http://ali.pub/1s780k  (уже с платой )
Датчик на 1 кг http://ali.pub/1s8v5q
Датчик на 5 кг http://ali.pub/1s8v82

Датчик на 100\150 кг http://ali.pub/1s8val




Мостовая схема соединения тензометрических сопротивлений в датчике :


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

Четыре провода, выходящие из  датчика для подключение имеют следующие цветовые маркировки , обычно:

Питание + (E +) или VCC красное

Питание- (Е) или земля черное.

• Выход + (O +), Сигнал + (S +) + или Усилитель + (A +) белый

• O-, S- или A- зеленый или синий

Некоторые датчики могут иметь небольшие различия в цветовом кодировании(особенно китайцы любят такой разнобой), такие как синий вместо зеленого или желтого вместо черного или белого, если имеется только четыре провода (это означает, что экран не задействован ,или отсутствует вовсе ). Даже если цвета имеют другую маркировку , то всегда можно вызвонить датчик по сопротивлению , установив мультиметр на диапазор 2кОм , прозванивая пару проводов , провода питания будут иметь сопротивление порядка 400 ОМ ,провода сигнала 350 (пара) , питание + сигнал будут иметь сопротивление 300Ом .

Если показания веса у вас идут со значением  «-» просто на плате HX711 поменяйте O + / O-провода местами.

                            


После того как вы подключили датчик к плате 711 , вы можете подключить VCC, DAT, CLK и GND к микроконтроллеру, например к плате Arduino. 






В примере кода DAT и CLK подключены к контактам цифровым  3 и 2на плате Ардуино, но при надобности их можно легко изменить в коде. Питание платы начинается от 3 в , а питание датчика от 5 в, по этому можно смело питать от Ардуины .


Схема подключения создана в программе фритзинг

















Так же существуют платы переходники для подключения сразу 4х датчиков


Подобные вы могли видеть в весах напольного типа , где использованы 4 датчика по 35-50 кг максимальной нагрузки на 1 датчик ,а сумарно на крестовине держат до 200 кг , обычно на таких весовых площадках пишут максимальный вес – 150 кг (критический до 200)

Но если перегрузить одну сторону (свыше 40-50 кг на угол) то можно вывести со строя датчик ,или погнуть стойки .


Код Arduino

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

Вы можете загрузить код и библиотеки по приведенной ниже ссылке.

Скачать материалы с гитхаба https://github.com/sparkfun/HX711-Load-Cell-Amplifier

Первое, с чем вам нужно работать, - это код калибровки: «SparkFun_HX711_Calibration»:

/ *

Это калибровочный код для вашего датчика .

  В этом примере кода используется библиотека bogde: https://github.com/bogde/HX711

Arduino pin 2 -> HX711 CLK

 3 -> DOUT

 5V -> VCC

 GND -> GND

 

 Большинство контактов на Arduino Uno будут совместимы с DOUT / CLK.

 

*/

 

#include "HX711.h"

 

#define DOUT  3

#define CLK  2

 

HX711 scale(DOUT, CLK);

 

float calibration_factor = -7050; //-7050 значение для 440lb максимального веса

void setup() {

  Serial.begin(9600);

  Serial.println("HX711 calibration sketch");

  Serial.println("Remove all weight from 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(); //Reset the scale to 0

 

  long zero_factor = scale.read_average(); //получить исходное значение

 Serial.print("Zero factor: "); //данный параметр используется для устранения значения тары.  Serial.println(zero_factor);

}

 

void loop() {

 

  scale.set_scale(calibration_factor); // Отрегулируйте этот калибровочный коэффициент

 

  Serial.print("Reading: ");

  Serial.print(scale.get_units(), 1);

  Serial.print("kg"); //изменить параметр на kg или lb

  Serial.print(" calibration_factor: ");

  Serial.print(calibration_factor);

  Serial.println();

 

  if(Serial.available())

  {

    char temp = Serial.read();

    if(temp == '+' || temp == 'a')

      calibration_factor += 10;

    else if(temp == '-' || temp == 'z')

      calibration_factor -= 10;

  }

}

 

После того, как вы рассчитали свой коэффициент калибровки в настройке весоизмерительного датчика , вы можете перейти к другому коду, пример простого  вывода на экран\в монитор ком порта , «SparkFun_HX711_Example»:

 

/*

 

 This example code uses bogde's excellent library: https://github.com/bogde/HX711

 

Arduino pin 2 -> HX711 CLK

 3 -> DAT

 5V -> VCC

 GND -> GND

 

 The HX711 board can be powered from 2.7V to 5V so the Arduino 5V power should be fine.

 

*/

 

#include "HX711.h"

 

#define calibration_factor -7050.0 //This value is obtained using the SparkFun_HX711_Calibration sketch

 

#define DOUT  3

#define CLK  2

 

HX711 scale(DOUT, CLK);

 

void setup() {

  Serial.begin(9600);

  Serial.println("HX711 scale demo");

 

  scale.set_scale(calibration_factor); //This value is obtained by using the SparkFun_HX711_Calibration sketch

  scale.tare(); //Assuming there is no weight on the scale at start up, reset the scale to 0

 

  Serial.println("Readings:");

}

 

void loop() {

  Serial.print("Reading: ");

  Serial.print(scale.get_units(), 1); //scale.get_units() returns a float

  Serial.print(" lbs"); //You can change this to kg but you'll need to refactor the calibration_factor

  Serial.println();

}


Так же не забываем о экономии при покупке товаров на Алиєкспресс с помощью кэшбэка 

Для веб администраторов и владельцев пабликов  главная страница ePN

Для пользователей покупающих на Алиэкспресс с быстрым выводом % главная страница ePN Cashback

Удобный плагин кэшбеэка браузерный плагин ePN Cashback 

  • Делаем весы на ардуино  Arduino  , работа с тензонометрическим датчиком и платой  HX711

Похожие статьи

Arduino UNO как осциллограф

Arduino UNO как осциллограф

Контроллеры Arduino можно использовать как простейший осциллограф, для наблюдения за быстро изменяющимися электрическими сигналами.

Скачиваем программу Processing , после чего её устанавливать не нужно - она запускается с EXE-файла.

Как выиграть спор на Алиэкспресс. Причины и советы.

Как выиграть спор на Алиэкспресс. Причины и советы.

Пообщайтесь с подавцом перед оплатой.

Перед тем, как оплатить товар, пообщайтесь с продавцом. Уточните у продавца, соответствует ли товар описанию, имеется ли товар в наличии, может ли продавец сфотографировать товар на телефон и выслать обычную необработанную фотографию. А также, соответствует ли товар размерной сетке, и какой размер продавец посоветовал бы вам выбрать, исходя из ваших параметров. Попросите продавца получше упаковать товар, если вещь хрупкая. Ответы продавца помогут вам либо избежать открытия спора, либо скрины переписки будут дополнительным докозательством во время ведения спора. Если продавец будет неохотно вам отвечать, или вообще не ответит, то заказывать у него лучше не стоит.

 Подключение OLED I2C дисплея с размером экрана 0,96″ и разрешением 128*64 точек к плате Arduino UNO.

Подключение OLED I2C дисплея с размером экрана 0,96″ и разрешением 128*64 точек к плате Arduino UNO.

Сегодня мы рассмотрим подключение OLED I2C дисплея с размером экрана 0,96″ и разрешением 128*64 точек к плате Arduino UNO.

Arduino и цифровой датчик температуры DS18B20 ,подключение нескольких датчиков ,код в комплекте

Arduino и цифровой датчик температуры DS18B20 ,подключение нескольких датчиков ,код в комплекте

DS18B20 - это цифровой датчик температуры. Датчик очень прост в использовании. Во-первых, он цифровой, а во вторых - у него всего лишь один контакт, с которого мы получаем полезный сигнал. То есть, вы можете подключить к одному Arduino одновременно огромное количество этих сенсоров. Пинов будет более чем достаточно. Мало того, вы даже можете подключить несколько сенсоров к одному пину на Arduino! Но обо всем по порядку.

Распиновки и описание процессоров ATmega установленных на ардуино и не только (+схемы пинмапинга )

Распиновки и описание процессоров ATmega установленных на ардуино и не только (+схемы пинмапинга )

Atmega2560, как и все его аналоги: Atmega2560 rev3, Atmega2560 16au, Atmega320 «Про Мини», Atmegach340g, Atmegach340g Pro Mini, Atmega640 Pro Mini, Atmega168 20au, Atmega328, Atmega2560 16au Pro Mini, Atmegar3 Pro Mini, Atmega168 20au «Про Мини» представляет собой 8-разрядный микроконтроллер низкой мощности, изготовленный на базе ядра типа AVR с архитектурой типа RISC. Он способен выполнять большое количество различных инструкций одновременно.

Сделай сам – мини-переносной Лабораторный блок питания из китайских модулей LM2596 !

Сделай сам – мини-переносной Лабораторный блок питания из китайских модулей LM2596 !

Сделай сам – мини Лабораторный блок питания из китайских комплектующих

При проектировании этого источника питания главная цель состояла в том, чтобы он был настолько портативным, насколько это возможно, и при надобности можно была захватить с собой.

Так же у меня есть и другие самопальные ЛБП , но они пригодны только для стационарного использования . На этот раз я решил использовать LM2596 вместо обычно используемых LM317 или LM350, что бы была регулировка тока .

Собираем самый дешевый 3д принтер из фанеры Graber i3  - все части !

Собираем самый дешевый 3д принтер из фанеры Graber i3 - все части !

В данной статье собраны все части по материалу "Собираем самый дешевый 3д принтер из фанеры Graber i3 "  Начиная от сборки фанерного корпуса нарезанного на лазерном станке и заканчивая настройкой прошивки под данную кинематику принтера . 

Светодиодные часы своими руками на ардуино (Arduino) WS2312 управляемых (адресных) светодиодах

Светодиодные часы своими руками на ардуино (Arduino) WS2312 управляемых (адресных) светодиодах

Прежде чем перейти к сборке часов немного полезной информации по поводу светодиодных лент на чипах ws2812 


Светодиоды (пиксели) WS2812B и светодиодные ленты на базе этих пикселей довольно популярны и это оправдано по нескольким причинам:

— компактность — пиксель содержит в своем корпусе (размером всего 5х5 мм) 3 светодиода и драйвера для них 

Игра на LCD Keypad Shield D1robot и Arduino UNO , делаем простую игру на ардуино

Игра на LCD Keypad Shield D1robot и Arduino UNO , делаем простую игру на ардуино

Приехал мне из китая вот такой удобный ЛСД шилд для ардуино Уно , но так же он подходит и для версии MEGA .

Шил по сути удобная платформа с дисплеем 1602 и 6ю кнопками для подключения к ардуино - Бутербродом . 

Все это легко монтируется , как я раньше без него то жил ? 


Теги: Делаем, весы, на ардуино, Arduino, работа с тензонометрическим, датчиком, и платой HX711, денис, гиик, китайчик, клуб, ардуино, клуб_ардуино, обзоры, алиэкспресс, denis_geek, denis, geek, chinagreat, club_arduino, arduino, club, aliexpress, денис гиик, denis geek, club arduino, electronica52, electronica52.in.ua,