امروز: جمعه 10 فروردین 1403
دسته بندی محصولات
لینک دوستان

بازوی ربات قابل برنامه ریزی جهت بكارگیری در دستگاه های CNC

بازوی ربات قابل برنامه ریزی جهت بكارگیری در دستگاه های CNCدسته: الکترونیک و مخابرات
بازدید: 1 بار
فرمت فایل: doc
حجم فایل: 3169 کیلوبایت
تعداد صفحات فایل: 150

امروزه در دنیایی که کامپیوتر در ابعاد مختلف زندگی انسان باری را به دوش می کشد ، و ابؤاری برای سرعت ودقت کار ها محسوب می شود، همة ما می دانیم که رباتها یکی از پدیده های حیرت برانگیزخلق شده توسط انسان است و انسانها با در هم آمیختن علوم کامپیوتر ومکانیک وریاضی وشگفتی های غیر قابل انکاری پدید آوردند

قیمت فایل فقط 22,100 تومان

خرید

فهرست

عنوان                                                        صفحه

مقدمه ........................................................................................    1

فصل اول – درگاه موازی كامپیوتر.................................................   2

1-1 تاریخچه درگاه موازی .........................................................    4

1-2 آشنائی با درگاه موازی ......................................................    9

1-3 پینها و ثباتهای پورت پارالل .............................................  14

1-4 شرح پینهای درگاه موازی .................................................    17

1-5 استاندارد Centronics ....................................................    18

1-6 آدرسهای پورت موازی .....................................................    20

1-7 ثبات های نرم افزار در پورت پارالل استاندارد ....................    23

1-8 پورتهای دو طرفه (Bi-Directional) ..............................    25

1-9 استفاده از پورت پارالل در ورود 8 بیت .............................   29

1-10 مود چهار بیتی (Nibble Mode) .....................................   31

1-11 بكارگیری IRQ پورت پارالل .............................................   32

1-12 مودهای پارالل پورت در BIOS ........................................  33

فصل دوم موتورهای پله ای و مدارات كنترل آنها .......................   36

2-1 آشنایی با موتور پله ای ..................................................  37

2-2 ساختمان داخلی موتور پله ای ........................................    40

2-3 طبقه بندی موتورهای پله ای .........................................   42

الف- موتورهای پله ای نوع آهنربای دائمی .........................   42

ب- موتورهای پله ای نوع رلوكتانس متغییر ....................   44

ج- موتورهای هیبرید .....................................................    47

2-4 انواع موتورهای پله ای و چگونگی عملكرد آنها.............    47

- موتورهای با مقاومت مغناطیسی متغییر ...................    48

- موتورهای تك قطبی .....................................................    51

- موتورهای دو قطبی .....................................................     52

- موتورهای چند فاز ........................................................    54

2-5 ترتیب فازهای موتور پله ای .........................................    54

2-6 پارامترها و اصطلاحات موتور پله ای ..............................    59

2-7 مدارات كنترل موتور پله ای ........................................    68

- موتورهای رلوكتانس متغییر ........................................    68

- موتورهای مغناطیس دائم تك قطبی و هیبرید .............     71

- راه اندازهای تك قطبی و رلوكتانس متغییر كاربردی.....     73

- موتورهای دوقطبی و H-bridge .................................     76

- مدارات راه انداز دوقطبی كاربردی ...............................      79

2-8 نرم افزار كنترل موتور پله ای .....................................      84

2-9 آشنائی با چند موتور پله ای قابل دسترس در بازار ......       88

2-9-1 شناسایی بعضی از موتورهای پله ای

از روی تعداد و رنگ سیم ............................................    93

2-10 بررسی بعضی از مدارات كنترل و درایور موتورهای پله ای... 95

فصل سوم – سخت افزار و نرم افزار پروژه ..............................      101

3 -1 معرفی میكرو كنترلر AVR  ..........................................    105

3-2 خصوصیات ATMEGA32  ...........................................    106

3-3 معرفی مختصر كامپایلر BASCOM  ...........................    107

3-4 استفاده از ATMEGA32 به عنوان درایور یك

STEPPER MOTOR      .....................................................  108

3-5استفاده از میكرو كنترلر ATMEGA32  به عنوان

درایور چهار محور ربات ..........................................................     110

3-6 استفاده از كامپایلر C++ در برنامه نویسی پورت پارالل .......112

3-7 برنامة كنترل ربات نوشته شده تحت كامپایلر C++  ...........115

ضمیمة الف .........................................................................     121

ضمیمة ب ...........................................................................    126

ضمیمة ج ............................................................................    133

مقدمه

امروزه در دنیایی که کامپیوتر در ابعاد مختلف زندگی انسان باری را به دوش می کشد ،  و ابؤاری برای سرعت ودقت کار ها محسوب می شود،  همة ما می دانیم که رباتها یکی از پدیده های حیرت برانگیزخلق شده توسط انسان است و انسانها با در هم آمیختن علوم کامپیوتر ومکانیک وریاضی و...شگفتی های غیر قابل انکاری پدید آوردند .

