پروژه طراحی و ساخت ربات هوشمند I.RM

فهرست مطالب :
۱- چکیده طرح پژوهشی ………………………………………………. ۴
۲- هدف از اجرای این طرح ………………………………………….. ۶
۳- طراحی اولیه ……………………………………………………….. ۷
۴- طراحی جزء به جزء سیستم ……………………………………….. ۸
۵- بخش مکانیک ، تشریح و نحوه ساخت ……………………………. ۹
۶- بخش الکترونیک ، تشریح و نحوه ساخت ………………………… ۱۵
۷- اتصال به کامپیوتر …………………………………………………. ۲۲
۸- برنامه های کنترلی برای راه اندازی اولیه ………………………… ۲۴
۹- نصب دوربین ……………………………………………………… ۲۸
۱۰- پردازش تصویر …………………………………………………….۲۹
۱۱- شرح برنامه پردازش تصویر …………………………………….. ۳۲
۱۲- منابع ………………………………………………………………… ۴۴

چکیده طرح پژوهشی :
ربات I.R.M یک نمونه از رباتهای متحرک هوشمند است . در این ربات هدف اصلی ، انجام عمل پردازش تصویر با سرعت ، دقت و کیفیت بالا بر روی یک بدنه متحرک می باشد . فرآیند پردازش تصویر یک اصل اساسی در علم هوش مصنوعی ( هوش ماشینی ) و رباتیک است که پیشرفت این علوم وابسته به پیشرفت علم پردازش تصویر ( Image processing ) می باشند ، این عمل در این ربات بدین صورت است که تصاویر محیط اطراف توسط دوربین دریافت و به کامپیوتر ارسال و توسط

نرم افزار فیلتر می شوند ، سپس عمل اسکن و پردازش آنها با نرم افزار نوشته شده صورت می گیرد و تصمیمات لازم با استفاده از نتایج این پردازش ها جهت کنترل ربات به برد کنترل که در روی ربات قرار دارد ارسال می شوند ، درشت فرمانهای ارسالی از سوی کامپیوتر را میکرو کنترلر دریافت کرده و پس از آنالیز آنها به قسمتهای مورد نظر اعمال می دارد . ربات I.R.M علاوه بر مشخصه پردازش تصویر، دارای یک سیستم مکانیکی جدید با امکانات زیاد و انعطاف بالا ، برای کار در محیطهای مختلف و سازگاری با شرایط مختلف می باشد . در تنه فیزیکی سیستم از ۶ عدد Stepper Motor و ۳ عدد DC Motor کوچک با بهره بهینه ، صفحات آلومنیومی برای ساخت کف ربات و قوطیهای آلومنیومی برای بازوها و آلات متحرک ربات ، تسمه ها و چرخ دنده ها و قطعات پلاستیکی و ….. ، استفاده شده است . ربات با پورتهای سریال و TV کارت کامپیوتر با سیم در ارتباط است ، منبع تغذیه نیز در بیرون قرار دارد و با سیم ربات را تغذیه می کند . ارتفاع فیزیکی ربات در حالت عادی و موقعی که حرکت می کند ۷۵ Cm و محدوده مانور پنجه از ۱۲- تا ۹۵+ Cm میباشد و در حالت توقف از شعاع ۰تا ۵۵ cm از محیط را در دسترس خود دارد . وزن تقریبی ربات ۵/۰±۷ کیلوگرم می باشد . دارای ۴ چرخ که دوعدد آن بزرگ ( کوپل به موتورها ) در طرفین و دو عدد دیگر ، کوچک ( هرز گرد ) در جلو و عقب ربات ، می باشد.
ولتاژ کار ربات از یک منبع تغذیه با خروجیهای ۱۲ ولت۱ و ۳ آمپری و ۵ ولت منطقی تامین می شود که همه ولتاژهای مورد نیاز از یک منبع تغذیه دیجیتالی ( موجود در آزمایشگاههای برق ) قابل تامین است .

هدف از اجرای این طرح :

