شما به اینترنت متصل نیستید.
ارتباط آردوینو با متلب و سیمولینک
نویسنده:
امتیاز 5 از 5

ارتباط آردوینو با متلب و سیمولینک

این مطلب قسمت هجدهم از آموزش جامع آردوینو (مبتدی و پیشرفته) است. در این آموزش می‌خواهیم به بررسی نحوه استفاده از آردوینو به همراه نرم‌افزار متلب (MATLAB) بپردازیم. به جرئت می‌توان نرم‌افزار متلب را پرکاربردترین نرم‌افزار در بین مهندسان دانست. متلب یک نرم‌افزار محاسباتی بسیار قوی با قابلیت‌های متنوعی برای طراحی و تحلیل انواع سیستم‌ها دانست. گستردگی این نرم‌افزار باعث شده است تا متلب از یک نرم‌افزار صرفا مهندسی به یک ماشین‌حساب کارآمد برای اکثر رشته‌ها تبدیل شود. متلب مجموعه کاملی از ابزارهای محاسباتی و تولباکس‌های (Toolbox) مختلفی شامل: رباتیک، کنترل اتوماتیک، فازی، شبکه عصبی، انفورماتیک، پردازش سیگنال، تحلیل اقتصادی و غیره را داراست. وسعت متلب نقطه قوت اصلی آن است. در متلب پکیج‌های نرم‌افزاری برای برقراری ارتباط بین متلب و آردوینو وجود دارد بنابراین اگر شما هم می‌خواهید از یک سیستم سخت‌افزاری شامل سنسورها و عملگرها به کمک آردوینو استفاده کنید و همزمان نیاز به ابزارهای متلب دارید، این مطلب می‌تواند به شما کمک کند. در این آموزش لازم است آشنایی اولیه‌ای با متلب داشته باشید.

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

برد آردوینو UNO R3
برد آردوینو UNO و کابل رابط
1 عدد
پتانسیومتر
1 عدد
سیم جامپر(بسته)
1 عدد

تنظیمات اولیه نرم‌افزار متلب

قبل از هر چیز توصیه می‌کنم از نسخه متلب R217b و بالاتر استفاده کنید. شاید عجیب‌ترین و پردردسرترین بخش ارتباط بین متلب و آردوینو نصب پکیج مربوطه باشد! از آنجا که متلب خدمات خود را در ایران پشتیبانی نمی‌کند، در طول تمام مراحل بعدی تا پایان نصب باید از نرم‌افزاری برای تغییر IP کشورتان استفاده کنید. ابتدا وارد سایت متلب شده و یک حساب کاربری ایجاد کنید.

ثبت نام در سایت متلب

حالا باید در سایت متلب، به صفحه نصب پکیج آردوینو رفته و فایل نصب آن را دانلود کنید. در این قسمت به دو فایل نصب، یکی برای متلب و دیگری برای سیمولینک نیاز دارید. برای راحتی فایل‌های نصبی را در اینجا برای دانلود قرار داده‌ایم:

دانلود پکیج آردوینو
6KB
نام فایل: arduinoio.rar
6KB
نام فایل: arduino.rar

این فایل‌ها صرفا فرایند نصب را انجام می‌دهند، اما شما نیاز به فایل‌های اصلی پکیج نیز خواهید داشت. وارد نرم‌افزار متلب شده و در قسمت Add-Ons بر روی Get hardware support package کلیک کنید.

دانلود فایلهای آردوینو در متلب

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

مراحل نصب آردوینو در متلب

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

اگر از متلب نسخه R2017a و قبل از آن استفاده می‌کنید باید این قسمت را اضافه بر مراحل دیگر انجام دهید: فایل زیر را دانلود کرده و از حالت فشرده خارج کنید. سپس محتویات آن را در محل نصب نرم‌افزار متلب کپی کنید. اگر ویندوز از شما اجازه دسترسی خواست، گزینه Yes را بزنید.

0KB
نام فایل: bin.rar

حالا فایل نصب پکیج (arduinoio.mlpkginstall) را درون متلب اجرا کنید. پنجره‌ای باز شده و نصب پکیج آردوینو برای متلب آغاز می‌شود.

اضافه کردن فایهای نصب
مشاهده تصویر
نصب آردوینو در متلب