هم اکنون در سال 2001 میلادی استفاده از رباتها در کشور های صنعتی امری مرسوم شده  و بکار گیری آنها در خطوط صنعتی، اکتشافات فضایی، انجام کارهای پر خطر برای انسان، خانه ىاری وسرگرمی بوضوح دیده می شود .بطور مثال در کشور ژاپن بیش از سه ونیم میلیون ودر کشور ایالات متحده آمریکا بیش ازیک میلیون و هشتصد هزارربات در حال کار وجود دارد .این در حالی است که این معقولة مطالعاتی در کشور های توسعه نیافته یا در حال توسعه هنوز مورد توجه واقع نیست و ِا بطور شایسته به آن  پرداخته نشده و عقب ماندگی زیادی در این مورد وموارد مشابه حس می گردد.بطوریکه منابع اطلاعاتی این صنعت در کشور ما بسیار محدود است، و معمولاًَ دنانده شركت یا سازمانی در این مورد گامی هم برداشته باشد،  از انتشار ودر اختیار گذاشتن آن برای استفادة دیگران به شدت خودداری می ورزد بابیم آنکه منافع مالی سازمان مورد تهدید واقع شود .

پایان نامه ای که هم اکنون پیش روی شماست حاصل تلاش اینجانب برای بررسی مقدمات علم رباتیک می باشد .هدف این پژوهش مطالعة موتورهای پله ایtepping Motor)   ( ودرگاه موازی کامپیوتر( Parallel Port ) ومیکروکنترلرها(AVR) می باشد .

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

فصل اول

درگاه موازی كامپیوتر

1-1 ) تاریخچه درگاه موازی

وقتی IBM  در سال 1981 ، PC را معرفی كرد، پورت پارالل بعنوان جایگزینی برای پورت سریال، به جهت سرویس دهی و راه اندازی پرینترهای Dot Matrix  با بازده بالا در نظر گرفته شد.

پورت موازی این خاصیت را داشت كه در هر لحظه هشت بیت داده را منتقل كند. این درحالیست كه پورت سریال فقط می توانست یك بیت داده را در هر لحظه منتقل كند. همراه با رشد تكنولوژی، نیاز به اتصالات خروجی قویتر و بزرگتر افزایش یافت، لذا پورت موازی با این هدف كه شما می توانستید وسایل جنبی با بازده بالاتری را به آن متصل كنید، بوجود آمد. این وسایل جنبی هم اكنون شامل محدودة وسیعی از پرینترهای اشتراكی، دیسك درایوهای پرتابل و Tape Backup  گرفته تا آداپتورهای شبكه های محلی ( LAN ) و CD-ROM Player ها می شود .

مشكلاتی كه توسعه دهندگان و خریداران این وسایل جنبی با آن روبرو بوده اند، به سه دسته تقسیم می شد. اول اینكه بازده  PC بصورت هیجان آوری زیاد شده بود، در حالیكه تغییری در ساختمان پورت پارالل احساس نمی شد، چون حداكثر قدرت انتقال توسط این ساختمان حدود 150 كیلو بایت بر ثانیه بود، كه این واقعا نیاز به یك نرم افزار قوی و قدرتمند داشت. دوم، آنكه هیچ استانداردی برای واسط های الكتریكی وجود نداشت، كه این موجب مشكلات فراوانی در ضمانت عملكرد سیستم در محدوده های مختلف می شد. و سرانجام اینكه نقص استانداردهای طراحی، استفاده از كابلهایی با طول بیش از  شش پا را اجازه نمیداد.

در سال 1991 دیداری توسط سازندگان پرینتر برای شروع بحث و مناظره روی گسترش یك استاندارد جدید، برای كنترل هوشمند پرینترها از طریق شبكه برگزار شد. این سازندگان كه شامل Lexmark, IBM, Texas instuments و بقیه می شد، پیمان بین المللی پرینت شبكه ای  ( Network Printing Alliance ) را بوجود آوردند.

NPA مجموعه ای از پارامترهایی را توصیف می كند كه وقتی بر روی پرینتر و میزبان پیاده سازی شود، كنترل كامل كاربردها (Applications) وكارها ( Jobs) را ممكن میسازد.

وقتی كه این كار در حال پیشروی و رشد بود، معلوم شد كه پیاده سازی كامل این استاندارد، به یك ارتباط دو طرفه در PC نیاز خواهد داشت. و به نظر می رسید كه پورت پارالل معمولی PC قادر نبود تا نیازهای مورد نظر این استاندارد را پشتیبانی كند.

NPA  یك پیشنهاد به IEEE ارائه كرد كه برای رسیدن به یك ارتباط دو طرفه سریع بر روی PC  كمیته ای تشكیل دهد. لازم بود كه این كمیته در نظر داشته باشد كه استاندارد جدید باید كاملا سازگار با پورت پارالل اصلی (Original  ) و وسایل جنبی آن باشد. و در عین حال نرخ داده را تا بیشتر از یك مگابایت در ثانیه افزایش دهد. این كمیته استاندارد IEEE 1284  را بوجود آورد.

استانداردIEEE 1284  یا Standard Signaling Method for Bi-directional” “Parallel Pripheral Interface for Personal Computers   برای آخرین ویرایش در مارس 1994 تصویب شد.

1-2)  آشنایی با درگاه موازی

درگاه موازی یا همان  Parallel Port یكی از پورتهای كامپیوترهاست كه اطلاعات از طریق آن خوانده و به كامپیوتر منتقل می شود، و یا بر روی آن نوشته می شود.