در کل اهدفی که از اجرای این طرح دنبال می شد :
۱- ایجاد یک مسیر تجربی رباتیک برای دانشجویان مستعد در این زمینه .
۲- کسب تجارب و ثبت و مکتوب نمودن آنها برای تحقیقات بعدی در زمینه رباتیک .
۳- فراهم نمودن فرصتی برای عینیت بخشیدن به خلاقیتهای دانشجویان .
۴- برداشتن گامی از سوی این واحد به سمت علم رباتیک و بیان توان خود دراین زمینه .
و در نهایت در کشوری مثل ایران که در این زمینه حرفی برای گفتن در دنیای این علم دارد به طوری که در سالهای اخیر شاهد موفقیتهای چشمگیر تیمهای دانشگاهی در مسابقات بین المللی هستیم ، اجرای پروژه های اینچنینی موجب رشد و ترقیب هر چه بیشتر گروهای فعال در این زمینه می باشد .

طراحی اولیه :
برای شروع نیاز به یک زمینه اولیه بود که باید آن بوجود می آمد برای همین یک فراخوان عمومی برای دادن طرح اولیه یک ربات انجام شد پس از مطالعه و بررسی دقیق از میان بیش از ۶۰ طرح مختلف که هر کدام فقط در حد یک شکل ظاهری و تواناییهای مربوطه بودند ، با توجه به ویژگیها و توانائیهایشان ۳ طرح به عنوان طرح مناسب برای اجرا انتخاب شد که پس از یک بررسی کارشناسانه و تطابق آن با تمام شرایط موجود یک طرح انتخاب شد . این طرح نیز نیازمند تغیرات جزئی برای انجام بود که تغیرات لازم بر روی آن صورت گرفته و طرح آماده برای اجرای عملی ، گشت . ملاکهای انتخاب طرح از این قرار بودند :
۱- بتوان طرح را با امکانات موجود در واحد و با هزینه اندک ساخت.
۲- ساخت و تکمیل آن در کوتاه مدت میسر باشد .

۳- قابلیت ارتقاء داشته و در محیطهاهی مختلف توانایی کار داشته باشد .
۴- دارای مکانیزمی جدید و ابتکاری باشد .

طراحی جزء به جزء طرح :
پس از انتخاب یک طرح کلی ، باید اجزای فیزیکی آن بر اساس نحوه کار و وظایف شرح زیر تهیه گشت :
۱- حرکت کردن به جلو و عقب
۲- دور زدن در یک نقطه ثابت
۳- حرکت دادن کل بازو در تمام نقاط محیط خود در شعاع کاری
۴- جلو و عقب بردن دست و متعلقات ربات در جهت افقی
۵- بالا و پائین بردن دست و متعلقات در جهت عمودی
۶- چرخاندن دست حول محور عمودی و افقی ، جهت برداشتن اشیاء با موقعیتها و اشکال مختلف
۷- باز و بستن پنجه و چرخاندن ۳۶۰ درجه آن به تعداد دور نامحدود جهت پیچاندن و یا بستن اشیاء و ملزومات مورد نظر و …..
در کل بر روی این ربات ۹ قسمت متحرک مجزا از هم وجود دارد که باید برای هر کدام یک موتور و راه انداز جداگانه در نظر گرفته شود در ضمن حرکت این ربات باید بسیار دقیق باشد چون برای این ربات توان انجام کارهای ریز نیز در نظر گرفته شده است بنابراین باید موتورها و درایورهای بکار رفته در این بسیار دقیق باشند ، برای تعیین موتورهای این ربات مطالعه و بررسی کامل بعمل آمد و تصمیم بر آن شد که ۶ بخش از آلات متحرک ربات بایستی باSTEPPER موتور و ۳ بخش دیگر با DC موتور راه اندازی شوند . برای اینکه ربات در مقیاس اندازه اش وزن سبک و در عین حال مستحکم می داشت ، بدنه ربات را از جنس آلومنیوم انتخاب شد البته انعطاف و شکل پذیری آلومنیوم ، برای ساخت اینگونه دستگاهها قابل اغماض نیست . محور های انتقال نیرو هم بایستی حداقل تلفات انرژی محرکها را داشته باشند که این کار با استفاده از بلبرینگ و بوش عملی می باشد .

