آموزش راه‌اندازی ماژول مبدل آنالوگ به دیجیتال ADS1232 با آردوینو

فهرست مطالب

ویژگی های ماژول مبدل آنالوگ به دیجیتال ADS1232

در بیشتر میکروکنترلرها، مبدل آنالوگ به دیجیتال وجود دارد اما این مبدل از دقت بالایی برخوردار نیست. در بسیاری از پروژه ها نیاز است مقادیر آنالوگ با دقت بالا اندازه‌گیری شود یا سطح ولتاژ مقادیر آنالوگ در محدوده اندازه‌گیری میکروکنترلر نمی‌باشد و یا میکروکنترلر مورد استفاده مبدل آنالوگ به دیجیتال ندارد. در این موارد از IC های جانبی مبدل آنالوگ به دیجیتال استفاده می‌گردد.

آی‌سی ADS1232 یکی از انواع آی‌سی‌های مبدل آنالوگ به دیجیتال می‌باشد که دارای دقت 24 بیتی است. از این ماژول برای اندازه‌گیری مقادیر پل وتستون (Wheatstone bridge) استفاده می‌شود.

جهت دریافت دیتاشیت ADS1232 اینجا کلیک کنید.

معرفی پایه ها (Pinout) ماژول مبدل آنالوگ به دیجیتال ADS1232

ماژول مبدل آنالوگ به دیجیتال ADS1232 دارای 10 پایه به شرح زیر است:

  • 3: تغذیه لاجیک ماژول
  • 5v: تغذیه ماژول
  • GND: زمین
  • REFP: ولتاژ رفرنس برای اندازه گیری
  • SCLK: همزمان سازی برای پروتکل
  • DOUT: خط ارسالی اطلاعات برای پروتکل
  • POMN: کنترل پاور ماژول
  • SPEED: انتخاب سرعت دیتا
  • GAIN1: انتخاب گین
  • GAIN0: انتخاب گین
  • TEMP: انتخاب سنسور دما
  • A0: ورودی آنالوگ اول
  • CLKIN: ورودی کلاک خارجی
  • AINP1: ورودی پل وتستون اول
  • AINP2: ورودی پل وتستون دوم

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
ماژول ADS1232 × 1
سیم جامپر نری به مادگی × 1
لود سل 10 کیلوگرمی × 1

نرم افزارهای موردنیاز

آردوینو IDE

راه‌اندازی ماژول مبدل آنالوگ به دیجیتال ADS1232 با استفاده از آردوینو

گام اول: سیم بندی

مطابق مدار زیر، ماژول را به آردوینو وصل کنید.

نکته

برای تست ماژول از یک لودسل استفاده شده است.

گام دوم: نصب کتابخانه

کتابخانه زیر را بر آردوینوی خود نصب کنید.

https://github.com/denkitronik/ADS1232

توجه

اگر نیاز به راهنمایی بیشتر برای نصب کتابخانه بر روی آردوینو دارید، می توانید به آموزش نصب کتابخانه بر آردوینو مراجعه کنید.

گام سوم: کد

کد زیر را روی برد آردوینوی خود آپلود کنید.

/*
  Modify on May 16, 2021
  Modify by MohammedDamirchi base of https://github.com/ciorceri/ADS1232
  https://electropeak.com/learn/
*/

#define _dout 6
#define _sclk 7
#define _pdwn 8

#include "ADS1232.h"

ADS1232 weight = ADS1232(_pdwn, _sclk, _dout);

void do_calibration() {
  long t_new_offset = 0;
  long t_raw_read = 0;
  float t_set_scale_value = 0;
  float t_weight = 0;

  // reset to default values
  weight.OFFSET = 0;
  weight.SCALE = 1.0;

  // tare
  t_new_offset = weight.raw_read(3);
  weight.OFFSET = t_new_offset;
  Serial.print("Calibration offset = ");Serial.println(weight.OFFSET);
  Serial.println("You have 10 seconds to put a 2L CocaCola bottle on scale");
  delay(10000);

  // do calibration based on a known weight
  t_raw_read = weight.raw_read(3);
  Serial.print("Units read = ");Serial.println(t_raw_read);
  t_set_scale_value = t_raw_read / 2.0;  // divide it to the weight of a CocaCola bottle
  weight.SCALE = t_set_scale_value;
  Serial.print("Calibration scale value = ");Serial.println(weight.SCALE);

  // read weight
  t_weight = weight.units_read(3);
  Serial.print("Weight = ");Serial.println(t_weight);
}

void setup() {
  Serial.begin(9600);
  weight.power_up();
  do_calibration();
}

void loop() {
  Serial.println(weight.units_read(3));
  delay(1000);
*/ 

این کد جهت تست اندازه‌گیری پل وتستون در پایه‌های AINP1 می‌باشد.

آموزش های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.