دركل IBM سه نوع آداپتور كه شامل پورت موازی پرینتر هستند، برای میكرو كامپیوترهایPC/ XT/ AT   تدارك دیده است. بسته به آنكه كدامیك نصب شده باشند، هر پورت قابل دستیابی دارای یكی از سه آدرس 3BC, 378, 278   (همگی بصورت   HEX) خواهد بود. اكثر PC ها با یك پورت موازی و آنهم با آدرس 378 HEX  تولید شده اند.

پورت موازی   PCبطور اخص برای اتصال پرینترها بوسیلة یك واسط (Interface  )  طراحی شده اند. اما می توان از آن بعنوان یك پورت ورودی/ خروجی عمومی برای هر وسیله یا هر كاربرد دیگری كه با قابلیتهای ورودی و خروجی آن سازگار باشد، استفاده كرد.این پورت دارای 12 بافر TTL است كه قابل نوشتن و خواندن تحت برنامة كنترلی و با استفاده از دستورالعملهای ورود و خروج هستند.

آداپتور كامپیوتر همچنین دارای پنج ورودی مجزا است كه ممكن است توسط دستورالعملهای ورودی پروسسور خوانده شوند. در مجموع یكی از ورودی ها می تواند برای تولید وقفة پروسسور استفاده شود. این وقفه میتواند، تحت برنامة كنترل فعال یا غیر فعال شود. همچنین توسط یك خروجی می توان وسیلة متصل شده به پورت را همزمان با وقفة روشن شدن (   Reset from the Power-on Circuite) راه اندازی كرد.

سیگنالهای خروجی توسط یك متصل كنندة 25 پین از نوع D ، ( D-Type ) كه در پشت آداپتور قرار دارد در دسترس هستند. وقتی كه این پورت برای استفاده از پرینتر در نظر گرفته می شود، اطلاعات و دستورات بصورت هشت بیتی منتقل می شوند، و پایة STROBE  نیز فعال است. در این حالت ممكن است برنامه پینهای ورودی را جهت اطلاع از وضعیت پرینتر بخواند، و سپس كاراكتر بعدی را بفرستد كه این عمل با استفاده از خط “Not Busy”  صورت می گیرد.

همچنین ممكن است اطلاعات بر روی مدار واسط نوشته ویا از روی آن خوانده شود.این كار اجازه می دهد كه وسیلة متصل شده و پورت موازی از هم ایزوله یا مجزا گردند، و آسیبی به آنها وارد نشود.

برای ایزولاسیون پورت و حفاظت از آن راه های مختلفی وجود دارد، كه در شكل های بعدی نمونه هایی از آنها را ملاحظه خواهید كرد. در شكل 1-2 صفحة بعد مدار ایزوله كنندة پورت موازی را كه بوسیله IC 74LS573  صورت گرفته می بینید.

همانطور كه گفته شد، پارالل پورت مهمترین پورت مورد استفاده برای پروژه های دارای مدار واسط است. این پورت امكان استفاده از 9 بیت ورودی یا 12 بیت خروجی را در هر زمان مهیا می سازد. بنا بر این در كوچكتر كردن مدارهای خارجی در بسیاری از پروژه ها به ما كمك میكند. این پورت از 4 خط كنترل، 5 خط وضعیت و 8 خط داده تشكیل شده است.

پورتهای پارالل جدید تحت استاندارد IEEE 1284 ، ویرایش نخست سال 1994 هستند. این استاندارد 5 مود عملیاتی را كه به شرح زیر هستند، تعریف می كند:

1. Compatibility Mode.          
2. Nibble Mode. (Protocol not Described in this Document)
3. Byte Mode. (Protocol not Described in this Document)
4. EPP Mode (Enhanced Parallel Port).
5. ECP Mode (Extended Capabilities Mode).

هدف این بود كه، درایورها و وسایل جانبی، طوری طراحی شوند كه با همدیگر سازگار باشند و همچنین با پورت پارالل استاندارد (SPP  ) نیز سازگاری داشته باشند. مود های Compatibility,Nibble و Byte  فقط از سخت افزارهای استاندارد موجود بر پورت پارالل استاندارد استفاده می كنند، در حالیكه مودهای EPP و ECP نیاز به سخت افزار مضاعفی كه بتواند با سرعت بیشتری عمل كند نیازمندند، درحالیكه همچنان با پورت پارالل استاندارد نیز سازگاری دارند.Compatibility Mode  یا “Centronics Mode” فقط می تواند داده را بصورت یكطرفه با سرعتی معادل 50 Kbyte/s ( حداكثر 150 kb/s ) منتقل كند.

در هر حال برای دریافت داده شما مجبورید از یكی از مود های ”نیبل” یا ”بایت” استفاده كنید. Nibble Mode  می تواند یك نیبل ( 4 بیت ) را از وسیلة جانبی به كامپیوتر منتقل كند.Byte Mode  از خصوصیت دوطرفه (كه روی بعضی از كارتها وجود دارد) برای ورود یك بایت (8 بیت) استفاده می كند.

پورتهای پارالل توسعه یافته و بهبود یافته ( Enhanced and Extended )، سخت افزار مضاعفی را برای ایجاد مدیریت hand shaking استفاده می كنند. برای فرستادن یك بایت به یك پرینتر یا هر وسیلة دیگر، با استفاده از Compatibility Mode  نرم افزار باید مراحل زیر را انجام دهد.