بخش مکانیک ، تشریح و نحوه ساخت :
یک ربات خوب در وهله اول باید یک اسکلت بندی مناسب و کار آمد داشته باشد ، یعنی در عین دارا بودن ایستایی و پایداری خوب توان تحت پوشش قرار دادن حداکثر فضای موجود در اطراف خود را داشته باشد . برای این کار نیاز به یک طرح ابتکاری بود ربات باید هم می توانست در یک نقطه ثابت حول خود گردش کند و هم می توانست کل بازوی خود را در حالت ایستاده چرخش ۳۶۰ درجه به دور خود بدهد و در ضمن می بایست محور افقی بازوی خود را نیز می توانست در جهت افقی حرکت دهد ( شکل ۱-۹) .
شکل ۱-۹

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

 

به طول ۳۵۰ mm می باشد که ابتدای آن بایک بلبرینگ بر روی کف ربات بطور عمود ستون شده است این لوله از مرکز صحفه آلومنیومی ربات عبور کرده و در زیر ربات به یک چرخ تسمه دندانه دار که با تسمه دندانه دار به شفت موتور متصل است کوپل شده است انتهای بالایی این لوله به یک محفظه آلومنیومی ناودانی شکل که ریلهای تفلونی هم بر روی آن نصب هستند ، به صورت راه به در مهره شده است . محور دوم در داخل این لوله آهنی قرار دارد جنس این محور از استیل بوده و با دو بلبرینگ شماره ۸ در بالا و پائین به داخل دیواره محور اولی تکیه داده و در حالت عادی آزادانه می چرخد . این میله مانند میله اولی از زیر به یک چرخ تسمه دیگر متصل می باشد و بدین ترتیب با تسمه ایی که با شفت موتور دیگر درگیر است نیروی محرکه موتور را با یک چرخ

تسمه کوچکی که در انتهای بالاییش قرار دارد و با یک تسمه افقی ثابت درگیر است ، انتقال می دهد دو موتور محرک نیز به صورت متقارن بر روی کف شاسی قرار گرفته اند ( شکل ۱-۱۰ ) .
تسمه افقی به چرخ تسمه دندانه دار انتهایی میله افقی به اندازه نصف چرخ بر روی آن خوابیده است که با حرکت چرخ تسمه ، تسمه نیز بر روی آن در جهت حرکت آن خواهد لفزید بنابراین چون ابتدا و انتهای تسمه به ابتدا و انتهای بازوی افقی با پیچ بسته شده است و بازوی افقی هم چون بر روی ریلهای لفزنده قرار گرفته ، با حرکت چرخ تسمه همراه آن به جلو یا عقب

حرکت خواهد کرد .
بازوی افقی از جنس آلومنیوم قوطی به اندازه سطح مقطع ۳۵×۵۰ mm و به طول ۵۵۰ mm ( بااحتساب موتور و ریل انتهایی ۱۵۰mm±) که بر قاعده کوچک تحتانی یک صحفه آلومنیومی با عرض ۵ mm بیشتر از طرفین عرض قوطی و به طول ۴۰۰ mm به طور موازی پرچ شده است لبه های بیرون آمده از عرض که بخوبی سیقل داده شده اند، در داخل شیارهای تفلونهایی که در طرفین قرار دارند جای گرفته اند و در کل می توانند آزادانه به جلو و عقب لغزش داشته باشند ( شکل ۱-۱۱) .

شکل ۱-۱۱

در انتهای عقبی بازوی افقی نیز یک موتور از نوع stepper موتور وجود دارد که عمل بالا و پائین بردن بازوی عمودی متحرک را انجام می دهد نیروی این موتور با یک تسمه به انتهای دیگر بازوی افقی با کاهش تعداد دور گردش و افزایش نیرو انتقال می یابد . در انتهای دیگر بازوی افقی یک میله بطور عمودی از انتهای بازو عبور کرده که بر روی دو بلبرینگ موجود در سر و ته آن روی قوطی محکم شده و آزادانه دوران می کند روی این میله و در داخل قوطی یک چرخ تسمه دندانه دار به قطر ۲۵ mm قرار دارد دندانه های این چرخ با دنده های یک تسمه دندانه دار که به صورت باز بر روی قوطی متحرک عمودی ، ثابت شده است ، درگیر است که در این صورت با چرخش محور ( میله ) بازوی افقی نیز بالتبع حرکت خواهد کرد به سر این میله نیز یک چرخ دندانه دار بزرگ به قطر ۸۰mm بسته شده است که با یک تسمه با موتور محرک در ارتباط است ( شکل ۱-۱۱ ) .

