جستجو برای:
سبد خرید 0
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع ثبت نام دوره تابستانی آوات روبو
فرصت تکرار نشدنی ثبت نام در دوره های حضوری با 20% تخفیف!
ساعت
دقیقه
ثانیه
مشاهده دوره های آموزشی
رباتیک و هوافضا
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل
  • 09152556924
  • sup@avatrobo.ir
رباتیک و هوافضا
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

رباتیک و هوافضا > مقالات > پروژه > آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

اسفند 18, 1396
ارسال شده توسط mjavad
پروژه، پروژه های آردوینو، پروژه های رایگان
آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

به نام خدا

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

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

نگاه اجمالی :

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

ADXL345 یک ماژول شتاب سنج سه بعدی MEMS است که با هر دو رابط I2C و SPI کار میکند. برد Adafruit Breakout برای این ماژول ولتاژ 3.3v را آماده کرده اند ،از این رو آنها با میکروکنترلر های 5v مثل آردوینو به راحتی ارتباط برقرار میکنند.

ADXL345 دارای 4 محدوده ی حساسیت +/-2G تا +/-16G است . از  داده های خروجی با د رنج 10Hz تا 3200Hz پشتیبانی میکند.

 

نحوه ی کار سنسور:

این سنسور از یک ساختار میکرو مکانیکی روی سلیکون ساخته شده است. این ساختار توسط چند سلیکون به صورت تعلیق در آمده است که در صورت تحریک در محور های X،Y و یا Z به همان سمت منحرف میشود. این انحراف باعث تغییر در ظرفیت خازنی بین صفحه ثابت و صفحه ی متصل به ساختار معلق می شود. این تغییر ظرفیت در هر محور به یک ولتاژ خروجی متناسب با شتاب در هر محور تبدیل می شود.

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

برد و سیم کشی:

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

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

مونتاژ:

پین هدر را قرار دهید:

رشته ی پین هدر را در صورت نیاز برش دهید . پین هدر را از سمت سیم های کوتاه ترش بر روی برد بورد سوار کنید.

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

اضافه کردن Breakout :

برد را روی رشته ی پین هدر ثابت کنید.

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

لحیم کردن :

از اتصال الکتریکی همه ی پین ها اطمینان حاصل کنید.

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

ارتباط I2C :

ADXL345 Breakout یک آدرس I2C_0X53 دارد.

برای ارتباط I2C فقط 4 اتصال لازم است:

زمین به زمین

پین VIN به 5V

پین SDA به SDA (پین 4 آنالوگ در آردوینو کلاسیک)

پین SCL به SCL (پین 5 آنالوگ در آردوینو کلاسیک)

 

Adafruit breakout دارای سطح بی ثبات و مدار تنظیم کننده است، بنابر این شما میتوانید در ولتاژ بین 3 و 5 راه اندازی کنید و از سطح 3V و 5V منطقی I2C استفاده کنید.

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

برنامه نویسی و کالیبراسیون :

 

کتابخانه را نصب کنید :

کتابخانه ADXL345 را دانلود کرده و آن را نصب کنید.اگه قبلا این کتابخانه را نداشتید شما به کتابخانه Adafruit Sensor  نیز نیاز دارید. شما میتوانید کتابخانه ی Adafruit Sensor را از لینک زیر دانلود کنید.

