تخصصی در مورد سخت افزار

مطالب تخصصی پیرامون سخت افزار و کامپیوتر

قابل توجه فارغ التحصیلان مهندسی برق که هنوز وارد بازار کار نشدن و میخوان یاد بگیرن در عمل چه جوری میشه مدار طراحی کرد!

اصولا تو این رشته هرچی معدل بالاتر بره، توانایی اجرای پروژه عملی پایین تر میاد و میزان درس خواندن، نسبت معکوس داره با توانایی کار عملی!

بنابراین نتیجه می گیریم معدل من پایین بوده! این اولین نتیجه ایه که از جملات بالا میشه گرفت!

 

بریم سر بحث خودمون.

 

پیشنیاز این بحث، آشنایی خواننده با اصول اولیه الکترونیک و تئوری های مربوط به مدار و الکترونیکه. بنابراین اگه شما خواننده عزیز، با این موارد آشنایی ندارین، بفرمایین تا تو پستهای بعدی درمورد اون اصول هم عرض کنم.

________________________________________________________________

و اما گامهای اولیه و اساسی در طراحی: (توجه داشته باشین که برای جلوگیری از اطناب و پیچیدگی بیش از حد مطلب، من تو این پست در زمینه طراحی دیجیتال و مدارهای جانبی برای یه پروژه میکروکنترلی یا هر مدار دیجیتال دیگه ای توضیح میدم. بنابراین با این گامها، مثلا برای طراحی یه فرستنده آنالوگ AM به هیچ جا نمی رسین!)

 

اولین گام، طراحی صورت مساله است. من تو این توضیحاتم، طراحی یه ربات تعقیب خط رو به عنوان پروژه در نظر می گیرم. بنابراین:

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

 

گام بعدی: شکستن مساله به مسائل کوچکتر:

ورودی: تعدادی سنسور میخوایم که بتونه سیاهی رو از سفیدی تشخیص بده و تغییرات اون رو بهمون اطلاع بده.

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

خروجی: مداری میخوایم به عنوان درایور موتور، متناسب با ولتاژ و جریان مورد نظر موتورهامون (و خود موتورها متناسب با اندازه و وزن ربات، سرعت مورد نظر و ...) که باتوجه به دستوراتی که از مدار پردازشی میگیره، موتورها رو به شکل صحیح و مناسب راه اندازی کنه.

 

تو گام بعدی، میایم متناسب با نیازمون، مساله رو تحلیل و طراحی اولیه می کنیم:

برای بخش سنسورها، اول باید نوع سنسور رو مشخص کنیم. میشه برای تشخیص خط سیاه از زمینه سفید (یا برعکس)، از انواع سنسورهای حساس به نور استفاده کرد. مثلا دیودهای گیرنده مادون قرمز. اما چون این سنسورها قراره زیر ربات باشن، بنابراین برای این سنسورها باید یه فرستنده مادون قرمز هم به عنوان منبع نور بذاریم. اینجوری با ایزوله کردن نور سنسورها از نور محیط، دیگه مشکلی از بابت تغییر شدت نور محیط و مسائل مشابه نخواهیم داشت.

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

بنابراین تا اینجا شد 2 تا زیرمدار. یکی مدار فرستنده مادون قرمز. این مدار مثل مدار یه LED طراحی میشه. یعنی یه دیود فرستنده و یه مقاومت. به همین سادگی.

بخش گیرنده هم همین مداره! با این تفاوت که از وسط مقاومت و LED، یه خروجی می گیریم برای اندازه گیری ولتاژ.

حالا 2 تا کار میشه کرد:

کار اول اینه که این خروجی که برای اندازه گیری ولتاژ گذاشتیم رو مستقیم وصل کنیم به پایه های A2D میکرو.

کار دوم هم اینه که بدیم به یه آپ امپ که پایه دیگه اونو وصل کردیم به یه پتانسیومتر. آپ امپ ولتاژ سنسور رو با ولتاژ سر وسط پتانسیومتر مقایسه می کنه. اگه بزرگتر بود خروجی اون 1 میشه و اگه کوچیکتر بود 0. (این مدار مقایسه کننده رو بارها تو آزمایشگاههای الکترونیک بستین!). یادمون نمیره که باید پتانسیومتر رو رو یه مقدار مناسب تنظیم کنیم. مثلا یه بار سنسور رو رو خط سیاه بذاریم و خروجی اونو اندازه گیری کنیم و یه بار هم بذاریم و زمینه سفید و ولتاژشو اندازه بگیریم. خروجی ولتاژ پتانسیومتر باید وسط این 2 تا ولتاژ باشه که آپ امپ مقدارش با تغییر زمینه عوض بشه.

مدار بخش ورودی به همین سادگی تموم شد!

بخش پردازشی رو اصلا توضیح نمی دم چون اونقدر ساده است که زشته من بگم!

 

بخش خروجی، باید خروجی میکرو یا مدار منطقی یا هر چیزی که طراحی کردیم رو تقویت کنیم و بدیم به موتورها. برای این ربات، ما به عنوان مثال از 2 تا موتور تو دوطرف ربات استفاده می کنیم که مستقیما به 2 تا چرخ وصل شدن و یه چرخ همه جهته به عنوان چرخ جلو استفاده کردیم.

چند تا کار میشه کرد.

1) اگه موتورها قراره تو 1 جهت بچرخن، میشه از یه طبقه تقویت کننده ترانزیستوری استفاده کرد. بلدین که؟!

2) اگه موتورها تو 2 جهت حرکت می کنن، یعنی ربات بتونه به جلو و عقب حرکت کنه، میشه از یه پل ترانزیستوری (که اونو هم بلدین!) استفاده کرد.

3) یه راهش هم اینه که از آی سی های درایور موتور مثل L298 و ... استفاده کرد. برای این کار در اولین قدم باید دیتاشیت اون آی سی رو از اینترنت پیدا کنین و دانلود کنین.

 

بعد از این مراحل، این چند تکه مساله رو به هم می چسبونین و یه منبع تغذیه مناسب هم براش درنظر می گیرین. مدارتون آماده است.

هیچ وقت انتظار نداشته باشین اولین مدارتون (یا حتی 10 20 تا مدار اولتون) درست کار کنه. تا موقعی که چند تا مدار و قطعه نسوزونین و چند تا سوتی وحشتناک ندین و چندین بار اعصابتون خرد نشه طراحی یاد نمی گیرین. مثلا تو همین مدار که باهم بررسی کردیم، بعد از اینکه چند تا ترانزیستور سوزوندین یاد می گیرین یه جاهایی باید دیود هرزگرد هم بذارین!

 

یه تمرینی هست که من همیشه تو کلاسهای رباتیکم به عنوان اولین تمرین طراحی عملی به بچه ها میگم. از دوستام هم هرکی پرسیده چه جوری طراحی مدار یاد بگیرم همینو به عنوان تمرین بهش گفتم:

برای یخچال خونتون یه محافظ یخچال طراحی کنین.

دقیقا مثل همین مساله که باهم بررسی کردیم، اول برای خودتون کارکرد محافظ رو تشریح کنین و ببینین چی میخواین؛ بعد برین سراغ مراحل بعدی.

 

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

[ یکشنبه 12 خرداد1392 ] [ 7:21 PM ] [ نوید حبیبی ]

[ ]



مجله اینترنتی دانستنی ها ، عکس عاشقانه جدید ، اس ام اس های عاشقانه