• بازدید : 68 views
  • بدون نظر
این فایل در ۱۵صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:

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
۳- برد digital output
۴- back plain
۵- برد Power
۱-۳) برد اصلي
۱-۱-۳) بخش اصلي برد مركزي ميكروكنترلر ۸۰۱۹۶ مي باشد. اين ميكرو بدليل توانايي هاي زياد و نيز سرعت بالا در پردازش اطلاعات به عنوان ميكروكنترلر مركزي انتخاب شده است.
۸۰C196 يك ميكروكنترلر ۱۶ بيتي از خانواده MCS-96 است كه عمليات داخلي آن با تكنولوژي CHMOS انجام مي گيرد. حال نگاهي كلي به توانايي هاي ميكروكنترلر ۸۰C196  مي اندازيم:
* توانايي كار در دماي محيط ۴۰- تا ۱۲۵ درجه سانتيگراد
* ‌۲۳۲ بايت RAM داخلي در نوع KB و ۴۸۸ بايت در نوع KC
* ۸ كيلو بايت ROM داخلي در ۸۳C196KB
* ۱۶ كيلوبايت ROM داخلي در ۸۳C196KC و ۸۷C196KC
* انجام عمليات داخلي با تكنولوژي CHMOS با راندمان بالا و تلفات توان ناچيز
* عمليات داخلي با ساختار رجيستر به رجيستر
* مبدل A/D همراه با Sample & Hold
   در نوع KB: بيتي ۱۰
   در نوع KC: تبديل به دو صورت ۱۰ بيتي و ۸ بيتي با امكان تعيين سرعت تبديل
* پنج پورت ۸ بيتي به عنوان I/O
* ۲۸ مرجع وقفه
* قابليت PTS فقط در نوع KC
* خروجيهاي PWM:
در نوع KB: يك خروجي PWM
در نوع KC: سه خروجي PWM
  • بازدید : 57 views
  • بدون نظر
این فایل در ۲۰صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:


در جلسه اول به آشنایی IC 89S51 و محیط  برنامه پروگرامر و چگونگی برنامه نویسی و چک کردن IC ،campile  کردن و write کردن برنامه روی میکرو آشنا شدیم .
همچنین چگونگی  مدار راه انداز IC  ، تغذیه IC ومدار reset   ICرا شناختیم.
در این آزمایش به ساخت یک موج مربعی توسط دستورات SETB و CLR پرداختیم.
این برنامه را روی پایه صفر پورت اول (  P1.0) که پایه شماره  1 IC   است ایجاد کردیم.
نمایش حروف و اعداد روی LCD توسط IC8051:

برای نمایش کلمه ” ALI” بر روی LCD، به ترتیب زیر عمل می کنیم: 
در نوشتن برنامه برای از دستورات Cwr یعنی ارسال فرمان و Dwr برای ارسال Data و Lcall Delay به تکرار استفاده می شود. چون در هر صورت برای ارسال دیتا یا فرمان باید روی پایه E یک گذر یک به صفر داشته باشیم. که این عمل توسط دستورات Cwr و Dwr انجام می شود.
پایه چهار LCDکه پایه RS است، اگر یک باشد فرمانی است تا دیتا برای نمایش ارسال گردد و اگر صفر باشد برای ارسال فرمان است. در نوشتن برنامه برای LCD باید ترتیبی خاص را حفظ کنیم، از جمله آنها روشن کردن LCD و کرسر است که با کد #۰EH انجام می شود و همچنین دستور صفحه نمایش پاک که با کد  #1مشخص می شود یا دستور کرسر شیفت به راست که با کد #۶ مشخص می گردد. این دستورات که با کدهای مختلف مشخص شده است و هر یک عمل خاصی را روی LCD به نمایش می گذارند، بسته به ابداعات و خلاقیتهای مختلف، متفاوت است. 
 برای اینکه کلمه “ALI” در وسط LCD به نمایش گذاشته شود، باید کد خانه A که حرف اول کلمه ALI داخل خانه #۳۸H قرار گیرد. پس برنامه امان را با قرار دادن کد #۳۸H داخل رجیسترA شروع می کنیم. برای نمایش حروف و اعداد روی LCD باید به LCD مهلت داد تا بتواند حروف و اعداد را روی خود به نمایش بگذارد، بنابراین پس از هر برنامه یک تاخیر ۵ms باید قرار گیرد که این عمل توسط دستور Lcall Delay انجام می شود
وصل کردن ADCبه میکرو:
ADCبه صورتICبوده که سیگنال آنالوگ را به باینری تبدیل میکند.مثلاًبرای ۰تا۵ ولت به صورت زیر است.        0~00000000=0(0 باینری)             و     5~11111111=255(255باینری)
برای تبدیل میتوان از فرمول روبه رو استفاده کرد:(برای ۵ولت)            N=5/255~20mv
واگر برای یک ولت خواسته باشیم   1=1000mv         1000/20=50 (50باینری)
پس طبق مثال بالا برای یک ولت عدد۵۰ باینری در خروجی ADCنمایان میشود.
IC   ADCیک دیپ ۲۰ پایه بوده که پایه ۲۰آنVCC وپایه۱۰آن زمین است
پایه۲ برای خواندن اطلاعات است پس آن را زمین میکنیم 
پایه ۳برای شروع تبدیل است وبرا شروع باید یک پالس با لبه پایین به آن برسد
پایه شماره ۴ پایه کلاک بوده که بایک مقاومت وخازن به پایه۱۹وصل میشود
پایه شماره ۵ بعد از هر تبدیل پک پالس با لبه پایین تولید میکند که میتوان برای اتوماتیک کردن تبدیل آن را به پایه شماره ۳وصل کنیم
پایه شماره ۶ورودی سیگنال بوده است
پایه شماره۷ منفی سیگنال بوده که به زمین وصل میشود
پایه شماره۸ به زمین وصل میشود
پایه شماره ۹ برای تعیین مقدار ورودی است مثلاً اگر به پایه ۹ ولتاژ۲٫۵ولت را بدهیم میتوانیم به ورودی ولتاژ۵ولت را بدهیو یعنی هر ولتاژی که به پایه ۹ داده شود میتوان ۲برابر آن را به ورودی داد.
پایه های۱۱تا۱۸خروجی ADCهستند.
  • بازدید : 50 views
  • بدون نظر
این فایل در ۱۸صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:

خصوصيات  Atmega 16:
* ازمعماري AVR RISC استفاده مي كند.
كارايي بالا وتوان مصرفي كم
داراي ۱۳۱ دستورالعمل با كارايي بالا كه اكثراً تنها دريك كلاك سيكل اجرا مي شوند.
رجيستر كاربردي.
سرعتي تا ۱۶ MISP در فركانس ۱۶MHZ.
* حافظ برنامه وداده غير فرار
۳۲ كيلوبايت حافظ FLASH قابل برنامه ريزي داخلي.
پايداري حافظه FLASH قابليت ۱۰۰۰ بارنوشتن وپاك كردن
۲كيلو بايت حافظه داخلي SRAM
۱ كيلو بايت حافظه EEPROM داخلي قابل برنامه ريزي.
پايداري حافظه EEPROM: قابليت ۱۰۰۰۰ بارنوشتن وپاك كردن.
قفل برنامه FLASH وحفاظت داده EEPROM
* قابليت ارتباط JTAG(IEEE std.)
* خصوصيات جانبي دوتايمر- كانتر هشت بيتي با PRESCALER مجزا وداراي مد COMPARE
يك تايمر كانتر شانزده بيتي با PRESCALER مجزا وداراي مدهاي COMPARE و CAPTURE
۴ كانال PWM
۸ كانال مبدل آنالوگ به ديجيتال ۱۰بيتي
يك مقايسه كننده آنالوگ داخلي
داراي RTC(REAL-TIME CLOCK) با ايسلاتورمجزا.
WATCH DOG قابل برنامه ريزي با ايسلاتورداخلي
ارتباط سريال SPI براي برنامه ريزي داخلي مدار
قابليت ارتباط سريال SPI به صورتMASTER  يا SLAVE
قابليت ارتباط با پروتكل سريال دوسيمه(TOW-WIRE)
* خصوصيات ويژه ميكروكنترلر
مدار POWER-ON RESET CIRCUIT
BROWN- OUT DETECTION قابل برنامه ريزي
منابع وقفه (INTERRUPT) داخلي وخارجي
داراي ايسلاتور RC داخلي كاليبره شده.
عملكرد كاملاً ثابت.
توان مصرفي پايين وسرعت بالا توسط تكنولوژي CMOS
* خطوط  وانواع بسته بندي
۳۲ خط ورودي/ خروجي ( ) قابل برنامه ريزي.
۴۰ پايه (PIN) نوع PDIP، ۴۴ پايه نوع TQFP، ۴۴ پايه MLF
* تركيب پايه ها 
فيوزهاي بيت  ATMEGA 16
OCDEN: درصورتي كه بيت هاي قفل برنامه ريزي شده باشند برنامه ريزي اين بيت به همراه بيت JTAGEN باعث مي شود كه سيستم ON CHIP DEBUG فعال شود. برنامه ريزي شدن اين بيت به قسمت هايي ازميكرو امكان مي دهد كه درمدهاي SLEEP كاركنند كه اين خود باعث افزايش مصرف سيستم مي گردد. اين بيت به صورت پيش فرض برنامه ريزي نشده(۱) است.
JTAGEN: بيتي براي فعال سازي برنامه ريزي ميكرو از طريق استاندارد ارتباطي IEEE كه درحالت پيش فرض فعال است وميكرو مي تواند از اين ارتباط براي برنامه ريزي خود استفاده كند.
پايه هاي PC 5002 در اين ارتباط استفاده مي شود.
SPIEN: درحالت پيش فرض برنامه ريزي شده وميكرواز طريق سريال SPI برنامه ريزي 
مي شود.
CKOPT: انتخاب كلاك كه به صورت پيش فرض برنامه ريزي نشده است عملكرد اين بيت بستگي به بيت هاي CKSEL دارد.
EESAVE: درحالت پيش فرض برنامه ريزي نشده ودرزمان پاك شدن ميكرو حافظه EEPROM پاك مي شود ولي درصورتي كه برنامه ريزي شود محتويات EEPROM درزمان پاك شدن ميكرو، محفوظ مي ماند.
BOOTZ 0, BOOTSZ 1: براي انتخاب مقدار حافظه BOOT طبق جدول زير برنامه ريزي مي شود ودرصورت برنامه ريزي فيوز بيت BOOTRS اجراي برنامه از آدرس حافظه BOOT آغاز خواهد شد.
پيكره بندي پورت ها
براي تعيين جهت پايه پورت ها از اين پيكره بندي استفاده مي كنيم. جهت يك پايه 
مي تواند ورودي يا خروجي باشد.
CoFig portx= state
ConFig pinx.y= state
X,y بسته به ميكرو مي توانند به ترتيب پايه هاي ۰ تا ۱ پورت هاي A,B,C,D,E,F باشند. STATE نيز مي تواند يكي از گزينه هاي زير باشد: 
INPUT يا۰: در اين حالت رجيستر جهت داده پايه يا پورت انتخاب صفر مي شود وپايه يا پورت به عنوان ورودي استفاده مي شود.
OUTPUT يا ۱: در اين حالت رجيستر جهت داده پايه يا پورت انتخاب يك مي شود وپايه يا پورت به عنوان ورودي استفاده مي شود.
زماني كه بخواهيد از پورتي بخوانيد بايستي از رجيستر PIN پورت مربوط استفاده كنيد ودر هنگام نوشتن در پورت بايستي در رجيستر PORT بنويسيد.
بررسي پورت هاي ميكروATMEGA 32
در اين بخش قصد داريم براي آشنايي بيشتر با عملكرد پورت ها ورجيسترهاي مربوطه به طور نمونه به بررسي پورت هاي ميكرو ATMEGA 32 بپردازيم.
پورت A
پورت A يك   دو طرفه ۸ بيتي است. سه آدرس از مكان حافظه   اختصاص به PORT دارد. يك آدرس براي رجيستر داده PORT، دومي رجيستر جهت داده DDRA وسومي پايه ورودي پورت PIN, A است. آدرس پايه هاي ورودي پورت A فقط قابل خواندن است درصورتي كه رجيستر داده ورجيستر جهت داده هم خواني وهم نوشتني هستند. تمام پايه هاي پورت داراي مقاومت Pull- up مجزا هستند. بافر خروجي پورت Aمي تواند تا Ma20 را Siml كند درنتيجه LED را مستقيماً راه اندازي كند. هنگامي كه پايه هاي PA0-PA 1 با مقاومت هاي Pull- down خارجي، خروجي استفاده ميشوند، آن ها SOURCE جريان مي شوند زماني كه مقاومت هاي Pull- up داخلي فعال باشند.
(رجيسترهاي پورت A)
رجيسترهاي پورت A عبارتند از:
رجيستر داده پورت  
رجيستر جهت داده پورت DDRA-A
بايت آدرس پايه هاي ورودي پورت PINA-A
PINA يك رجيستر نيست اين آدرس دسترسي به مقدار فيزيكي بر روي هريك از پايه هاي پورت A را ممكن مي سازد. زماني كه پورت A خوانده مي شود، داده لچ پورت A خوانده مي شود وزماني كه از PINA خوانده مي شود مقدار منطقي كه برروي پايه ها موجود است خوانده مي شود.
Comment Pull_up  
PUD in SFLOR PORTxn DDXN
Tri_ State(Hi-z) No Input X 0 0
Pxn will source
Current if ex1. Pulled low Yes Input 0 1 0
Tri- state (Hi-z) No Input 1 1 0
Output low(sink) No Output X 0 1
Output High(source) No Output X 1 1

تمام ۸ پايه موجود زماني كه به عنوان پايه هاي   ديجيتال استفاده مي شوند داراي عملكرد مساوي هستند. PAN، پايه ي   عمومي، بيت DDAn در رجيستر DDRA مشخص كننده جهت پايه است. اگر DDAn يك باشد، Pan به عنوان يك پايه ي خروجي مورد استفاده قرار مي گيرد واگر DDAn صفرباشد، Pan به عنوان يك پايه ورودي در نظر گرفته مي شود. اگر port An يك باشد هنگامي كه پايه به عنوان ورودي تعريف شود، مقاومت Pull-up فعال مي شود براي خاموش كردن مقاومت بايد port An صفر شود يا اين كه پايه به عنوان خروجي تعريف شود. پايه هاي پورت زماني كه ري ست(Reset) اتفاق مي افتد، به حالت Tri-state مي رود.
ديگر كاربردهاي پورت A
پورت A به عنوان ADC هم استفاده مي شود. اگر تعدادي از پايه هاي پورت A خروجي تعريف شوند اين نكته بسيار مهم است كه درزمان نمونه برداري از سيگنال آنالوگ توسط ADC سوئيچ نشوند. اين كار ممكن است عمليات تبديلي ADC را نامعتير كند.
پورت B
پورت B يك   دو طرفه ۸ بيتي است. سه آدرس از مكان حافظه   اختصاص به PORT B دارد. يك آدرس براي رجيستر داده PORT B دومي رجيستر جهت داده DDR B وسومي پايه ورودي پورت B، PIN B است. آدرس پايه هاي ورودي پورت B فقط قابل خواندن است درصورتي كه رجيستر داده ورجيستر جهت داده هم خواندني وهم نوشتني است. پايه هاي پورت داراي مقاومت Pull-up مجزا هستند بافر خروجي پورت B  مي تواند با mA20 را sink كند ودر نتيجه LED را مستقيماً راه اندازي كند. هنگامي كه PBO-PB7 با مقاومت هاي Pull-DOWN، خروجي استفاده مي شوند، آن ها SOURCE جريان مي شوند زماني كه مقاومت هاي Pull-up داخلي فعال باشند.
رجيستر هاي پورت B
رجيسترو داده پورت PORT B-B
رجيستر جهت داده پورت DDRB- B
بايت، آدرس پايه هاي ورودي پورت PIN B-B
PIN B يك رجيستر نيست. اين آدرس دسترسي به مقدار فيزيكي بر روي هريك از 
پايه هاي پورت B راممكن مي سازد. زماني كه پورت B خواننده مي شود، داراي لچ پورت B خوانده وزماني كه از PINB خوانده مي شود مقدار منطقي كه بر روي پايه هاي موجود است خوانده مي شود.
(استفاده از پورت B بعنوان يك   عمومي ديجيتال)
تمام ۸ پايه موجود زماني كه به عنوان پايه هاي   ديجيتال استفاده مي شوند داراي عملكرد مساوي هستند. PBN، پايه   عمومي، بيت DDBn در رجيستر DDRB مشخص كننده جهت پايه است، اگر DDBn يك باشد، PBN به عنوان يك پايه خروجي مورد استفاده قرار مي گيرد واگر DDBn صفر باشد، PBn به عنوان يك پايه ورودي درنظر گرفته مي شود. اگر Port Bn يك باشد هنگامي كه پايه به عنوان ورودي تعريف مي شود، مقاومت Pull-up فعال مي شود براي خاموش كردن مقاومت Pull-up بايد Port Bn صفر باشد يا اين كه پايه عنوان خروجي تعريف شود. پايه هاي پورت زماني كه ري ست(Reset) اتفاق مي افتد به حالت Tri-state مي روند.
  • بازدید : 45 views
  • بدون نظر