و اما بازوی عمودی یعنی قسمت سوم متحرک بازو یک قوطی آلومنیومی با سطح مقطع مربعی۳۵×۳۵ mm و به طول ۵۴۰mm ( با احتساب موتور فوقانی و بست پاع مورد نیاز می باشد در بالای این قسمت یک موتور از نوع پله ایی با دقت ۹/۰ درجه نصب گردیده است که وضیفه اش چرخاندن کل دست به دور خود است این عمل باعث افزایش دسترسی به فضای محیط و قدرت مانور دست می شود . کل دست بر روی یک میله آلومنیومی گرد به قطر ۸/۰ mm و به طول ۴۹۰ mm که از داخل یک بلبرینگ محصور در داخل و انتهای قوطی عمودی ، می گذرد ، سوار است انتهای این میله در داخل قوطی مستقیما با استفاده از یک لنگی گیر به شفت موتور پله ایی کوپل گردیده است ( شکل ۱-۱۳ ) .

شکل ۱-۱۳

این بازو در میان یک قوطی آلومنیومی متصل به انتهای بازوی افقی با لبه های تفلونی به بالا و پائین می لغزد .
دست ربات از سه تکه متحرک مجزا از هم تشکیل یافته که هر قسمت در نوبت خود بطور مجزا در جهات مختلف حرکت می کنند هر قسمت با یک DC موتور به حرکت در می آیند برای کاهش دور DC موتورها و افزایش نیروی آنها در هر قسمت از یک جعبه دنده استفاده شده است چرخ دنده های جعبه دنده ها برنجی ( چرخ دنده های موجود در داخل ساعتهای کوکی چینی ) و پلاستیکی می باشند بدنه گیربکس ها ( جعبه دنده ها ) نیز به اقتضا از پلاستیک و آلومنیوم ساخته شده است و برای کاهش اصطکاک در دنده ها و محورها تا حد ممکن از بوش و بلبرینگهای ریز استفاده شده است . دست ربات از قسمت مچ می تواند در جهت عمودی به میزان ۹۰ درجه به بالا و پائین حرکت داشته باشد . پنجه دست نیز می تواند در حین باز و بسته شدن از میان فاصله مچ و پنجه به تعداد دور نامحدود در دو جهت چرخش داشته باشد که در یک ربات این مشخصه یک امتیاز محسوب می شود . پنجه دست دو اهرم باز و بسته شونده دارد که می تواند انواع پوسته ها را بر روی خود متناسب با اجسامی که سروکار خواهد داشت ، داشته باشد ) شکل ۱-۱۴) .
شکل ۱-۱۴
بخش الکترونیک ، تشریح و نحوه ساخت :
تا اینجا ما مکانیک برای ربات طراحی شده ساخته است که هر قسمت و مفصل آن با یک موتور مجزا به حرکت در می آیند در مجموع ۹ عدد موتور الکتریکی بر روی ربات ک

ار گذاشته شده که ۶ عدد آنها از نوع پله ایی (stepper) می باشند و هر کدام به ۱ آمپر جریان ۱۲ ولتی نیاز دارند ۳ موتور دیگر که از نوع DC می باشند با ۶ ولت ۲۰۰ میلی آمپری تغذیه می شوند هر موتور پله ایی دو فاز در حالت Bipolar (دو قطبی ) چهار سیم به عنوان ورودی دارد ( شکل ۱-۱۵ ) و معمولا با چهار حرف لاتینی A,B,C,D نمایش می دهند دو

سر مگنت فاز اول نسبت به فاز دوم یک اختلاف فاز دارد که این اختلاف
فاز را اصطلاحا درجه پله ( Step Angle) می نامند و نشان دهنده این است که موتور پله ایی در ازای هر پله چه کسری از ۳۶۰ درجه ( یک دور کامل ) را طی می کند روتور بر روی خود تعدادی دندانه هایی از جنس فولاد سیلیکون متورق و مغناطیده شده دارد که هر دندانه با دندانه مجاور خود ناهمنام می باشد استاتور نیز دنده هایی همچون دنده های روتور دارد با این تفاوت که دنده های آن رو به داخل ، خنثی و یک عدد بیشتر از دندهای روتور می باشند در حالتی که یکی از دو بوبین فازها در یک جهتی حامل جریان می شود با پدید آمدن فلوی مغناطیسی دنده های غیر همنام در مقابل هم قرار می گیرند با خاموش شدن فاز اول و پاس دادن فلو به فاز دوم چون دنده ها با هم اختلاف فاز دارند به ناچار دنده ها از موقعیت اول خود به میزان اختلاف فازشان به حرکت در می آیند (شکلهای ۲-۱۵و ۱،۲-۱۶) . .