[maxbutton id=”198″ url=”http://avatrobo.ir/wp-content/uploads/2018/03/Adafruit_Sensor-master.zip” ]

 

امتحان کردن :

بر روی “File->Examples->Adafruit_ADXL345->sensortest” کلیک کنید تا نمونه ای اجرایی از این کتابخانه مشاهده کنید.

حال روی compile/upload کلیک کنید تا طرح به آردوینو آپلود شود. شما باید خروجی مشابه زیر را ببینید. برد را حرکت دهید تا تغییرات را ببینید.

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

کالیبره کردن:

تراشه های ADXL را در کارخانه در حد معمول کالیبره می کنند. برای برنامه های مهم که در آن به دقت بالاتر نیاز دارید ،ممکن است به کالیبره کردن نیاز پیدا کنید.

کالیبره کردن خروجی های سنسور را تغییر نمی دهد. اما خروجی سنسور را نسبت به مرجعی که برای آن مشخص کرده اید به شما میدهد.

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

گرانش به عنوان مرجع کالیبرراسیون :

شتاب را می توان در نسبت به گرانش زمین اندازه گیری کرد. جایی که 1G را نشان میدهد جاذبه در سطح زمین است. گرانش زمین یک نیروی پایدار و یک مرجع کالیبراسیون مناسب و قابل اعتماد است.

روش کالیبراسیون:

برای سنسور کالیبره شده شما باید خروجی را برای هر محور به طور دقیق در جهت محور های گرانش مشخص کنید.

نصب سنسور :

سنسور را به یک تکه چوب وصل کنید. اندازه تا زمانی که تمام گوشه های آن با یک زاویه و سطح آن کاملا صاف باشد مهم نیست.

اسکن کالیبراسیون را انجام دهید.

بار گیری را به صورت زیر انجام دهید و منتظر بمانید.

  • تکه چوب را روی یک سطح نرم و صاف مانند یک میز محکم قرار دهید. یک کارکتر را در سریال مانیتور سپس return را وارد کنید.

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

  • این کارکتر اندازه گیری را در این محور انجام میدهد و نتایج را برای ما چاپ میکند.

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

  •  بلوک را بچرخانید تا سمت دیگر آن روی میز قرار بگیرد. یک کارکتر دیگر برای اندازه گیری محور آن تایپ کنید.

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

  • برای تمام شش وجه این تکه چوب این کار را انجام دهید.

نکته: برای وجه ی که سیم ها روی آن است کارکتر را وارد کرده و از سطح زیر میز استفاده کنید.

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

نتایج کالیبراسیون:

هنگامی که تمام شش وجه قطعه چون نمونه برداری شد، مقادیری که در مانیتور چاپ شده اند نشان دهنده ی اندازه ی واقعی برای نیرو های +/-1G در هر محور است. از این مقادیر میتوان برای دریافت دقت بالاتر استفاده کرد.

طرح کالیبراسیون:

[maxbutton id=”193″ url=”http://avatrobo.ir/wp-content/uploads/2018/03/آشنایی-با-شتاب-سنج-دیجیتال-ADXL345-و-کالیبره-کردن-آن.txt” text=”دانلود کد” ]

 

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
 
/* Assign a unique ID to this sensor at the same time */
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
 
 
float AccelMinX = 0;
float AccelMaxX = 0;
float AccelMinY = 0;
float AccelMaxY = 0;
float AccelMinZ = 0;
float AccelMaxZ = 0;
 
 
void setup(void) 
{
  Serial.begin(9600);
  Serial.println("ADXL345 Accelerometer Calibration"); 
  Serial.println("");
  
  /* Initialise the sensor */
  if(!accel.begin())
  {
    /* There was a problem detecting the ADXL345 ... check your connections */
    Serial.println("Ooops, no ADXL345 detected ... Check your wiring!");
    while(1);
  }
}
 
void loop(void)
{
    Serial.println("Type key when ready..."); 
    while (!Serial.available()){}  // wait for a character
    
    /* Get a new sensor event */ 
    sensors_event_t accelEvent;  
    accel.getEvent(&accelEvent);
    
    if (accelEvent.acceleration.x < AccelMinX) AccelMinX = accelEvent.acceleration.x;
    if (accelEvent.acceleration.x > AccelMaxX) AccelMaxX = accelEvent.acceleration.x;
    
    if (accelEvent.acceleration.y < AccelMinY) AccelMinY = accelEvent.acceleration.y;
    if (accelEvent.acceleration.y > AccelMaxY) AccelMaxY = accelEvent.acceleration.y;
  
    if (accelEvent.acceleration.z < AccelMinZ) AccelMinZ = accelEvent.acceleration.z;
    if (accelEvent.acceleration.z > AccelMaxZ) AccelMaxZ = accelEvent.acceleration.z;
  
    Serial.print("Accel Minimums: "); Serial.print(AccelMinX); Serial.print("  ");Serial.print(AccelMinY); Serial.print("  "); Serial.print(AccelMinZ); Serial.println();
    Serial.print("Accel Maximums: "); Serial.print(AccelMaxX); Serial.print("  ");Serial.print(AccelMaxY); Serial.print("  "); Serial.print(AccelMaxZ); Serial.println();
 
    while (Serial.available())
    {
      Serial.read();  // clear the input buffer
    }
}

خروجی کالیبراسیون معمولی:

 

[maxbutton id=”185″ url=”http://avatrobo.ir/wp-content/uploads/2018/03/آشنایی-با-شتاب-سنج-دیجیتال-ADXL345-و-کالیبره-کردن-آن2.txt” text=”دانلود کد” ]

ADXL345 Accelerometer Calibration
 
Type key when ready...
Accel Minimums: 0.00  0.00  0.00
Accel Maximums: 0.12  0.20  1.14
Type key when ready...
Accel Minimums: 0.00  0.00  0.00
Accel Maximums: 0.12  0.20  1.14
Type key when ready...
Accel Minimums: 0.00  0.00  0.00
Accel Maximums: 0.12  0.20  1.14
Type key when ready...
Accel Minimums: 0.00  0.00  0.00
Accel Maximums: 0.12  0.20  1.14
Type key when ready...
Accel Minimums: 0.00  0.00  -0.24
Accel Maximums: 0.12  1.37  1.14
Type key when ready...
Accel Minimums: 0.00  0.00  -0.24
Accel Maximums: 0.12  1.37  1.14
Type key when ready...
Accel Minimums: 0.00  -1.22  -0.27
Accel Maximums: 0.12  1.37  1.14
Type key when ready...
Accel Minimums: 0.00  -1.22  -0.27
Accel Maximums: 0.12  1.37  1.14
Type key when ready...
Accel Minimums: -1.18  -1.22  -0.27
Accel Maximums: 0.12  1.37  1.14
Type key when ready...

 

ساختار:

Adafruit_ADXL345(int32_t sensorID = -1)

یک  درایور ADXL345 را ایجاد میکند. ‘sensorID’ شناسه ی دستگاه است. در هر فرا خوانی  getEvent() مقدار هر sensor_event باز خواهد گشت. sensorID هیچ تاثیری بر عملکرد سنسور ها ندارد ولی برای مدیریت sensor events در سیستم با سنسور های چند گانه مفید است.

bool begin(void)

تابع begin() مقدار دهی دستگاه را آغاز میکند. اگر در اتصال به ADX:345 موفق شود true را برمی گرداند.

void getSensor(sensor_t*);

 getSensor() اطلاعات اولیه را در مورد سنسور چاپ میکند.

void setRange(range_t range)

تابع setRange() محدوده عملیاتی برای سنسور را تعیین میکند. هر چه محدوده کوچک تر باشد مقادیر دقیق تر خواهند بود.

محدوده ی معتبر برای این سنسور عبارتند از

  • ADXL345_RANGE_16_G
  • ADXL345_RANGE_8_G
  • ADXL345_RANGE_4_G
  • ADXL345_RANGE_2_G (default value)

range_t getRange(void);

 تابع getRange() محدوده ی عملیاتی فعلی که توسط setRange() تعیین شده است return میکند.

در یافت و تنظیم رنج اطلاعات :

void setDataRate(dataRate_t dataRate);

setDataRate()  اندازه تغییرات خروجی را نمایش میدهد.

ارزش بالاتر از 100 هرتز موجب نویز میشود. مقدار کمتر از 6.25 به تغییرات دما حساس میشود.

جزئیات داده را ببینیم.

  • ADXL345_DATARATE_3200_HZ
  • ADXL345_DATARATE_1600_HZ
  • ADXL345_DATARATE_800_HZ
  • ADXL345_DATARATE_400_HZ
  • ADXL345_DATARATE_200_HZ
  • ADXL345_DATARATE_100_HZ
  • ADXL345_DATARATE_50_HZ
  • ADXL345_DATARATE_25_HZ
  • ADXL345_DATARATE_12_5_HZ
  • ADXL345_DATARATE_6_25HZ
  • ADXL345_DATARATE_3_13_HZ
  • ADXL345_DATARATE_1_56_HZ
  • ADXL345_DATARATE_0_78_HZ
  • ADXL345_DATARATE_0_39_HZ
  • ADXL345_DATARATE_0_20_HZ
  • ADXL345_DATARATE_0_10_HZ (default value)

 

dataRate_t getDataRate(void);

تابع  getDataRate() مقدار داده هایی که توسط setDataRate() تنظیم شده را return میکند.

void getEvent(sensors_event_t*);

تابع getEvent() نتیجه را به صورت یک sensor_event باز میگرداند. sensor_event حاوی sensor_id که به سازنده منتقل شده ، همچنین مقادیری که از محور های X،Y و Z خوانده شده است.

فایل ها :

فایل EagleCAD PCB

[maxbutton id=”196″ url=”http://avatrobo.ir/wp-content/uploads/2018/03/Adafruit_ADXL345_PCB-master.zip” ]

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

 

آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

برچسب ها: آردوینو یونوآشنایی با ADXL345پروژه آردوینوشتاب سنجشتاب سنج ADXL345کار با شتاب سنج ADXL345کالیبره کردن ADXL345کد آردوینوماژول ADXL345ماژول شتاب سنجمعرفی ADXL345نحوه کار ADXL345
قبلی راه اندازی ماژول جی پی اس با رزبری پای
بعدی تولید تن صدا با ضربه زدن به انگشتان دست با استفاده از آردوینو

پست های مرتبط

اردیبهشت 9, 1398

برنامه نویسی به زبان پایتون برای رزبری پای

mjavad
ادامه مطلب

اسفند 5, 1397

تشخیص رنگ با استفاده از رزبری پای

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول

mjavad
ادامه مطلب

بهمن 2, 1397

ساخت اسپیدکنترلر موتور براشلس 3 ( با سنسور )

Author Avatar
Admin
ادامه مطلب

8 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • فاطمه علی پور گفت:
    مرداد 2, 1397 در 18:03

    سلام خسته نباشید میشه لطفا این قسمت کالیبراسیون رو بیشتر توضیح بدید بعد از به دست آوردن مقادیر ماکزیممو مینیمم چیکار باید کرد واقعا ممنون میشم اگه راهنمایی کنید.

    پاسخ
    • Admin گفت:
      دی 21, 1399 در 12:48

      سلام… ممنون
      به واحد تولید محتوا ارجاع داده میشه

      پاسخ
  • پوریا گفت:
    فروردین 5, 1399 در 23:12

    سلام
    مقادیر آفست رو در موقعیت خاصی از ماژول بدست آوردم.چطور باید کالیبر کنم؟

    پاسخ
    • Admin گفت:
      آبان 16, 1399 در 15:45

      سلام
      توضیحات داده شده

      پاسخ
  • الیاس گفت:
    آذر 13, 1399 در 13:10

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

    پاسخ
    • Admin گفت:
      دی 21, 1399 در 12:45

      سلام. ممنون
      منظورتون چیه به چه ترتیبی عمل کنم؟!!!
      یه ماژول ساعت بذارید با توجه به زمان داده ها رو توی sd کارت ( با ماژول میکرو sd ) ذخیره کنید دیگه

      پاسخ
  • pouya گفت:
    آذر 23, 1399 در 09:58

    با سلام نیاز به راهنمایی و کمک دارم در استفاده از این شتاب سنج، آیا برای سنجش g وارد شده به چتر باز در هنگام سقوط از ارتفاع میشه از این ماژول استفاده کرد؟ اساسا تفاوت g با شتاب چیه؟

    پاسخ
    • Admin گفت:
      دی 21, 1399 در 12:14

      سلام
      بله میشه
      g شتاب گرانش هست که تقریبا برابر 10 هستش ولی شتاب میتونه هر عددی داشته باشه

      پاسخ

دیدگاهتان را بنویسید لغو پاسخ

دسته های محصولات
آخرین دیدگاه‌ها
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در درباره ما
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
  • امیر در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
ژوئن 2026
ش ی د س چ پ ج
 12345
6789101112
13141516171819
20212223242526
27282930  
« آوریل    
فهرست 1
  • عضویت
  • ویرایش حساب کاربری
  • ورود
  • خانه
فهرست 2
  • حمایت مالی
  • تبلیغات
  • فروشنده
  • داشبورد فروشندگان
  • سفارش پروژه
  • تماس با ما
  • درباره ما
فهرست 3
  • ویرایش حساب کاربری
  • فراموشی رمز عبور
  • ثبت نام
  • ویرایش حساب کاربری
محل کد نماد...
جستجو برای:
محصولات
  • دوره کوادکوپتر سرعتی FPV دوره آموزش ساخت کوادکوپتر مسابقاتی FPV
    نمره 4.00 از 5

    4,830,000 
  • دوره هواپیما مقدماتی تا پیشرفته دوره آموزش ساخت پهپاد بال ثابت ( هواپیما ) - مقدماتی تا پیشرفته
    10,480,000 
  • دوره کوادکوپتر مقدماتی دوره آموزش مقدماتی ساخت مولتی کوپتر (کوادکوپتر، هگزاکوپتر و ...)
    2,490,000 
  • دوره کوادکوپتر فیلم بردار دوره آموزش ساخت پهپاد فیلم بردار ( مولتی کوپتر )
    8,970,000 
  • دوره هواپیمای مدل موتور کشی دوره آموزش ساخت هواپیمای موتور کشی
    2,030,000 
نوشته‌های تازه
  • برنامه نویسی به زبان پایتون برای رزبری پای
  • تشخیص رنگ با استفاده از رزبری پای
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول
  • کنترل PID با آردوینو و دو موتور براشلس

درباره آوات روبو

 

آرمان آوات روبو نه تنها تغییر اکنون و تعریف آینده آموزش عملی و کاربردی در ایران، بلکه توسعه همین تغییر به کل دنیا است. نسخه بین المللی آوات روبو، هم اکنون در حال برنامه ریزی است و کارهای اولیه آن برای فعالیت در یوتیوب و یک سایت انگلیسی در حال انجام است.

دسترسی سریع

  • دوره های آموزشی
  • کیت
  • کلاس های حضوری
  • پروژه

کاوش

  • درباره ما
  • تماس با ما
  • مقالات

شبکه های اجتماعی

  • اینیستاگرام
  • یوتیوب
  • تلگرام

استفاده از مطالب سایت برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. تمامی حقوق برای آوات روبو محفوظ است.