این فایل در ۲۷صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:

قطعات مورد نياز برای ساخت ترموستات :
ATMEGA161) ميکروکنترلر
  LM35 2) سنسور حرارتی 
کارکتری   LCD3)  
 LED 4) 
۵) مقاومت ۱کيلو 
۶)يک عدد خازن 
۷)يک عدد خازن  
۸)رگولاتور ۷۸۰۵
۹)منبع تغذيه ۶V-9V
 
ميكروگنترلر Atmega 16
خصوصيات  Atmega 16:
* ازمعماري AVR RISC استفاده مي كند.
كارايي بالا وتوان مصرفي كم
داراي ۱۳۱ دستورالعمل با كارايي بالا كه اكثراً تنها دريك كلاك سيكل اجرا مي شوند.
رجيستر كاربردي.
سرعتي تا ۱۶ MISP در فركانس ۱۶MHZ.
* حافظ برنامه وداده غير فرار
۳۲ كيلوبايت حافظ FLASH قابل برنامه ريزي داخلي.
پايداري حافظه FLASH قابليت ۱۰۰۰ بارنوشتن وپاك كردن
۲كيلو بايت حافظه داخلي SRAM
۱ كيلو بايت حافظه EEPROM داخلي قابل برنامه ريزي.
پايداري حافظه EEPROM: قابليت ۱۰۰۰۰ بارنوشتن وپاك كردن.
قفل برنامه FLASH وحفاظت داده EEPROM
* قابليت ارتباط JTAG(IEEE std.)
* خصوصيات جانبي دوتايمر- كانتر هشت بيتي با PRESCALER مجزا وداراي مد COMPARE
يك تايمر كانتر شانزده بيتي با PRESCALER مجزا وداراي مدهاي COMPARE و CAPTURE
۴ كانال PWM
۸ كانال مبدل آنالوگ به ديجيتال ۱۰بيتي
يك مقايسه كننده آنالوگ داخلي
داراي RTC(REAL-TIME CLOCK) با ايسلاتورمجزا.
WATCH DOG قابل برنامه ريزي با ايسلاتورداخلي
ارتباط سريال SPI براي برنامه ريزي داخلي مدار
قابليت ارتباط سريال SPI به صورتMASTER  يا SLAVE
قابليت ارتباط با پروتكل سريال دوسيمه(TOW-WIRE)
* خصوصيات ويژه ميكروكنترلر
مدار POWER-ON RESET CIRCUIT
BROWN- OUT DETECTION قابل برنامه ريزي
منابع وقفه (INTERRUPT) داخلي وخارجي
داراي ايسلاتور RC داخلي كاليبره شده.
عملكرد كاملاً ثابت.
توان مصرفي پايين وسرعت بالا توسط تكنولوژي CMOS
* خطوط  وانواع بسته بندي
۳۲ خط ورودي/ خروجي ( ) قابل برنامه ريزي.
۴۰ پايه (PIN) نوع PDIP، ۴۴ پايه نوع TQFP، ۴۴ پايه MLF
* تركيب پايه ها 
فيوزهاي بيت  ATMEGA 16
OCDEN: درصورتي كه بيت هاي قفل برنامه ريزي شده باشند برنامه ريزي اين بيت به همراه بيت JTAGEN باعث مي شود كه سيستم ON CHIP DEBUG فعال شود. برنامه ريزي شدن اين بيت به قسمت هايي ازميكرو امكان مي دهد كه درمدهاي SLEEP كاركنند كه اين خود باعث افزايش مصرف سيستم مي گردد. اين بيت به صورت پيش فرض برنامه ريزي نشده(۱) است.
JTAGEN: بيتي براي فعال سازي برنامه ريزي ميكرو از طريق استاندارد ارتباطي IEEE كه درحالت پيش فرض فعال است وميكرو مي تواند از اين ارتباط براي برنامه ريزي خود استفاده كند.
پايه هاي PC 5002 در اين ارتباط استفاده مي شود.
SPIEN: درحالت پيش فرض برنامه ريزي شده وميكرواز طريق سريال SPI برنامه ريزي 
مي شود.
CKOPT: انتخاب كلاك كه به صورت پيش فرض برنامه ريزي نشده است عملكرد اين بيت بستگي به بيت هاي CKSEL دارد.
EESAVE: درحالت پيش فرض برنامه ريزي نشده ودرزمان پاك شدن ميكرو حافظه EEPROM پاك مي شود ولي درصورتي كه برنامه ريزي شود محتويات EEPROM درزمان پاك شدن ميكرو، محفوظ مي ماند.
BOOTZ 0, BOOTSZ 1: براي انتخاب مقدار حافظه BOOT طبق جدول زير برنامه ريزي مي شود ودرصورت برنامه ريزي فيوز بيت BOOTRS اجراي برنامه از آدرس حافظه BOOT آغاز خواهد شد.
پيكره بندي پورت ها
براي تعيين جهت پايه پورت ها از اين پيكره بندي استفاده مي كنيم. جهت يك پايه 
مي تواند ورودي يا خروجي باشد.
CoFig portx= state
ConFig pinx.y= state
X,y بسته به ميكرو مي توانند به ترتيب پايه هاي ۰ تا ۱ پورت هاي A,B,C,D,E,F باشند. STATE نيز مي تواند يكي از گزينه هاي زير باشد: 
INPUT يا۰: در اين حالت رجيستر جهت داده پايه يا پورت انتخاب صفر مي شود وپايه يا پورت به عنوان ورودي استفاده مي شود.
OUTPUT يا ۱: در اين حالت رجيستر جهت داده پايه يا پورت انتخاب يك مي شود وپايه يا پورت به عنوان ورودي استفاده مي شود.
زماني كه بخواهيد از پورتي بخوانيد بايستي از رجيستر PIN پورت مربوط استفاده كنيد ودر هنگام نوشتن در پورت بايستي در رجيستر PORT بنويسيد.
بررسي پورت هاي ميكروATMEGA 32
در اين بخش قصد داريم براي آشنايي بيشتر با عملكرد پورت ها ورجيسترهاي مربوطه به طور نمونه به بررسي پورت هاي ميكرو ATMEGA 32 بپردازيم.
پورت A
پورت A يك   دو طرفه ۸ بيتي است. سه آدرس از مكان حافظه   اختصاص به PORT دارد. يك آدرس براي رجيستر داده PORT، دومي رجيستر جهت داده DDRA وسومي پايه ورودي پورت PIN, A است. آدرس پايه هاي ورودي پورت A فقط قابل خواندن است درصورتي كه رجيستر داده ورجيستر جهت داده هم خواني وهم نوشتني هستند. تمام پايه هاي پورت داراي مقاومت Pull- up مجزا هستند. بافر خروجي پورت Aمي تواند تا Ma20 را Siml كند درنتيجه LED را مستقيماً راه اندازي كند. هنگامي كه پايه هاي PA0-PA 1 با مقاومت هاي Pull- down خارجي، خروجي استفاده ميشوند، آن ها SOURCE جريان مي شوند زماني كه مقاومت هاي Pull- up داخلي فعال باشند.
(رجيسترهاي پورت A)
رجيسترهاي پورت A عبارتند از:
رجيستر داده پورت  
رجيستر جهت داده پورت DDRA-A
بايت آدرس پايه هاي ورودي پورت PINA-A
PINA يك رجيستر نيست اين آدرس دسترسي به مقدار فيزيكي بر روي هريك از پايه هاي پورت A را ممكن مي سازد. زماني كه پورت A خوانده مي شود، داده لچ پورت A خوانده مي شود وزماني كه از PINA خوانده مي شود مقدار منطقي كه برروي پايه ها موجود است خوانده مي شود.
  • بازدید : 67 views
  • بدون نظر

خرید ودانلود پایان نامه بررسی میکرو کنترلها  وقابلیتهای سخت افزاری ونرم افزاری آن-دانلود رایگان تحقیق بررسی میکرو کنترلها  وقابلیتهای سخت افزاری ونرم افزاری آن-خرید اینترنتی تحقیق بررسی میکرو کنترلها  وقابلیتهای سخت افزاری ونرم افزاری آن-دانلود رایگان پایان نامه بررسی میکرو کنترلها  وقابلیتهای سخت افزاری ونرم افزاری آن

این فایل در ۹۴صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:


کلمه میکروکنترلر:
این کلمه از دو کلمه ۱- میکرو  2-کنترلر     تشکیل شده  
۱-میکرو : میدونین که این یک واحد یونانی است و برابر با ۱۰ به توان منفی ۶ متر است. یعنی یک ملیونیوم متر واحده خیلی کوچیکیه نه….ولی واحدهای خیلی کوچیکتر از این هم داریم که در الکترونیک مورد استفاده قرار میگیرند در قسمتهای بعدی توضیحیهاتی راجع به این واحد ها و موارد استفاده آنها داده میشه.

۲-کنترلر : که همه معنی و مفهومشو میدونین . یعنی کنترل کننده به تعبیری یعنی “مغز ” البته بدون تفکر فقط دستوراتی که به اون داده میشه به نحو احسن انجام میده.

حالا چرا این کلمات ؟
به نظر من کلمه میکرو به دو منظور استفاده شده منظور اول و مهم  سرعت عمل میکروکنترلر است که میتواند تا یک ملیونیوم ثانیه باشد و دستوارتی که به اون میدیم با این سرعت انجام بده به همین خاطر واژه میکرو رو به اون اختصاص دادن البته معنی دوم آن شاید کوچیکی این قطعه باشد که تا یک ملیونیوم متر کوچیک شده شاید باور کردنی نباشه ولی در یک تراشه ممکنه بیش از یک ملیون تراتزیستور به کار رفته باشه. این کلمه وقتی اهمیتش کامل میشه که با واژه کنترلر عجین بشه تا معنیش کامل بشود .
(البته من این تعاریف رو بر مبنای نظر خودم از میکرو گفتم و خودم اونو تو هیچ جایی ندیدم شاید اصلا این کلمه به خاطر چیز دیگست اگر دوستان میدونن لطف کنن خوشحال میشم)
حالا نحوه انجام دادن کار میکروکنترلر را به صورت کلی بررسی میکنیم :

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

ساختمان دخلی میکروکنترلر:
 کامپیوتری که الان بر روی اون دارین کار انجام میدین دارای یک پردازنده مرکزیه به نام cpu  که از کنار هم قرار گرفتن چندین ملیون ترانزیستور تشکیل شده و بر روی اطلاعات پرداژش انجام میده . میکرو کنترلر هم عینا دارای یک پردازنده مرکزی به نام cpu  است که دقیقا کار cpu  کامپیوتر رو انجام میده با این تفاوت که قدرت و سرعت پردازشش از cpu  کمتره که به اون میکروپرسسور میگن در بخش بعدی فرق میکرو پرسسور و میکروکنترلر را بررسی میکنیم. میکروکنترلر علاوه بر cpu  دارای حافظه است که ما برنامه ای که بهش میدیم در اون قرار بگیره در کنار حافظه در میکروکنترلرهای امروزی تایمرها برای تنظیم زمان کانتر ها برای شمردن  کانال های آنالوگ به دیجیتال  پورت های  برای گرفتن و دادن اطلاعات و امکاناتی دیگر که بعدا مفصل راجع به هر کدام توضیح داده میشه تشکیل شده و همه اینها در یک چیپ قرار گرفته که تنکنولوژی جدید اونو تو یک تراشه به اندازه یک سکه قرار داده.
تفاوت میکروپروسسور و میکروکنترلر:
میکروپرسسور همانطور که گفته شد یک پردازنده است و برای کار باید به آن چیپ های حافظه و چیز های دیگری را به اون اضافه کرد این امکان به درد این میخورد که بر حسب کارمان حافظه مناسب و دیگر قطعات را مانند تایمرها و غیره به صورت بیشتری استفاده کنیم  ولی مدار خیلی پیچیده میشود و از لحاظ هزینه هم هزینه بیشتر میشود به همین دلیل امروزه از میکروپرسسورها کمتر استفاده میشود اما این روزها میکرو کنترلر های جدید با حافظه های زیاد تعداد تایمر زیاد پورت های زیاد و تنوع بسیار زیاد انها بر حسب این امکانات دست ما را باز گذاشته است تا دیگر میکروپرسسورها را فراموش کنیم.

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

عیب میکروکنترلر:
میکروکنترلر با این همه مزایا که گفتیم دارای یک عیب کوچیک است .و آن سرعت پایین ! است آیا سرعتی معادل یک ملیونیوم ثانیه سرعت کمی است ؟ سرعت کمی نیست ولی       یک مثال شاید بحثو بهتر باز کند
یک گیت منطقی رو در نظر بگیرین که با توجه به ورودی خروجیشو تنظیم مکنه سرعت عمل این گیت منطقی ۱۰ به توان منفی ۹ ثانیه است یعنی نانو ثانیه ولی اگر ما بخواهیم این گیت رو با میکروکنترلر کار کنیم سرعتی معادل میکرو ثانیه داریم پس از لحاظ سرعت برای کاربردهای خیلی محدودی میکروکنترلر مناسب نیست.
اگر کسی از دوستان عیب دیگری از میکروکنترلر میدونه لطف کنه ممنون میشم.

خب حالا این میکروکنترلر را با این همه کاربرد کی ساخته؟
حدود ۴ دهه پیش در سال ۱۹۷۱ میلادی شرکت اینتل اولین میکروکنترلر را ساخت و اولین میکروکنترلر را با نام ۸۰۸۰ در اوایل سال ۱۹۸۰ روانه بازار کرد .همین شرکت اینتلی که الان در ساخت cpu  یکه تاز دنیاست .اما بعدا این امتیاز رو به شرکت های دیگری واگذار کرد و شرکت های زیادی در حال حاضر میکروکنترلر های مختلف تولید میکنند 
معرفی انواع میکروکنترلر
تمام میکروکنترلرها جزء این ۵ قسمت هستنند: 
۱) ۸۰۵۱ 
۲) Pic 
۳) Avr 
۴) ۶۸۱۱ 
۵) Z8 

