مقدمه
هدف از اين پروژه طراحي و ساخت PLC ساده اي توسط ميكروكنترلر ۸۰C196 است پس جا دارد آشنايي كلي با PLC پيدا كنيم.
PLC از عبارت Programmable Logic Controller گرفته شده است و همانطور كه از اين عبارت استنباط مي شود، كنترل كننده نرم افزاري است كه ورودي هاي آن اطلاعات را به صورت ديجيتال يا آنالوگ دريافت مي كند و پس از پردازش فرمانهاي مورد نظر به محركها ارسال مي شود. البته در نظر داشته باشيد آنچه كه وارد بخش پردازش مركزي مي شود اطلاعات ديجيتال است، يعني اگر ورودي ها آنالوگ باشند با گذر از A/D، معادل ديجيتال آنها وارد واحد پردازش مركزي مي شود. در يك سيستم PLC ورودي ها و خروجي ها هيچ ارتباط فيزيكي با هم ندارند. به بيان ساده‌تر PLC نقش يك واسطه را بازي مي كند. بخشهاي مختلف PLC شامل منبع تغذيه، واحد پردازش مركزي، واحد ورودي، واحد خروجي و واحد برنامه ريز (PG) مي‌باشد.

سادگي ايجاد تغييرات و توانايي گسترده يك سيستم اتوماسيون صنعتي كه در آن PLC به عنوان كنترل كننده مركزي به كار گرفته شده است به طراحان ماشين اين امكان را مي دهد آنچه را در ذهن دارند در اسرع وقت بيازمانيد و به ارتقاي كيفيت محصول توليدي خود بپردازند. كاري كه در سيستم هاي قديمي معادل صرف هزينه و بخصوص زمان بود؛ بطوريكه باعث مي شد هيچگاه ايده هاي نو به مرحله عمل در نيايد، به راحتي در اين نوع سيستم قابل اجراست. در بخشهاي بعدي ضمن نگاهي به تاريخچه PLC، به مقايسه PLC با ساير سيستم هاي كنترل و انواع آن و بررسي عملكرد اجزاء PLC مي پردازيم.

۱-۱) تاريخچه PLC
نخستين گامها براي ساخت و استفاده از PLC در اواخر دهه ۱۹۶۰ و اوايل دهه ۱۹۷۰ ميلادي برداشته شد. شركت Bedford Association كه بعد به نام Modicon تغيير نام داد و همزمان با آن شركت Allen-Bradly كه در سال ۱۹۶۹ اولين PLC را عرضه كردند را مي توان پيشگامان ارايه PLC دانست.
اولين نمونه هاي PLC به ورودي خروجي هاي ديجيتال و دستورات منطقي ساده اكتفا كرده‌بودند. بتدريج نمونه‌هاي كاملتري عرضه‌شدند كه تعداد ورودي خروجي‌هاي بيشتري دارا بودند. قابليت ورودي و خروجي آنالوگ داشتند و از دستورات پيچيده‌تري بهره مي بردند. قوم هاي بعدي امكان تشكيل شبكه اي از PLCهاي كوچك براي كنترل پروسه هاي بزرگ و به كارگيري كارت هاي كنترل كننده PID، Communication و… را فراهم ساخت.

۱-۲) قابليتها و امكانات مورد نياز PLC
از آنجا كه PLC ها اصولاً براي سيستم هاي صنعتي طراحي شده اند و بايد توان جايگزيني سيستم هاي قديمي را دارا باشند، بايد امكانات و قابليت هايي كه در مورد PLC در نظر گرفته شود. در اين بخش به اين موارد اشاره كرده و در جاي خود به توضيحات بيشتر مي پردازيم.
۱-۲-۱) ايمني نسبت به نويز
محيط صنعتي بدليل وجود دستگاههاي مختلف كه با ولتاژها و جريانهاي بالا كار مي كنند و بر محيط اطراف خود تاثيرات الكترومغناطيسي گسترده اي مي گذارند، محيطي آلوده به نويز است. بديهي است براي آنكه PLC قادر به كاركردن در اين محيط باشد نياز به ايمن سازي نسبت به اين نويزها دارد.

