Дигитална вага помоћу мерне ћелије и Ардуина

Испробајте Наш Инструмент За Елиминисање Проблема





У овом посту ћемо научити о мерној ћелији заснованој на деформационом систему. Истражићемо шта је деформациони мерач, шта је мерна ћелија, температурни ефекат на мерач деформације, температурну компензацију са Вхеатстонеовим мостом и појачивачем ћелијске ћелије ХКС711, и на крају ћемо научити како направити машину за вагу засновану на Ардуину применом мерне ћелије сензор тежине.

Овај пост говори о мерењу тежине и методама мерења и примени метода у кругу ваге заснован на Ардуину.



Сви волимо да видимо своју тежину без обзира на нашу старост, мало дете ће можда волети да види његово / њено дебљање, а одрасли воле да виде његов / њен губитак килограма. Тежина је витални концепт од давнина, помагала је у трговини робом, развоју научне опреме и комерцијалних производа.

У модерно доба тежине меримо у килограмима, милиграмима, чак и микрограмима у лабораторијске сврхе. Један грам је исти широм света, сви уређаји за мерење тежине морају мерити исто. Масовна производња пилуле са малом разликом од неколико милиграма у дозирању довољна је да се спасоносна таблета претвори у самоубиству.



Шта је тежина?

Тежина је сила која делује на раван. Количина примењене силе је директно пропорционална маси предмета, што значи да је већа маса предмета, што је већа сила која делује.

Маса је количина физичке материје присутне у предмету.

Тежина зависи од још једног фактора: гравитације.

Гравитација је константна широм света (постоје мале разлике у гравитацији због неуједначеног сферног облика земље, али је врло мала). Тежина од 1 кг на земљи тежит ће 160 грама на Мјесецу са потпуно истом масом, јер Мјесец има много слабије гравитационо привлачење.

Сада знате шта је тежина и који су фактори који чине предмет тешким.

Шта је мерач напрезања:

Мерач напрезања је претварач или сензор који мери напрезање (деформацију) на предмету. Ово су измислили електроинжењер Едвард Е. Симмонс и машински инжењер Артхур Цлауде Руге.

Илустрација мерача напона:

Сензор сонде

Мерач напрезања је флексибилан, то је танак узорак металне фолије који се налази између два танка пластична лима и мора бити причвршћен на површину одговарајућим лепком или било којим лепљивим материјалом.

Када на површину применимо тежину или силу, она се деформише, а такође се деформише и мерач деформације. Деформација деформатора узрокује промену електричног отпора металне фолије.

Сада је промена отпора мерача напрезања пропорционална тежини или примењеној сили на површини.

У стварном животу промена отпора деформатора је врло безначајна за откривање. Да бисмо открили мале промене у отпору користимо Вхеатстоне мост.

Истражимо укратко шта је Вхеатстоне мост.

Разумевање Вхеатстоне моста:

Мост од пшеничног камена је коло које се може користити за одређивање непознатог отпора. Мост Вхеатстоне-а осмислио је Самуел Хунтер Цхристие, касније Вхеатстоне-мост мост је побољшао и ширио Сир Цхарлес

Вхеатстоне.

Илустрација круга моста Вхеатстоне:

Вхеатстоне Бридге Цирцле

Наши савремени дигитални мултиметри могу очитати вредност отпора у распону од мега охма, кило охма и опсега охма.

Помоћу моста од пшеничног камена можемо мерити отпор у опсегу мили охма.

Мост од пшеничног камена састоји се од 4 отпорника, од четири, 3 су познати отпор, а један непознати отпор.

Разлика потенцијала (напон) примењује се на тачке „А“ и „Ц“, а од тачака „Б“ и „Д“ прикључује се волтметар.

Ако су сви отпорници једнаки, у тачкама „Б“ и „Д“ неће тећи струја и волтметар ће очитати нулу. Ово се зове уравнотежени мост.

Ако се отпор отпорника разликује од преостала три отпорника, између тачака „Б“ и „Д“ проћи ће напон и волтметар ће очитати неку вредност пропорционалну непознатом отпору. Ово се назива неуравнотежени мост.

Овде је непознати отпор мерач напрезања, када се отпор промени, он се одражава на волтметру.

Сада смо претворили сигнал деформације или тежине или силе у напонски сигнал. Овај напон треба појачати да би се добила корисна очитања која ће се преносити на микроконтролер да би се очитавања добила у грамима.