البته مدل های ۶۸۱۱ ساخت شرکت موتورلا و z8 ساخت شرکت زایلوگ حداقل در ایران خیلی کم استفاده می شوند و رقابت اصلی بین سه نوع دیگر است. 
تا به امروز هر میکروکنترلری که ساخته شده زیر مجموعه یکی از این۵ نوع است. البته کارخانه های خیلی زیادی با مارک های مختلف میکرو کنترلر تولید میکنند ولی همه اونها زیر مجموعه یکی از این ۵ قسمت هستنند .شما برای هر کدام از این۵ نوع میکروکنترلر میتوانید میکروکنترلر های مختلفی از شرکت های مختلفی را پیدا کنید.(البته در بازار ایرن کمی با مشکل). 
اما خوشبختانه همه میکروکنترلر هایی که جزء هر کدام از ۵ نوع بالا باشند از یک برنامه پیروی میکنند. بدین معنا که اگر شما کار با یکی از مدل های آن میکرو را یاد گرفته باشید مثل اینکه کار با تمام میکروکنترلرهای آن نوع را یاد گرفته اید.مثلا شما اگر با یکی از مدل های میکروکنترلر avr مثلا atmega8 را یاد گرفته باشید دیگر با صد ها مدل دیگر میکروکنترلر avr مشکلی ندارید وتقریبا بدون هیچ مشکلی میتوانید با دیگر مدل های این میکرو کار کنید. 
اما یه مشکل که در میکروکنترلر ها وجود دارد این است که این۵ نوع از لحاظ برنامه نویسی به هیچ وجه با هم دیگر سازگاری ندارند . به طور مثال اگر شما میکروکنترلر های avr و ۸۰۵۱ را کامل یاد گرفته باشید حتی ساده ترین برنامه رو روی یک میکروکنترلر pic نمیتوانید اجرا کنید. واین یکی از بزرگترین عیب و مشکل برای یاد گیری میکرو است .بنابراین از همون اول باید یک انتخاب درست داشته باشید و میکروکنترلر مناسب را برگزینید تا با یادگیری آن میکروکنترلر بتوانید بعدا به سادگی پروژه های خود را اجرا کنید . البته بسیاری از دوستان هستنند که کار با چند میکروکنترلر را میدونند و حتما این هم از هوش بالای ایرانی هاست. ولی اگر به صورت خیلی حرفه ای نخواهید وارد این بحث بشوید باید یکی از این میکروکنترلرها را انتخاب کنید و کار با آن را آغاز کنید. در قسمت بعدی شما را برای این انتخاب کمک خواهم کرد. 
معایب و مزایای میکروکنترلر های مختلف نسبت به هم


از آن جای که ۶۸۱۱ و z8 خیلی کمتر استفاده میشوند به معرفی سه نوع دیگر میپردازم. 

۱) : اول از ۸۰۵۱ که اولین میکروکنترلری بود که به دست بشر ساخته شد شروع میکنیم . همانطور که در مقاله قبلی گفته شد ابتدا این میکروکنترلر توسط شرکت بزرگ intel ساخته شد .اما بعدا intel این امکان را به دیگر شرکت ها داد که این میکروکنترلر را تولید کنند و شرکت هایی مانند ATMEL , PHILIPS , SIEMENS , DALLAS و… به تولید این میکروکنترلر پرداختنند یکی از شرکت هایی که به صورت گسترده به تولید این تراشه پرداخت ATMEL بود که مدل های مختلف میکروکنترلر ساخت این شرکت در سرار جهان و در ایران به خوبی یافت می شود. اما اگربخواهیم به صورت کلی سیر پیشرفت این نوع میکروکنترلر رو در نظر بگیریم اولین میکروکنترلر هایی که ساخته شد با جدیدترین میکروکنترلرهای ۸۰۵۱ که الان تولید میشود با توجه به این پیشرفت شگفت در تمام زمینه ها که صنایع دیگر در دنیا دارند پیشرفت زیادی ندارد به طور مثال AT89S5X که میکروکنترلر ۸۰۵۱ جدید ساخت ATMEL است نسبت به مدل های اولیه ۸۰۵۱ پیشرفت آنچنانی ندارد . امکانات این میکرو نسبت به AVR و PIC قابل مقایسه نیست . به صورتی که که همین مدل جدید ۸۰۵۱ تقریبا حافظه ای برابر یک صدم (۰٫۰۰۱ ) میکروکنترلر های AVR را دارد و سرعتش ۴ برابر کمتر از میکروکنترلر های PIC و ۱۲ بار کمتر از میکروکنترلر های AVR است . از لحاظ امکانات دیگر هم چنین ضعفی احساس میشود. اما برای کارهای ساده تر که پیچیدگی زیادی در آن نباشد به خاطر قیمت بسیار پایینی که این میکروکنترلر دارد بسیار مناسب است . قیمت همین مدل جدید AT89S5X حول و حوش ۱۰۰۰ تومان است که قیمت بسیار مناسبی است. 
این میکرو کنترلر از زبان اسمبلی و C پشتیبانی میکند که زبان برنامه نویسی اصلی آن اسمبلی است که واقعا نوشتن با این زبان برنامه نویسی نسبت به زبان های برنامه نویسی دیگر هم مشکل تر و هم طولانی تر است. در کل این میکروکنترلر امروزه دیگر توانای رقابت با AVR و PIC رو ندارد و امروزه رقابت اصلی بین این دو میکروکنترلر است. 

۲) میکروکنترلر PIC 
واقعا میکروکنترلر خیلی قوی است که بر اساس بعضی آمار ها بیشترین کاربر را به خود اختصاص داده است البته متذکر شوم که در ایران این آمار به نفع AVR است. این میکروکنترلر ساخت شرکت میکرو چیپ است که PIC رو در مدل های خیلی زیادی با امکانات مختلف برای کارهای مختلف میسازد . این میکروکنترلر با مدل های مختلفPIC16XXX و PIC12XXXX که به جای X دوم از چپ به راست حروف C ,X,E,F قرار میگره که هر کدام مفهوم خاصی داره که چون بحث ما آموزش AVR است از روی اون سریع میگزریم X های بعدی هم اعدادی هستنند که نشان دهنده مدل های مختلف هستنند. 

۳)میکروکنترلر AVR 
به میکروکنترلر AVR میرسیم که به نظر من و خیلی از دیگر بهترین میکروکنترلر موجود در بازار است البته خود من با ۸۰۵۱ و AVR بخصوص AVR خیلی کار کردم ولی تجربه ای با PIC ندارم و قضاوت من ممکنه یه طرفه باشه ولی این نظر بسیاری از کسانی است که با AVR کار کرده اند .به دلایلی….. 
اول از همه سرعت این میکروکنترلر بسیار بالاست و به قولی دستوراتی که بهش داده میشه در یک سیکل کلاک انجام میده در صورتی که این سیکل کلاک برای ۸۰۵۱ باید تقسیم بر۱۲شودو برای PIC باید تقسیم بر ۴ بنابراین AVR سریعترین میکروکنترلر موجود در بازار است . AVR از زبان های برنامه نویسی سطح بالا یا به اصطلاح (HIGH LEVEL LANGUAGE) HLL پشتیبانی میکند که باعث تولید کدهای بیشتری میشود که در کل برنامه نوشته شده نسبت به برنامه هایی که برای ۸۰۵۱ و PIC نوشته میشود کوتاهتر است. امکانات جانبی این میکروکنترلر بسیار مناسب است و شما را از خرید بعضی لوازم جانبی مانند چیپ های آنالوگ به دیجیتال (ADC) , مقایسه گر آنالوگ و… راحت میکند .در ضمن AVR از بسیاری از استاندارد های ارتباطی مانند SPI,UART,12C,JTAG پشتیبانی میکند که به راحتی میتوان این میکروکنترلر را با میکروکنترلر دیگر یا و سایل دیگر وصل کرد و با وسایل دیگر به راحتی ارتباط برقرار کند. قیمت این میکروکنترلر هم به نسبت امکانات فراوانی که داره بسیار پایین است به طوری که یک میکروکنترلر AVR تقریبا پیشرفته رو با قیمت حول و حوش ۳ تا ۴ هزار تومان خرید . 
خلاصه من که خیلی با این میکرو ور رفتم و پروژه های خیلی زیاد و پیچیده ای رو باهاش اجرا کردم بسیار راضی هستم و هیچ مشکلی باهاش نداشتم.اگر هم مشکلی بوده از جانب من بوده نه میکروکنترلر . خلاصه اگر برنامه نویسی و کار با این میکروکنترلر رو خوب یاد بگیرید هر کاری رو میتونید باهاش انجام بدید. 
  • بازدید : 107 views
  • بدون نظر
این فایل در ۱۶صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:

.در ايران بيشتر از PLCهاي ساخت شركت زيمنس در صنعت استفاده ميشود.ما هم به توضيح اين نوع PLCها ميپردازيم.البته ناگفته نماند كه PLCهاي شركت كنترونيك كه يك PLC ايراني است هم در صنعت كاربرد بسيار زيادي دارد.اما به دليل نزديكي زبان برنامه نويسي كه PLCهاي اين شركت با PLCهاي زيمنس دارد صرفا به معرفي PLCهاي زيمنس بسنده ميكنيم.PLCهاي زيمنس خود بر دو نوع هستند.۱-STEP5 و ۲-STEP7 كه هر كدام خود بر گونه هاي مختلف تقسيم مي شوند.در حال حاضر استفاده از نوع STEP5 رو به كاهش است و به سبب قابليت و امكانات بيشتر از نوع STEP7 استفاده ميكنند.STEP7 خود از ۳ مدل تشكيل شده است.مدل اول STEP7-200 كه براي پروسه هاي كوچك استفاده ميشود.مدل دوم STEP7-300 است كه براي پروسه هاي متوسط به كار ميرود و نوع سوم STEP7-400 است
عبارت PLC از سر کلمه های Programmable Logic Controller به معنای کنترل کننده منطقی قابل برنامه ریزی .این وسیله شباهت بسیاری با میکروکنترلرها دارد با این تفاوت که PLC کاملا صنعتی می باشد و از لحاظ عملیاتی از میکروکنترلر قوی تر می باشد .PLC :PLC :PLC انجام شود . به عبارت دیگر توسط این برنامه میتوان عملیات کنترل را سازماندهی کرد . این برنامه در حافظه اصلی بارگزاری میشود و قطع تغذیه هم آسیبی به اطلاعات آن نمی رساند .PLC :PLC این مشکلات پایان یافت . یکی از مزایای PLC این است که به علت اینکه تمامی کار به برنامه مربوط است بنابراین به راحتی میتوان آن را شبیه سازی نمود و از صحت برنامه آن قبل از کار آگاهی یافت . در زیر برخی دیگر از مزیت های PLC نسبت به دیگر کنترلرها آمده است :
مهمترين مزاياي استفاده از PLC : 
•        استفاده از PLC حجم تابلوهاي فرمان را كاهش ميدهد. 
•        استفاده از PLC مخصوصا در فرايندهاي پيچيده موجب صرفه جويي در وقت و هزينه مي گردد. 
•        PLC    استهلاك مكانيكي ندارد، بنابر اين علاوه بر طول عمر بيشتر نيازي به سرويس و تعميرات دوره اي ندارد. 
•        مصرف انرِژي PLC بسيار كمتر از مدارهاي رله اي است. 
•        PLC   نويزهاي صوتي و الكتريكي ايجاد نمي كند. 
•        طراحي و اجراي مدارهاي منطقي با PLC بسيار آسان و سريع است. 
•        ايجاد تغييرات و تنظيمات در  PLCآسان و سريع است. 
•        عيب يابي مدارت كنترل و  فرمان با PLC به سهولت انحام مي شود و معمولا  PLCخود داراي برنامه عيب يابي مي باشد. 
•        اتصالات ورودي – خروجي و سطوح سيگنال استاندارد دارند. 
 
معمولا يك ولتاژ ۲۴ ولت از ورودي اصلي برق PLC ايجاد گرديده و براي اتصال الكتريكي ورودي ها استفاده مي شود . سويئچها يا سنسورهاي باينري خارجي مي تواند به ورودي هاي PLC متصل گرديده و همانطور كه بيان شد اين سوئيچ ها مي تواند به صورت باز يا بسته باشند .
 در صورتي كه PLC روشن باشد خروجيهاي PLC براساس منطق برنامه پذيري شده در PLC و وضعيت وروديهاي آن روشن يا خاموش مي گردند. بارهاي خارجي توسط رله ،‌ ترانزيستور يا تراياك با توجه به قدرت مورد نياز توسط بورد هايي كه در داخل PLC تعيين شده اند روشن يا خاموش مي گردند . براي بارهائي كه قدرت زيادي لازم دارند از يك طبقه مدار قدرت به علاوه مدار فران PLC استفاده مي گردد. ورودي و خروجي هاي PLC توسط شماره هائي كه موقعيت پورت آن را نمايش مي دهد مشخص مي شوند .
 سازنده هاي مختلف شماره گذاريهاي مختلفي به كار مي برند البته ويژگي هاي مشتركي نيز در آنها وجود دارد معمولا شماره ها بصورت باينري و با ضرايب چهار يا پنج بيتي مي باشند .
مثلاً شركتهاي  (TI) Texas Instrumentsو شركت ميتسوبيوشي (Mitsubishi) از سمبل X براي وردي و از Y براي نمايش خروجي استفاده مي كنند.
منطق برنامه ريزي در PLC به معناي آنست كه فرايندهايي كه توسط PLC كنترل مي شوند داراي سنسورها و عملگرهايي هستند كه داراي دوضعيت ،‌ خاموش يا روشن مي باشند. 
 شماتيك كلي PLC ها 
 ساختمان داخلي يك PLC كم بيش مانند ساختمان داخلي هر سيستم ريز پردازنده ديگر است نحوه كار PLC در ابتداي راه اندازي ، مانند هر سيستم مبتني بر پردازنده ، ‌در PLC نيز برنامه سيستمي اجرا مي گردد . پس از اجراي برنامه سيستمي و چك شدن سخت افزار، ‌در صورتي كه شرايط لازم براي ورود به حالت اجرا (RUN) فراهم باشد ،‌برنامه كاربر فراخوانده مي شود و براي اجراي برنامه كاربر ابتدا تمام ورودي هاي PLC بطور يكجا فرا خوانده مي شود و وضعيت آنها (صفر-يك) در مكاني به نام تصوير ورودي   (Input-image-Area) نوشته مي شود. PLC در خلال اولين scan برنامه ، از داده هاي تصوير ورودي استفاده مي نمايد توجه كنيد در صورتي كه در طول اولين scan ، ‌تغييراتي در ورودي ها حاصل شود،‌اين تغييرات تا scan بعدي به مكان تصوير ورودي ها انتقال نمي يابد. PLC ضمن scan برنامه كاربر نتايج حاصل را در مكاني به نام تصوير خروجي (Output-image-Area) مي نويسد و بعد از اجراي كامل برنامه و در پايان،‌نتايج را بطور يكجا به خروجي ها ارسال مي دارد. خواندن يكجاي ورودي ها و ارسال يكجاي خروجي ها ،‌ صرفه جويي قابل توجه اي در زمان بدنبال دارد زيرا خواندن يا نوشتن با آدرس دهي يك به يك زمان زيادي را به خود اختصاص مي دهد . از جمله مزاياي دسترسي به مكانهاي تصوير خروجي يا ورودي آن است كه امكان Set يا Reset نمودن هر يك از بيت هاي ورودي يا خروجي را مستقل از وضعيت فيزيكي آنها فراهم مي نمايد و اين كار مزيت بزرگي به هنگام عيب يابي يك برنامه نوشته شده محسوب مي شود. روش فوق در عين مزايايي كه ذكر گرديد ،‌ مسئله اي بنام زمان پاسخ دهي برنامه را بوجود مي آمورد . زمان پاسخ دهي مدت زماني است كه طول مي كشد تا PLC تمام برنامه كاربر را scan نمايد و در اين مدت تغييرات بوجود آمده در ورودي ها وارد مكان تصوير ورودي نمي گردد و خروجي ها نيز به حالتي كه در scan قبلي بودند باقي مي ماند اين امر در فرايندهايي با سرعت تغييرات بالا مشكل آفرين خواهد بود مخصوصاً زماني كه برنامه كاربر طولاني باشد مدت زمان زيادي صرف scan برنامه مي گردد همچنين گاهي ملاحظات ايمني لازم مي دارد كه تغييرات آني بعضي از ورودي ها همواره مورد توجه قرار گيرد كه در اين صورت زمان پاسخ دهي ممكن است مانع از ثبت به موقع اين تغييرات شود . براي حل اين مشكل در زبان هاي برنامه نويسي دستورات خاصي گنجاده شده است. با توجه به سرعت بالاي PLC هاي امروزي وكندي فرآِيند هايي كه توسط آن كنترل مي گردند زمان پاسخ دهي در شرايط عادي معمولاً مشكلي ايجاد نمي كند.البته ناگفته نماند مانیتور كردن برنامه كنترلی اغلب به زمان اسكن می‌افزاید چرا كه CPU كنترلر مجبور است وضعیت كنتاكتها، رله‌ها ، تایمر‌ها و… را روی CRT یا هر وسیله نمایشگر دیگری بفرستد.
