TAHA
11-11-2009, 11:22 AM
کنترل روبات توسط پورت Parallel و به صورت WireLess
چکيده: در اين مقاله قصد داريم توسط پورت Parallel کامپيوتر، يک روبات را به صورت WireLess کنترل کنيم. نحوهي اتصال فرستنده و گيرندهي بيسيم به پورت Parallel و همينطور روبات و همچنين نحوهي شناسائي پورت Parallel توسط برنامه MATLAB در اين مقاله توضيح داده ميشود. استفاده از فرستنده و گيرندهي WireLess و توضيح پيرامون نحوهي کار اين سيستم، از ديگر بخشهاي اين مقاله ميباشد. از اين سيستم ميتوان در قسمتهايي که دسترسي مستقيم مقدور نميباشد استفاده نمود و به وسيلهي کامپيوتر، وظايف مورد نظر را به روبات محول کرد.
واژههاي کليدي: Parallel Port ، MATLAB ، Wireless ، کنترل روبات
1- مقدمه
امروزه پيشرفت در زمينهي ساخت روبات سرعت بيشتري به خود گرفته و شاهد توليد انواع روبات صنعتي و غير صنعتي با کاربردهاي مختلف ميباشيم. روباتهايي که وظايف انسانها را بر عهده ميگيرند و با دقت بيشتري کارها را انجام ميدهند. براي کنترل روبات روشهاي مختلفي وجود دارد. روباتهايي که از قبل برنامهريزي شدهاند و بدون ارتباط با خارج، وظايف محوله را انجام ميدهند و يا روباتهايي که از بيرون کنترل ميشوند و ميتوان وظايف آنها را به راحتي تغيير داد و ... .
در اين مقاله، ما روباتي را بررسي خواهيم کرد که از بيرون کنترل ميشود. برنامهي اين روبات توسط MATLAB نوشته شده و از طريق پورت Parallel و به صورت WireLess به درايور و از آنجا به موتورهاي روبات دستور داده ميشود. با تغيير برنامه ميتوان وظايف مختلفي را براي روبات تعريف کرد. در شکل (1)، بلوکدياگرام اين سيستم را مشاهده ميکنيد:
2- قسمت مکانيکي
براي قسمت مکانيکي اين روبات از يک ماشين با 4 چرخ استفاده شده است که توسط دو موتور DC که يکي چرخهاي سمت راست و ديگري چرخهاي سمت چپ را به حرکت در ميآورد کنترل ميشود. فرمانهاي لازم براي به حرکت درآوردن اين موتور توسط کامپيوتر و از طريق پورت Parallel به صورت بيسيم به درايو نصب شده بر روي روبات داده شده و از آنجا نيز به موتورها اعمال ميشود.
3- ارتباط پورت Parallel و MATLAB
از آنجا که فرمانهاي دادهشده به پورت Parallel توسط برنامهي MATLAB داده ميشود، لازم است تا دستورات لازم براي ارتباط بين MATLAB و پورت Parallel نوشته شود. اين دستورات پورت Parallel را شناسائي کرده و پورتهاي مورد استفاده را تعريف ميکند. در زير، برنامهي مربوط به معرفي پورت Parallel در برنامهي MATLAB را ميبينيد:
parport = digitalio('parallel','LPT1');
hwlines = addline(parport,0:3,'out');
data =4 ;
putvalue(parport,data);
putvalue(parport.Line(1:4),data);
bvdata = dec2binvec(data,4);
putvalue(parport,bvdata);
putvalue(parport.Line(1:4),bvdata);
ar=[0 0 0 0];
حال ما ميتوانيم از پينهاي 1 تا 4 پورت Parallel استفاده کنيم ، چون براي فرمان به 2 موتور، 4 بيت کافي است. براي فعال کردن اين چهار پين کافي است که در ماتريس ar اعداد 0 يا 1 را وارد کنيم. ماتريس ar به صورت زير تعريف شده است:
ar = [LF LB RF RB]
آرايههاي ماتريس ar به صورت 0 يا 1 ميباشند. عدد 1 نمايانگر روشنبودن آن پين و عدد صفر نشانگر خاموش بودن آن پين است. روشن بودن پين يعني اينکه ولتاژ 5 ولت روي آن پين وجود دارد و خاموش بودن پين يعني ولتاژ صفر.
اگر به آرايههاي ماتريس ar دقت کنيم ميبينيم که با اسامي خاصي نامگذاري شدهاند. در زير به معرفي اين آرايهها ميپردازيم:
LF : در صورت 1 بودن، موتور سمت چپ روبات به سمت جلو ميچرخد.(Left Forward)
LB : در صورت 1 بودن، موتور سمت چپ روبات به سمت عقب ميچرخد.(Left Backward)
RF : در صورت 1 بودن، موتور سمت راست روبات به سمت جلو ميچرخد.(Right Forward)
RB : در صورت 1 بودن، موتور سمت راست روبات به سمت عقب ميچرخد.(Right Backward)
در صورت صفر بودن هر يک از اين آرايهها، موتور در آن جهت خاموش ميباشد و نميچرخد.
چکيده: در اين مقاله قصد داريم توسط پورت Parallel کامپيوتر، يک روبات را به صورت WireLess کنترل کنيم. نحوهي اتصال فرستنده و گيرندهي بيسيم به پورت Parallel و همينطور روبات و همچنين نحوهي شناسائي پورت Parallel توسط برنامه MATLAB در اين مقاله توضيح داده ميشود. استفاده از فرستنده و گيرندهي WireLess و توضيح پيرامون نحوهي کار اين سيستم، از ديگر بخشهاي اين مقاله ميباشد. از اين سيستم ميتوان در قسمتهايي که دسترسي مستقيم مقدور نميباشد استفاده نمود و به وسيلهي کامپيوتر، وظايف مورد نظر را به روبات محول کرد.
واژههاي کليدي: Parallel Port ، MATLAB ، Wireless ، کنترل روبات
1- مقدمه
امروزه پيشرفت در زمينهي ساخت روبات سرعت بيشتري به خود گرفته و شاهد توليد انواع روبات صنعتي و غير صنعتي با کاربردهاي مختلف ميباشيم. روباتهايي که وظايف انسانها را بر عهده ميگيرند و با دقت بيشتري کارها را انجام ميدهند. براي کنترل روبات روشهاي مختلفي وجود دارد. روباتهايي که از قبل برنامهريزي شدهاند و بدون ارتباط با خارج، وظايف محوله را انجام ميدهند و يا روباتهايي که از بيرون کنترل ميشوند و ميتوان وظايف آنها را به راحتي تغيير داد و ... .
در اين مقاله، ما روباتي را بررسي خواهيم کرد که از بيرون کنترل ميشود. برنامهي اين روبات توسط MATLAB نوشته شده و از طريق پورت Parallel و به صورت WireLess به درايور و از آنجا به موتورهاي روبات دستور داده ميشود. با تغيير برنامه ميتوان وظايف مختلفي را براي روبات تعريف کرد. در شکل (1)، بلوکدياگرام اين سيستم را مشاهده ميکنيد:
2- قسمت مکانيکي
براي قسمت مکانيکي اين روبات از يک ماشين با 4 چرخ استفاده شده است که توسط دو موتور DC که يکي چرخهاي سمت راست و ديگري چرخهاي سمت چپ را به حرکت در ميآورد کنترل ميشود. فرمانهاي لازم براي به حرکت درآوردن اين موتور توسط کامپيوتر و از طريق پورت Parallel به صورت بيسيم به درايو نصب شده بر روي روبات داده شده و از آنجا نيز به موتورها اعمال ميشود.
3- ارتباط پورت Parallel و MATLAB
از آنجا که فرمانهاي دادهشده به پورت Parallel توسط برنامهي MATLAB داده ميشود، لازم است تا دستورات لازم براي ارتباط بين MATLAB و پورت Parallel نوشته شود. اين دستورات پورت Parallel را شناسائي کرده و پورتهاي مورد استفاده را تعريف ميکند. در زير، برنامهي مربوط به معرفي پورت Parallel در برنامهي MATLAB را ميبينيد:
parport = digitalio('parallel','LPT1');
hwlines = addline(parport,0:3,'out');
data =4 ;
putvalue(parport,data);
putvalue(parport.Line(1:4),data);
bvdata = dec2binvec(data,4);
putvalue(parport,bvdata);
putvalue(parport.Line(1:4),bvdata);
ar=[0 0 0 0];
حال ما ميتوانيم از پينهاي 1 تا 4 پورت Parallel استفاده کنيم ، چون براي فرمان به 2 موتور، 4 بيت کافي است. براي فعال کردن اين چهار پين کافي است که در ماتريس ar اعداد 0 يا 1 را وارد کنيم. ماتريس ar به صورت زير تعريف شده است:
ar = [LF LB RF RB]
آرايههاي ماتريس ar به صورت 0 يا 1 ميباشند. عدد 1 نمايانگر روشنبودن آن پين و عدد صفر نشانگر خاموش بودن آن پين است. روشن بودن پين يعني اينکه ولتاژ 5 ولت روي آن پين وجود دارد و خاموش بودن پين يعني ولتاژ صفر.
اگر به آرايههاي ماتريس ar دقت کنيم ميبينيم که با اسامي خاصي نامگذاري شدهاند. در زير به معرفي اين آرايهها ميپردازيم:
LF : در صورت 1 بودن، موتور سمت چپ روبات به سمت جلو ميچرخد.(Left Forward)
LB : در صورت 1 بودن، موتور سمت چپ روبات به سمت عقب ميچرخد.(Left Backward)
RF : در صورت 1 بودن، موتور سمت راست روبات به سمت جلو ميچرخد.(Right Forward)
RB : در صورت 1 بودن، موتور سمت راست روبات به سمت عقب ميچرخد.(Right Backward)
در صورت صفر بودن هر يک از اين آرايهها، موتور در آن جهت خاموش ميباشد و نميچرخد.