1-  نوشتن یك بایت بر روی پورت داده.

2-  بررسی اینكه آیا پرینتر در وضعیت مشغول است یا نه. اگر پرینتر مشغول باشد هیچ داده ای را نمی پذیرد و داده نوشته شده از دست می رود.

3-  قرار دادن پایه Strobe (پین 1) در حالت Low . این به پرینتر می فهماند كه دادة معتبر روی خطوط داده (پینهای 2 تا 9) قرار دارد.

4-  برگرداندن Strobe  به حالت high پس از حدود 5 میكروثانیه از زمانیكه Strobe به حالت Low رفته بود. (برگشت به قدم سوم).

این عملیات سرعت پورت را محدود می كند. پورتهای ECP & EPP تقریبا به همین شكل عمل می كنند، در حالیكه از hand shaking استفاده می كنند، كه این موجب افزایش سرعت می شود. این پورتها می توانند حدود 1 تا 2 مگابایت بر ثانیه منتقل كنند. همچنین پورت ECP توانایی استفاده از كانالهای DMA (دسترسی مستقیم به حافظه) را دارد، لذا داده می تواند بصورت گردشی شیفت پیدا كند در حالیكه از دستورالعمل I/O استفاده نمی شود.

1-3) پینها وثبات های پورت پارالل

پورت پارالل دارای 25 پایه می باشد كه بترتیب شماره در دیاگرام زیر آمده اند.

Parallel Port Pinout Diagram

Pin

Signal

1

-Strobe

2

Data 0

3

Data 1

4

Data 2

5

Data 3

6

Data 4

7

Data 5

8

Data 6

9

Data 7

10

-Acknowledge

11

Busy

12

Paper Empty

13

+Select

14

-Auto Feed

15

-Error

16

-Init

17

-Slctin

18

Ground

19

Ground

20

Ground

21

Ground

22

Ground

23

Ground

24

Ground

25

Ground

كه اسامی پین ها را در محل واقعی آنها بیان می كند.

IBM-PC Parallel Printer Port Registers & Pinouts

Registers (- unavailable)

Pinouts

Register  DB-25     I/O
Signal Name    Bit      Pin   Direction
===========  ========  =====  =========
-Strobe        ¬C0       1      Output
+Data Bit 0     D0       2      Output
+Data Bit 1     D1       3      Output
+Data Bit 2     D2       4      Output
+Data Bit 3     D3       5      Output
+Data Bit 4     D4       6      Output
+Data Bit 5     D5       7      Output
+Data Bit 6     D6       8      Output
+Data Bit 7     D7       9      Output
-Acknowledge    S6      10       Input
+Busy          ¬S7      11       Input
+Paper End      S5      12       Input
+Select In      S4      13       Input
-Auto Feed     ¬C1      14      Output
-Error          S3      15       Input
-Initialize     C2      16      Output
-Select        ¬C3      17      Output
Ground          -     18-25       -

(Note again that the S7, C0, C1 & C3 signals are inverted)

IBM-PC Parallel Printer Port Female DB-25 Socket external Pin layout

______________________________________________________
/                                                      \
\  13  12  11  10   9   8   7   6   5   4   3   2   1  /
\                                                    /
\  25  24  23  22  21  20  19  18  17  16  15  14  /
\________________________________________________/

So it's also the Pin layout on the solder side of the Male DB-25 Cable Connector that plugs into it