فرایند نصب را تا پایان ادامه دهید. در صورت نصب صحیح پکیج، صفحه توضیحات آن نشان داده می‌شود:

مشاهده تصویر
مثال های آردوینو در متلب

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

مشاهده تصویر
تولباکس آردوینو در سیمولینک

کنترل آردوینو با متلب

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

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

clear
a=arduino('COM4','uno');
while 1
    writeDigitalPin(a, 'D13', 0);
    pause(1);
    writeDigitalPin(a, 'D13', 1);
    pause(1);
end

در کد بالا نام پورت متصل به آردوینو و نام آن را در صورت نیاز تغییر دهید. حالا کلید Run را بزنید و نتیجه را مشاهده کنید. همان‌طور که می‌بینید تا زمانی که اجرای برنامه را قطع نکنید، در حال اجرا باقی مانده و اطلاعات بین متلب و آردوینو منتقل می‌شود. برای اطمینان می‌توانید آردوینو را به کمک یک باتری روشن نگه داشته و کابل آن را از کامپیوتر جدا کنید. می‌بینید که چشمک زدن متوقف می‌شود که این نشان می‌دهد که برنامه به آردوینو منتقل نشده و فقط بر روی کامپیوتر اجرا می‌شده است. در برنامه بالا اگر دستورات روشن و خاموش شدن را در حلقه نمی‌نوشتیم، چشمک زدن فقط یک بار انجام می‌شد؛ بنابراین کدها درون یک حلقه همیشه درست (while 1) قرار داده شدند که معادل همان حلقه loop آردوینو است.

تبدیل مدل سیمولینک به کد آردوینو

در متلب ابزارهای قدرتمندی برای تبدیل برنامه به کد ++C/C وجود دارد. از طرفی می‌دانید که زبان برنامه‌های آردوینو نیز ++C/C است. در متلب از همین ابزارها استفاده شده است تا برنامه‌های مختلف به کد ++C/C تبدیل شود که زبان مشترک برنامه‌نویسی برای بسیاری از سخت‌افزارها از جمله آردوینو است. قسمت جالب این موضوع این است که متلب یک کتابخانه بزرگ از انواع سخت‌افزارها شامل مشخصات هر کدام به تفکیک دارد که خیالتان را از کدنویسی برای سخت‌افزارها راحت می‌کند. یعنی می‌توانید یک کد متلب را برای سخت‌افزارهای مختلفی کامپایل کرده و بر روی آنها آپلود کنید.

یکی از ابزارهای بسیار کارآمد متلب، نرم‌افزار دوست‌داشتنی سیمولینک (Simulink) است که خواهر کوچکتر متلب به حساب می‌آید. مزیت اصلی سیمولینک و گرافیکی بودن محیط آن، این است که طراحی سیستم‌های پیچیده و ارتباطات بخش‌های مختلف آنها در این فضا بسیار راحت‌تر از محیط کدنویسی است. ارتباط آردوینو با سیمولینک از متلب نیز ساده‌تر است. وقتی وارد سیمولینک شوید یک تولباکس جدید مخصوص آردوینو خواهید دید. در این تولباکس ابزارهای مختلفی مانند ارتباط آنالوگ، دیجیتال و PWM به همراه ابزارهایی برای برقراری ارتباط وای‌فای و اترنت وجود دارد. می‌توانید پیچده‌ترین مدل‌های نرم‌افزاری‌تان را در سیمولینک طراحی کرده و به راحتی آن را به آردوینو منتقل کنید که این مزیت اول استفاده از این روش است. دومین مزیت استفاده از سیمولینک با آردوینو، وجود قابلیتی است که به راحتی مدل شما را تبدیل به کد ++C/C کرده و مستقیما بر روی برد آردوینو آپلود می‌کند. در پنجره سیمولینک حالت اجرا را بر روی External قرار دهید. سپس بر روی کلید Model Configuration Parameters (کلید شبیه چرخ‌دنده) کلیک کرده تا وارد تنظیمات سیمولینک شوید. در بخش Hardware Implementation برد آردوینوتان را انتخاب کنید.

مشاهده تصویر
تنظیمات سیمولینک