Сада да разговарамо о томе како температура утиче на перформансе деформатора.

Ефекти температуре на деформациони механизам:

Манометар је осетљив на температуру и може пореметити стварна очитавања тежине / силе. Када дође до промене температуре околине, метална фолија је изложена експанзији метала, што директно утиче на отпор.

Учинак температуре можемо поништити помоћу Вхеатстоне моста. Погледајмо како можемо надокнадити температуру помоћу моста Вхитстоне.

Компензација температуре:

Ефекат температуре можемо лако неутралисати заменом свих отпорника мерним механизмом. Сада ће температура подједнако утицати на сав отпор мерача напрезања, а нежељени шум ће поништити карактер моста Вхеатстоне.

Шта је мерна ћелија?

Мерна ћелија је алуминијумски профил са мерачем напрезања причвршћеним на 4 стране у конфигурацији Вхеатстоне моста.

Илустрација мерне ћелије:

Уређај са теретом

Ова врста мерне ћелије је крута и често се користи у индустрији. Постоје 4 носача завртња, једна страна је причвршћена вијцима за непокретну површину, а други крај је причвршћен за држач (рецимо корпу) да држи предмет који се мери.

Има максималну тежину наведену у техничком листу или на њеном телу, прекорачење спецификације може оштетити мерну ћелију.

Пуне ћелије моста састоје се од 4 терминала, наиме Е +, Е-, који су побудне жице кроз које се примењује напонски напон. Друге две жице су С + и С-, које су сигналне жице, од којих се мери напон.

Сада су ови напони у опсегу миливолта недовољно јаки да би их микроконтролер могао читати и обрађивати. Потребно нам је појачање, а ситне промене треба да буду видљиве микроконтролеру. Да бисмо то урадили, постоји наменски модул који се назива појачавачи ћелија оптерећења, хајде да направимо преглед о томе.

Појачало ћелије оптерећења ХКС711:

Илустрација модула појачала ХКС711 оптерећења:

Појачало ћелије оптерећења ХКС711

Појачало мерне ћелије засновано је на ИЦ ХКС711 који је 24-битни аналогно-дигитални претварач посебно дизајниран за мерење тежине. Има различите изборе 32, 64 и 128, а ради на 2,6 до 5,5 В.
Ова преломна плоча помаже у откривању ситних варијација на мерној ћелији. За рад овог модула потребна је библиотека ХКС711.х

Ардуино или било који други микроконтролери.

Мерна ћелија ће бити повезана на модул ХКС711 и модул ће бити повезан са Ардуином. На овај начин треба развити круг за мерење тежине.

У закључку, сада знате шта је мерач деформације, шта је Вхеатстонеов мост, температурни ефекти на деформатор, компензација температуре и шта је појачало ћелије оптерећења.

Свеобухватно смо разумели теоретски део дизајна ваге из горње дискусије, сада да видимо како се ћелија лоас може користити за израду практичне машине за вагање користећи Ардуино

Дизајнирање машине за дигитално вагање помоћу Ардуина

У следећим дискусијама научићемо како да направимо дигиталну машину за вагу помоћу Ардуина која може да мери тежину од неколико грама до 40 кг (у зависности од спецификација ваше мерне ћелије) са разумном тачношћу. Научићемо о класификацији ћелија оптерећења са прецизним степеном и калибрисаћемо предложено коло и финализовати машину са вагом.

Напомена: Ово коло можда није усклађено са стандардима потребним за комерцијалну примену.

Машине за вагање тежине користе се у различитим врстама заната и за истраживања у распону од милиграма до неколико тона. Максимална скала предложене машине за вагу зависи од спецификације ваше мерне ћелије. Постоје распони од 500 грама, 1 кг, 5 кг, 10 кг, 20 кг и 40 кг итд.

Постоје различите врсте мерних ћелија, нуде различит опсег тачности и требали бисте одабрати ону одговарајућу за свој пројекат.

Класификација класе тачности мерних ћелија:

Различите класе тачности дефинисане су за различите врсте примена. Класификација у наставку је од најниже до највише тачности.

Мерне ћелије са нижом тачношћу (али разумно тачном) класификоване су као Д1, Ц1 и Ц2. Ово је довољно за овај пројекат. Ове мерне ћелије се користе за мерење тежине песка, цемента или воде.

