نحوه ساخت يك روبات مسيرياب

behzadk2019

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

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


وسيله اي كه ساختمان و طرز كار آن در متن خواهد آمد ماشين دنبال كننده خط سياه مي باشد . اين وسيله سه چرج است كه قادراست با تشخيص يــك مسير كدر بر روي يك صفحه سفيد رنگ , روي آن مسير حركت كند.
مطالبي كه درمتن خواهد آمد شامل تو ضيحاتي در مورد سخت افزار ونحـــوه عملكرد نرم افزاري سيستم مي باشد
در بخش سخت افزاري نحوه تــشخيص مسير توسط سنسورهاي نــوري مادون قــرمــز و عـملكرد مــوتـورهـاي پـله اي تــو ضــيح داده خــواهـــد شـــد
در قسمت نرم افزار هم تمامي حالات كاري سيستم و عملكرد مناسب بــراي بـرنــامـه نـويـسي هــر حــالــت تــو ضــيح داده خــواهــد شــــد
اميــدواريم ايــن توضيحــات مـختصر در مـقدمه كــافي و مــفيد بــاشــد

معرفي ميكروكنترلر 89C51

ميكروكنترلرقطعه اي است كه ازبعضي جهات شبيه ميكروپروسسوراست بااين تفاوت كه بدليل ساختار خاصي كه دارد دركاربردهاي كنترولي كارايي بيشتري نشان داده است.علاوه برcpu كه عضو اصلي ميكروكنترلراست ميتوان حافظه وتايمرو شمارنده وپورت سريال وچهار عدد پورت موازي و بسياري قابليتهاي ديگر رادر يك ميكروكنترلريافت.
خانواده8x51خانواده اي متنوع با انواع و اقسام قابليتها ست. 8051 داراي حافظهROMو8751دارايEPROMاست حافظه89C51ازنوع فلاش مي باشد. 89c51 حدود4kbyte حافظه فلاش دارد.حافظه فلاش حافظهاي است كه به صورت يكباره ان راميتوان پاك كرد(با پالس الكتريكي با ولتاژ 12+ولت)ودوباره ان را ازابتدا برنامه ريزي كرد. سازنده ادعا مي كند تا چندين مرتبه امكان پاك كردن ونوشتن وجود دارد. نوع 20پايه همين ميكروكنترلر با امكاناتي محدودتر وجود دارد كه با نام892051در بازار موجود است كه 2 kbyteحافظه فلاش دارد.

از لحاظ ساختمان داخلي ميكروكنترلرهاي خانواده8X51 داراي قسمتهاي زير است:
• واحد اصلي يا CPU
• حافظه RAM داخلي 128byte (تا 512byte در بعضي ميكروكنترلرها)
• حافظه برنامه داخلي ROM يا EPROM ياEEPROM تا 8Kbyte
• چهار پورت8 بيتي ورودي-خروجي چند كاره
• سه تايمر16 بيتي كه به صورت شمارنده هم قابل استفاده است
• پورت سريال
• دو عدد پايه براي وقفه هاي خارجي و سه عدد وقفه داخلي
• اوسيلاتور داخلي كه كريستال در بيرون وصل مي گردد
• قابليت فضاي خارجي برنامه تاbyte 64k
• فضاي حافظه داده خارجي تاbyte 64k
• فضاي ادرس دهي بيتي وقابليت كار بر روي بيتهاي مجزا
• رجيسترهاي كنترلي و چهار بانك رجيستري مجزا
• واحد كنترل باسهاي داده و ادرس


حافظه:



- ساختمان RAM داخلي:

بانك رجيستري حاوي8 byte از R0 تا R7 است . در برنامه هاي كاربردي با مقداردهيPSW يا توسط استفاده از دستور USINGمي توان شماره با نك رجيستري را تعيين كرد.
معمولاازبانك هاي رجيستري براي وقفه هااستفاده مي شود .فرض كنيد در حال استفاده از بانك صفر است اگر وقفه رخ دهد كه دران R0 تا R7 به كار رفته باشند ممكن است مقادير R0 تا را دستكاري كرده و در برگشت برنامه دچار خطا گردد. بنابر اين دروقفه از بانك ديگري نام ميبرند تا عمليات رادر R7 ان بانك انجام دهد. فضاي ادرس پذير غير مستقيم در بعضي اي سي ها مثل 8052 وجود دارد كه گاهي 128byte وبراي بعضي ديگر از اي سي ها تا256byte نيز هست.