برای نمونه من یک برنامه ساده در سیمولینک آماده کرده‌ام که LED آردوینو را روشن و خاموش می‌کند. برای ایجاد این مدل، بلوک Pulse generator را از قسمت Sources و بلوک Digital output را از قسمت Simulink support package for Arduino hardware وارد مدل کنید.

مشاهده تصویر
مدل آردوینو در سیمولینک

در بلوک خروجی دیجیتال پین ١٣ را انتخاب کنید. بلوک Pulse generator را باز کرده و در قسمت Pulse type مقدار Sample based و در قسمت Time مقدار Use simulation time را انتخاب کنید. سایر مقادیر را نیز که سرعت چشمک زدن را تعیین می‌کند مانند زیر قرار دهید. این مقادیر را می‌توانید به دلخواه تغییر دهید.

مشاهده تصویر
تنظیمات چشمک زن

حالا بر روی کلید Deploy on hardware کلیک کرده و منتظر باشید تا سیمولینک کد برنامه‌تان را تولید کرده و بر روی آردوینو بارگذاری کند. پس از اتمام آپلود پیامی مشاهده می‌کنید که نشان می‌دهد برنامه شما با موفقیت کامپایل و آپلود شده است. در واقع در اینجا از سیمولینک بجای نرم‌افزار آردوینو برای تولید کد سخت‌افزار استفاده کردیم.

مشاهده تصویر
انتقال مدل به آردوینو

مانند حالت قبل (که از کد متلب استفاده کردیم) در سیمولینک نیز می‌توانید پردازش‌ها را به کامپیوتر واگذار کرده و از آردوینو به عنوان واسط استفاده کنید. برای این کار کافیست که بجای کلید Deploy بر روی کلید Run کلیک کنید. در این حالت مانند کاری که با متلب انجام دادیم، پردازش و ارسال دستورات بر عهده کامپوتر خواهد بود. برای اینکه تفاوت این دو حالت (آپلود کردن برنامه بر روی برد و اجرای برنامه از روی کامپوتر) را بهتر متوجه شوید یک بلوک Scope و همچنین یک بلوک Analog Input را به مدل وارد کرده و مقدار آن را برابر ٠ قرار دهید. همچنین یک پتانسیومتر را به پین A0 آردوینو وصل کنید.

مشاهده تصویر
کنترل آردوینو در سیمولینک

این بلوک سیگنال آنالوگ پایه A0 را گرفته و نمایش می‌دهد. برای مشاهده صحت نتایج، در حین اجرای برنامه پیچ پتانسیومتر را بچرخانید و نتیجه را ببینید.

مشاهده تصویر
دریافت ولتاژ آنالوگ آردوینو

این برنامه سیمولینک را می‌توانید از لینک زیر دانلود کنید:

18KB
نام فایل: arduino_test.rar

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

نتیجه گیری

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

در آموزش بعدی، نحوه استفاده از آردوینو در نرم‌افزار پروتئوس را خواهید آموخت.

آموزش کار با آردوینو در نرم‌افزار پروتئوس
آموزش کار با آردوینو در نرم‌افزار پروتئوس
در این قسمت می خواهیم به معرفی نرم افزار کاربردی پروتئوس برای شبیه سازی پروژه های الکترونیکی و الکتریکی با آردوینو بپردازیم.
زمان مطالعه: 13 دقیقه

نظرات شما باعث بهبود محتوای آموزشی ما می‌شود. اگر این آموزش را دوست داشتید، همین‌طور اگر سوالی در مورد آن دارید، از شنیدن نظراتتان خوشحال خواهیم شد.

0KB
نام فایل: bin (1).rar
6KB
نام فایل: arduinoio (1).rar
6KB
نام فایل: arduino (1).rar
18KB
نام فایل: arduino_test (1).rar
آیا این مطلب برایتان مفید بود؟
بله خیر
برای ثبت نظر وارد حساب خود شوید.
کامران ناصری
4 ماه پیش
0
5/ 5

با سلام 

امکان دسترسی به کتاب خانه رو به دلیل کرک بودن نرم افزار بهم نمیده 

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

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

با سپاس

علی ساریخانی
علی ساریخانی
4 ماه پیش
سلام وقت بخیر، سوال شما به بخش فنی ارجاع داده شد