. این سیستم می‌تواند بدون نیاز به سیم‌بندی و قطعات جانبی و فقط از طریق نوشتن چند خط برنامه تا صدها تایمر را در آن واحد كنترل و استفاده نماید 
قطعات ورودی 
هوشمند بودن سیستم اتوماسیون بیشتر مربوط به توانایی PLC در خواندن سیگنالهای ارسالی از انواع ورودی‌های دستی، اتوماتیك و حس‌گرهای خودكار می‌باشد. قطعات ورودي نظیر شستی‌های استارت/ استاپ ، سوییچ‌ها، میكرو‌سوییچ‌ها، سنسورهای فتوالكتریك، proximity ،  level sensor ، ترموكوپل، PT100 و…  PLC از این سنسورها برای انجام عملیاتی نظیر تشخیص قطعه روی نوار نقاله حامل قطعات، تشخیص رنگ، تشخیص سطح مایعات داخل مخزن، آگاهی داشتن از مكانیزم حركت و موقعیت جسم، تست كردن فشار مخازن و بسیاری موارد دیگر، استفاده می‌كند.سیگنالهای ورودی یا دیجیتال هستند و یا آنالوگ، كه در هر صورت ورودی‌های PLC را می توان در مدهای مختلف تنظیم و مورد استفاده قرار داد. 
 قطعات خروجی 
همانطوری كه می‌دانید یك سیستم اتوماسیون شده بدون داشتن قابلیت اتصال به قطعات خروجی از قبیل سیم‌پیچ، موتور، اینورتر، شیربرقی ، هیتر و … كامل نخواهد بود. 
قطعت خروجی نحوه عملكرد سیستم را نشان می‌دهند و مستقیما تحت تاثیر اجرای برنامه كنترلی سیستم هستند در خروجی‌های PLC نیز مدهای مختلفی برای اعمال سیگنال به المانهای خروجی وجود دارد. که در این میان رله ها به عنوان نقش واسط بین PLC  و المانهای خروجی عمل میکنند. 
 جایگاه کنترل کننده های برنامه پذیر در صنعت 
 امروزه در بین كشورهای صنعتی ، رقابت فشرده و شدیدی در ارائه راهكارهایی برای كنترل بهتر فرآیندهای تولید ، وجود دارد كه مدیران و مسئولان صنایع در این كشورها را بر آن داشته است تا تجهیزاتی مورد استفاده قرار دهند كه سرعت و دقت عمل بالایی داشته باشند. 
بیشتر این تجهیزات شامل سیستم‌های استوار بر كنترلرهای قابل برنامه‌ریزی (Programmable Logic Controller)  هستند. در بعضی موارد كه لازم باشد می‌توان PLCها را با هم شبكه كرده و با یك كامپیوتر مركزی مدیریت نمود تا بتوان كار كنترل سیستم‌های بسیار پیچیده را نیز با سرعت و دقت بسیار بالا و بدون نقص انجام داد. قابلیت‌هایی از قبیل توانایی خواندن انواع ورودی‌ها (دیجیتال ، آنالوگ ، فركانس بالا…) ، توانایی انتقال فرمان به سیستم‌ها و قطعات خروجی ( نظیر مانیتورهای صنعتی ، موتور، شیر‌برقی ، … ) و همچنین امكانات اتصال به شبكه ، ابعاد بسیار كوچك ، سرعت پاسخگویی بسیار بالا، ایمنی ، دقت و انعطاف پذیری زیاد این سیستم‌ها باعث شده كه بتوان كنترل سیستم‌ها را در محدوده وسیعی انجام داد. 
در کشور ما نیز به دلیل وجود پتانسیل های بزرگ صنعتی استفاده گسترده ای از این سیستمها در صنایع مختلف به خصوص صنایع مادر مانند: نفت ، گاز و پتروشیمی می شود. وبه جرات می توان گفت کنترل کننده ها جز لاینفک صنایع موفق کشور به حساب می آیند. تاثیری که PLC ها بر کیفیت ، کمیت و مدیریت تولیدات می گذارند ، در سالهای اخیر اکثر کارخانجات  و صنایع مهم کشور را وارد یک رقابت گسترده برای مجهز شدن به این سیستمها کرده است . 
در حال حاضر صنعت کشور نیازمند نگرشی نوین در امر کنترل است.روشهای قدیمی باعث کاهش بهره وری و افت کیفیت شده است به همین دلیل برای رشد کیفیت و سرعت و دقت در تولید نیاز به سیستمهای جدیدی است که بصورت مکانیزه امر کنترل را بعهده بگیرد.یکی از این سیستمها کنترل کننده های منطقی برنامه پذیر یا PLC می باشد.
نبود هماهنگی مناسب بین صنعت و دانشگاه ، کمبود فضاها و امکانات آموزشی ، سنتی بودن صنایع و نداشتن حمایتهای مالی مناسب برای تغییر سیستمها ، تحریمهای اقتصادی و… باعث شده است تا فاصله زیادی با کشورهای  صنعتی دنیا داشته باشیم. 
اما آنچه مهم است اینکه امروزه اهمیت یادگیری و به کارگیری این سیستمها در بین دانشجویان و مهندسان برق بیش از پیش گردیده است. و فرصتهای آموزشی مناسبی نیز ایجاد گردیده است. 
   امکانات جانبی: برخی از کارت های گرافیک دارای امکانات جانبی اضافه ای بوده که امکان استفاده از آنان توسط سخت افزار و یا نرم افزارهای مربوطه در اختیار کاربران  قرار می گیرد. در ادامه به برخی از این امکانات ، اشاره می گردد : 

– خروجی DVI: از کارت های گرافیک که دارای اینترفیس ویژوال دیجیتال می باشند ، بمنظور اتصال به مانیتورهای دیجیتال  استفاده می گردد. با استفاده از اینترفیس  DVI و پورت خروجی  DVI، امکان  اتصال  کارت های گرافیک به  انواع مانیتورهای دیجیتال و آنالوگ  ، فراهم می گردد .
– ورودی / خروجی S-Video: پورت خروجی S-Video ، امکان ارسال سیگنالهای ویدئویی را به تلویزیون، VCR و سایر دستگاههای مشابه فراهم می نماید. با استفاده از پورت ورودی S-Video ، می توان تصاویر ویدئویی را از وسایلی نظیر VCR، دوربین های فیلمبرداری به کامپیوترتان تغذیه نمود. 

– ورودی/ خروجی مرکب: پورت های مرکب دارای عملکردی مشابه پورت های S-Video  بوده با این تفاوت که امکان اتصال به تجهیزات  قدیمی که دارای پتانسیل لازم بمنظور ارتباط و استفاده از پورت  S-Video نمی باشند را فراهم می نماید .اکثر کارت های گرافیک  که دارای پورت های S-Video  می باشند ، دارای یک کابل لازم بمنظور تبدیل پورت فوق به پورت های مرکب می باشند .

– نمایش دو تصویر: بمنظور اتصال کامپیوتر به یک مانیتور دیگر و یا تلویزیون ( مشاهده دو و یا حتی سه تصویر جداگانه ) ، می بایست از یک  کارت گرافیک که دارای پورت های اضافه و RAMDAC (تراشه هائی که  تصاویر دیجیتال  را به سیگنالهای آنالوگ تبدیل می کنند) اضافی ، استفاده گردد 
– Overclocking: اجرای پردازنده موجود  بر روی یک کارت گرافیک سریعتر از سرعت مشخص شده توسط تولید کننده ، به امری متداول توسط برخی بازی های کامپیوتری تبدیل شده است . وضعیت  فوق ، باعث فشار بیش از حد مجاز به کارت گرافیکی در ارتباط با تولید خروجی شده و در نهایت می تواند سوختن کارت گرافیکی را بدنبال داشته باشد .برخی از تولید کنندگان نظیر Gainward ، کارت هایی را ارائه نموده اند که  دارای ویژگی  Overclocking  می باشند . برخی دیگر از تولید کنندگان نرم افزارهای Overlocking را بهمراه کارت گرافیکی خود عرضه نموده و تعدادی دیگر از تولید کنندگان نظیر ATI از ویژگی فوق حمایت نمی نمایند . قبل از فعال نمودن ویژگی Overlocking می بایست  دستورالعمل های ارائه شده توسط تولیدکنندگان مربوطه به دقت مطالعه گردد .  
 -Anti-aliasing ، در گرافیک کامپیوتری به هموار نمودن ( صاف و یکدست )  ظاهر ناهموار و پلکانی اشکالی چون خطوط مورب،‌منحنی ها و دوایر اطلاق می گردد . استفاده از ویژگی فوق در مواردیکه دارای یک Resolution پائین می باشیم ، مفید خواهد بود. علت بروز این ناصافی ها ،  به دلیل پایین بودن کیفیت تفکیک پذیری بوده و می توان بمنظور برخورد با مشکل فوق ، از امکانات سخت افزاری و یا نرم افزاری خاصی استفاده نمود . برخی از کارت های گرافیک جدید از ویژگی فوق حمایت می نمایند.در صورت فعال نمودن ویژگی فوق ، سرعت نمایش فریم ها در یک ثانیه  کاهش خواهد یافت .بنابراین استفاده کنندگان بازی های کامپیوتری ، می بایست بین نمایش سریعتر و استفاده از تصاویر هموار، یکی را انتخاب نمایند .
  • بازدید : 59 views
  • بدون نظر
این فایل در ۴صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:

مداری  رو که  می بينيدبه  نظر من  ساده  ترين  روبات  مسيريابی  است  که  ميتوان  يافت  و  برگ  برنده  ان استفاده  از    L293D که  بهترين  درايور  استپ موتور  موجود  در بازار  ايران   است.
  اين  درايور  در  ازاء دريافت  کد  باينری  از  ميکرو کنترلر    با دادن   فرکانس به استپ  موتور  آن را  داريو  کرده  مثلا  با دادن  کد ۰۰۱۰   استپ ۲ درجه به سمت راست  می چرخد    .
جريان ورودی  اين  درايور  خيلی  کم  بوده  و جريان  دهی  خروجی  آن  تقريبا  زياد  است   و  ميتوان  با   اين  دارايور  به  راحتی  دو  استپ  موتور  را  حرکت داد.
چگونه یک ربات مسیر یاب بسازیم  با سلام خدمت دوستان گلم که میخوان یک روبات مسیر یاب حرفه ای بسازن برای ساخت یک ربات مسیر یاب باید با سه رشته مکانیک , الکترونیک , کامپیوتر ( برنامه نویسی ) آشنایی مقدماتی داشته باشین در این وبلاگ سعی میشود نحوه ساخت یک ربات مسیر یاب به طور جامع و کامل همراه با نقشه عملی مدارات آن توضیح داده شود خوب بریم سر اصل مطلب که قراره در مورد مکانیک یک ربات مسیر یاب که فکر میکنم ساده ترین قسمت یک ربات مسیر یاب باشه توضیح بدیم مکانیک مکانیک یک ربات مسیر یاب از ۴ بخش تشکیل شده است که به برسی هر کدام می پردازیم ۱-   شاسی یا بدنه که تمام اجزای ربات مانند برد ها و … روی آن قرار میگیرد ۲- موتور ربات مسیر یاب ۳- چرخ ربات مسیر یاب ۴- برد سنسور که وظیفه تشخیص خط زیر ربات میباشد خوب دیگه بسه بریم سر اصل مطلب که میخوایم یکی یکی این اجزای مکانیکی رو تجزیه و تحلیل کنیم   شاسی یا بدنه این قسمت از مکانیک ربات مسیر یاب که وظیفه نگه داری تمام اجزا و مدار ها بر روی خود میباشد که اجزای ربات بر روی آن بسته میشوند و میتواند یک طلق پلاستیکی یا یک تکه چوب یا یک چیزی که نسبتا سبک باشد و  بتواند این اجزا را تحمل کند موتور یک ربات مسیریاب   یک ربات میتواند از دو نوع موتور استفاده کند که عبارت است از : DC MOTOR Steper Motor شما برای یک ربات مسیر یاب به دو موتور خوب نیاز دارید که یکی برای چرخش به راست و دیگری برای چرخش به چپ که توصیه میشود این موتور ها رو در عقب ربات نصب کنید یک  ربات باید از موتوری ( المیچر ) ی استفاده کند که داری قدرت بالا ( جریان کشی ) و دور مناسب باشد که ربات بتواند آن را کنترل کند و از دور خارج نشود و اگر نتونستید  این جور  موتوری را تهیه کنید میتوانید از یک آلمیچر اسباب استفاده کنید  به شرطی  یک عدد گیر باکس بر سر راه آن بزارید که از سرعت آن بکاهد و قدرت آن بیشتر شود : (  سرعت موتور های اسباب بازی زیاد و قدرت آنها کم میباشد )    که من توصیه میکنم این جور موتور هایی رو از این سایت که موتور های خوبی واسه این کار داره و هم ایرانی هست هم خیلی سریع بدستدون میرسه تهیه کنید : www.Shop.Farsitools.com   Is Shoping Robotic چرخ ها                                                       در ساخت این جور رباتی باید به چند نکته در مورد چرخ ها توجه کرد که عبارتند از : -۱ اندازه قطر چرخ , -۲ اندازه عرض چرخ ,-۳  اصطحکاک چرخ با زمین ۱- اندازه قطر یک چرخ باید به اندازه ای باشد که با دور موتور شما هماهنگی داشته باشد چون هرچه قطر چرخ بشتر باشد با یک دور موتور روبات مسیربیشتری را طی میکند و هر چه قطر آن کمتر باشد با یک دور چرخش موتور ربات مسیر کمتری را طی میکند …
ساخت ربات های مسیر یاب کاری نسبتا ساده میباشد ، برای ساخت ربات شما نیاز به دانش برنامه نویسی برای پردازنده و رباتیک برای ساخت قسمت متحرک دارید ، شما همچنین باید طریقه کار با سنسور ها را بدانید ،یک ربات مسیر یاب از بخش های کلی زیر تشکیل میشود که   هر یک را معرفی میکنم :بدنه ربات مدار تغذیه قسمت حرکت بخش سنسور ها و فرمان پردازنده و برنامه نویسیبدنه ربات:برای بدنه ربات ، شما میتوانید از هر جسمی استفاده کنید اما این جسم باید دارای شرایط زیر باشد:- سبک باشد- محکم باشد- امکان سوار کردن اجزا روی ان وجود داشته باشد.- امکان ایجاد تغیر در شکل ان باشد .-جمع جور باشد.با توجه به مطالب بالا بهترین گزینه برای بدنه ربات پلاستیک میباشد ، شما میتوانید از شاسی ماشین های اسباب بازی یا از شاسی های اماده موجود در بازار استفاده کنید . در یک ربات معمولا پردازنده و قسمت فرمان در وسط بدنه ، موتور ها در طرفین ، سنسور ها در جلو ، و باطری در عقب قرار میگیرد . همچنین کلیه اجزا توسط پیچ و مهره یا چسپ حراراتی یا .. (بهتر است از پیچ و مهره استفاده شود )محکم به بدنه چسبانده میشوند .   برای جلوگیری از دستگاری مدارات و اجزای ربات حتما برای بدنه یک روکش مناسب تهیه کنید ، بطوری که فقط چرخ ها بیرون باشد و بس .مدار تغذیه :برای تغذیه ربات میتوانید از ولتاژ مستقیم منبع تغذیه DC و یا از باطری استفاده کنید.از انجا که ولتاژ ورودی شما از یک منبع تغذیه گرفته میشود ، شما باید نسبت به صاف و رگوله بودن ان اطمینان حاصل کنید . ممکن است شما خود را برای یک مسابقه اماده کنید و در مکان مسابقه یک منبع تغذیه بدون اصل ونصب در اختیار شما قرار گیرد ، که به ازای ولتاژ ۱۲ ولت ، ۱۴ ولت با نوسان زیاد میدهد ، بنابرای باید خودتان دست به کار شوید و برای رباتتان یک بخش تغذیه مجزا بسازید . معمولا ولتاژ تغذیه موتور ها ۱۲ ولت و ولتاژ تغذیه پردازنده و سنسور ها و … ۵ ولت میباشد . شما میتوانید از یک رگولاتور ۵ ولت استفاده کنید.توجه >>>>>برای اینکه ربات خود را در برابر ولتاژ معکوس (برعکس بودن پلاریته ی ورودی ) حفظ کنید میتوانید از یک پل دیود در ورودی استفاده نمایید .(هنوز وقت نکردم مدارشو بکشم اخه نرم افزار پروتوسم گم شده!!!ولی سعی میکنم در اسرع وقت واستون بیارم.)بهتره که بعد پل یکسو یه خازن ۱۰۰۰میکرو فاراد ،و بعد از خروجی رگولاتور ۷۸۰۵ ده خازن ۱۰۰ میکرو فاراد بزارین. بعد از تکمیل برد تغذیه نوبت درایو کردن موتوراس،که درایور ‌ال ۲۹۸ پیشنهاد میدم که ۱۵ پایه داره ۱،۱۵،۸ متصل به منفی مدار ۲،۳ ۱۳،۱۴ متصل به موتور۱و۲ ۵،۷،۱۰،۱۲ متصل به میکرو کنترلر(بی ۰،بی۱،بی۲،بی۳) ۴ متصل به۱۲ ولت ۹،۱۱ …
  • بازدید : 48 views
  • بدون نظر