- حافظه برنامه:


حافظه برنامه در89C51 ازنوع فلاش و4kbyte است برنامه اي كه قرار است اجرا شود به صورت كدهاي ماشين در اين قسمت از حافظه بار ميشود وقابل اجرا است .
حافظه برنامه حافظه اي قابل گسترش است زيرا 8X51 قابليت اجراي برنامه هاي خارجي را دارد و ميتواند تا 64kbyte حافظه را ادرس د هي كند.در قسمت حافظه برنامه خارجي ميتوان بلوك هايي از حافظه ديتاي خارجي را هم جا داد با اتصال پايه هايRD وWR به ان حافظه داده ميتوان نوشت يا خواند ارتباط دهي نرم افزاري اين قسمت ها با دستور …و…MOVE X صورت مي گيرد .
اگر بخواهيم از حافظه برنامه خارجي (حافظه كد)اعدادي را به داخل برنامه LOAD كنيم يكي از راههاي ممكن استفاده ازدستور …و… MOVE C است البته قبلا بايد حافظه كد را با اعداد مورد نظر انبا شته كرده باشيم .
دستورات زير نحوه كار را نشان ميدهد
Cseg at 1000H
DB …,…,
اعداد ثابتي رااز ادرس 1000Hبه بعد درحافظه برنامه (كد)قرار ميدهد.




-
ثبات ها :


ثبات هاي ويژه: ثبات هايي هستند كه اسامي انها ذكر ميشود از ادرس 80H تا FFH در حافظه RAM داخلي قرار دارند كه هر يك كار خاصي را انجام ميدهد.ن• P0 پورت شماره صفر قابل ادرس دهي بيتي وبايتي
• SP ثبات نشانگر پشته (بايتي)
• DPL قسمت كم ارزش ثبات دو بايتي نشانگرادرس داده
• DPH قسمت پر ارزش ثبات دو بايتي نشانگرادرس داده
• PCON ثبات كنترل توان –پرتوان –استراحت –نيمه توان
• TCON كنترل تايمرها داراي قابليت ادرس دهي بيتي
• TMOD حالت تايمرها
• TL0 بايت كم ارزش ثبات تايمر صفر
• TL1بايت كم ارزش ثبات تايمر يك
• THO بايت پرارزش ثبات تايمر صفر
• TH1 بايت پرارزش ثبات تايمر يك
• P1 پورت شماره يك قابل ادرس دهي بيت به بيت
• SCON ثبات كنترل پورت سريال قابل ادرس دهي بيت به بيت
• SBUF بافر و ثبات اطلاعاتي پورت سريال
• P2 پورت شماره دو
• IE ثبات فعال كننده وقفه قابل ادرس دهي بيتي
• P3 پورت شماره سه قابل ادرس دهي بيت به بيت
• IP ثبات تقدم وقفه ها – اولويت وقفه ها –ادرس دهي بيتي
• T2CON كنترل تايمر دوم در 8X52
• RCAP2L كنترل وثبات شكار ومقايسه در52 و53
• RCAP2Hكنترل وثبات شكار ومقايسه در52 و53
• T2Lبايت كم ارزش ثبات تايمر دو
• T2Hبايت پر ارزش ثبات تايمر دو
• PSW پرچمهايCPU شامل CARY و صفر و توازن و…
• Aيا ACC ثبات انباره اصلي
• B ثبات انباره كمكي