۱-۲-۲) ساختار قابل گسترش
چنانچه اشاره شد PLC يك سيستم عمومي است كه انتظار مي رود از عهده كنترل سيستم هاي مختلف بر آيد. ساختار قابل گسترش اين امكان را فراهم مي آورد كه كم و زياد كردن واحدهاي ورودي وخروجي با قابليت هاي گوناگون و ايجاد تغييرات و انعطاف در برابر سيستم هاي مختلف بسادگي امكان پذير باشد.
در PLCهاي جديد مي توان به راحتي و با هزينه مناسب نسبت به كار خواسته شده واحدهاي مختلف از قبيل Analog I/O و… را به سيستم اضافه كرد.
۱-۲-۳) سطوح سيگنال و اتصالات ورودي- خروجي استاندارد
ساختمان مدولار PLC و امكان گسارش و اضافه كردن مدولهاي مختلف نياز به يك استاندارد براي سطح ولتاژ و اتصالات را مي طلبد تا واحدهاي مختلف بهنگام اتصال به يكديگر مشكلي بوجود نياورده و با هم سازگار باشند.

۱-۲-۴) ايزولاسيون
از آنجا كه سيگنالهاي ورودي و دستگاههاي خروجي از ولتاژ و جريانهاي به مراتب بالاتر از جريان و ولتاژ مدارهاي ديجيتال برخوردارند. براي آنكه اين ولتاژها و جريانها روي قسمت هاي ديجيتال مدار تاثير نداشته باشند و باعث آسيب ديدن سيستم نشوند، بايد به نوعي جداسازي اين دو بخش انجام شود. اين عمل معمولاً توسط اپتوكوپلر و رله هاي در ورودي خروجي ها انجام مي گيرد. بدين ترتيب ارتباط الكتريكي ورودي خروجي از مدار ديجيتال قطع شده و ايزولاسيون مناسبي صورت خواهد گرفت.

۱-۲-۵) سهولت برنامه ريزي و تغيير برنامه PLC در محيط صنعتي
يكي از مزاياي سيستم صنعتي مناسب، سهولت برنامه ريزي و قابليت انعطاف‌پذيري فوق العاده آن مي باشد بطبع اين امكان بايد در PLC بعنوان سيستمي فراگير در صنعت پيش بيني شده باشد. براي اين منظور از كامپيوتر شخصي يا برنامه ريز مخصوص (PG) استفاده مي شود.

۱-۲-۶) سهولت و سادگي زبان برنامه نويسي
يكي از اهداف طراحان PLC قابليت برنامه ريزي PLC توسط افرادي غير متخصص با معلوماتي در حد تكنسين ها است. براي تامين اين هدف، زبانهاي PLC بسيار ساده، قابل فهم و منطبق با نيازهاي صنعتي و مدارات فرمان در نظر گرفته شده‌اند كه در مدت بسيار كوتاهي قابل يادگيري مي باشند.

۳- بخش سخت افزار
بخش سخت افزار پروژه را مي توان به پنج قسمت تقسيم كرد:
۱- برد اصلي
۲- برد digital input
3- برد digital output
4- back plain
5- برد Power
1-3) برد اصلي
۱-۱-۳) بخش اصلي برد مركزي ميكروكنترلر ۸۰۱۹۶ مي باشد. اين ميكرو بدليل توانايي هاي زياد و نيز سرعت بالا در پردازش اطلاعات به عنوان ميكروكنترلر مركزي انتخاب شده است.

۸۰C196 يك ميكروكنترلر ۱۶ بيتي از خانواده MCS-96 است كه عمليات داخلي آن با تكنولوژي CHMOS انجام مي گيرد. حال نگاهي كلي به توانايي هاي ميكروكنترلر ۸۰C196 مي اندازيم:
* توانايي كار در دماي محيط ۴۰- تا ۱۲۵ درجه سانتيگراد
* ‌۲۳۲ بايت RAM داخلي در نوع KB و ۴۸۸ بايت در نوع KC
* 8 كيلو بايت ROM داخلي در ۸۳C196KB
* 16 كيلوبايت ROM داخلي در ۸۳C196KC و ۸۷C196KC
* انجام عمليات داخلي با تكنولوژي CHMOS با راندمان بالا و تلفات توان ناچيز