این فایل در ۶۰صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:

 باوجود اينكه بيش از بيست سال از تولد ريز پردازنده نمي‌گذرد، تصور وسيال الكترونيكي و … بدون آنكه كار مشكي است در سال ۱۹۷۱ شركت اينتل: ۸۰۸۰ را به عنوان اولين ريز پردازنده موفق عرضه كرد مدت كوتاهي پس از آن، موتورولا، RCA و سپس Mostechnoloy و zilog انواع مشابهي را به ترتيب به نامهاي Z80 , 6502 , 6800 عرضه كردند. گرچه اين مدارهاي مجتمع به خودي خود فايده چنداني نداشتنداما به  عنوان بخشي از يك كامپيوتر تك بورد (SBC) به جزء مركزي فرآورده‌هاي مفيدي براي آموزش طراحي با ريز پردازنده ها تبديل شدند. از اين SBC كمه به سرعت به آزمايشگاههاي طراحي در كالج‌ها،  دانشگاهها و شركت هاي الكترونيكي راه پيدا كردند ومي توان براي نمونه از D2 موتورولا KIM-1 ساخت Mostechnology و SDK-85 متعلق به شركت اينتل نام برد.
ميكروكنترلر قطعه‌اي شبيه به ريز پردازنده است. در ۱۹۷۶ اينتل ۸۷۴۵ را به عنوان اولين قطعه خانواده‌ي يك CPU، ۱ كيلو بايت EPROM ، ۶۴ بايت، RAM، ۲۷ پايه I/O و يك تايمر ۸ بيتي بود. توان، ابعاد و پيچيدگي ميكروكنترلرها با اعلام ساخت۸۰۵۱ يعني اولين عضو خانواده ميكروكنترلرهاي MCS-51 در ۱۹۸۰  توسط اينتل پيشرفت چشمگيري كرد. در مقايسه با ۸۰۴۸ اين قطعه شامل بيش از ۶۰۰۰۰ ترانزيستور، K4 بايت ROM، ۱۲۸ بايت RAM، ۳۲ خط I/O يك درگاه سريال و دو تايمر ۱۶ بيتي است. كه از لحاظ مدارات داخلي براي يك IC بسيار قابل ملاحظه است.
امروزه انواع گوناگوني از اين IC وجود دارند كه بصورت مجازي اين مشخصات را دو برابر كرده‌اند. شركت زيمنس كه دومين توليد‌كننده قطعات MCS-51 است SAB80515 را به عنوان يك ۸۰۵۱ توسعه يافته در يك بسته‌ي ۶۸ پايه با شش درگاه I/O 8 بيتي، ۱۳ منبع وقفه و يك مبدل آنالوگ به ديجيتال با ۸  كانال ورودي عرضه كرده است خانواده ۸۰۵۱ به عنوان يكي از جامعترين و قدرتمندترين ميكروكنترلرهاي ۸ بيتي شناخته شده و جايگاهش را به  عنوان يك ميكروكنترلر مهم براي سالهاي آينده يافته است.
اصطلاحات فني
 يك كامپيوتر توسط دو ويژگي كليدي تعريف مي‌شود: (۱) داشتن قابليت برنامه‌ريزي براي كار كردن روي داده بدون مداخله انسان و (۲) توانايي ذخيره و بازيابي عموماً يك سيستم كامپيوتري شامل ابزارهاي جانبي براي ارتباط با انسان‌ها به علاوه برنامه‌هايي براي پردازش داده نيز مي‌باشد تجهيزات كامپيوتر سخت افزار و برنامه هاي آن نرم افزار نام دارند.
يك سيستم كامپوتري شامل يك واحد پردازش مركزي است كه از طريق گذرگاه آدرس، گذرگاه داده و گذرگاه كنترل به حافظة قابل دستيابي تصادفي و حافظه‌ي فقط خواندني متصل مي‌باشد. مدارهاي واسطه گذرگاه‌هاي سيستم را به وسايل جانبي متصل مي كنند.
واحد پردازش مركزي
 CPU بعنوان مغز سيستم كامپيوتري تمامي فعاليت‌هاي سيستم را اداره كرده و همه‌ي عمليات روي داده را انجام مي‌دهد اين تراشه فقط مجموعه‌اي از مدارهاي منطقي است كه بطور مداوم دو عمل انجام مي‌دهند. واكشي دستورالعمل‌ها و اجراي آن CPU توانايي درك و اجراي دستورالعمل ها را بر اساس مجموعه‌اي از كدهاي دودويي دارد كه هر يك از اين كدها نشان دهنده‌ي يك عمل است. اين دستورالعمل‌ها معمولاً حسابي يا منطقي. انتقال داده هستند و با مجموعه‌اي از كدهاي دودويي با نام مجموعه‌ي دستورالعمل‌ها نشان داده مي‌شوند. (instruction set) واكشي يك دستورالعمل از RAM سيستم يكي از اساسي‌ترين اعمال است كه توسط CPU انجام مي‌شود و شامل اين مراحل است: الف) محتويات شمارنده برنامه در گذرگاه آدرس قرار مي‌گيرد.  ب) يك سيگنال كنترل READ فعال مي‌شود  پ) داده يا كد عملياتي دستورالعمل از RAM خوانده مي‌شود و روي گذرگاه داده قرارمي‌گيرد  ت) كد عملياتي در ثبات داخلي دستورالعمل CPU ذخيره مي‌شود و شمارنده برنامه يك واحد افزايش مي‌يابد تا براي واكشي بعدي از حفاظه آماده شود.
مرحله اي اجرا مستلزم رمز گشايي كد عملياتي و ايجاد سيگنال‌هاي كنترلي براي گشودن ثبات‌هاي دروني به داخل و خارج از ALU است همچنين بايد به ALU براي انجام عمليات  مشخص شده فرمان داده شود. به علت تنوع زياد عمليات ممكن اين توضيحات تا حدي سطحي مي باشد و در يك عمليات ساده مثل افزايش يك واحدي ثبات مصداق دارند دستورالعمل‌هاي پيچيده‌تر نياز به مراحل بيشتري مثل خواندن بايت دوم و سوم به عنوان داده براي عمليات دارند.
مقايسه ريز پردازنده‌ها با ميكروكنترلرها
 مي‌دانيم كه ريز پردازنده‌ها CPU هايي تك تراشه هستند و در ميكرو كامپيوترها به كار مي‌روند پس فرق ميكروكنترلرها با ريزپردازنده‌ها چيست؟ با اين سوال از سه جنبه مي توان برخورد كرد: معماري سخت افزار كاربردها و ويژگي‌هاي مجموعه‌ي دستورالعمل‌ها.
معماري سخت افزار
 يك ويژگي مهم ميكروكنترلرها سيستم وقفه‌ي موجود در داخل آنهاست. ميكروكنترلرها به عنوان ابزارهاي كنترل‌گرا اغلب براي پاسخ بي‌درنگ به محركهاي خارجي مورد استفاده قرار مي‌گيرند. يعني بايد در پاسخ به يك اتفاق سريعا يك فرآيند را معوق مي گذارد به فرآيند ديگر بپردازند. باز شدن در يك اجاق مايكروويومثالي است از يك اتفاق كه ممكن است باعث ايجاد يك وقفه در يك سيستم ميكروكنترلري شود. البته اغلب ريز پردازنده ها مي توانند سيستم‌هاي وقفه قدرتمندي را به اجرا بگذارند. اما براي اين كار معمولا نياز به اجزاي خارجي دارند. مدارات روي تراشه يك ميكروكنترلر شامل تمام مدارات مورد نياز براي بكارگيري وقفه‌ها مي باشد.
كاربردها:
 ريز پردازنده‌ها اغلب به عنوان CPU در سيستم‌هاي ميكروكامپيوتري بكار مي‌روند. اين كاربرد دليل طراحي آنها و جايي است كه مي توانند توان خود را به نمايش بگذارند. بااين وجود ميكروكنترلرها در طراحي‌هاي كوچك با كمترين اجزا ممكن كه فعاليت‌هاي كنترل‌گرا انجام مي‌دهند نيز يافت مي‌شوند. اين طراحي ها در گذشته با چند دوجين يا حتي صدها IC ديجيتال انجام مي‌شد يك ميكروكنترلر مي تواند در كاهش تعداد كل اجزا كمك كند. آنچه كه مورد نياز است عبارتست از يك ميكروكنترلر  تعداد كمي افراد پشتيبان و يك برنامه كنترلي در ROM ميكروكنترلرها براي كنترل، ابزارهاي I/O در طراحي‌هايي با كمترين تعداد اجزا ممكن مناسب هستند، اما ريز پردازنده‌ها براي پردازش اطلاعات در سيستم‌هاي كامپيوتري مناسبند.
ويژگي‌هاي مجموعه‌ي دستورالعمل‌ها
 به علت تفاوت در كاربردها، مجموعه‌ي دستورالعمل‌هاي مورد نياز براي ميكروكنترلرها تا حدودي با ريزپردازنده‌ها تفاوت دارد. مجموعه دستورالعمل‌هاي ريز پردازنده‌ها بر عمل پردازش تمركز يافته‌اند و در نتيجه داراي روش‌هاي آدرس قدرتمند به همراه دستورالعمل‌هايي براي انجام عمليات روي حجم زياد داده مي‌باشند.
دستورالعمل‌ها روي چهار بيت‌ها بايت‌ها، كلمه‌ها يا حتي كلمه‌هاي مضاعف عمل مي‌كنند. روش هاي آدرس دهي با استفاده از فاصله‌هاي نسبي و اشاره‌گرهاي آدرس امكان دسترسي به آرايه‌هاي بزرگ را فراهم مي‌كنند.
حالت هاي افزايش يك واحدي اتوماتيك و كاهش يك واحدي اتوماتيك، حركت گام به گام روي بايت‌ها، كلمه‌ها و كلمه‌هاي مضاعف را در آرايه‌ها آسان مي‌كنند. دستورالعمل‌هاي رمزي نمي توانند در داخل برنامه كاربر اجرا شوند. از طرف ديگر ميكروكنترلرها مجموعه دستورالعمل‌هايي مناسب براي كنترل ورودي‌ها و خروجي‌ها دارند ارتباط با بسياري از ورودي‌ها و خروجي‌ها تنها نيازمند يك بيت است. براي مثال يك موتور مي‌تواند توسط يك سيم‌پيچ كه توسط يك درگاه خروجي يك بيتي انرژي دريافلت مي كند. روشن و خاموش شود. ميكروكنترلرها دستورالعمل هايي براي ۱ كردن و ۰ كردن بيت هاي جداگانه دارند وديگر عمليات روي بيت‌ها مثل EXOR , OR , AND عملكرد منطقي بيت‌ها، پرش در صورت ۱ كردن يا پاك بودن يك بيت و مانند آنها را نيز انجام مي‌دهند.
براي كنترل و نظارت ابزارها ميكروكنترلرهامدارات داخلي و دستورالعمل‌هايي براي عمليات ورودي و خروجي زمان‌بندي اتفاقات و تعيني اولويت وقفه ها دارند ريز پردازنده‌ها اغلب به مدارات اضافي براي انجام اعمال مشابه نياز دارند. از آنجا كه فضاهاي واقعي در تراشه براي ميكروكنترلرها اهميت دارند. دستوالعمل‌ها بايد بي‌نهايت شده باشند و اساساً در يك بايت پياده‌سازي شوند يكي از كلمات در طراحي جا دادن برنامه كنترلي در داخل ROM روي تراشه است . زيرا افزودن حتي يك ROM خارجي هزينه‌هاي نهايي توليد را بسيار افزايش مي‌دهد. به رمز درآوردن فشرده براي مجموعه دستورالعمل‌هاي ميكروكنترلر اساسي است در حالي كه ريز پردازنده‌ها بندرت داراي اين ويژگي‌ مي‌باشند. روش‌هاي آدرس‌دهي قدرتمند آنها باعث به رمز درآوردن غير فشرده‌ي دستورالعمل‌ها مي‌شود.
مروري بر خانواده MCS-51
 MCS-51 خانواده‌اي از ميكروكنترلرهاست كه توسط شركت اينتل به بازار عرضه شده است. ديگر توليد كنندگان IC نظير زيمنس، AND فيليپس بعنوان توليد كننده، ثانويه،ICهاي اين خانواه را تحت مجوز اينتل توليد مي‌كنند. هر ميكروكنترلر اين خانواده از امكاناتي مناسب با يك سري طراحي‌هاي مشخص برخوردار است.
۸۰۵۱ يك IC نوعي و اولين عضو اين خانواده است كه بصورت تجاري مطرح شد خلاصه مشخصات اين IC بدين شرح است:

۱- K4 بايت ROM
۲- ۱۲۸ بايت RAM
۳- چهار درگاه I/O هشت بيتي
۴- دوتايمر شمارنده ۱۶ بيتي
۵- رابطه سريال
۶- k64 بايت فضاي حافظه خارجي براي كد
۷- k64 بايت فضاي حافظه خارجي براي داده
۸- پردازنده بولي 
۹- ۲۱۰ مكان بيتي آدرس پذير
۱۰- انجام عمليات ضرب و تقسيم در ۴ ميكروثانيه
ديگر اعضا خانواده MCS-51 هر يك از امكانات ديگري از قبيل ROM روي تراشه. RAM , EPROM روي تراشه و يا يك تايمر سوم را دارا هستند. در ضمن هر يك از انواع ICهاي اين خانواده يك نسخه مشابه با CMOS كم مصرف نيز دارد.
تعداد تايمرها حافظه داده حافظه كد شماره قطعه
۲ ۱۲۸ بايت K ROM 4 8051
۲ ۱۲۸ بايت ۸۰۳۱
۲ ۱۲۸ بايت K EPROM 4 8751
۳ ۲۵۶ بايت K ROM 8 8052
۳ ۲۵۶ بايت ۸۰۳۲
۳ ۲۵۶ بايت K EPROM 8 8752

