رباتیک و هوافضا

اندازه گیری وزن با آردوینو و بوسیله ماژول HX711 و لودسل

اندازه گیری وزن با آردوینو و بوسیله ماژول HX711 و لودسل

به نام خدا

اندازه گیری وزن با آردوینو و بوسیله ماژول HX711 و لودسل

اندازه گیری وزن با اردوینو و بوسیله ماژول HX711 و لودسل

 

 

قطعات مورد نیاز برای پروژه ی اندازه گیری وزن با آردوینو و بوسیله ماژول HX711 و لودسل :

  • آردینو UNO
  • لودسل (ظرفیت ۴۰ کیلو)
  • ماژول تقویت کننده لودسلHX711
  • LCD 16*2
  • سیم برد بورد
  • کابل USB
  • برد بورد
  • پیچ ،مهره ، قاب و پایه

 

لود سل و ماژول سنسور وزن HX711:

این تغییر شکل باعث تغییر مقاومت موثر شده و درنهایت باعث ایجاد سیگنال الکتریکی میشود. معمولا لودسل ها شامل چهار فشارسنج با پیکربندی پل وتسون میباشند. لود سل ها با ظرفیت های متنوعی وجود دارند مانند ۵ کیلو، ۱۰کیلو، ۱۰۰کیلو و بیشتر که در اینجا ما از لودسل با حداکثر ظرفیت ۴۰ کیلو استفاده شده است.

اندازه گیری وزن با اردوینو و بوسیله ماژول HX711 و لودسل

سیگنال خروجی که بوسیله لودسل تولید میشود در حد میلی ولت است، بنابراین نیاز داریم تا این سیگنال را تقویت کنیم به این منظور ما از  سنسور تقویت کننده HX711 استفاده میکنیم. سنسور تقویت کننده HX711  شامل یک چیپ  HX711 با قابلیت تبدیل آنالوگ به دیجیتال و دقت ۲۴  بیتی است HX711 دارای دو کانال ورودی آنالوگ می باشد با استفاده از برنامه نویسی این کانال ها میتوان تا بهره ۱۲۸ از آن استفاده کرد.

بنابراین ماژول HX711  سیگنال خروجی لودسل که ولتاژ کمی دارد را تقویت میکند واین سیگنال تقویت شده وتبدیل شده به داده دیجیتال را به آردینو میفرستد تا آردینو درنهایت وزن را از این داده استخراج کند.

اندازه گیری وزن با اردوینو و بوسیله ماژول HX711 و لودسل

لودسلی که به تقویت کننده HX711  متصل است چهار سیم دارد. این چهارسیم به رنگ های قرمز، سیاه، سفید و آبی یا سبز هستند. البته ممکن است تغییراتی در رنگ این سیم ها در بین ماژول های موجود در بازار وجود داشته باشد. در زیر جزئیات اتصال را مشاهده میکنید:

بیشتر بخوانید...  ساخت ربات دنبال کننده ی توپ با استفاده از رزبری پای

سیم قرمز به E +

سیم سیاه به   E –

سیم سفید به  A –

سیم سبز به   A +

ساخت سکو و پایه برای لودسل:

این مرحله اختیاری است و شما می توانید وزن را به طور مستقیم بر روی لودسل بدون سکو قرار دهید و می توانید آن را بدون هیچگونه پایه، ثابت نگه دارید اما بهتر است یک سکو برای قرار دادن اجسام بزرگ بر روی آن نصب کنید و آن را بر روی یک پایه ثابت کنید .

اندازه گیری وزن با اردوینو و بوسیله ماژول HX711 و لودسل

 

اندازه گیری وزن با اردوینو و بوسیله ماژول HX711 و لودسل

 

اندازه گیری وزن با اردوینو و بوسیله ماژول HX711 و لودسل

توضیحات مدار:

اتصالات مدار ساده است و شماتیک به صورت زیر میباشد.پایه های ال سی دی D7, D6, D5, D4, EN, RS  به ترتیب متصل است  به پایه های ۱۳,۱۲,۱۱,۱۰,۹,۸ آردینو و پایه های DT , SCK ماژول HX711 مستقیما به A1, A0 آردینو متصل شده اند. اتصال لودسل و HX711 قبلا توضیح داده شده است.

 

 

طرز کار مدار:

قبل از هر چیزی برای اندازه گیری دقیق وزن باید سیستم را کالیبره کنیم به این منظور سیستم در ابتدای کار به صورت خودکار این کار را انجام میدهد برای انجام اینکار به صورت دستی از یک میکروسوئیچ استفاده میکنیم.در برنامه، ما تابعی درست کرده ایم به نام calibrate به منظور کالیبره کردن سیستم .