پس برای حرکت موتور پله ایی در جهات و با سرعتهای دلخواه بایستی به طور مداوم جریان را در فازها قطع و وصل نمود ( جدول ۳-۱۶ ) . برای درایو کردن موتور پله ایی یعنی اعمال ترتیبی جریان به فازها مطابق آنچه که در جدول آمده است نیاز به یک ریز پردازنده می باشد تا به طور دقیق اینکار را انجام دهد . برای انجام اینکار پس از تحقیق فراوان در این زمینه و استفاده ازسیستمهای متفاوت برای درایو کردن موتورها بالاخره یک مدار کار آمد طراحی و ساخته شد این مدار نسبت به مدارات قبلی مزایایی از قبیل کم حجمی ، ارزان بودن و قابلیت کار در سطوح مختلف ولتاژ و جریان را داشت .

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

قبل از تشریح مدار درایور موتورهای پله ایی شاید لازم باشد که دو عنصر بسیار پر کاربرد در این زمینه معرفی شود : اولی تراشه L297 ( شکل ۱-۱۷ ) محصول شرکت ST ، یک تراشه ۲۰ پایه با قابلیتهایی از قبیل : ۱- دارای یک Clock خارجی و یک اوسیلاتور داخلی برای پردازنده داخلی خود می باشد . ۲- قابلیت حرکت به صورت نیم پله و تمام پله را دارد. ۳- دارای فر

مان راست گرد و چپ گرد می باشد . ۴- بارگذاری جریان به فرم سوئیچینگ می باشد . ۵- قابل برنامه ریزی برای نحوه بار گذاری جریان می باشد . ۶- به قطعات خارجی کمی نیاز دارد . ۷- دارای پایه های Reset و Home و Enable می باشد . دومی هم تراشه L298 ( ش

کل ۲-۱۷ ) محصول شرکت ST می باشد این تراشه نیز در نوبت خود کاربرد زیادی در درایو موتورهای پله ایی دارد از خصوصیات بارز این تراشه می توان به رنج کاری بالای آن در سطوح ولتاژ و جریان تا ( ۴۶V,4A ) و همچنین سطح ولتاژ اشباع پائین و قابلیت کار در نویز و دمای بالا ، اشاره کرد .

در نقشه علمی زیر نحوه اجتماع این دو قطعه و اتصالات با قطعات جانبی آنها و همچنین نحوه اتصال آنها به میکرو کنترلر نمایش داده شده است :

این مدار بر روی یک برد سوراخ دار ۲۲×۱۰ به تعداد ۶ عدد به طور یکسان مونتاژ شده است IC های L298 برای متعادل ساختن دمای کارشان به خنک کننده های آلومنیومی بسته و بر روی فیبر محکم شده اند . نکته ایی که در ساختن این بخش از مدار بایستی مد نظر داشت استفاده از مقاومتهای وات بالا برای مقاومتهای Sence1,2 می باشد کار این مقاومتها بار کردن میزان جریان مصرفی موتورها می باشد که زیاد بودن مقدار اهمی آنها موجب داغ شدن شدید موتور و آی سی L298 خواهد بود و در صورت کم بودن باعث Rip زدن موتور خواهد بود همه موتورهای پله ایی استفاده شده در این ربات ۱ آمپری هستند پس مقاومت های مورد استفاده ۳۳ اهم و ۲ وات سیمی می باشند که در این درایور ها مطلوبترین نتیجه را دارند . نکته دیگر در مورد این مدار ولتاژ Reference آی سی L297 می باشد ، این ولتاژ جریان مورد نیاز مدار چاپر ( Chopper ) که در داخل پکیج L297 قرار دارد و عمل بار کردن جریان کاری کل مدار را بر عهده دارد ، می باشد . برای ساختن منبع این ولتاژ می توان دو مقاومت را مانند شکل زیر به هم وصل کرده و از تلاقی آنها خروجی را گرفت . خروجی چهار عدد از درایورها با سوکتهایی بر روی برد قابل مشاهده هستند و چهار موتور موجود بر روی کف ربات را درایو می کنند دو درایور دیگر خروجیهایشان پس از عبور به روی برد کنترل با کابل فلت کشیده شده در بازو به مقصد یعنی دو موتور پله ایی موجود در روی بازو می روند . و اما برای کنترل ۳ موتور کوچک DC که بر روی دست ربات کار گذاشته شده اند از ۶ عدد رله دو کنتاکت دوباز – دو بسته استفاده شده است ولتاژ تحریک این رله ها ۵ ولت می باشد که مستقیما از خروجی گیتهای تراشه ULN2003 ( که ورودی آن هم مستقیما توسط پایه های میکرو کنترلر تحریک می شود) گرفته می شوند . چون رله ها از نوع NO – NC هستند بنابراین برای هر موتور از دو رله استفاده شده است یکی از رله ها معکوس دیگری عمل می کند یعنی اگر اولی تحریک شود موتور مورد نظر راست گرد و در حالت تحریک دومی به چپ گردش خواهد کرد . نکته قابل اشاره در اینجا چرخش خلاص DC موتورها پس از قطع جریان تحریک آنها

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

 