در جدول بعد پینهای خروجی (Pinouts) كانكتورهایD-Type 25 pin وCentronics 36 pin را  مشاهده می كنید. همانطور كه می دانید، كانكتورD-Type 25 pin متداولترین كانكتور پورت پارالل كامپیوتر است، در حالیكه كانكتور Centronics معمولا روی پرینترها دیده می شود. استاندارد IEEE 1284 در مجموع 3 نوع مختلف از كانكتور را برای پورت پارالل بوجود آورد. اولین آن 1284 Type A است، كه همان D-Type 25 pin می باشد، كه در پشت كامپیوترها دیده می شود. دومین نوع آن 1284 Type B یا 36 pin Centronics Connector می باشد، كه در اغلب پرینترها موجود است. نوع سوم آن IEEE 1284 Type C است كه یك 36 Conductor Connector شبیه به Centronics است، در حالیكه كمی كوچكتر می باشد. این كانكتور دارای ویژگیهای نصب آسان، لچLatch) ( بهتر و خصوصیات الكتریكی مناسبتر می باشد. همچنین دارای 2 پین اضافی برای سیگنالهایی است كه می توانند اتصال وسیلة جانبی را، چك كنند. 1284 Type C  برای طراحی های جدید در نظر گرفته شده است، لذا می توان انتظار داشت، كه در آینده كانكتورهای جدیدتر دیگری هم عرضه شوند.

به جدول صفحة بعد كه خصوصیات سخت افزاری پورت و كانكتورها را مورد بررسی قرار داده است، توجه كنید. در این جدول از حرف “n” در جلوی نام بعضی از سیگنالها استفاده شده، كه برای توجه دادن به اینكه آن سیگنال Active Low می باشد، بكار رفته است. بطور مثال nError ، اگر در پرینتر خطایی رخ دهد، این خط Low خواهد شد. این خط بصورت نرمال high می باشد، كه نمایانگر عملكرد صحیح پرینتر است. “hardware inverted” نیز به این معنی است كه سیگنال توسط سخت افزار كارت پارالل معكوس شده است. یك نمونة آن سیگنال Busy است. اگر +5v (منطق1) به این پین نسبت داده شود، و ثبات وضعیت خوانده شود، مقدار 0 در بیت 7 از ثبات داده، مشاهده خواهد شد.

همانطور كه گفته شد، خروجی پارالل پورت بصورت نرمال در سطح منطقی TTL است. غالب پورتهای پارالل می توانند حدود 12 mA بكشند یا بدهند(Sink and Source) . به هر حال بعضی از آنها در Data Sheet خود مقادیر زیر را هم دارند:

Sink 16 mA/Source 4 mA

Sink 12 mA/Source 20 mA

Sink/Source 4 mA

Sink/Source 12 mA

Pin No (D-Type 25)

Pin No (Centronics)

SPP Signal

Direction In/out

Register

Hardware Inverted

1

1

nStrobe

In/Out

Control

Yes

2

2

Data 0

Out

Data

3

3

Data 1

Out

Data

4

4

Data 2

Out

Data

5

5

Data 3

Out

Data

6

6

Data 4

Out

Data

7

7

Data 5

Out

Data

8

8

Data 6

Out

Data

9

9

Data 7

Out

Data

10

10

nAck

In

Status

11

11

Busy

In

Status

Yes

12

12

Paper-Out / Paper-End

In

Status

13

13

Select

In

Status

14

14

nAuto-Linefeed

In/Out

Control

Yes

15

32

nError / nFault

In

Status

16

31

nInitialize

In/Out

Control

17

36

nSelect-Printer / nSelect-In

In/Out

Control

Yes

18 - 25

19-30

Ground

Gnd

Assignments of the D-Type 25 pin Parallel Port Connector.

جدول 1-1

 
 

1-4 ) شرح پینهای درگاه موازی

در این بخش به شرح وظیفة  تك تك پینهای پورت پارالل پرداخته شده است.

1.STROBE signal

سیگنال /STROBE   با پالس زیر ( low pulse ) نشانگر دادة معتبر روی D1..D8  است، كه شما می توانید از این سیگنال برای فرستادن داده به یك  Latch یا Register و یا برای تولید یك وقفه، روی بعضی سخت افزارهای خارجی استفاده كنید.

ممكن است سیگنال /STROBE خیلی صاف نباشد، لذا پالس خروجی یك سیگنال با طول كوتاه و یك سیگنال با طول بلند تا حدی متفاوت خواهد بود كه شما می توانید برای تصحیح آن از یك اشمیت تریگر 74LS14 یا مشابه استفاده كنید، تا یك خروجی پالس مربعی خوب بدست آورید.

2-9.   D1..D8

اینها پایه های خروجی داده هستند كه از نوع TTL   میباشند. در بعضی از ماشینها (بطور مثال Indy) این پایه ها دو طرفه هستند، وقتی كه قرار است اطلاعات خوانده شود، این پایه ها امپدانس بالا ( High Impedance ) میشوند. ( به قسمت PR/SC توجه كنید).

بعضی از ماشینها این پینها را با هم  Latch(چفت و بست) می كنند و بعضی دیگر نه. مطمئن ترین روش اینكار این است كه خودتان آنها را Latch كنید، اینكار موجب می شود كه سخت افزار شما روی هر ماشینی كار كند. ( برای اطلاعات بیشتر می توانید به برنامه Portdemo.c در بخش ضمیمه الف مراجعه كنید.)

/ACKNOWLEDGE

وقتی یك وسیله خارجی اطلاعاتی از منبع خود دریافت كند ( مثلا بعد از پالس /STROBE ) باید یك پالس /ACKNOWLEDGE برای مشخص كردن اینكه انتقال داده با موفقیت انجام شده بفرستد. برای یك خروجی ساده شما می توانید پایه های       /STROBE   و /ACKNOWLEDGE را بهم ببندید ( متصل كنید ) كه در اینصورت خود واسط ( Interface ) به خودش ACKNOWLEDGE میدهد. این به این معناست كه شما می توانید بر روی پورت، با سریعترین سرعت ممكن بنویسید.

BUSY

وسیلة خروجی می تواند پایة BUSY را بصورت سیگنال بالا ( High Signal ) برای اینكه مشخص كند در حالت اشغال است قرار دهد و بفهماند كه قادر به ارتباط (Communicate) نیست. معمولا پرینترها از این پایه برای اعلام اینكه وظیفة وقتگیری در حال اجرا است  استفاده می كنند. (از جمله حركت هد پرینتر ). اگر نمی خواهید از این پایه استفاده كنید می توانید آنرا به یكی از پایه های زمین ( Ground ) متصل كنید.

EOP

پرینتر از این پین در حالت High برای اعلام تمام شدن كاغذ استفاده می كند. ولی شما می توانید از این ورودی برای اهداف دیگری استفاده كنید.

ON LINE

پرینتر از این پایه در حالت High برای اعلام اینكه روی خط ( انتخاب شده  Selected) است، استفاده می كند.

PR/SC