بررسي پايه‌ها:
۳۲ پايه از ۴۰ پايه ۸۰۵۱ به عنوان درگاه I/O عمل مي‌كند. معهذا ۲۴ خط از اين خطوط دو منظوره هستند. هر يك از اين خطوط مي‌توانند به عنوان I/O يا خط كنترل و يا بخشي از گذرگاه آدرس يا داده بكار روند.
در طراحي‌هايي كه با كمترين مقدار حافظه وديگر قطعات خارجي انجام مي‌شوند. از اين درگاهها به عنوان I/O همه منظوره استفاده مي‌كنند. هر هشت خط يك درگاه مي تواند به صورت يك واحد در ارتباط با وسايل موازي مانند چاپگرها و مبدل‌هاي ديجيتال به آنالوگ بكار روند و يا هر خط به تنهايي با وسايل تك بيتي مثل سويئچ‌ها، LED،ها، ترانزيستورها، سيم‌پيچ‌ها، موتورها و …. ارتباط برقرار كنند.

درگاه ۰
اين درگاه يك درگاه دو منظوره از پايه ۳۲ تا ۳۹ تراشه ۸۰۵۱ مي باشد. اين درگاه در طراحي هاي با كمترين اجزاي ممكن به عنوان يك درگاه I/O عمومي استفاده مي شود. در طراحي هاي بزرگتر كه ازحافظه خارجي استفاده مي كنند، اين درگاه يك گذرگاه آدرس و داده مالتي پلكس شده مي باشد.
درگاه ۱
درگاه ۱ ، درگاه اختصاصي I/O روي پايه هاي ۱ تا ۸ است . پايه هاي P1.0 تا P1.1 در صورت نياز براي ارتباط با وسايل خارجي بكار مي‌روند. وظيفه ديگري براي پايه هاي در تا ۱ در نظر گرفته نشده است. بنابراين آنها گهگاه براي ارتباط با وسايل خارجي بكار مي روند. استثنائاً در IC هاي ۸۰۳۲/۸۰۵۲ كه از P1.0 و P1.1 به عنوان خطوط I/O و يا ورودي تايمر سوم استفاده مي شود.
درگاه ۲        
درگاه ۲ (پايه هاي ۲۱ تا ۲۸ يك درگاه دو منظوره است كه به عنوان I/O عمومي و يا بايت بالاي گذرگاه آدرس در طراحي با حافظه كد خارجي به كار مي رود. اين درگاه همچنين در طراحي هايي كه به بيش از ۲۵۶ بايت از حافظه داده خارجي نياز دارند نيز استفاده مي شود.
درگاه ۳
 درگاه ۳، يك درگاه دو منظوره روي پايه هاي ۱۰ تا ۱۷ مي باشد. علاوه بر I/O عمومي اين پايه ها هر يك وظايف ديگري نيز در رابطه با امكانات خاص ۸۰۵۱ دارند.
  • بازدید : 64 views
  • بدون نظر
این فایل در ۳۷صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:

¬¬در دنياي صنعتي امروز ، انتقال ديتا به عنوان يکي از مهمترين بخشهاي پروسه هاي کنترلي شناخته شده است و طراحان در تلاش براي بوجود آمدن پروتکل هاي جديدي با ايمني ، صحت و سرعت بالا در انتقال ديتا هستند. در اين مقاله ، در ابتدا به معرفي تبادل ديتا (Data Communication) پرداخته و برخي از مباحث کليدي آن از جمله ارتباط سريال و موازي ، فزستنده و گيرنده ، اتصالات و تبادل شفاف ، ساختار Master-Slave ، سرعت انتقال ، مدوله سازي ، Handshaking را مختصراً توضيح مي دهيم. 
چگونه تبادل ديتا انجام مي پذيرد؟
هدف از تبادل ديتا ، انتقال ديت بين ۲ يا تعداد بيشتري واحد مي باشد. به عنوان يک اصل ، آنها مي توانند کاراکتر، دستورات باشند که نياز به نمايش دارند.ساده ترين سطح زبان کامپيوتر ، کاراکترهاي باينري است که شامل ۷ يا ۸ ، عدد صفر يا يک مي باشد. اکثر کامپيوترها با اين سطح کار مي کنند.
تبادل ديتا اساساً با صفر و يک صورت مي گيرد.
يکي از استانداردهاي معمول در کامپيوترها ، استاندارد ASCII مي باشد که شامل ۱۲۸ کاراکتر است که هر کدام از آنها از ۷ بيت تشکيل شده است. بايد توجه داشت که ارتباطات در داخل کامپيوتر با سرعت زيادي انجام مي شود و براي ارتباط با محيط خارج بايد ارتباطات همزمان شوند و همچنين بايد صحت تبادل ديتا ، کنترل شود.
استانداردهاي مختلفي از ASCII وجود دارد. به عنوان مثال Extended ASCII که از هشتمين بيت نيز براي انتقال data استفاده مي کند.
يک بيت در هر زمان يا يک بايت بطور کامل
دو روش براي انتقال ديتا وجود دارد : 

۱-  سريال
۲-  موازي

در انتقال موازي ، براي هر بيت يک مسير در نظر گرفته شده است. بنابراين کاراکترها مي توانند بطور همزمان ارسال شوند. با توجه به اين مزيت، که سرعت بالاي انتقال است اين روش در سيستمهاي ارتباطي کوتاه مورد استفاده قرار مي گيرد.
در مقابل ، در روش سريال هر بيت در هر لحظه فرستاده مي شود. بنابراين پروتکل ارتباطي ، بايد بتواند براي مقصد ، ابتدا و انتها را مشخص کند. علاوه بر اين، سرعت انتقال نيز با واحد bit/s معرفي مي شود.
 
يک کاراکتر در يک زمان يا يک جمله کامل
ما دو روش براي انتقال سريال داريم : 
۱- انتقال غير همزمان (Asynchronous) 
۲- انتقال همزمان (synchronous)
در انتقال غير همزمان ، ترانسميتر، کاراکترها را در يک لحظه با بيت start و stop مي فرستد. و گيرنده هر بيت start را که دريافت مي کند، بقيه بيتها را به عنوان کاراکتر تفسير مي کند. و بيت stop گيرنده را ريست مي کند. در حدود ۹۰ تا ۹۵ درصد از انتقال نوع سريال data بصورت غير همزمان است.
در انتقال همزمان همه پيام ها در يک لحظه فرستاده مي شود. سرعت انتقال توسط خط clock بر روي يک سيم جداگانه يا بصورت مدوله شده بر روي سيگنال ديتا ، تعيين مي شود. عيب روش غير همزمان در مقابل روش همزمان اين است که حدود ۲۰ الي ۲۵ درصد پيغام شامل بيتهاي پريتي مي باشد.
 
فرستنده و گيرنده
در مبحث تبادل ديتا ، سخت افزارهايي با نام فرستنده و گيرنده وجود دارد. مانند PC و ربات که مي توانند هم به عنوان گيرنده و هم به صورت فرستنده در يک زمان عمل کنند.
اين انتقال به سه روش مي تواند انجام شود:
۱- simplex : انتقال ديتا تنها يک طرفه است و از جانب فرستنده به گيرنده ، روي يک line مي باشد.
۲- Half duplex : انتقال ديتا ، به صورت دو طرفه مي باشد ولي نه بصورت همزمان بلکه روي دو line جداگانه انجام مي پذيرد.
۳- Full duplex : انتقال ديتا ، به صورت دو طرفه ، همزمان روي يک line انجام مي پذيرد.(مانند انتقال ديتا در مکالمات تلفني)
 
اتصال صحيح :
DTE(data terminal equipment) و DCE(data communication equipment) از جمله اصطلاحاتی است که در تبادل ديتا وجود دارد. کامپيوترها و ترمينالها معمولاً DTE هستند، مودم و سخت افزارهاي ارتباطي معمولاً DCE هستند در حالي که تجهيزات ديگري تظير مولتي پلکسرها و پرينترها مي توانند هم DTE و هم  و هم DCE باشند. در DTE پينهاي استفاده شده براي انتقال و دريافت ديتا متفاوت با پينهاي کانکتور DCE مي باشند. بدين ترتيب مي توان DTE را مستقيماً به DCE متصل کرد. در صورتي که دو DCE را به هم متصل کنيم مجبوريم که فرمت اتصال را تغيير دهيم تا خط TD(Transmit Data) بر خط RD(receive data) منطبق شود.
 
تبادل شفاف (transparent communication)
در سيستمهاي کامپيوتري که بوسيله تعدادي مودم با هم شبکه شده اند از ارتباط شفاف استفاده مي کند. شفافيت به معناي اين است که همه واحدها همه پيغامها را مي شنوند. 


ساختار Master-Slave
بخش گسترده اي از شبکه هاي صنعتي از اين ساختار استفاده مي کنند بدين صورت که چندين Master پيغام ها را بطور متناوب به Slaveهايي که پاسخ مي دهند مي فرستد. اين توالي را polling مي نامند. در اين سيستم هر Slave آدرس مخصوص به خود را دارد.
Master فرمان خود را به همراه آدرس Slave مورد نظر مي فرستد. Slave مورد نظر پس از تشخيص آدرس ، فرمان را انجام داده و در بعضي مواقع سنگنال تاييدي براي master  مي فرستد تا به کار خود ادامه دهد.
ساختار و شکل آدرس و پيغام بستگي به نوع پروتکل ارتباطي که استفاده مي شود، دارد. پيغامي که براي همه slave  ها فرستاده مي شود پيغام broadcast  ناميده مي شود. اين مي تواند پيغامي باشد که توسط master  به تمامي slave  ها دستور داده مي شود که آن وظيفه را انجام مي دهند. به عنوان مثال مي توان plc  هاي کنترل کننده آژير را نام برد. درهنگام خطر همه آژيرها بايد به صدا درآيند بنابراين يک پيغام broadcast  بايد فرستاده شود.
سرعت انتقال:
همواره بهينه ترين سرعت ، بيشترين سرعت نيست بلکه بايد خطاي انتقال و ارتباطات را نيز در نظر گفت.نوع کابل و فاصله سرعت بهينه را تعيين مي کند.در اين صورت ما به امنيت بالا و قابل اطمينان در انتقال ديتا دست مي يابيم .
براي انتقال ديتا ديجيتال به وسيله سيم هاي مسي بايد در ابتدا تغيير شکل پيدا کند.
کابل ارتباطي سبب تضعيف و متغيرشدن سيگنال مي شوند که در سرعتهاي بالا اين اثرها مي تواند بحراني باشند.
دو اصطلاح که در اين مبحث وجود دارد bit/s و baud rate مي باشند. سرعت انتقال با bit/s اندازه گيري مي شود. بطور تقريبي براي انتقال هر کاراکتر ۱۰ بيت نياز است بنابراين مي تواند با سرعت ۹۶۰۰ bit/s تقريباً ۹۶۰ کاراکتر را در ثانيه انتقال داد.
براي تغيير شکل سيگنال پيش از فرستادن به شبکه از مودم استفاده مي شود. مودم ، سيگنال و baud rate را تغيير مي دهد.  Baud rate تعيين مي کند سيگنال در هر ثانيه چند بار تغيير شکل پيدا مي کند (مدوله مي شود). هر تغيير شکل در سيگنال در واقع ايجاد بسته اي است که در طول خط به سوي مودم گيرنده فرستاده مي شود و در آنجا کدگشايي شده و دوبار اطلاعات به ديجيتال تبديل مي شود.
 
در مودمهاي short-haul (براي مسيرهاي کوتاه) سيگنال تغيير شکل پيدا نمي کند و همان چيزي که فرستاده مي شود در مودم گيرنده دريافت مي شود و به صورت Transparent ارتباط برقرار مي کنند.
مودمهاي PTT مانند مودمهاي short-haul عمل مي کنند با اين تفاوت که بافري دارند که ديتا را قبل از فرستادن ذخيره مي کند. با توجه به baud rate ميزان سرعت انتقال ديتا مشخص مي شود به عنوان مثال اگر مودم بتواند با ۱۴۰۰ baud   کار کند و در هر انتقال ۴ بيت داشته باشيم بايد سرعت انتقال ۹۶۰۰ bit/s باشد.
مدوله سازي :
سيگنالهاي ديتا بايد براي انتقال ديتا در انواع کابلها ، تغيير شکل پيدا کرده و سازگار شوند.سطح هاي ديجيتال براي کابل انتخابي مورد نظر به فرمي قابل خواندن تغيير داده شود.
سه نوع مدوله سازي وجود دارد:
۱- مدوله سازي فرکانس:
فرکانسهاي مختلفي براي انتقال سطوح ديجيتال ۰ و ۱ استفاده مي شود .
۲- مدوله سازي فاز:
براي انتقال سطوح ديجيتال ۰ و ۱ ازشيفت فازي ناگهاني سيگنال سينوسي حامل استفاده مي کند.اين روش معمول در مودمهاي  PTT  در شبکه هاي ارتباطي راه دور استفاده مي شود.
۳- مدوله سازي دامنه :
ازقدرت ودامنه سيگنال ارسالي براي نشان دادن سطح ۱و۰ استفاده مي کند.
۴- مدوله سازي دامنه و فاز:
ترکيبي است که اجازه انتقال بيتهاي بيشتري در هر baud  را ميدهد.
 

Handshaking  
Handshaking روشي براي تجهيزات ارتباط ديتا است تا بتوانند جريان ديتا بين دستگاه هايي که به شبکه متصل هستندرا کنترل کند. به خصوص در مواردي که يکي از دستگاه ها نسبت به بقيه کندتر باشند.
دونوع Handshaking وجوددارد:  نرم افزاري و سخت افزاري .
زماني را در نظر بگيريد که بين کامپيوتر و پرينتر ارتباط بر قرار کرده ايد . حال اگر بخواهيد اطلاعات را با سرعت بيشتري از آ نچه پرينتر چاب ميکند،بفرستيد.دستگاه پرينتر اين قابليت را دارد که اطلاعات اضافي را در يک بافر ذخيره کند.در اينجا هنگامي که بافر پر مي شود با  Handshaking نرم افزاري يا سخت افزاري ، کامپيوتر را از اين مساله آگاه کرد.
مثال ديگر در استفاده از مودم مي باشد . سرعت ديتا بين کامپيوتر و مودم معمولا بيشتر از ان است که خطوط تلفن پشتيباني مي کند بنابراين مودم بايد از اين روش استفاده کند تا به کامپيوتر اطلاع دهد با سرعت کمتري ديتا را انتقال دهد.
Handshaking نرم افزاري :
درمثال پرينتر با اين روش وقتي بافر پر مي شود کاراکتري را براي کامپيوتر ارسال ميکند(Xoff ).وقتي که بافر خالي شد کاراکتري براي کامپيوتر ارسال مي شود(Xon) تا انتقال ديتا ادمه پيدا کند.کاراکترهاي معمولي که در اين پروتکل استفاده مي شوند شماره ۱۷ اسکي(Xon) وشماره ۱۹ اسکي (Xoff) مي باشد.
 

Handshaking سخت افزاري:
به جاي استفاده از کارکترهاي اضافي در جريان ديتا،پروتکل RS-232  خطوط سخت افزاري اضافي بدين منظور در نظر گرفته است. رايج ترين خطوط استفاده شده RTS(Requet to send) و CTS(Clear to Send)  مي باشند.به عنوان نمونه وقتي که کامپيوتر مي خواهد با يک مودم ارتباط بر قرار کند:
۱- اگر کامپيوتر بخواهدديتا را انتقال دهدخط RTS  را از ۳+ به ۱۵+ افزايش مي دهد.(ديتا انتقال نيافته است)
۲- مودم تغييردر خط  RTS را تشخيص داده وهنگامي که آماده دريافت ديتا است خط CTS  را تغيير مي دهد.
۳- کامپيوترمنتظر ميماندکه اگر خط CTS  به سطح بالا تغييرکرد ديتا را انتقال دهد.
درهر نقطه اي که خطCTS  افت کند کامپيوتر انتقال ديتا را متوقف مي کند.
خط سخت افزاري که غالبا براي پرينترهاي سريال فوري استفاده مي شودخط DTR  است که به کامپيوتر اطلاع مي دهد انتقال ديتا را به دليل نبودن کاغذ متوقف کند.
سيگنالهاي سخت افزاري تنها براي روش Handshaking استفاده نمي شوند بلکه کاربردهاي ديگري نيز مي توانند داشته باشند.هنگامي که دوقطعه از يک دستگاه به طور ويژه اي ترکيب شده و سوئيچ خط انجام مي پذيردبراي اطمينان از اينکه هر قطعه سيگنال صحيح را درزمان صحيح دريافت کرده استفاده از اين روش کارگشا مي باشد.
 

مدل سيستمهاي باز open systems model
در تبادل ديتاي ديجيتال ، سيم بندي بين دو يا چند وسيله يکي از اولين گامها در برپايي يک شبکه است. همانند اين تجهيزات سخت افزاري ، نرم افزار نيز بايد آدرس دهي شود. مدل مرجع OSI شامل هفت لايه زير مي باشد:
لايه ۱ (لايه فيزيکي) : تعريف الکتريکي و مکانيکي سيستم
لايه ۲ (لايه پيوند ديتا data link) : قالب بندي و قالب تصحيح خطاي ديتا
لايه ۳ (لايه شبکه) : فرستادن بهينه پيغامها از يک شبکه به شبکه ديگر
لايه ۴ (لايه ارسال) : کانالي براي ارسال پيغامها از يک فرآيند کاربردي به ديگري
لايه ۵ (لايه ديدار Session layer) : سازمان دهي و همزمان سازي تبادل ديتا
لايه ۶ (لايه ارائه Presentation) : قالب ديتا و يا دوباره ارائه دادن
لايه ۷ (لايه کاربردي) : ارسال فايل ، تبادل پيغامها
 
مدل OSI به صورت مجموعه اي از وجودهايي همانند يک برنامه نرم افزاري که در هر يک از هفت لايه قرار داده شده اند قابل تصوير است. اين يک قالب کاري کلي را براي توليدکننده فراهم مي آورد که راه حلهاي ارتباطي خود که شامل لينکهاي ارتباطي سخت افزاري و پروتکلهاست را به صورت بسته (package) درآورد.
در دنياي ابزار دقيق ، اين مدل OSI به صورت زير ساده مي گردد:
لايه ۱ : لايه فيزيکي
لايه ۲ : لايه پيوند ديتا
لايه ۳ : لايه کاربردي

اين عمل به صورت ارزشمندي عملکرد يک سيستم کلي را ساده مي کند. شما توجه خواهيد داشت که يک لايه ديگر در بالاي ديگر لايه ها به آن اشاره شده که لايه کاربر (User layer) ناميده شده است.

اين لايه يک بخش از مدل OSI نيست ولي بخش مهمي از يک سيستم کلي است.
مثالهايي از چگونگي کاربرد اين لايه ها عبارتند از:
RS-232 و RS-485 مثالهايي از لايه فيزيکي هستند.
پروتکل Modbus مثالي از لايه پيوند ديتاست.
Ethernet شامل لايه هاي فيزيکي و پيوند ديتاست.
پروتکل ابزار دقيق هوشمند HART شامل هر سه لايه فيزيکي ، پيوند ديتا و کاربردي است.
Profibus و Foundation Profibus شامل هر سه لايه فوق است.



تاريخچه I2C  :
پروتکل I2C در اوايل دهه ۱۹۸۰ توسط شرکت Philips ابداع گرديد که هدف ابتدايي آن فراهم کردن راهي ساده جهت ارتباط يک CPU با تراشه هاي جانبي در يک دستگاه تلويزيون بود زيرا باسهاي سابق و موجود داراي تعداد خطوط زياد بود که سبب ازدحام در PCB مربوطه مي گرديد.
I2C طبق تعريف شرکت فيليپس مخفف Inter-IC   مي باشد که بيانگر هدف آن يعني فراهم آوردن يک لينک ارتباطي بين مدارات مجتمع مي باشد.
امروزه اين پروتکل به صورت عمومي در صنعت پذيرفته شده است و کاربرد آن از سطح تجهيزات صوتي و تصويري نيز فراتر رفته است. به گونه اي که امروزه در بيش از ۱۰۰۰نوع IC مختلف به کار گرفته شده است .

مزاياي باس براي طراح :
پروتکل I2C سبب سهولت و سرعت در طراحي مدارات مي گردد زيرا :
۱- بلوک دياگرام عملياتي کاملا” با IC  هاي واقعي مطابقت دارد  و طراح به سرعت مي تواند به شماتيک نهايي دست پيدا کند.
۲- نياز به طراحي رابط(interface) اضافي ندارد زيرا به صورتخدon-chip  وجود دارد و محاسبات مربوط به تطبيق امپدانس و … حذف مي گردد .
  • بازدید : 39 views
  • بدون نظر
این فایل در ۴۳صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:

اين پروژه جهت کنترل ۴ موتور مجزا با تنظيمات مجزا مي باشد که توسط برنامۀ Bascom  و به زبان Basic  طراحي شده است .
جهت شناسايي اين که کدام موتور بايد روشن شود به صورت مقايسه اي برنامۀ ساعت نوشته شده است که هر لحظه تنظيمات ۴ موتور با ساعت چک مي شود و هر کدام که با ساعت Set  شود بدين ترتيب است که اگر ثانيه با ثانيه ساعت برابر شد برنامه به قسمت دقيقه مي رود و اگر دقيقه برابر شد به قسمت ساعت رفته و آن را نيز مانند بقيه چک ميکند و در صورت برابر شدن هر کدام آن موتور را روشن و يا خاموش مي کند .
امروزه با توجه به پيشرفت علم الکترونيک از ميکروکنترلرها  استفاده بيشتري مي شود که اين ميکروکنترلرها دو مزيت بزرگ دارند : ۱ سادگي مدار از نظر سخت افزاري ۲ ارزان تمام شدن مدار .
ميکروکنترلرها انواع مختلف و با زبان هاي برنامه نويسي مختلف از جمله Basic و C و…
مي باشند که هر يک مزيتها و معايبي را دارند .
در اين پروژه که جهت کنترل زمان روشن و خاموش شدن ۴ موتور در خروجي يا به طور کلي ۴ خروجي از ميکروکنترلر AVR از نوع ATmega16 شرکت ATmel و توسط زبان Basic و در محيط Bascom طراحي شده است .

مختصري راجع به AVR 
زبانهاي سطح بالا يا همان (HIGH LEVEL LANGUAGES) HLL به سرعت در حال تبديل شدن به زبان برنامه نويسي استاندارد براي ميکرو کنترلرها (MCU) حتي براي ميکروهاي ۸ بيتي کوچک هستند . زبان برنامه نويسي BASIC  و C  بيشترين استفاده را در برنامه نويسي ميکروها دارند ولي در اکثر کاربردها کدهاي بيشتري را نسبت به زبان برنامه نويسي اسمبلي توليد مي کنند . ATMEL ايجاد تحولي در معماري ، جهت کاهش کد به مقدار مينيمم را درک کرد که نتيجه اين تحول ميکرو کنترلرهاي AVR هستند که علاوه بر کاهش و بهينه سازي مقدار کدها به طور واقع عمليات را تنها در يک کلاک سيکل توسط معماري ( REDUCED RISC INSTRUCTION SET COMPUTER)   انجام مي دهند و از ۳۲ ريجيستر همه منظوره (ACCUMULATORS) استفاده مي کنند که باعث شده ۴  تا ۱۲ بار سريعتر از ميکروهاي موزد استفاده کنوني باشند .
تکنولوژي حافظه کم مصرف غير فرّار شرکت ATMEL براي برنامه ريزي AVR ها مورد استفاده قرار گرفته است در نتيجه حافظه هاي FLASH و EEPROM در داخل مدار قابل برنامه ريزي (ISP) هستند . ميکروکنترلرهاي اوليه AVR  داراي ۱ ، ۲ ، ۸ کيیوبايت حافظه FLASH و به صورت کلمات ۱۶ بيتي سازماندهي شده بودند .
AVR ها به عنوان ميکروهاي RISC  با دستورات فراوان طراحي شده اند که باعث ميشود حجم کد توليد شده کم و سرعت بالاتري به دست آيد . 

عمليات تک سيکل :
با انجام تک سيکل دستورات ، کلاک اسيلاتور با کلاک داخلط سیستم يکي مي شود . هيچ تقسيم کننده اي در داخل AVR قرار ندارد که ايجاد اختلاف فاز کلاک کند .  اکثر ميکروها کلاک اسيلاتور به سيستم را با نسبت ۱:۴ يا  1:12 تقسيم مي کنند که
خود باعث کاهش سرعت مي شود . بنابراين AVR ها ۴  تا ۱۲ بار سريعتر و مصرف
آنها نيز ۴-۱۲ بار نسبت به ميکروکنترلرهاي مصرفي کنوني کمتر است زيرا در تکنولژي CMOS استفاده شده در ميکروهاي AVR ، مصرف توان سطح منطقي متناسب با فرکانس است .
نمودار زير افزايش (MILLION INSSTRUCTION PER SECONDS) MIPS را به علت انجام عمليات تک سيکل AVR (نسبت ۱:۱ ) در مقايسه با نسبتهاي ۱:۴ و ۱:۱۲ دي ديگر ميکروها را نشان مي دهد .
نمودار مقايسه افزايش 
MIPS/POWER Consumption در AVR با ديگر ميکرو کنترلرها .
 



طراحي براي زبان هاي BASIC و C
زبان هاي BASIC و C بيشترين استفاده را در دنياي امروز بعنوان زبان هاي HLL دارند. تا امروزه معماري بيشتر ميکروها براي زبان اسمبلي طراحي شده و کمتر از زبانهاي HLL حمايت کرده اند . 
هدف ATMEL طراحي معماري بود که هم براي زبان اسمبلي و هم زبان هاي HLL مفيد باشد . به طور مثال در زبانهاي C و BASIC  مي توان يک متغيير محلي به جاي متغيير سراسري در داخل زيربرنامه تعريف کرد ، در اين صورت فقط در زمان اجرا زير برنامه مکاني از حافظه RAM براي متغيير اشغال مي شود در صورتي که اگر متغييري به عنوان سراسري تعريف گردد در تمام وقت مکاني از حافظه FLASH ROM را اشغال کرده است . 
براي دسترسي سريعتر به متغييرهاي محلي و کاهش کد ، نياز به افزايش رجيسترهاي همه منظوره است . AVR ها داراي ۳۲ رجيستر هستند که مستقيماً به 
( UNIT ARITHMETIC) LOGIC ALU) متصل شده اند ، و تنها در يک کلاک سيکل به اين واحد دسترسي پيدا مي کنند .سه جفت از اين رجيسترها مي توانند به عنوان رجيسترهاي ۱۶ بيتي استفاده شوند .