سیمهای موتور یک نیروی مقاوم بوجود آورده و موجب توقف سریع موتور می شود . محل جای گرفتن رله های کنترل موتورهای DC بر روی برد درایورها می باشد که با رنگ زرد قابل رویت هستند . رله ها نیز خروجیهای خود را ( ۶رشته سیم ) را از طریق کابل فلت رنگی روی بازو به مقصد یعنی موتورهای دست می رسانند .
برد دیگری که روی ربات قرار دارد برد کنترل آن است که حاوی میکرو کنترلر و IC های رگولاتور و رله های سنسورها و درایورها و …. می باشد این برد با پورت سریال کامپیوتر در ارتباط است ( از طریق max 232 ) . روی این برد یک میکرو کنترلر At 89C51 قرار دارد این میکرو کنترلر که از خانواده ۸۰۵۱ و ساخت شرکت Atmel می باشد دارای ۳۲ پورت ورودی و خروجی و قابلیت ارسال و دریافت سریال و سازگار با پورت سریال کامپیوترهای شخصی IBM نیز می باشد این تراشه ۴۰ پایه ، ۸ بیتی ، دارای ۴کیلو بایت Flash ROM و ۱۲۸ بایت RAM می باشد ( برای کسب اطلاعات بیشتر به کتاب : ( میکرو کنترلر ۸۰۵۱ تالیف محمد علی مزیدی ، جانیس گیلیسپی مزیدی ; ترجمه بهرام پاشایی ، محمد علی جبرئیل جمالی . – تهران : جهان نو ، ۱۳۸۰ مراجعه شود ) در این برد از ۳۰ پورت میکرو کنترلر بهره گرفته شده است . اما وظیفه میکرو کنترلر در روی این ربات چیست ؟ دستور تمام حرکات ربات بایستی از سوی کامپیوتر صادر گردد . صدور و دریافت دستورات و اطلاعات به درایورها و از سنسورها به صورت مستقیم از ربات

به شیوه ( هر بیت یک سیم ) غیر ممکن و غیر عملی می باشد در ورای این کار بهتر آن است که بر روی ربات دستورات ریز و اطلاعات کد شده وجود داشته باشند میکرو کنترلر این کار را به راحتی انجام می دهد در داخل برنامه مقیم در حافظه میکبیتی به طور سریال از کامپیوتر به میکرو ارسال شود که باید ۳ بیت آن مشخص کننده شماره موتور ، ۴ بیت برای تعداد پله ها و یک بیت برای جهت حرکت موتور باشد . پایه های میکرو می توانند یکی از دوحالت ۰ ( زمین ) و ۱ ( +۵v ) را داشته باشند برای ایجاد Clock مورد نیاز درایورها پایه ها به طور مستقیم به هم وصل می شوند . برای دادن فرمان راست گرد و چپ گرد به درایورها ( بالا و پائین نمودن پایه ۱۷ L297 ) از رله های کوچک استفاده نمودیم .