بیشتر بخوانید...  آموزش پروژه محور آردوینو – جلسه یازدهم نمایشگر کاراکتری 1

برای کالیبره کردن منتظر باشید تا ال سی دی  پیغامی با این منظور که “۱۰۰ گرم روی لودسل قرار دهید وصبر کنید” (مانند شکل) نشان دهد سپس ۱۰۰ گرم روی لودسل گذاشته و صبر کنید سپس بعد از لحظاتی سیستم کالیبره شده وشما میتوانید هر وزنی را اندازه بگیرید در ضمن واحد اندازه گیری گرم است.

اندازه گیری وزن با اردوینو و بوسیله ماژول HX711 و لودسل

دراین پروژه ما از آردینو برای کنترل فرایند، لودسل به منظور حس کردن وزن، ساخت سیگنالی آنالوگ از جنس ولتاژ و فرستادن آن به ماژول HX711  استفاده کرده ایم.HX711  یک مبدل آنالوگ به دیجیتال ۲۴ بیتی است که خروجی لودسل را تقویت وتبدیل به دیتای دیجیتال میکند.

 

 

اندازه گیری وزن با اردوینو و بوسیله ماژول HX711 و لودسل

 

دانلود کدهای پروژه:

دانلود فایل
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);

#define DT A0
#define SCK A1
#define sw 2

long sample=0;
float val=0;
long count=0;

unsigned long readCount(void)
{
  unsigned long Count;
  unsigned char i;
  pinMode(DT, OUTPUT);
  digitalWrite(DT,HIGH);
  digitalWrite(SCK,LOW);
  Count=0;
  pinMode(DT, INPUT);
  while(digitalRead(DT));
  for (i=0;i<24;i++)
  {
    digitalWrite(SCK,HIGH);
    Count=Count<<1;
    digitalWrite(SCK,LOW);
    if(digitalRead(DT)) 
    Count++;
  }
  digitalWrite(SCK,HIGH);
  Count=Count^0x800000;
  digitalWrite(SCK,LOW);
  return(Count);
}

void setup()
{
  Serial.begin(9600);
  pinMode(SCK, OUTPUT);
  pinMode(sw, INPUT_PULLUP);
  lcd.begin(16, 2);
  lcd.print("    Weight ");
  lcd.setCursor(0,1);
  lcd.print(" Measurement ");
  delay(1000);
  lcd.clear();
  calibrate();
}

void loop()
{
  count= readCount();
  int w=(((count-sample)/val)-2*((count-sample)/val));
  Serial.print("weight:");
  Serial.print((int)w);
  Serial.println("g");
  lcd.setCursor(0,0);
  lcd.print("Weight            ");
  lcd.setCursor(0,1);
  lcd.print(w);
  lcd.print("g             ");

  if(digitalRead(sw)==0)
  {
    val=0;
    sample=0;
    w=0;
    count=0;
    calibrate();
  }
}

void calibrate()
{
    lcd.clear();
  lcd.print("Calibrating...");
  lcd.setCursor(0,1);
  lcd.print("Please Wait...");
  for(int i=0;i<100;i++)
  {
    count=readCount();
    sample+=count;
    Serial.println(count);
  }
  sample/=100;
  Serial.print("Avg:");
  Serial.println(sample);
  lcd.clear();
  lcd.print("Put 100g & wait");
  count=0;
  while(count<1000)
  {
    count=readCount();
    count=sample-count;
    Serial.println(count);
  }
  lcd.clear();
  lcd.print("Please Wait....");
  delay(2000);
  for(int i=0;i<100;i++)
  {
    count=readCount();
    val+=sample-count;
    Serial.println(sample-count);
  }
  val=val/100.0;
  val=val/100.0;        // put here your calibrating weight
  lcd.clear();
}

 

دیدگاه‌ها (20)