کليات پروژه و نحوه عملکرد :
اين پروژه جهت زمان بندي مجزاي ۴ موتور (يا هر خروجي ديگر )استفاده مي شود که با تنظيم هر موتور مي توان به طور مجزا از آن استفاده کرد و تنظيمات هر موتور با موتورهاي ديگر کاملاً مجزا است . 
در اين پرژه پس از Initialize شدن و معرفي پرژه به صفحۀ اصلي مي رسيم که در قسمت بالاي صفحه ، ساعت آن قرار دارد که در هنگام روشن شدن در صورت تنظيم نکردن از ساعت ۱۲:۰۰:۰۰ شروع به شمارش مي کند .
در قسمت زيرين نشانگر ساعت ، نشانگر وضعيت ۴ موتور قرار دارد که در صورتي که موتوري روشن باشد در جلوي آن کلمه ي ON و در صورتي که خاموش باشد کلمۀ OFF درج شده است .
در پايين صفحه LCD 4 گزينۀ TAB – UP – MENU – SAVE  وجود دارد . 
براي تنظيمات موتور و ساعت توسط گزينۀ TAB به صفحۀ بعد مي رويم در صفحۀ بعد دو گزينه با نامهاي Mode 1 و Mode 2 داريم که Mode 1 براي تنظيمات ساعت و Mode 2  براي تنظيمات ۴ موتور است و در صورتي که سوئيچ زير هر گزينه را بفشاريم به آن MODE رفته و شروع به تنظيمات مي کنيم به شرح زير :
اگر Mode 1 برويم وارد مُد ساعت شده ايم و با کليد TAB روي هر قسمت از ساعت و دقيقه و ثانيه مي رويم پس از اين کار با گزينه Up شروع به تنظيم هر قسمت مي کنيم و
با گزينۀ TAB به قسمت بعدي مي رويم و در صورتي که بخواهيم تنظيمات ثبت شود توسط گزينۀ Save آن را ثبت مي کنيم و توسط گزينۀ Esc به صفحۀ اصلي بر              ميگرديم . حال اگر به MODE 2 برويم وارد مُد تنظيمات ۴ موتور رفته ايم و با کليد TAB از ۴ موتور يکي را انتخاب کرده و توسط گزينۀ OK وارد تنظيمات آن موتور ميشود که شامل دو گزينۀ Start و Time است که گزينۀ  Start زمان روشن شدن و گزينۀ  Time زمان خاموش شدن را مشخص مي کند و براي تنظيمات آن نيز مانند تنظيمات ساعت توسط دو گزينۀ TAB و Up تنظيم مي کنيم و توسط گزينۀ  Save آن را قبول کرده و تنظيم مي کنيم ، سپس توسط گزينۀ Esc از آن صفحه خارج و به صفحۀ قبل بر مي گرديم و اين عمل براي تنظيم ۴ موتور صورت مي گيرد .
در پايان جا دارد اين نکته نيز گفته شود که تنظيمات ثبت شده براي هر ۴ موتور در EEPROM ثبت مي شود و در صورتي که تغذيۀ آن قطع شود و براي بار دوم روشن شود تنها بايد ساعت تنظيم شود و تنظيمات موتور دقيقاً مانند قبل عمل خواهند کرد .
توضيح در مورد سخت افزار 
ميکروکنترلرها AVR اين پروژه از نوع Atmega16 انتخاب شده است که داراي فضاي حافظۀ بيشتر و EEPROM مي باشد .نمايشگر اين پروژه از نوع LCD 4*20  با شماره
 TS-2040-1 مي باشد که ديتا شيت آن در فصل پاياني ارائه شده است .
در قسمت تغذيه از چهار ديود IN4007 استفاده شده و براي صافي آن از خازن ۱۰۰۰Uf و خازن عدسي ۱۰۰nf استفاده شده است و از يک رکولاتور ۷۸۰۵ براي تثبيت ولتاژ ۵ ولت در خروجي قرار گرفته است . 
۴ عدد رله نيز براي کنترل ، در خروجي قرار دارند . LED و يک مقاومت ۴۷۰ اُهم براي قسمت نشان دهنده Power قرار دارد .
براي کنترل و مقداردهي از ۴ ميکروسوئيچ به همراه ۴ مقاومت ۱۰ کيلو اُهم که      پزيري را صفر مي کند و در عمل به اين مقاومتها ، مقاومت هاي Pall down   گويند .
يک مقاومت براي تنظيم کنتر است ، LCD بين پايۀ ۳  و زمين قرار دارد و يک مقاومت هم براي محدود کردن جريان سوئيچ رله ها است .