این سیگنال برای اعلام اینكه پورت قصد خواندن و یا نوشتن دارد استفاده می شود. این پین در حالت معمولی بصورت High ( Printer Mode ) می باشد. اما در زمانیكه از پورت بصورت دو طرفه ( Bidirectional )  استفاده می شود، در صورتیكه دستوری برای خواندن داده شود، این پین به حالت Low  می رود ( Scanner Mode ).

FAULT

پرینتر از این پین در حالت  Low   برای اعلام اینكه خطایی اتفاق افتاده استفاده می كند. مثل EOP  ،توجه داشته باشید كه این پین مقدار عكس را بر می گرداند. یعنی اگر این پین در حالت High  باشد، بیت PLPFAULT  مربوطه مقدار صفر را بر میگرداند و بر عكس.

RESET

میزبان ( ماشین ) با قرار دادن این پایه در حالت Low وسیلة خارجی را دوباره تنظیم (RESET) می كند. شما می توانید در هر زمان كه بخواهید Reset ایجاد كنید. (اینكار توسط صدا زدن PLPIOCRESET انجام می شود).

EOI

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

1-5) استاندارد Centronics



Centronicsیك استاندارد قدیمی برای انتقال داده از یك میز بان به یك پرینتر می باشد. اكثر پرینترها از این hand shake استفاده می كنند. این hand shake بصورت نرمال با استفاده از یك پورت پارالل استاندارد، تحت یك نرم افزار كنترلی قابل پیاده سازی است. در زیر یك دیاگرام ساده از پروتكل Centronics آورده شده است.

داده در ابتدا روی پینهای 2 تا 9 پورت پارالل قرار داده می شود، سپس میزبان چك می كند، كه آیا پرینتر مشغول است یا نه. بطوریكه خط Busy  باید در حالت  Lowباشد. برنامه، Strobe را برای حداقل 1 میكروثانیه فعال می كند، و سپس آنرا غیر فعال می كند. داده توسط پرینتر/ وسیلة جنبی در زمان لبة بالا روندة Strobe خوانده می شود. و در این زمان پرینتر از طریق خط Busy می فهماند كه مشغول پردازش داده است. وقتی كه پرینتر داده را پذیرفت، از طریق یك پالس منفی در حدود 5 میكروثانیه، روی خط nAck اعلان پذیرش میكند. در بعضی از مواقع میزبان برای صرفه جویی در وقت از كنترل خط nAck صرف نظر می كند. اخیرا شما در پورتهای ECP یك مود سریع Contronics می بینید، كه به سخت افزار اجازه می دهد، همة hand shakingها را خودش برای شما انجام دهد.فقط برنامه نویس باید داده را روی پورت I/O بنویسد، خود سخت افزار كنترل خواهد كرد كه پرینتر مشغول است یا نه، و Strobe تولید خواهد كرد. این مود معمولا nAck را چك نمی كند.

1-6) آدرسهای پورت   (  Port Addresses )

پورت پارالل دارای 3 پایه آدرس متداول می باشد، كه در جدول زیر آمده است. پایه آدرس 3BCh در واقع برای معرفی پورتهای پارالل، واقع بر ویدئو كارتهای قدیمی بوجود آمد. این آدرس بعدها، وقتی كه پورت پارالل از روی ویدئوكارتها حذف گردید، منسوخ گشت. و امروزه از آن بعنوان انتخابی دیگر برای پورت پارالل، روی مادربوردها استفاده می شود، كه از طریق BIOS قابل تنظیم و تغییر است.

LPT1 بطور نرمال به پایه آدرس 378h اطلاق می گردد، در حالیكه LPT2  به 278h نسبت داده می شود. 278h & 378h همیشه برای استفادة پورت پارالل در نظر گرفته شد. حرف “h” به این معنی است، كه آدرس در مبنای 16 (hexadecimal) است.

Address

Notes:

3BCh - 3BFh

Used for Parallel Ports which were incorporated on to Video Cards - Doesn't support ECP addresses

378h - 37Fh

Usual Address For LPT 1

278h - 27Fh

Usual Address For LPT 2

Port Addressesجدول 1-2 ) آدرس پورتها

وقتی كه كامپیوتر در ابتدا روشن می شود BIOS (Basic Input Output System) تعداد پورتهای موجود را مشخص می كند، و وسایل جانبی را با نامهای LPT1, LPT2, LPT3 را به آنها منتسب می كند. BIOS ابتدا، آدرس 3BCh را كنترل می كند، اگر پورت پاراللی یافت شد آنرا LPT1 فرض می كند. سپس در مكان 378h جستجو می كند، اگر كارت پاراللی در آن یافت شد، به آن برچسب وسیلة آزاد بعدی را لقب خواهد داد. یعنی اگر در مكان 3BCh كارتی یافت نشد، نام آن LPT1 خواهد بود، ولی اگر در 3BCh كارت پاراللی وجود داشت، نام مكان جدید LPT2 خواهد بود.آخرین پورت مورد جستجو 278h خواهد بود كه، روتینی مشابه دو پورت قبل را طی خواهد كرد. چیزی كه مسئله را كمی پیچیده می كند، این است كه بعضی از سازندگان كارتهای پورت پارالل جامپرهایی(jumper) را در نظر گرفته اند كه، به شما اجازه می دهد، تا پورت را روی LPT1, LPT2, LPT3  تنظیم كنید. حال كدام آدرس LPT1 است؟ در اكثر كارتها، 378h ، LPT1 و  278h، LPT2 است. اما بعضی دیگر 3BCh را بعنوان LPT1 و  278hرا بعنوان LPT2 در نظر می گیرند.

