پر بازدید ترین مطالب

اندازه گیری چرخ یا جسم چرخان با استفاده از آردوینو و انکودر چرخشی


یک متر چرخان با استفاده از انکودر چرخشی که برای اندازه گیری از یک چرخ در آن استفاده شده ممکن است با نامهایی مانند چرخ دنده (clickwheel)، هودومتر (hodometer) ، چرخ غلتان (trundle wheel) یا چرخ اندازه گیری شناخته شوند که تمامی این دستگاه ها برای یک هدف استفاده می شوند و آن اندازه گیری مسافت است.

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

جدول تجهیزات مورد استفاده

عملکرد دستگاه

هنگامی که انکودر چرخشی به چرخش درآید، پالس هایی را به برد آردوینو نانو ارسال می کند. پین های خروجی مربوط به انکودر چرخشی به پین های D2 و D3 در برد آردوینو متصل هستند و به این ترتیب برد آردوینو می تواند جهت چرخش ( ساعتگرد یا پاد ساعتگرد) را در چرخ تشخیص دهد. پالس های ارسالی در برد آردوینو شمارش شده و با استفاده از عملیات های ریاضی اصلی این تعداد به مسافت طی شده تبدیل می شود که به این عملیات کالیبره سازی گفته می شود. پس از آن مسافت محاسبه شده بر روی نمایشگر LCD نشان داده می شود.

در ساختنی بخوانید :  جعبه چوبی موزیکال بسازید و با نت های موسیقی آن را رمزگذاری کنید

انکودر چرخشی

در داخل ساختمان انکودر چرخشی تعدادی رسانا بر روی یک صفحه قرار گرفته که به یک پین مشترک متصل هستند. انکودر دارای دو پین خروجی OUT1  و OUT2 است که در زمان چرخش انکودر، مقادیر صفر و یک بر روی پین های خروجی قرار می گیرد. الگوی صفر و یک شدن پین های خروجی به تشخیص جهت چرخش و مسیر کمک می کند.

برد آردوینو

برد آردوینو یا همان میکروکنترلر مغز و فرمانده تمامی پروژه ها است که تعداد چرخش ها را اندازه می گیرد و پس از تبدیل آن به مسافت با استفاده از کالیبره کردن، مقدار به دست آمده را بر روی نمایشگر LCD نشان می دهد.

نمایشگر LCD

صفحه نمایشگر LCD ( نمایشگر کریستال مایع)  خروجی دستگاه در این پروژه است که مقدار محاسبه شده برای مسافت را به واحد سانتی متر نمایش می دهد. دراین پروژه از یک نمایشگر LCD با ابعاد ۲*۱۶ ( دارای ۱۶ ستون عمودی و ۲ ردیف افقی) استفاده شده که تعدادی از پین های آن مربوط به تغذیه هستند و ۶ پین به برد آردوینو متصل می شوند و دو پین دیگر برای تعیین روشنایی پس زمینه در نمایشگر LCD استفاده شده است. یک کلید مربوط به تنظیم کنتراست نوشته ها با پس مینه نمایشگر قرار داده شده که به سومین پین نمایشگر LCD متصل شده است.

مدار پروژه

در این مدار، برد آردوینو، صفحه نمایشگر و انکودر چرخشی بخش های اصلی پروژه هستند. انکودر چرخشی دارای ۳ پین است که یکی از آنها به زمین یا GND متصل شده و دو پین دیگر همانطور که در قبل گفته شد به پین های D2 و D3 در برد آردوینو متصل می شوند. صفحه نمایشگر LCD نیز به پین های D0 تا D5 در آردوینو متصل شده است. پین Vin در آردوینو نیز که مربوط به تغذیه است پس از عبور از یک کلید برای روشن و خاموش کردن مدار به باطری ۹ ولتی متصل می شود.

برای این پروژه با استفاده از نرم افزار EAGLE CAD یک برد مدار چاپی طراحی شده است که تصویر آن در زیر قرار داده شده است.

در ساختنی بخوانید :  نمایشگر هفت قسمتی یا سون سگمنت را به آردوینو وصل کنید

برد مدار چاپی یا PCB این پروژه نیز در زیر قرار داده شده که می توان از آن برای ساخت برد مدار استفاده کرد.