Мерне ћелије степена Ц3 користе се у осигурању квалитета као што су провера тежине кугличних лежајева, делова машинских конструкција итд.

Ц4, Ц5, Ц6 су најбоље у класи тачности, ове врсте мерних ћелија користе се за мерење у грамима до микрограма. Ове класе разреда користе се у трговинским вагама, праћењу велике производње, паковању хране и лабораторијској употреби итд.

Сада ћемо заронити у техничке детаље пројекта.

Кружни дијаграм:

Веза мерне ћелије ХКС711 са Ардуином и мерном ћелијом.

Веза мерне ћелије ХКС711 са Ардуином и мерном ћелијом.

Пројекат се састоји од Ардуино-а, Лоад-целл-а и ХКС711-ове плоче појачавача ћелије и рачунара. Излаз се може надгледати на серијском монитору Ардуино ИДЕ-а.

Мозак пројекта је као и увек ардуино, можете користити било који модел плоче Ардуино. ХКС711 је 24-битни АДЦ, који може пронаћи најситнији флекс због тежине на мерној ћелији. Може радити од 2,7 В до 5 В. Напајање се добија са Ардуино плоче.

Мерна ћелија генерално има четири жице, што је излаз из конфигурационог мерача снаге конфигурисаног за Вхеатстонеов мост.

Црвена жица је Е +, црна жица Е-, зелена жица А- и бела жица А +. Неки модули ХКС711 наводе назив терминала мерне ћелије, а неки модули ХКС711 наводе боје жица, такав модел је приказан на шеми кола.

ДАТА пин ХКС711 повезан је са пин 3 Ардуино, а Цлоцк пин ХКС711 повезан је пин 2 Ардуино.

Како монтирати мерну ћелију:

како инсталирати лоадцелл са Ардуином

Мерна ћелија има четири рупе за вијке, две са обе стране. Свака страна мора бити стационарна ради најбоље тачности, може бити налепљена на дрво са разумном тежином.

Танко дрво или танка плоча могу се користити за држање мерне тежине као што је горе приказано.

Дакле, када поставите тег, теретна ћелија се савија, као и мерач напрезања и мења свој отпор који се мери помоћу модула ХКС711 и доводи у Ардуино.

Када је подешавање хардвера завршено, отпремимо код и калибришемо.

Калибрација кола:

Постоје два програма један је програм калибрације (проналажење фактора калибрације). Друга шифра је програм мерења тежине, фактор калибрације који се налази из кода програма калибрације треба унети у програм мерења тежине.

Фактор калибрације одређује тачност мерења тежине.

Преузмите библиотеку ХКС711 овде: гитхуб.цом/богде/ХКС711

Програмски код за калибрације:

//-------------------- --------------------//
#include
const int out = 3
const int clck = 2
HX711 scale(out, clck)
float CalibrationFactor = -96550
char var
void setup()
{
Serial.begin(9600)
Serial.println('------------- Weight Scale Calibration --------------')
Serial.println('Press Q,W,E,R or q,w,e,r to increase calibration factor by 10,100,1000,10000 respectively')
Serial.println('Press A,S,D,F or a,s,d,f to decrease calibration factor by 10,100,1000,10000 respectively')
Serial.println('Press 'T' or 't' for tare')
scale.set_scale()
scale.tare()
long zero_factor = scale.read_average()
Serial.print('Zero factor: ')
Serial.println(zero_factor)
}
void loop()
{
scale.set_scale(CalibrationFactor)
Serial.print('Reading: ')
Serial.print(scale.get_units(), 3)
Serial.println(' Kilogram')
Serial.print('Calibration Factor is: ')
Serial.println(CalibrationFactor)
Serial.println('--------------------------------------------')
if (Serial.available())
{
var = Serial.read()
if (var == 'q')
{
CalibrationFactor = CalibrationFactor + 10
}
else if (var == 'a')
{
CalibrationFactor = CalibrationFactor - 10
}
else if (var == 'w')
{
CalibrationFactor = CalibrationFactor + 100
}
else if (var == 's')
{
CalibrationFactor = CalibrationFactor - 100
}
else if (var == 'e')
{
CalibrationFactor = CalibrationFactor + 1000
}
else if (var == 'd')
{
CalibrationFactor = CalibrationFactor - 1000
}
else if (var == 'r')
{
CalibrationFactor = CalibrationFactor + 10000
}
else if (var == 'f')
{
CalibrationFactor = CalibrationFactor - 10000
}
else if (var == 'Q')
{
CalibrationFactor = CalibrationFactor + 10
}
else if (var == 'A')
{
CalibrationFactor = CalibrationFactor - 10
}
else if (var == 'W')
{
CalibrationFactor = CalibrationFactor + 100
}
else if (var == 'S')
{
CalibrationFactor = CalibrationFactor - 100
}
else if (var == 'E')
{
CalibrationFactor = CalibrationFactor + 1000
}
else if (var == 'D')
{
CalibrationFactor = CalibrationFactor - 1000
}
else if (var == 'R')
{
CalibrationFactor = CalibrationFactor + 10000
}
else if (var == 'F')
{
CalibrationFactor = CalibrationFactor - 10000
}
else if (var == 't')
{
scale.tare()
}
else if (var == 'T')
{
scale.tare()
}
}
}
//-------------------- --------------------//