وسایل جانبی ملقب به LPT3, LPT2, LPT1 نباید موجب نگرانی كسانی گردد، كه می خواهند وسیله ای را توسط مدار واسط به كامپیوتر خود متصل كنند. اغلب اوقات آدرس پایه را به LPT1 نسبت می دهند. و شما می توانید برای پیدا كردن آدرس LPT1 به Lookup Table مهیا شده توسط BIOS مراجعه كنید. وقتی BIOS آدرسی را به وسیلة متصل شدة شما نسبت میدهد، آن آدرس را در مكان خاصی از حافظه، كه ما می توانیم به آن دسترسی داشته باشیم قرار می دهد. به جدول زیر توجه كنید:

Start Address

Function

0000:0408

LPT1's Base Address

0000:040A

LPT2's Base Address

0000:040C

LPT3's Base Address

0000:040E

LPT4's Base Address (Note 1)

LPT Addresses in the BIOS Data Area                    جدول 1-3)

جدول فوق آدرس پورت پرینترهایی را نمایش می دهد كه ما می توانیم، آنها را در محیط دادة BIOS پیدا كنیم. هر آدرس شامل دو بایت است. نمونه برنامة نوشته شده به زبان C كه در زیر ملاحظه می كنید، نشان می دهد كه چگونه می توان مكان اختصاص داده شده به آدرس پورتهای پرینتر را مشخص نمود.

 
#include 
#include 
 
void main(void)
{
unsigned int far *ptraddr;  /* Pointer to location of Port Addresses */
unsigned int address;       /* Address of Port*/
int a;
 
ptraddr=(unsigned int far *)0x00000408;
 
for (a = 0; a < 3; a++)
{
address = *ptraddr;
if (address == 0)
 
printf("No port found for LPT%d \n",a+1);
else
printf("Address assigned to LPT%d is %Xh\n",a+1,address);
 
*ptraddr++;
}
}

1-7)         ثباتهای نرم افزار در پورت پارالل استاندارد

Software Registers - Standard Parallel Port (SPP)

Offset

Name

Read/Write

Bit No.

Properties

Base + 0

Data Port

Write (Note-1)

Bit 7

Data 7

Bit 6

Data 6

Bit 5

Data 5

Bit 4

Data 4

Bit 3

Data 3

Bit 2

Data 2

Bit 1

Data 1

Bit 0

Data 0

Data Port جدول 1-4)

Note 1 : If the Port is Bi-Directional then Read and Write Operations can be performed on the Data Register.

آدرس پایه معمولا، پورت داده یا ثبات داده نامیده می شود، و عموما برای خروج داده روی خطوط دادة پورت پارالل (پینهای 2 تا 9)  استفاده می شود. این ثبات بطور نرمال تنها یك پورت فقط نوشتنی است. اگر شما از پورت بخوانید، مجبورید آخرین بایت فرستاده شده را دریافت كنید، درحالیكه اگر پورت شما دوطرفه باشد، شما می توانید روی این آدرس، داده دریافت كنید.(برای اطلاعات بیشتر به بخش پورتهای دوطرفه رجوع كنید).

Offset

Name

Read/Write

Bit No.

Properties

Base + 1

Status Port

Read Only

Bit 7

Busy

Bit 6

Ack

Bit 5

Paper Out

Bit 4

Select In

Bit 3

Error

Bit 2

IRQ (Not)

Bit 1

Reserved

Bit 0

Reserved

Status Portجدول 1-5)

پورت وضعیت (base address + 1) یك پورت فقط خواندنی است. هر داده ای كه  روی این پورت نوشته شود، در نظر گرفته نخواهد شد. پورت وضعیت از 5 خط ورودی (پینهای 10، 11، 12، 13 و15) و یك ثبات وضعیت IRQ و دو بیت رزرو ساخته شده است. توجه داشته باشید كه بیت 7 (BUSY) یك ورودی Active Low است. برای مثال اگر بیت هفت نمایش دهندة منطق صفر باشد، بدین معنی است كه ولتاژ +5v روی پین 11 قرار دارد. بطور مشابه اگر بیت 2 (nIRQ) نمایانگر”1” باشد، آنگاه وقفه ای رخ نداده است.

Offset

Name

Read/Write

Bit No.

Properties

Base + 2

Control Port

Read/Write

Bit 7

Unused

Bit 6

Unused

Bit 5

Enable Bi-Directional Port

Bit 4

Enable IRQ Via Ack Line

Bit 3

Select Printer

Bit 2

Initialize Printer (Reset)

Bit 1

Auto Linefeed

Bit 0

Strobe

Control Port جدول 1-6)

پورت كنترل (base address + 2) بصورت یك پورت فقط نوشتنی در نظر گرفته شده است. وقتی كه یك پرینتر به پورت پارالل متصل است، چهار كنترل مورد استفاده واقع شده است، كه شاملStrobe, Auto Linefeed, Initialize  و Select Printer می باشد كه همگی بجز Initialize بصورت معكوس هستند.