بعضي از دستورات بجاي خواند از پايه اي سي از لچ ميخوانند اين دستورات دستوراتي هستند كه ابتدا خوانده ميشودسپس تغيير مييابدواحتمالا دوباره در لچ نوشته مي شود. عبارتند از:
ANL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ
همچنين سه دستور زير كل پورت را به صورت بايتي ميخوانند بعدبيت مورد نظررا تغيير ميدهند ودوباره به صورت بايتي درلچ مي نويسند
MOV Px.y,c
CLR Px.y
SETB Px.y
براي خواندن از پينهاي P1 بايد مراحل زير طي شود:
در ابتداي برنامه MOV P1,#FFH ;
خواندن از MOV A,P1 ; P1
ماسك كردن بيتهاي غيرضروريANL A,#0000\\\\ ;
بررسي سيستم روبات مسيريابي :
بر روي زمين خطي سياه رنگ متمايز از زمينه روشن تصور كنيد . پهناي اين خط در حدود دو سانتي متر و طول انرا نامحدودبا پيچ وخمهاي فراوان تصوركنيد تئوري ميگويد وقتي نور به جسمي كدر يا سياه رنگ برخورد مي كند قسمت بيشتري از نورجذب ان مي شود و مقدار كمي از ان باز تابيده ميشود و وقتي نور به جسمي روشن و سفيد بتابد قسمت زيادي از نور را باز مي تاباند و قسمت كمي را جذب مي كند پس ميتوان سفيد يا سياه بودن دو جسم را با اندازه گيري نوربازتابيده شده ازان حدس زد كافي است يك منبع نوراني داشته باشيم كه نور رابه طرف جسم مورد نظر بتاباند ودرهمان حال يك سنسورنوري ميزان نور بازتابش را اندازه گيري كند مطمئنا براي دو جسم با رنگهاي مختلف يا دو جسم سفيد وسياه ميزان باز تابش متفاوت ثبت خواهد شد.
انجام ازمايش بالا درتاريكي ممكن است به نتايج خوبي منجر شود اما در محيطي مثل محيط اتاق انواع و اقسام منابع نوري را داريم .همچنين بايد در نظر داشته باشيم كه سنسورنوري مابرروي روباتي قرار دارد كه همواره در حال حركت است و نسبت به منابع نوري در اتاق درزاويه هاي تاريك و روشن واقع ميشود اگر محيط با لامپهاي فلورسنت روشن ميشود.
مساله از اين هم بدتراست چون لامپهاي فلورسنت در هر ثانيه صد بار روشن وخاموش ميشوند و سنسورها اين مطلب را حس خواهند كرد اگر تلويزيون هم در محيط روشن باشدحركت تصاوير نور محيط را دچار تغيير خواهد كرد.
راه حل چيست؟

راه حل اول :

راه حلي كه ما پيشنهاد ميكنيم استفاده ازدو نوع نور است دراصل استفاده از دو طيف نوري مجزا. سعي ميشود نور اتاق نور لامپهاي فلورسنت باشد وازلامپهاي معمولي رشته اي و نور خورشيد حتي المقدور اجتناب شود .
نور لامپهاي فلورسنت در اصل درطيف نزديك به نورماورابنفش قراردارد كه با ماده فسفرسانس ميزاني ازان را به نور مرئي تبديل مي كنند با اين وجود لامپهاي فلورسنت نور قرمز يا مادون قرمز ندارند.درصد نور مادون قرمزتوليدي توسط اين لامپها بسيارناچيزاست درعوض لامپهاي رشته اي به ميزان زيادي نورمادون قرمز ونورقرمزدارندونور ماورابنفش توليدي توسط لامپهاي رشته اي بسيار ناچيز و قابل صرفنظراست روي اين اصل ما درسيستمي كه قرار است مسير سياه رادرزمينه سفيد تشخيص دهد از لامپهاي مادون قرمز استفاده مي كنيم ديودهايLED وجود دارند كه در طيف مادون قرمز كار مي كنند اين ديودها نور مادون قرمز غيرمرئي توليد مي كنند .
سنسورهاي نور مادون قرمز هم در بازار يافت ميشوند سنسورهايي كه فقط با نور مادون قرمز تحريك ميشوند طبق قراري كه با هم گذاشتيم در اتاق فقط از لامپهاي فلورسنت استفاده مي كنيم كه در طيف مادون قرمز تداخلي ايجاد نمي كنند .

راه حل دوم:

راه حل ديگري هم هست كه دقيق تر عمل مي كند و اين حساسيت هاي بي مورد را ندارد اما روش پر هزينه اي مي تواند ياشد صرفنظر از اينكه نور اتاق حاوي كدام يك از طيف هاي نوري است منبع هاي نوري مسير ياب به صورت لحظه اي كار ميكنند سعي مي شود ميزان نور برخوردي به يك سطح نيمي از يك مقدار مبنا باشد .
براي لحظه اي كوتاه ديود نور گسيل را روشن مي كنيم و ميزان نوري را كه منعكس شده را اندازه ميگيريم حال ديود نور گسيل را خاموش مي كنيم و بلافاصله دوباره سطح نور موجود را اندازه گيري ميكنيم اين مقادير را توسط A\D به صورت ديجيتال به يك پردازنده مي دهيم تا از همديگر كم كند. تفاوت بين دو سطح نوري بيانگر تيره يا روشن بودن سطح مورد نظر مي تواند باشداز روش دوم براي جاهاي ديگر هم مي توان استفاده كرد .
فرض كنيد مي خواهيد ميزان دوري يا نزديكي به ديواري را تخمين بزانيد روش بالا مي تواند به يك روبات ميزان دوري يا نزديكي به يك ديوار را نشان دهد بدون اينكه روبات به ميزان نور محيط ونور موجود حساس باشد.


نحوه تشخيص مسير چگونه است ؟

ساده ترين كار استفاده از فقط يك چشم الكترونيكي براي تشخيص مسير سياه و سفيد مي باشد. در برنامه نرم افزاري براي روبات اينطور تعريف مي كنيم كه تا وقتي بر روي مسير سياه قرار دارد به سمت جلو حركت كند هر گاه كه مسير سياه را گم كرد با توجه به حالت قبلي براي يافتن مسير به سمت چپ يا راست حركت كند .
روش بالا مستلزم اين است كه روبات همواره موقعيت خود را همواره محاسبه و نگهداري كند اگر تعداد چشمها را به سه عدد افزايش دهيم كار راحتتر پيش مي رود و به احتمال زياد احتياجي به محاسبه موقعيت روبات نباشد زيرا چشم مركزي همواره بايد روي مسيرسياه قرارداشته باشد ودوسنسور كناري مسيرسفيد را رويت كنند هر گاه هركدام ازسنسورهاي كناري خط سياه را رويت كرد بايد روبات به سمت مخالف اصلاح مسير كند.
هر چقدر تعداد چشمها را زيادتر كنيم برنامه پچيده ترميشوداما قدرت تشخيص مسير صحيح بالاتر مي رود و امكان مانور بيشتري خواهد بود.
شرح سخت افزاري مدار تشخيص مسيرمداري كه در شكل يك مشاهد مي كنيد داري چهار طبقه است از چهار چشم الكترونيكي يعني چهار عدد سنسور نور مادمن قرمز استفاده شده است هر سنسور مادون قرمز به طور جداگانه همراه با يك عدد LED مادون قرمز درون يك استوانه فلزي قرار دارد كه از يك طرف باز است و به طرف مسير سياه وسفيد قرارمي گيرد علت اينكه سنسورهارا از هم جدا كرده ايم اين است كه نور هر LED مادون قرمزبه سنسورمربوط به خودش ارتباط داشته باشد واز تداخل هاي نوري با ساير سنسورها جلوگيري شود.
ازسه عدد سنسور در يك رديف و از سنسور چهارم در پشت سر انها استفاده شده است .




سنسورشماره دو سنسور اصلي وبقيه سنسورها پشتيبان ان هستند.