*
*

    داود ده جوریان مهمان اردیبهشت 8, 1397 پاسخ

    سلام : من یک پروژه دارم که در قسمتی از اون یک لودسل 40 کیلوگرمی باید وزنه ای رو وزن کنه . اما چندتا ایراد برام درست شده : ا- لودسل وزن ثابتی به من نمی ده و دائم تغییر می کنه . 2- لودسل دقت لازم ( در حد 1 تا 2 گرم)به من نمیده و دقتش در حد 5 گرم هست .
    به نظر شما باید چیکار کنم. سخت افزارم مگا2560 هست.

      Admin مدیر کل دی 21, 1399 پاسخ

      سلام
      متاسفانه این پروژه توسط یکی از اعضای چند سال پیش تیم انجام شده و دیگه نیستن..... اگه هنوز سوالتون بر طرف نشده توی تلگرام پیام بدید تا مسئول فنی دقیقا مشکل شما رو بررسی کنن

    یاسین مهمان خرداد 6, 1397 پاسخ

    سلام
    یه سوال داشتم اونم اینکه اگه بخوام از این برنامه برای لودسل 30 کیلویی استفاده کنم چه تغییراتی باید داخلش ایجاد کنم.

      Admin مدیر کل دی 21, 1399 پاسخ

      سلام.... متاسفانه این پروژه توسط یکی از اعضایی که قبلا عضو تیم بوده انجام شده.... اگه هنوز سوالتون بر طرف نشده توی تلگرام پیام بدید تا مسئول فنی سایت بررسی کنه

    فرشید مهمان دی 24, 1397 پاسخ

    از این ماژول میشه برای لودسل های کششی با 250 کیلو استفاده کرد
    دقتش تا چه حد هست

      Admin مدیر کل دی 21, 1399 پاسخ

      سلام
      توی این پروژه از لودسل با ظریفیت 40 کیلو استفاده شده، اون ماژولی که شما میگید در واقع تقویت کننده سیگنال لود سل هستش..... اگه طرفیت بیشتر میخواید باید نوع لودسل رو عوض کنید

    علیرضا باقری مهمان بهمن 20, 1397 پاسخ

    سلام
    آقا اون sw چیه تو ورودی هایی تعریف کردید؟

      Admin مدیر کل دی 21, 1399 پاسخ

      سلام
      sw توی برنامه برای پایه 2 آردوینو تعریف شده... پایه شماره 2 هم به یه میکروسوئیچ وصل شده که برای کالیبره کردن تعبیه شده

    زهرا مهمان تیر 28, 1398 پاسخ

    عالی و جامع بود . ممنون .

      Admin مدیر کل آبان 14, 1399 پاسخ

      ممنون از حمایتتون

    محسن مهمان مرداد 16, 1399 پاسخ

    سلام
    هربار برنامه را ببندید دوباره اجرا ونی باید کالیبر کنی.
    چطور میشه یکبار کالیبر کردیم دیگه نیاز به کالیبر مجدد نباشد؟

      Admin مدیر کل آبان 16, 1399 پاسخ

      کد رو تغییر بدید و اعداد کالیبره رو روی EEPROM ذخیره کنید

    محسن مهمان شهریور 1, 1399 پاسخ

    با سلام و خسته نباشین.
    خیلی ممنون بابت سایت خیلی خوبتون
    امکانش هست در باره اتصال لودسل به کامپیوتر هم توضیح بدین
    و اینکه بخوابیم وزن وسیله مورد نظر رو با نمودار نشون بدین

      Admin مدیر کل آبان 16, 1399 پاسخ

      سلام به همکاران تولید محتوا اطلاع داده میشه

    صادق مهمان آذر 8, 1399 پاسخ

    سلام خسته نباشید میشه از این سنسور برای وزن های چهارصد و پانصد کیلو هم استفاده کرد؟

      Admin مدیر کل آذر 11, 1399 پاسخ

      سلام. من با اون وزن ها کار نکردم ولی احتمالا بشه چون خروجی ها شبیه به همه

    عباس مهمان دی 4, 1399 پاسخ

    سلام
    آیا می توان از چند لودسل همزمان استفاده کنیم
    یعنی به یک مخزن 4تا لود سل وصل کنیم تا وزن اون رو بدست بیاوریم.

      Admin مدیر کل دی 21, 1399 پاسخ

      سلام
      امکان استفاده چند لودسل وجود داره، منتهی متوجه نشدم چرا چند تا لودسل میخواید بذارید؟!!

    فاطمه خباز مهمان دی 24, 1399 پاسخ

    سلام
    من برای ساخت یک پروژه طراحی ساخت، احتیاج به این دارم، منتها هیچی نمیدونم ازش و نیاز دارم مشورت کنم.
    جایی هست تماس بگیرم؟

      Admin مدیر کل شهریور 21, 1400 پاسخ

      سلام
      از قسمت تماس با ما شماره رو بردارید به واتس اپ تا تلگرام پیام بدید