* عمليات داخلي با ساختار رجيستر به رجيستر
* مبدل A/D همراه با Sample & Hold
در نوع KB: بيتي ۱۰
در نوع KC: تبديل به دو صورت ۱۰ بيتي و ۸ بيتي با امكان تعيين سرعت تبديل
* پنج پورت ۸ بيتي به عنوان I/O
* 28 مرجع وقفه
* قابليت PTS فقط در نوع KC
* خروجيهاي PWM:
در نوع KB: يك خروجي PWM
در نوع KC: سه خروجي PWM
* حالت هاي Power Down و Idle براي كاهش توان مصرفي ميكروكنترلر
* پايه هاي ورودي و خروجي با سرعت بالا (HSO, HIS)
* قابليت تغيير پهناي Bus بين ۸ و ۱۶بيت به صورت ديناميك
* پورت سريال Foll Duplex
* مولد اختصاصي Baud Rate براي پورت سريال (دقت بالا)
* ضرب دو عدد ۱۶ بيتي در مدت زمان:
در نوع KB: 725/1 ميكروثانيه (با كريستال ۱۶ MHZ)
در نوع KC: 4/1 ميكروثانيه (با كريستال ۲۰ MHZ)
* تقسيم يك عدد ۳۲ بيتي به يك عدد ۱۶ بيتي در مدت زمان:
در نوع KB: 3 ميكرو ثانيه (با كريستال ۱۶ MHZ)
در نوع KC: 4/2 ميكروثانيه (با كريستال ۲۰ MHZ)
* تايمر ۱۶ بيتي به عنوان TIMER 1
* شمارنده صعودي/ نزولي ۱۶ بيتي با قابليت Capture
* 4 تايمر نرم افزاري ۱۶ بيتي
* پروتكل اشتراك باس HOLD/HOLDA
* توانايي كار با كريستالهاي ۳٫۵ Mhz تا ۱۶ Mhz
اين ميكروكنترلر در سه نوع بسته بندي زير ساخته شده است:
PLCC با ۶۸ پايه
QFP با ۸۰ پايه
SQFP با ۸۰ پايه
كه در اين پروژه از ساختار PLCC استفاده شده است.

۲-۱-۳) توضيحي در مورد نحوه اتصالات پايه هاي ميكروز
همانطور كه در شكل شماره ۱ نيز مشاهده مي نمائيد: پايه هاي شماره ۴،۵،۶و۷ كه مربوط به پورت صفر ميكرو هستند به عنوان ورودي A/D انتخاب شده اند.
پايه هاي ۲۴ و ۲۵ به ترتيب به عنوان پايه هاي HSI.0 و HSI.1 انتخاب شده است.
پايه هاي ۲۶-۲۷-۲۸-۲۹-۳۴ و ۳۵ به عنوان پايه هاي HSO انتخاب شده اند.
پايه هاي شماره ۸ و ۳۸ به ترتيب به عنوان RTS و CTS براي ارتباطات سريال انتخاب شده اند.
پايه هاي شماره ۱۰-۳۳و۲۰ به ترتيب به عنوان ورودي از E2PROM سريال، خروجي به E2PROM سريال و CIK به E2PROM سريال انتخاب شده اند.
پايه هاي شماره ۲۲،۲۳ و ۳۹ به عنوان خروجي PWM انتخاب شده اند.
پايه هاي ۱۱و۲۱و۳۰و۳۱ به ترتيب به عنوان IREQ، IORESET، IORW و STB انتخاب شده اند.
پايه شماره ۶۲ كه ALE مي باشد جهت Enable كردن Latchهاي آدرس متصل به ميكرو انتخاب شده است.
پايه شماره ۶۴ كه Bus Width است جهت انتخاب باس ۸ تايي زمين شده است.
پايه هاي شماره ۴۵ تا ۶۰ كه مربوط به پورت ۳و۴ هستند جهت باس انتخاب شده‌اند.
در مدار از كريستال ۱۶ Mhz استفاده شده است.

۳-۱-۳) بخش حفاظت و ولتاژ مرجع A/D ميكرو
بنا به نظر شركت سازنده ميكرو براي محافظت قسمت A/D ميكروكنترلر بايد مداري مانند مشكل شماره ۲ بسته شود اين مدار باعث مي شود ولتاژ ورودي A/D كنتر از ANGND و بيشتر از UREF نگردد.
براي ولتاژ مرجع A/D از LM336 استفاده شده است كه خروجي مدار ولتاژ مرجع ۵ ولت مي باشد.