براي اشكارسازي مسير ازيك مقايسه كننده معمولي (Lm339)استفاده شده است اين IC درخود چهار مقايسه كننده را جاي داده است.يك مقايسه كننده همواره ولتاژ بين دو پايه ورودي خود را مقايسه مي كند اگرورودي ناوارونساز ولتاژي بزرگتر از ورودي ديگر داشته باشد،خروجي را به اشباع درv+مي برد واگر ولتاژ در ورودي وارونسازبزرگترازورودي ناوارونساز باشد خروجي را به سطح صفر ولت ميكشاند.
Lm339 داراي خروجي كلكتور باز است بنابراين در خروجي ان از يك مقاومت Pull up استفاده شده است ،براي راحتي كار،همواره ميتوان با مشاهده LEDهاي معموليكه درخروجي مقايسه كننده ها كه درخروجي مقايسه كننده ها متصل شده است به عملكرد سنسورهاپي برد LED يك تاLED چهارلامپهاي LED معمولي هستند وروي روبات به صورت نمايشي قرارميگيرند در اصل مي توان انها را خروجي مدار ناميد واز روي انها،برنامه نرم افزاري را نوشت و اصلاح كرد.
خروجي ها به ترتيب به پايه هاي P1.0 تا1.3 P از پورت يك وارد مي شوند.توجه كنيد كه وقتي ميخواهيد پورت يك رابه صورت ورودي استفاده كنيد در ابتداي برنامه ترانزيستورهاي خروجي را از كار بياندازيد.اين كار با نوشتن FFH در پورت P1 در ابتداي برنامه ،صورت ميگيرد.
اگراين كار رانكنيد وترانزيستورهاي خروجي روشن باقي بمانند سطح خروجي را به صفرولت ميكشانندوP1همواره OOH يا صفر را دريافت خواهد كرد. دستوري كه باعث خواندن ورودي از پين مي گردد P1و A MOV است بعضي از دستورات هستند كه بجاي خواندن از پين از latch ها مي خوانند كه دربهكار بردن انها بايد دقت شود.
مقاومت داخلي سنسورهاي مادون قرمز تابعي از نور برخورد كننده به انها است درنورهاي ضعيف يا يك اتاق تاريك مقاومت سنسورهايي كه ما استفاده كردهايم بالاتر از 100 k است. اين مقاومت وقتي كه سنسورها را در معرض نوربا شدت معمولي قرار دهيم تا  1 k هم كاهش پيدا مي كند.
وقتي استوانه اي حاوي سنسور و LED مادون قرمز را جلوي يك جسم سياه رنگ مي گيريم مقاومتي حدود 50 k  وزماني كه جلوي يك جسم سفيد رنگ قرار ميدهيم مقاومتيحدود 20 k  رانشان ميدهد .پتانسيو مترهاي ورودي را طوري تنظيم مي كنيم كه وقتي جسم سياه را داريم در خروجي +5 ولت برقرار باشد ووقتي جسم سفيدي را در مقابل استوانه هاي فلزي قرار دارد صفر ولت درخروجي داشته باشيم.




به شكل بالا نگاه كنيد .چهار عدد سنسور داريم كه وضعيت خط سياه را نشان ميدهند از لحاظ اماري براي چهار عدد سنسور ما مي توانيم شانزده حالت حداكثر تصور كنيم كه سنسور روي خط سياه يا روي زمينه سفيد فرض شود .

در زير ليست اين شانزده حالت را مي توانيد ببينيد.

1- هيچ كدام از سنسورها روي خط سياه قرار ندارند و همگي صفررا نشان ميدهند.
2- فقط سنسور شماره 1روي خط سياه قرار دارد.
3- فقط سنسور شماره 2روي خط سياه قرار دارد
4- فقط سنسور شماره3 روي خط سياه قرار دارد.
5- فقط سنسور شماره 4 روي خط سياه قرار دارد.
6- فقط سنسور شماره 2و1روي خط سياه قرار دارد.
7- سنسورهاي 3و2 روي خط سياه قرار دارد.
8- سنسورهاي 4 و3 روي خط سياه قرار دارد.
9- سنسورهاي 4 و1 روي خط سياه قرار دارد.
10- سنسورهاي 3 و1 روي خط سياه قرار دارد.
11- سنسورهاي 4 و2 روي خط سياه قرار دارد.
12- سنسورهاي 3 و2 و1روي خط سياه قرار دارد.
13- سنسورهاي 4 و3 و2 روي خط سياه قرار دارد.
14- سنسورهاي 4 و1و2روي خط سياه قرار دارد.
15- سنسورهاي 4 و1و3 روي خط سياه قرار دارد.
16- سنسورهاي4 و3 و2 و1همگي روي خط سياه قرار دارند.


شرايط حركت روبات

حالت اول: روبات هنوز مسير را پيدا نكرده

