چرا از یک رایانه استاندارد استفاده نکنیم؟
بسیار واضح است که یک میکروکنترلر بسیار شبیه به یک CPU رایانه یا یک میکروپروسسور عمل می کند و یک برد توسعه به یک مادربرد کامپیوتری شباهت دارد. اگر این چنین است، چرا از یک کامپیوتر کامل برای کنترل ربات استفاده نکنیم؟
درحقیقت، در اکثر ربات های پیشرفته، مخصوصا آن هایی که شامل محاسبات پیچیده و الکوریتم بینایی میشوند، یک میکروکنترلر اغلب با یک رایانه استاندارد چایگزین می شوند. رایانه رومیزی شامل یک مادربرد، پردازنده، یک دستگاه ذخیره سازی اصلی (مانند یک هارد دیسک)، پردازش تصویر (روی برد و یا خارجی)، RAM و البته لوازم جانبی مانند صفحه نمایش، صفحه کلید، ماوس و غیره است. این نوع سیستم ها معمولا گرانتر هستند، از لحاظ فیزیکی بزرگتر و پر مصرف تر هستند. تفاوت های اصلی در جدول زیر نمایش داده شده است.
|
رایانه شخصی |
میکروکنترلر |
مثال |
Intel Pentium Core 2 Duo |
Atmega328 |
RAM |
4000000KB(4GB) |
1KB |
حافظه |
1500000KB(1000GB) |
15KB |
توان |
600W |
0.1W |
ولتاژ |
12 |
5 |
ورودی/خروجی |
USB,RS232 |
پین |
وایرلس |
بلوتوث |
بلوتوث* ، RF* |
ویدئو |
1000000KB(1GB) |
ندارد |
قیمت |
400-2000$ |
4-300$ |
اینترنت |
وایفای یا اترنت |
وایفای* یا اترنت* |
پارامتر های * دار در اغلب میکروکنترلر ها اختیاری می باشد.
میکروکنترلر درست را انتخاب کنیم
شما ممکن است برای هر پروژه رباتیکی به میکروکنترلر نیاز داشته باشید. ممکن است برای یک مبتدی انتخاب میکروکنترلر مناسب، خصوصا باتوجه به محدوده محصولات، مشخصات و کاربردهای بالقوه کار دیوانه کننده ای به نظر برسد. میکروکنترلر های گوناگونی در بازار موجود است: آردوینو، BasicATOM,BasicX,POB Technology,Pololu,Parallax و بیشتر. زمانی که میکروکنترلر مناسب را بررسی می کنید، سوالهای زیر را از خود بپرسید:
- کدام میکروکنترلر برای برنامه من محبوبترین است؟ البته ساخت ربات ها یا پروژه های الکترونیکی به طور کلی یک مسابقه محبوب نیست، اما این واقعیت که یک میکروکنترلر دارای یک جامعه پشتیبان بزرگ است و با موفقیت در یک وضعیت مشابه مورد استفاده قرار گرفته است، میتواند مرحله طراحی شما را به میزان قابل توجهی ساده کند. به این ترتیب شما می توانید از تجربه دیگر کاربران و علاقه مندان بهره مند شوید. این برای سازندگان ربات بسیار رایج است که نتایج، کدها، تصاویر، ویدئو ها و جزئیات موفقیت و حتی شکست ها را با دیگران به اشتراک بگذارند. همه این مواد موجود و دردسترس بوده و امکان دریافت مشاوره از کاربران باتجربه نیز میتواند بسیار ارزشمند باشد.
- آیا ویژگی خاصی دارد که ربات نیاز دارد؟ همانطور که به عنوان یک میکروکنترلر محبوب است باید بتواند تمامی عملیات ویژه ای که برای ربات شما مورد نیاز است را به درستی انجام دهد. بعضی از ویژگی ها در بین همه میکروکنترلرها مشترک است (مثلا ورودی و خروجی های دیجیتال، امکان انجام عملیات ساده ریاضی، مقایسات و تصمیم گیری) درحالیکه بعضی دیگر نیاز به سخت افزار خاصی دارند (مانندPWM,ADC و پشتیبانی پروتکل ارتباطی). همچنین نیاز های حافظه و سرعت به خوبی شمارش پین نیز باید مورد توجه قرار بگیرد.
- آیا لوازم جانبی مورد نیاز برای میکروکنترلر در دسترس است؟ اگر ربات شما نیازمندیهای خاصی دارد یا یک وسیله جانبی یا مولفه خاصی برای طراحی شما حیاتی است، بدیهی است که انتخاب یک میکروکنترلر سازگار بسیار مناسب است. اگرچه بیشتر سنسورها و لوازم جانبی می توانند بطور مستقیم با میکروکنترلر های مختلف در ارتباط باشند، بعضی از لوازم جانبی تنها با میکروکنترلر های خاصی ارتباط برقرار می کنند و حتی کد های نمونه یا توابع خاصی را ارائه می دهند.
آینده چه چیزی را نگه می دارد؟
همانطور که قیمت رایانه ها کاهش می یابد و پیشرفت تکنولوژی آنها را کوچکتر و کارآمدتر می کند،کامپیوتر های یک بردی به عنوان یک گزینه جذاب برای ربات ها ظهور می کنند. این رایانه های تک بردی، اساسا رایانه هایی هستند که شما حدود 5 سال پیش استفاده کرده اید و بسیاری از دستگاه ها را در یک برد ادغام کرده اید (بنابراین شما نمیتوانید چیزی را مبادله کنید). آنها می توانند یک سیستم عامل کامل را اجرا کنند (ویندوز و لینوکس رایجتر هستند) و میتوانند به دستگاه های خارجی مانند لوازم جانبی USB و LCD ها و غیره متصل شوند. بر خلاف اجداد خود، این رایانه های تک بردی قدرتمندتر هستند. نمونه ای از این رایانه ها بردهای رسپبریپای هستند.
نمونه های عملی
به منظور انتخاب یک میکروکنترلر ما لیستی از ویژگی ها و معیار هایی که میخواستیم را وارد کرده ایم:
- قیمت میکروکنترلر کم باشد و شامل یک برد توسعه باشد.
- باید برای استفاده آسان باشد و به خوبی پشتیبانی شود. هم چنین مهم است که مستندات زیادی در دسترس داشته باشد.
- باید بر مبنای زبان C و یا C-based برنامه نویسی شده باشد.
- باید محبوب باشد و جامعه کاربران فعالی داشته باشد.
- از آنجایی که ربات به عنوان یک مقصود پلت فرم عمومی مورد استفاده است، میکروکنترلر باید دارای ویژگی های فراوانی باشد تا اجازه آزمایش گسترده داده شود. به این معنا که باید چندین پین آنالوگ و دیجیتال و همچنین یک تنظیم کننده یکپارچه ولتاژ داشته باشد.
از آنجایی که ربات ما معمولا از دو موتور استفاده خواهد کرد، میکروکنترلر به دو پین دیجیتال برای کنترل مستقیم و دو پین PWM برای کنترل سرعت نیاز خواهد داشت. این ربات داده ها را ارسال و دریافت خواهد کرد بنابراین باید از پروتکل ارتباطی UART serial یا RS232در مورد ما پشتیبانی کند. ما در آینده گزینه اضافه کردن سنسور ها و دستگاه های دیگر را نیز داریم، بنابراین پین های آنالوگ و پین های دیجتال اضافی مناسب خواهد بود.
جدول مقدماتی RobotShop Microcontroller به ما امکان مقایسه ویژگی های اصلی یک میکروکنترلر با یکدیگر را می دهد. به نظر می رسد آردوینو و Pololu به معیار های فوق بهترین سازگاری را دارند. بدین منظور برای انتخاب یک میکروکنترلر ویژه در بین این دو کارخانه، هر کدام باید به منظور تعیین مواد در دسترس، کد، جامعه کاربری، بازدید گوگل و بیشتر مورد تحقیق و بررسی قرار بگیرند.
Arduino Duemilanove که اخیرا با Arduino Uno جایگزین شده است، در نهایت بر اساس قیمت پایین تر و ویژگی های بیشتر و به دلیل مفهوم "شیلد" (برد های لوازم جانبی اضافی که شما را به میکروکنترلر متصل کرده و قابلیت های جدیدی را به آن می افزاید) انتخاب شده است. هم چنین آردوینو نسبتا محبوب است و پروژه های نمونه بسیاری دارد و جامعه کاربری آن بسیار فعال است. برای اطلاع از انواع مختلف بردهای آردوینو و شیلدهای آن مطالب “مقایسهای بر بردهای آردوینو”، “مقایسهای بر بردهای آردوینو (قسمت دوم)” و “فهرستی از محبوبترین شیلدهای آردوینو” را مطالعه بفرمایید.
نظرات، پيشنهادات و انتقادات خود را براي بهتر شدن محتواي مطالب با ما در ميان بگذاريد...
نظرات (2)