خصوصيات ATmega16 , ATmega16 L
از معماري AVR RISC استفاده مي کند .
کارايي بالا و توان مصرفي کم . 
داراي ۱۳۱ دستورالعمل با کارايي بالا که اکثراً تنها در يک کلاک سيکل اجرا ميشوند .
۳۲*۸ رجيستر کاربردي .
سرعتي تا ۱۶ MIPS در فرکانس ۱۶ MHZ 
حافظه ، برنامه و دادۀ غير فرّار 
۱۶K بايت حافظه FLASH داخلي قابل برنامه ريزي 
پايداري حافظه FLASH : قابليت ۱۰٫۰۰۰ بار نوشتن و پاک کردن (WRITE , ERASE)
۱۰۲۴ بايت حافظه داخلي SRAM
۵۱۲ بايت حافظه EEPROM داخلي قابل برنامه ريزي.
پايداري حافظه EEPROM : قابليت ۱۰۰٫۰۰۰ بار نوشتن و پاک کردن (WRITE , ERASE)
قفل برنامۀ FLASH و حفاظت دادۀ EEPROM
قابليت ارتباط JTAG (IEEE Std.)
برنامه ريزي برنامۀ FLASH ، EEPROM ، FUSE BITS و LOCK BITS از طريق ارتباط JTAG 
خصوصيات جانبي 
دو تايمر – کانتر (TIMER / COUNTER) 8 بيتي با  PRESCALER مجزا و مُد  COMPARE 
يک تايمر – کانتر (TIMER / COUNTER) 16 بيتي با PRESCALER مجزا و داراي مُدهاي COMPARE و  CAPTURE
۴ کانال PWM 
۸  کانال مبدل آنالوگ به ديجيتال ۱۰ بيتي 
۸ کانال SINGLE – ENDED
داراي ۷  کانال تفاضلي در بسته بندي TQFP
داراي دو کانال تفاضلي با کنترل گين ۱۰x , 1x و ۲۰۰x
يک مقايسه کننده آنالوگ داخلي .
WATCHDOG قابل برنامه ريزي با اسيلاتور داخلي .
قابليت ارتباط با پروتکل سريال دوسيمه (TWO – WIRE)
قابليت ارتباط سريال (SERIAL PERIPHERAL INTERFACE) SPI  به صورت MASTER يا SLAVE.
USART سريال قابل برنامه ريزي 
خصوصيات ويژه ميکروکنترلر 
POWER-ON RESET CIRCUIT و BROWN-OUT قابل برنامه ريزي .
داراي اسيلاتور RC داخلي کاليبره شده .
داراي ۶ حالت
EXTENDED STANDBY , STANDBY , POWER – SAVE , IDLE , POWER-DOWN) SLEEP و (ADC NOISE REDUCTION
منابع وقفه (ENTERRUBT) داخلي و خارجي .
عملکرد کاملاً ثابت .
توان مصرفي پايين و سرعت بالا توسط تکنولوژي CMOS
توان مصرفي در ۲۵°c , 3v , 1mhz  براي ATMEGA16L
حالت فعال (ACTIVE MODE) 1.1mA
در حالت بي کاري (IDLE MODE) 0.35mA
در حالت ۱uA>:POWER-DOWN
ولتاژهاي عملياتي (کاري)
۲٫۷v تا ۵٫۵v براي (Atmega16L)
۴٫۵v تا ۵٫۵v براي (Atmega16)
فرکانسهاي کاري 
۰MHZ  تا ۸MHZ براي (Atmega16L)
۰MHZ  تا ۱۶MHZ براي (Atmega16)
خطوط I/O و انواع بسته بندي 
۳۲  خط ورودي / خروجي (I/O) قابل برنامه ريزي .
۴۰ پايه ۴۴ , PDIP پايه TQFP و ۴۴ پايه 
  • بازدید : 95 views
  • بدون نظر
این فایل قابل ویرایش می باشد ودر ۱۵صفحه تهیه شده:
قطعات مورد نیاز 
۱٫ ۲ عدد سنسور آلتراسونیک گیرنده و فرستنده 
۲٫ ۱ عدد آیسی LM833 
۳٫ ۱ عدد آیسی LM358 
۴٫ ۱ عدد آیسی ۴۰۱۱ 
۵٫ ۱ عدد آیسی ۴۰۶۹ 
۶٫ ۱ عدد آیسی PIC 16F873 
۷٫ ۱ عدد رگولاتور ۷۸۰۵ 
۸٫ ۱ عدد رگولاتور ۷۸۰۹ 
۹٫ ۳ عدد ترانزیستور ۲SA1015 
۱۰٫ ۳ عدد ترانزیستور ۲S1815 
۱۱٫ ۳ عدد سون سگمنت  آند مشترک 
۱۲٫ ۱ عدد کریستال ۴MHz 
۱۳٫ ۲ عدد خازن)۲۲P 
۱۴٫ ۷ عدد مقاومت ۳۳۰ اهم 
۱۵٫ ۱ عدد پتا نسیو متر ۱ کیلو اهم 
۱۶٫ ۶ عدد مقاومت ۵٫۶ کیلو اهم 
۱۷٫ ۶ عدد خازن ۰٫۱ میکرو فاراد 
۱۸٫ ۳ عدد خازن ۱۰۰۰ پیکو فاراد 
۱۹٫ ۱ عدد ۱۰۰ میکرو فاراد 
۲۰٫ ۲ عدد دیود ۱SS106 
سنسور آلتراسونیک 
این سنسور به صورت دو pack مجزای گیرنده و فرستنده موجو د می باشد.این دو سنسور به صورت یک پک(pack) واحد نیز وجود دارد. فرکانس تولید شده توسط این سنسور ۴۰ کیلو هرتز می باشد
میکروکنترلر PIC 16F873 

در این مدار از ویژگی تولید امواج (A/D) آنالوگ به دیجیتال این آیسی و ههچنین از آن جهت محاسبه و درایو کردن ۷segment ها جهت نمایش فاصله نیز استفاده شده است. 
این آیسی جهت تقویت امواج آلتراسونیک به میزان ۶۰ دسی بل (db) در قسمت گیرنده مورد استفاده قرار می گیرد. 
LM538 
این آیسی جهت آشکار سازی امواج آلتراسونیک، در این مدار مورد استفاده قرار می گیرد. 
۴۰۱۱ 
امواج آلتراسونیک تقویت شده توسط دو آیسی فوق، توسط این آیسی hold یا نگهداری می شود.،و وارد میکروکنترلر می شود .،عملکرد این آیسی در این مدار به نوعی شبیه فلیپ فلاپ نوع D است.این آیسی همانطور که در شکل ملاحظه می کنید.، دارای ۴ گیت NAND است
رگولاتور ۷۸۰۵ 
این آیسی جهت تثبیت ولتاژ به میزان ۵ ولت جهت مصارف قطعاتی که این حد از ولتاژ برای آنها تعریف شده مورد استفاده قرار می گیرد. 
ترانزیستور ۱۸۱۵ 
این ترانزیستور از نوع npn است .،در این مدار ترانزیستور ۱۸۱۵ جهت درایو کردن آیسی ۴۰۶۹ (not buffer) با تغذیه ۹ ولت مورد استفاده قرار می گیرد.،فعال شدن این ترانزیستور توسط میکروکنترلر انجام می گیرد. 
۴۰۶۹ 
این آیسی دارای ۶ عدد بافر not است.،در این مدار این آیسی جهت درایو کردن سنسور آلتراسونیک در قسمت فرستنده مورد استفاده قرار می گیرد. 
خازن 
خازنها در مدار جهت حذف جریان dc وعبور جریان متغییر مورد استفاده قرار می گیرد.،همچنین عمل حذف نویز را در مدار نیز انجام می دهند.خازنهای سرامیکی در فرکانسهای بالا کاربرد دارند.،خازنهای مولتی لایر نیز از نوع سرامیک هستند.با این تفاوت که تعداد لایه بیشتری دارند.و در فرکانسهای بالا عملکرد بهتری به خاطر چند لایه بودن از نوع سرامیکی دارند. خازنهای الکترولیتی بیشتر جهت حذف نویز در منابع تغذیه کاربرد دارند و دارای جهت مثبت و منفی هستند.،در هنگام اتصال آنها بر روی برد به جهت مثبت و منفی آنها دقت کنید. 
در شکل زیر  مدار تقویت سیگنال را مشاهده می کنید.هنگامیکه امواج آلتراسونیک توسط سنسور گیرنده آلتراسونیک که در نقشه با RX مشخص شده است.،دریافت می شود.،به میزان ۶۰ دسی بل تقویت می شو د.۴۰ دسی بل در مرحله اول و ۲۰ دسی بل در مرحله دوم تقویت می شو د.عمل تقویت به میزان ۶۰ دسی بل را آیسی LM388 انجام می دهد.۹ ولت ورودی توسط تقسیم ولتاژ دو مقاومت۱۰K به میزان ۴٫۵ ولت کاهش می یابد.،و وارد پایه مثبت آپ امپ می شود. 
در قسمت بعدی مدار امواج پس از عبور از دیودها وخازن وارد پایه ۳ آیسی LM358 می شود.همانطور که در شکل ملاحظه می کنید.، فیدبک در پایه منفی آپ امپ این آیسی وجود ندارد.در این حالت خروجی به سرعت به اشباع می رود. 
بنابر قوانین مدار در تقسیم ولتاژ در مدارات سری ولتاژ ثابتی را در پایه منفی خواهیم داشت.زمانیکه ورودی مثبت که از قسمت قبلی مدار تحریک می شود.،ولتاژش اندکی بیشتر از VCC باشد.خروجی به سرعت در ولتاژ VCC قرار می گیرد.عکس این مطلب نیز وجود دارد.،زمانیکه ولتاژ در پایه ۳ اندکی کمتر از ولتاژ در پایه ۲ باشد.خروجی به سرعت صفر می شود.
  • بازدید : 50 views
  • بدون نظر
این فایل در ۵۸صفحه قابل ویرایش تهیه شده وشامل موارد زیر است:

ميكرولنترلر ۸۰۵۱ پايه و اساسي است براي يادگيري ديگر ميكروكنترلر ها دستورات اسمبلي اين ميكرو نسبت به AVR خيلي كمتر هست و داراي امكانات كمتري نسبت به ديگر ميكرو ها است به همين دليل يادگيري و فهم آن خيلي راحت و آسان مي باشد كه براي شروع ابتدا بايد مفاهيم منطق و ديجيتال را خوب فهميده باشيد و بعد از آن بايد سخت افرار ۸۰۵۱ و RAM و ROM داخلي آن را درك كرده باشيد تا بتوانيد يك برنامه كاربردي بنويسيد تا يك پروسه را كنترل كند. خيلي ها براي يادگيري ميگن كه ما كه مي خواهيم برنامه نويسي ميكرو را ياد بگيرم پس بهتر بالاترين ميكرو يعني AVR يا PIC ياد بگيريم در صورتي كه به نظر من كاملا اشتاه بوده و كار غلطي است كه اگه بخواهيد تا آخر ادامه دهيد كاري طاقت فرسا خواهد بود. مثل اين خواهد بود كه سقف طبقه اول يك ساختمان را درست نكرده باشيم و بخواهيم طبقه دوم را درست كنيم
تشريح پايه هاي ۸۰۵۱ و RAM و ROM داخلي آن
۸۰۵۱ داراي ۴ پورت ورودي يا خروجي مي باشد يعني اينكه هر كدام از اين پورت ها را مي توان در يك لحظه به عنوان ورودي استفاده كرد و همان پورت را دوباره در يك لحظه ديگر به عنوان خروجي از آن استفاده كرد. منظور از پورت چيست؟ پورت در ميكرو يعني ۸ عدد پين يا ۸ خط ديتا يا ذر اصطلاح ۸بيتي، كه ۸۰۵۱ داراي ۴ پورت ۸ بتي يعني ۳۲ پايه مي باشد.
ميكرو كنترلر AT89C51 داراي ۱۲۸ بايت RAM و ۴KB حافظه برنامه ROM مي باشد. و AT89C52 داراي ۲۵۶ بايت RAM و ۸KB حافظه برنامه ROM مي باشد. و AT89C55 داراي ۲۵۶ بايت RAM و ۲۰KB حافظه برنامه ROM مي باشد. كه بستگي به حجم برنامه ما دارد كه از كدام ميكرو استفاده كنيم.
كاربرد RAM چست؟ اصلا به چه دردي مي خوره؟
RAM يعني random access memory حافظه با دستيابي تصادفي. از اين حافظه براي ذخيره اطلاعات موقت استفاده مي شود يعني اينكه تا زماني كه تغذيه ميكرو وصل باشد اين اطلاعات از بين نمي روند و با قطع كردن تغذيه اين اطلاعات از بين مي روند. ما در ميكرو ۸ ثبات ۸ بتي براي ذخيره كردن داده  ها داريم در بعضي از مواقع پيش مي آيد كه اين ۸ ثبات در كل برنامه استفاده شوند و ما به يك ثبات ۸ بيتي براي ذخيره سازي داده ها داريم مثلا يك شمارنده طراحي كرديم و همه ثبات ها هم استفاده شده و ما مثلا به دو ثبات احتياج داريم كه مي توانيم از هر كدام از خانه هاي RAM استفاده كنيم. منظور از اطلاعات همان داده هاي ۸ بيتي مي باشند يعني همون ۰ يا ۱ ها كه به ۸ تا از آنها يك بايت يا يك داده ۸ بيتي مي گويند.
حال به تقسيم بندي RAM توجه كنيد. براي برنامه نويسي خيلي مهم است كه ما از چه خانه هاي RAM مجاز هستيم استفاده كنيم آيا مي توانيم در فلان خانه RAM داده را به صورت بيتي دستكاري كنيم  يا داده را ۸ بيتي دستكاري كنيم. اصلا در چه محدوده اي از RAM قادر هستيم داده ذخيره كنيم  يا بانك هاي ثباتي در كجاي RAM واقع شده اند و ديگر ثبات ها… به جدول زير كه مربوط به RAM خوب توجه كنيد:
در كل ۱۲۸ بايت RAM دارد كه به صورت جدول بالا تقسيم بندي مي شود:
۱)     32 بايت از مكان هاي ۰۰ تا ۱F براي بانك هاي ثباتي و پشته كنار گذاشته شده.
۲)     16 بايت از ۲۰ تا۲F براي خواندن و نوشتن آدرس پذير بيتي كنار گذاشته شده.
۳)     80 بايت از مكان هاي ۳۰ تا۷F براي خواندن و نوشتن بايتي  و يا آنچه كه عموما داده موقت گفته مي شو به كار مي رود.
نكته: جلوي خانه هايي كه نوشته شده قابل آدرس دهي نيست يعني اينكه نمي توان با آدرس هگز آن از اين ثبات استفاده كرده به عنوان مثال براي SBUF در برنامه نويسي حتما بايد خود SBUF را نوشت يعني از آدرس هگز آن نمي توان استفاده كرد. ولي در بقه موارد مجاز هستيم. با يك مثال اين قضيه را روشن مي كنيم:
MOV  A,#60H يعني عدد ۶۰ در مبناي هگز را در انباره كپي كن. حال اين دستور را اين طوري هم مي توان نوشت يعني از آدرس A استفاده كرد.   MOV  E0,#60H 
در RAM /8051 ما چهار بانك ثباتي داريم كه هر بانك داري ۸ بايت(R0تاR7) 8بيتي مي باشد  يعني:
هنگامي كه ۸۰۵۱ روشن مي شود اشارگر پشته به صورت پيش فرض عدد ۰۷ را در خود دارد كه نهايت با عث انتخاب بانك ۱ براي پشته خود مي شود. SP=07H 
براي تغيير پشته به مكان ديگري ازRAM يا بانك ديگري مي توان به كمك دستور زير پشته را تغيير داد:   MOV  SP,#XX كه XX آدرس آن مكان از RAM مي باشد.
حال كاربرد پشته چيست؟ پشته كاربرد زيادي دارد شايد ما زياد با آن سرو كار نداشته باشيم ولي CPU با آن خيلي كار دارد به عنوان مثال براي اجراي يك زير برنامه(برنامه فرعي) مثلا CALL  LABEL پردازنده آدرس اين مكاني را كه در آن به اين دستور برخورد كرده، را در پشته خود ذخيره مي كند و بعد از اجراي پشته به كمك اين آدرس بر مي گردد تا ادامه برنامه اصلي را انجام دهد.
براي درج داده رد پشته از دستور PUSH استفاده مي كنيم و براي بازيافت داده از پشته از دستور POP استفاده مي كنيم. با هر بار درج در پشته اشارگز پشته يك واحد به آن اضافه مي شود. و با هر بار بازيافت از پشته اشارگر پشته يك واحد از آن كم مي شود.

عتیقه زیرخاکی گنج