هيچكدام از سنسورها بر روي مسير سياه قرار ندارند اين يعني اينكه روبات هنوز مسير را پيدا نكرده و بايد عمليات جستجو را انجام دهد. مي تواند در راستاي يك خط راست حركت كند تا به خطوط سياه برخورد كند ويا مي تواند در طول يك مسير مارپيچ منظم به دنبال مسير سياه بگردد ودراخر اينكه مي تواند به دلخواه خودش درطول يك مسير غير منظم حركت كند.
حركت درمسير مارپيچ شايد به دلايلي بهتر باشد مسير مارپيچ مسيري دوار است كه همواره شعاع چرخش در ان در حال افزايش است. انواع و اقسام مسيرهاي مارپيچ را مي توان تصور كرد . نوع ساده تر ان شامل يك حركت گردش به راست و حركت به جلو است كه ابتدا به ازاي هر پله حركت به جلو يك پله حركت به راست هم هست ولي كم كم امار پله هاي حركت به جلو نسبت به پله هاي حركت به راست افزايش مي يابد.

حالت دوم :گردش به راست

عمليات گردش به راست براي زماني است كه يكي از حالتهاي زير در مورد سنسورها صدق كند.

1- فقط سنسور شماره 3 مسير سياه را نشان دهد.

2- فقط سنسورهاي شماره 3 و4 مسير سياه را نشان دهند.
3- فقط سنسورهاي شماره 2و3 و4 مسير سياه را نشان دهند.

حالت سوم:گردش به چپ

عمليات گردش به چپ زماني رخ ميدهد كه يكي از حالتهاي زير رخ داده باشد.

1- فقط سنسور شماره 1 مسير سياه را نشان دهد.

2- فقط سنسورهاي شماره 1و4 مسير سياه را نشان دهند.
3- فقط سنسورهاي شماره 1و2و4 مسير سياه را نشان دهند.

گردش به چپ زما ني رخ مي دهد كه به چرخ سمت راست دستور جلوگرد بدهند و عمليات گردش به راست زماني اتفاق مي افتد كه به چرخ سمت چپ دستور جلو گرد بدهند.

حالت چهارم:حركت مستقيم به جلو

براي زماني رخ مي دهد كه سنسورها داراي وضعيت زير باشند.

1-زماني كه سنسور شماره 2 مسير سياه را نشان دهد.
2- زماني كه سنسورهاي شماره 1و2 مسير سياه را نشان دهد.
3- زماني كه سنسورهاي شماره 2 و3 مسير سياه را نشان دهد.
4- زماني كه سنسورهاي شماره 2و4 مسير سياه را نشان دهد.

براي حركت مستقيم به جلو بايد هم چرخ راست وهم چرخ چپ را با حالت جلوگرد راه اندازي كرد يعني به هر دو چرخ همزمان دستورجلوگرد صادر شود . براي اين منظور همواره شماره مرحله هر موتور در جايي ذخيره مي شود براي دستور جلوگرد كافي است شماره مرحله را افزايش دهيم و مرحله هر موتور را به ان اعمال كنيم سپس مدت چند ميلي ثانيه صبر كنيم تا موتور از حالت قبلي به حالت جديد برود سپس برنامه را ادامه دهيم. بايد توجه كرد كه هر دو موتور همزمان مرحله جديد را مي گيرند و سپس هر دو با هم به حالت جديد مي روند.

حالت پنجم:حركت به جلو و راست

حالت پنجم براي زماني بكار مي رود كه حركت يكي جلو يكي راست اجرا شودو سنسورها داراي وضعيت زيرباشند.

1- سنسورهاي 1 و3 مسير سياه را نشان دهند.
2- سنسورهاي 1 و2 و3 مسير سياه را نشان دهند.
3- سنسورهاي 1 و3 و4 مسير سياه را نشان دهند.
4- سنسورهاي 1 و3 و3 و4 مسير سياه را نشان دهند.

در حالت پنجم يكباربه چرخ راست و چپ با هم دستور جلو گرد صادر شود و بعد از ان يك مهلت چند ثانيه اي به چرخ سمت چپ دستور جلو گرد صادر مي شود.

حالت ششم :حركت به سمت عقب و گردش به راست وچپ