پرینتر نه سیگنالی برای مقدار دهی اولیه (Initialize) كامپیوتر می فرستد، و نه به كامپیوتر می گوید كه از auto linefeed استفاده كند. به هر حال این چهار خروجی بعنوان ورودی هم قابل استفاده هستند.وقتی كامپیوتر یك پین را در حالت (+5v) high قرار می دهد، و وسیلة جانبی شما می خواهد آنرا به low تغییر دهد، شما باید بطور موثری پورت را آزاد كنید تا از بروز conflict روی آن جلوگیری شود. به همین دلیل این خطوط، بصورت خروجی open collector هستند. این بدان معنی است كه دارای دو حالت هستند. یك حالت low (0v) و یك حالت امپدانس بالا (مدار باز).

بطور معمول كارت پرینتر، مقاومتهای داخلی از نوع pull-up  خواهد داشت، اما همیشه اینطور نیست. بعضی ها فقط دارای خروجی كلكتور باز هستند، در حالیكه ممكن است بقیه دارای خروجی قطب مضاعف نرمال باشند.در هر حال برای اینكه شما بتوانید وسیله ای بسازید، كه روی اكثر پورتها دارای عملكرد صحیح باشد، می توانید از یك مقاومت خارجی استفاده كنید. از یك مقاومت خارجی 4.7k می توان برای كشیدن پین به high استفاده كرد. وقتی پین پورت پارالل در حالت (+5v) high باشد، وسیلة خارجی می تواند پین را به low بكشد، و پورت كنترل مقدار مخالفی را نشان دهد. از این طریق از چهار پین پورت كنترل می توان بصورت دو طرفه برای انتقال داده استفاده كرد.به هر حال پورت كنترل باید با مقدار xxxx0100 تنظیم شود، تا قادر باشد داده را بخواند، كه در اینصورت همه پینها +5v هستند، و لذا شما می توانید آنرا بسمت زمین (GND) بكشید (منطق صفر كنید).

بیتهای 4و5 كنترلهای داخلی هستند. بیت 4، IRQ را ممكن می سازد(به بخش IRQ پورت پارالل مراجعه كنید) و بیت 5 اجازه استفادة دوطرفه از پورت را می دهد، یعنی شما می توانید 8 بیت را با استفاده از (DATA 0-7) وارد كنید. این مود فقط برای كارتهایی كه آنرا پشتیبانی می كنند ممكن است. بیتهای 6و7 رزرو هستند، هرگونه نوشتاری بر روی این دو بیت نادیده گرفته می شود.

1-8) پورتهای دو طرفه   (  Bi-directional Ports  )


دیاگرام شماتیك زیر نمایی ساده از رجیستر دادة پورت پارالل را نشان میدهد. پیاده سازی كارتهای پورت پارالل اصلی بصورت منطق 74LS است. امروزه همة اینها بصورت مجتمع در یك ASIC قرار دارند، ولی تئوری عملكرد آنها هنوز یكسان است.

پورتهای غیر دوطرفه كه با خروجی 74LS374 ساخته شده اند، بصورت همیشه خروجی استفاده می شوند. وقتی شما رجیستر دادة پورت پارالل را می خوانید، داده ها از طریق 74LS374 كه به پینهای داده متصل هستند وارد می شوند. پورتهای دوطرفه از بیت كنترل 5 كه به پایة Output Enable آی سی 374 متصل است، استفاده می كنند، لذا راه اندازهای خروجی قابلیت خاموش شدن دارند. از این طریق شما می توانید داده های موجود بر پینهای دادة پورت پارالل را بدون اینكه تضادی (conflict) ایجاد شود بخوانید.

بیت 5 كنترل عملكرد دوطرفة پورت پارالل را فعال یا غیر فعال می كند، كه فقط روی پورتهای دوطرفه ممكن است.وقتی كه این پین ‘1’ می شود، پینهای 2 تا 9 به حالت امپدانس بالا می روند. در این حالت شما می توانید یكبار بر روی این خطوط داده وارد كنید، و آنرا از پورت داده (آدرس پایه) بازیابی كنید. هر داده ای كه روی پورت داده نوشته شود ذخیره خواهد شد، ولی روی پینهای داده قابل دسترسی نخواهد بود. برای خاموش كردن مود دوطرفه، بیت 5 پورت كنترل را ‘0’ كنید.

به هر حال همة پورتها یكسان نیستند. در برخی از پورتها نیاز است كه بیت 6 پورت كنترل برای فعال كردن مود دوطرفه، وبیت 5 برای غیر فعال كردن مود دوطرفه set گردد. سازندگان مختلف، پورتهای دوطرفه خود را بصورتهای مختلفی پیاده سازی كرده اند. اگر شما قصد دارید تا از پورت خود برای ورود داده استفاده كنید، ابتدا آنرا با یك پروب منطقی یا مولتی متر كنترل كنید، تا از قرار داشتن آن در مود دوطرفه مطمئن شوید.

قیمت فایل فقط 22,100 تومان

خرید

برچسب ها : درگاه موازی كامپیوتر , ربات های قابل برنامه ریزی , پینهای درگاه موازی , دستگاه های CNC

نظرات کاربران در مورد این کالا
تا کنون هیچ نظری درباره این کالا ثبت نگردیده است.
ارسال نظر