Како калибрисати:

  • По завршеном постављању хардвера отпремите горњи код.
  • Уклоните танку плочу или дрво које служи за држање тега, укључујући два завртња (друга страна мерне ћелије треба бити причвршћена на подножје)
  • Отворите серијски монитор.
  • Ставите познати тег директно на мерну ћелију, 100 грама (рецимо).
  • Притисните К, В, Е, Р. да се повећа фактор калибрације за 10,100,1000,10000.
  • Притисните А, С, Д, Ф. да се фактор калибрације смањи за 10,100,1000,10000.
  • Притисните „Ентер“ након сваког повећања или смањења фактора калибрације.
  • Повећавајте или смањујте фактор калибрације док се не појави тачна тежина познатог материјала.
  • Функција таре је да скалу тежине поставите на нулу, ово је корисно када желите да измерите тежину воде (рецимо) без тежине посуде. Прво ставите посуду, притисните тару и налијте воду.
  • Забележите фактор калибрације и запишите га након што се појави позната тежина.

Сада може да мери непознате тежине.

Шифра програма за мерење тежине:

//---------------- ----------------//
#include
const int out = 3
const int clck = 2
HX711 scale(out, clck)
float CalibrationFactor = -12000 // Replace -12000 the calibration factor.
void setup()
{
Serial.begin(9600)
Serial.println('Press 'T' or 't' to tare')
scale.set_scale(CalibrationFactor)
scale.tare()
}
void loop()
{
Serial.print('Weight: ')
Serial.print(scale.get_units(), 3)
Serial.println(' Kilogram')
if (Serial.available())
{
char var = Serial.read()
if (var == 't')
{
scale.tare()
}
if (var == 'T')
{
scale.tare()
}
}
}
//---------------- ----------------//

флоат ЦалибратионФацтор = -12000

Замените -12000 фактором калибрације који сте пронашли. То може бити негативан број или позитиван број.

Отпремите горњи код са комплетним хардверским подешавањима и уређај за вагање тежина је спреман.

Машина за вагање тежине помоћу ЛЦД екрана

Горњи чланак је објаснио систем вага заснован на Ардуину који користи ваш рачунар, у следећем одељку ћемо покушати да направимо практичну верзију машине за вагу додавањем ЛЦД екрана од 16 к 2, тако да не зависимо од рачунара док меримо тегова. У овом посту су предложене две верзије, једна са „И2Ц“ 16 к 2 ЛЦД и друга без „И2Ц“ 16 к 2 ЛЦД екрана.

Овде су дата два избора како би читаоци могли да изаберу дизајн по својој мери. Главна разлика између њих две су жичане везе са И2Ц адаптерским модулом, за рад ЛЦД екрана потребне су само 4 жице (Вцц, ГНД, СЦЛ и СДА), док је без И2Ц адаптера потребно неколико жица за повезивање између Ардуино и ЛЦД екрана.

Међутим, обе функције потпуно исте, неки преферирају И2Ц у односу на конвенционалне, а неки више обрнуто, тако да су овде оба дизајна.

Погледајмо конвенционални ЛЦД дизајн:

Шема кола:

ардуино, 16 к 2 ЛЦД екран и 10К потенциометар за подешавање контраста ЛЦД екрана

У горњој шеми имамо ардуино, 16 к 2 ЛЦД екран и 10К потенциометар за подешавање контраста ЛЦД екрана.

3.3 В се из Ардуина може напајати на ЛЦД екран за позадинско осветљење. На располагању је тастер за довођење очитавања тежине на нулу, ова функција ће бити детаљно објашњена на крају.