اين حركت زماني رخ مي دهد كه فقط سنسور شماره 4 مسير سياه را نشان دهد .
وقتي فقط سنسور شماره 4 فعال است و مسير سياه را نشان مي دهد بايد روبات به سمت عقب برگردد اگر بعد از چند حركت 1و 4 فعال شدند به سمت چپ گردش كند و اگر 3 و4 فعال شدند به سمت راست گردش كند.
سنسورها از پورت P1 وارد مي شوند پس:

با چهار عدد بيت مي توان شانزده حالت منطقي را ترسيم كرد.(عدد مربوطه در P1)
روش راه اندازي موتور پله اي

كافي است يك برنامه براي حركت به جلو و يك برنامه براي حركت موتور به عقب بنويسيم براي اينكه موتورها به جلو بچرخند مرحله موتور پله اي را افزايش مي دهيم و براي حركت موتور پله اي به عقب بايد مرحله هاي موتور پله اي را كاهش دهيم.

موتورهاي پله اي:

معرفي:
موتورهاي پله اي به عنوان يكي از وسايل پر مصرف جهت تبديل پالسهاي الكتريكي به حركتهاي مكانيكي مطرح مي باشند. در كاربردهايي نظير ديسكها و چاپگرهاي سوزني و رباتيك موتورهاي پله اي جهت كنترل موقعيت استفاده مي شوند.
هر موتور پله اي داراي يك رتور مغناطيسي است كه در يك ميدان الكتريكي قرار مي گيرد.اغلب موتورهاي پله اي داراي چهار سيم پيچ هستند كه به صورت دو زوج پيچيده شده اند. اين نوع موتورها اغلب به نام موتورهاي پله اي چهار فاز معرفند. سيم مشترك بين زوج سيم پيچها امكان تغيير جهت جريان در هر دو دسته را با وصل يكي از سيم پيچها به زمين فراهم مي كنند.با اين كار قطبهاي مغناطيسي توليد شده درهر دو دسته تغيير مي كنند با گردش رتور شفت اصلي موتور پله اي با يك درجه ثابتي حركت مي كند و اجازه حركت ان به يك مو قعيت خاص را فراهم ميكند.اين حركت متمادي ثابت متكي بر يكي از اصول اساسي مغناطيس است كه قطبهاي همنام همديگر را دفع و قطبهاي غير همنام همديگر را جذب مي كنند.
مدار راه انداز موتور پله اي با اي سي به شماره uln 2003:
اين ا ي سي يك بافر not كننده با ترانزيستور خروجي كلكتور باز است. اگر بخواهيم همين مدار را با ترازيستور طراحي كنيم استفاده از يك ديود هم الزامي است.
سه نوع كنترل بر روي موتور پله اي مي توان داشت فرض مي گيريم موتور پله اي ازنوع چهار قطبي باشد:
1- تر تيب چهار مرحله اي معمولي پله كامل

2- تر تيب چهار مرحله اي پله نصفه يا نيم پله

3- تر تيب هشت مرحله اي پله كامل موجي

اما ترتيبي كه ما در ساخت روبات از ان استفاده كرده ايم ترتيب هشت مرحله اي است.

در مورد موتور پله اي كه بكار برده شده است سيم پيچهاي A وB وC وD و همچنين خروجيهاي Com همگي توسط سيمهاي رنگي مشخص شده اند خروجيهاي Com با رنگ سبز از موتور خارج شده اند.
درطرح سخت افزاري ترتيبي نهفته است . برنامه براي حالت راستگرد و حركت چرخ به طرف جلو بر نامه ريزي مي شود پس تنها موتوري كه راستگرد و جلوگرد است موتور سمت چپ است. براي اينكه با نوشتن يك برنامه و فراخواني ان براي هر دو چرخ عمل جلو رفتن صورت مي گيرد ، تر تيب اتصال سيمهاي موتور سمت راست را معكوس مي كنيم . به اين ترتيب كه :




بنابر اين با اين كار در حجم برنامه نرم افزاري صرفه جويي مي شود اگر قرار باشد موتورها حركت عقب گرد هم داشته باشند مي توان براي هردو چرخ فقط يك برنامه عقب گرد نوشت.

مدارات الكتريكي :
مدارات الكتريكي مورد نياز در با استفاده از نرم افزار EWB طراحي شده اند.


 

Similar threads

بالا