متر چرخان با استفاده از آردوینو و انکودر چرخشی

متر چرخان با استفاده از آردوینو و انکودر چرخشی

کالیبره کردن انکودر چرخشی

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

انکودر چرخان در یک چرخش کامل یا ۳۶۰ درجه ای، ۲۲ گام را طی می کند. گامهای هر چرخش به انکودر چرخشی وابسته است و می تواند از ۸ تا ۴۸ باشد اما در این پروژه این عدد ۲۲ قرار داده شده است. در این پروژه گام های هر چرخش را با N و شعاع چرخ را با R  نمایش داده می شود.

بنابرین خواهیم داشت:

  • مسافت طی شده در یک چرخش کامل برابر است با : ۲×R×π
  • مسافت طی شده در یک گام برابر است با: ۲×R×π /N

در این پروژه:

N = 22 و R = 7

که با استفاده از فرمول های بالا داریم :  مسافت طی شده در هر گام = ۲R

کد برنامه متر چرخشی

در اولین بخش از کد برنامه از فایل LiquidCrystal.h استفاده شده که مربوط به نمایشگر LCD است. پس از آن نمایشگر LCD با عنوان LiquidCrystal lcd (5,6,7,8,9,10) معرفی شده که اعداد شماره پین های نمایشگر برای ارتباط هستند.

در خط ۵ و ۶ از کد برنامه دو متغیر از نوع عددی (integer) تعریف شده که به نام های pin1 و  pin2 نامگذاری شده اند که مربوط به پین های وقفه در برد آردوینو هستند. در خط های ۷ و ۸ و ۹ نیز سه متغیر عددی دیگر تعریف شده اند و که Pos مربوط به مکان دقیق انکودر چرخشی بوده و دو متغیر دیگر به نامهای State  و LastState هستند. پس از آن یک متغیر از نوع اعشاری (float) با نام “Pi” معرفی شده که مقداری آن برابر با عدد پی یا ۳٫۱۴ است. دو متغیر دیگر از نوع عددی نیز معرفی شده اند که به نام های R برای شعاع دایره و N که همان گام هر چرخش کامل مربوط به انکودر چرخشی است.  و در پایان یک متغیر از نوع اعشاری قرار داده شده که به نام “distant” بوده و مربوط به مسافت طی شده است.

در ساختنی بخوانید :  با برد آردوینو مدار موزیک پلیر ساده بسازید

در بخش کد setup، pin1  و  pin2 به عنوان ورودی یا INPUT تعریف شده اند.

در خط ۲۳ کد برنامه، نمایشگر LCD شروع به کار کرده و در خط بعدی عبارت “SURVEYOR’S WHEEL” بر روی آن نمایش داده می شود. در خط ۲۶ متغیر LastState با مقدار دیجیتال خوانده شده از pin1 پر می شود. در بخش حلقه برنامه، متغیر عددی State با استفاده از دستور “digitalRead(pin1)” برابر با مقدار خوانده شده از pin1 قرار داده می شود. در خط ۳۰ از کد برنامه یک شرط if در این بخش قرار داده شده که زمانی که مقدار متغیر state با متغیر LastState برابر شود شرط برقرار شده و برنامه وارد حلقه آن می شود. در درون حلقه نیز یک شرط if دیگر استفاده شده که در زمان نا برابر بودن مقدار pin2  ( که با استفاده از دستور “digitalRead(pin2)” خوانده می شود) با مقدار متغیر State، شرط آن برقرار می شود. در این حلقه مقدار متغیر Pos افزایش می یابد و در صورت برقرار نشدن شرط مقدار Pos کاهش می یابد.

پس از آن فاصله اندازه گیری شده از فرمول ۲*pi*R/N بدست می آید که موقعیت چرخ را می توان بدست آورد و همانطور که در قبل گفته شده در این فرمول pi برابر با ۳٫۱۴ ، R برابر با شعاع دایره و N برابر با گام های هر چرخش کامل انکودر است. پس از آن این مسافت محاسبه شده بر روی نمایشگر LCD نمایش داده می شود . در پایان وضعیت نهایی پرخ برابر با مقدار متغیر state خواهد بود.

منبع

بیشتر بخوانید:

[ad_2]

لینک منبع

ممکن است به این موارد نیز علاقه مند باشید:

آخرین مطالب