Ово је само веза између ЛЦД-а и Ардуина, веза између мерне ћелије и појачавача мерне ћелије са Ардуином приказана је у претходном одељку.

Шифра за ЛЦД машину за вагу:

// -------- Program developed by R.GIRISH -------//
#include
#include
const int rs = 10
const int en = 9
const int d4 = 8
const int d5 = 7
const int d6 = 6
const int d7 = 5
LiquidCrystal lcd(rs, en, d4, d5, d6, d7)
const int out = 3
const int clck = 2
const int Tare = 4
HX711 scale(out, clck)
float CalibrationFactor = -12000 // Replace -12000 the calibration factor.
void setup()
{
lcd.begin(16, 2)
pinMode(Tare, INPUT)
digitalWrite(Tare, HIGH)
lcd.setCursor(0, 0)
lcd.print(' Weight Scale')
lcd.setCursor(0, 1)
lcd.print(' Machine')
delay(2000)
scale.set_scale(CalibrationFactor)
scale.tare()
}
void loop()
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Weight:')
lcd.print(scale.get_units(), 3)
lcd.print(' Kg')
delay(200)
if (digitalRead(Tare) == LOW)
{
scale.tare()
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Tare ......')
lcd.setCursor(0, 1)
lcd.print('Setting to 0 Kg.')
delay(1000)
}
}
// -------- Program developed by R.GIRISH -------//

Сада да видимо како да користимо ову машину за мерење тежине са ЛЦД екраном заснованим на И2Ц адаптеру.

Схема споја Ардуино и ЛЦД дисплеј са И2Ц адаптером:

Ардуино и ЛЦД екран са И2Ц адаптером

Овде имамо само Ардуино и ЛЦД екран са И2Ц адаптером на задњој страни. Сада су жичане везе поједностављене и праве напред.

Илустрација И2Ц модула:

И2Ц модул

Овај модул се може залемити директно на полеђину нормалног ЛЦД екрана од 16 к 2 или чак 20 к 4 и следити шематски дијаграм.

И опет, молимо погледајте претходни одељак за повезивање мерне ћелије, појачавача мерне ћелије и Ардуина.

Преузмите следећу библиотеку за И2Ц:

гитхуб.цом/марцосцхвартз/ЛикуидЦристал_И2Ц

гитхуб.цом/ПаулСтоффреген/Вире

Код за коло засновано на И2Ц:

// -------- Program developed by R.GIRISH -------//
#include
#include
#include
const int out = 3
const int clck = 2
const int Tare = 4
HX711 scale(out, clck)
float CalibrationFactor = -12000 // Replace -12000 the calibration factor.
LiquidCrystal_I2C lcd(0x27, 16, 2)
void setup()
{
lcd.init()
lcd.backlight()
pinMode(Tare, INPUT)
digitalWrite(Tare, HIGH)
lcd.setCursor(0,0)
lcd.print(' Weight Scale')
lcd.setCursor(0,1)
lcd.print(' Machine')
delay(2000)
scale.set_scale(CalibrationFactor)
scale.tare()
}
void loop()
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Weight:')
lcd.print(scale.get_units(), 3)
lcd.print(' Kg')
delay(200)
if (digitalRead(Tare) == LOW)
{
scale.tare()
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Tare ......')
lcd.setCursor(0,1)
lcd.print('Setting to 0 Kg.')
delay(1000)
}
}
// -------- Program developed by R.GIRISH -------//

БЕЛЕШКА:

Требали бисте унети фактор калибрације у код пре него што отпремите било који од кода у Ардуино.

флоат ЦалибратионФацтор = -12000

Добијање калибрационог фактора објашњено је у претходном одељку изнад.

Тара функција:

Функција таре у скали тежине је да очитавања сведе на нулу. На пример, ако имамо корпу у коју се утовара роба, тада ће нето тежина бити тежина корпе + тежина робе.

Ако притиснемо тастер за тару са кошаром на теретној ћелији пре утовара робе, тежина корпе ће бити занемарена и тежину робе можемо мерити сами.

Ако имате било каквих питања у вези са овим практичним кругом ЛЦД вага заснованих на Ардуину, молимо вас наведите у одељку за коментаре и можете добити брзи одговор.




Претходно: Полупроводнички склопни круг за моторне пумпе Следеће: Како направити одступне трансформаторе