دو تا پیچ اصلی در طراحی مدار فرمان برای آسانسور ساختمون چار طبقه رو رد کردیم و مونده دو تا پیچ دیگه: طراحی مدار فرمان وقتی که اتاقک آسانسور توی طبقه ی دومه و وقتی که توی طبقه ی سومه.
باز دوباره جدول صحت خروجی ها رو میکشیم ولی باید یادمون باشه که بر خلاف دو تا مدار قبلی (قسمت پنجم) اینبار کنتاکتورهای upp و downn روشن هستند و باید در جدول بیان. فقط چون هر کدوم روشن باشه اون یکی خاموشه میتونیم جدول رو ساده ش کنیم و یه بار برای upp=1 بنویسیم و یه بارم برای downn=1. دست آخر هم باید یادمه باشه که کنتاکتهای باز s2 و upp (یا down) رو باید در مدار طراحی شده سری بکنیم:
همون طور که دیده میشه وقتی که کلیدهای طبقات مختلف رو می زنیم فقط در مینترهای 4ام و 0ام هست که آسانسور حرکتی نمی کنه. در بقیه ی موارد اتاقک آسانسور باید بره بالا چون upp=1( اینکه چرا باید بره بالا رو قبلا مفصل توضیح ش دادیم). پیاده کردن جدول به صورت زیر در میادش:
که یعنی:
up=b1+b3+b4
و همون طور که گفتیم باید دو تا ترم دیگه هم ضرب در حاصل جمع بکنیم یعنی:
up=s2.upp.(b1+b3+b4)
برای وقتی که downn=1 هست هم جدول زیر رو داریم:
که بازم مینترمهای 4ام و 0ام برابر با صفر هستند و در نتیجه جدول حاصل مساوی جدول بالا می شه. فقط در جدول بالا باید upp رو ضرب می کردیم و حالا باید یادمون باشه که downn رو ضرب کنیم، یعنی :
down=s2.downn.(b1+b3+b4)
و مدار طراحی شده برای وقتی که اتاقک آسانسور در طبقه ی دومه به شکل زیر در میادش:
حالا بریم سراغ وضعیتی که اتاقک آسانسور در طبقه ی سوم قرار داشته باشه. در این حالت بازهم باید در نظر داشته باشیم که upp یا downn (یکی شون البته) می تونه که روشن باشه و باید در جدول بیادش. پس بازم دو تا جدول درست می کنیم. در حالت اول فرض میکنیم که upp=1 پس داریم:
این بار مینترمهای دوم و 0ام برابر با صفر هستند و جدول حاصل برای خروجی up میشه:
که یعنی :
up=b1+b2+b4
و چون باید تاثیر s3 و upp رو هم در نظر داشته باشیم داریم:
up=s3.upp.(b1+b2+b4)
جدول وضعیت خروجی های وقتی که downn=1 باشه میشه:
که خلاصه ش میشه دقیقا برابر با جدول قبلی با این تفاوت که اینجا downn=1 هست. پس داریم:
down=s3.downn.(b1+b2+b4)
و نقشه ی مدار فرمان برای وضعیتی که اتاقک آسانسور در طبقه ی سوم هستش میشه:
خوب دیگه. کار تمومه. حالا باید بیاییم و قضیه رو جمع ش کنیم. یعنی دو تا نقشه ی این قسمت با نقشه ی قسمت قبل که این هست
ترکیبشون کنیم توی یه نقشه که دقیقا میشه همون نقشه ی انتهای قسمت چهارم یعنی این:
یعنی اگه منطق قضیه رو خوب فهمیده باشید هیچ فرقی نمیکنه که مدارتون رو به صورت معمولی طراحی کنید یا با استفاده از منطق دیجیتال. همین مدار رو البته موقع پیاده سازی می تونید با گیتهای دیجیتالی هم پیاده کنید یعنی کنتاکتهای سری رو به جاشون گیت AND بذارید و کنتاکتهای موازی رو گیت OR و خروجی رو هم بدید به یه رله که اون رله بیادش و کنتاکتورهاتون رو راه اندازی کنه. البته یه سری مسائل و مشکلات هم در زمینه ی نویز و این حرفها خواهید داشت که بهتره کلا قضیه رو بیخیال شید و از همین کنتاکتور و اینها استفاده کنیم.
حالا که منطق قضیه رو خوب فهمیدید دیگه طراحی مدار فرمان برای ساختمان های بلندتر از چار طبقه خیلی سخت نیست. فقط یه کم فشار باس بیارید به مغزتون.
قسمت ششم بحث طراحی مدار فرمان آسانسور در حالی تموم شده که الان فک میکنید دیگه اوستا شدید ولی اشتباه می کنید. ما تا حالا فقط یادتون دادیم که چطور آسانسور رو راهش بندازید. هنوز نگفتیم که وقتی راه افتاد چه طوری باید متوقف ش بکنید. پس ، با ما باشید.
دیگه وقتشه که بریم سراغ طراحی مدار فرمان ساختمون چارطبقه با تحلیل مدار منطقی. اول از همه میریم سراغ وضعیتی که اتاقک آسانسور در طبقه ی اول قرار گرفته. در این وضعیت هر دو کنتاکتور upp و downn خاموش هستند و نیازی نیست که در جدول صحت ورودیها بیان. فقط s1 رو میاریم و اون هم برابر با 1 هست. جدول دارای 4 متغیر هست و خروجی down هم که البته صفر است. به راحتی یه جدول با 4 متغیر ترسیم می کنیم به شکل زیر:
همون طور که میبینیم در مینترمهای 8ام و 0ام خروجی صفر میشه و این وضعیتهایی هست که تنها پوش باتون b1 فشرده شده یا هیچ کدوم از پوش باتونها فشار داده نشدن. جدول ساده شده به صورت زیر درمیادش:
که خلاصه داستان میشه اینکه در هر وضعیتی که یکی از پوش باتونهایذb2، b3 یا b4 فشار داده بشن باید آسانسور بره بالا و به زبان ریاضی:
up=b2+b3+b4
البته چون سوئیچ s1 رو بسته فرض کردیم باید s1 رو هم ضرب در مجموع کنیم و در نتیجه داریم:
up=s1.(b2+b3+b4)
وضعیت آسانسور در طبقه ی چهارم هم به سادگی طبقه ی اول هستش یعنی اینکه:
در اینجا دو تا مینترم آخر صفر هستند که یعنی وقتی تنها b4 فشار داده بشه یا هیچ یکی از پوش باتونها فشرده نشن آسانسور نباید حرکت بکنه و در بقیه ی وضعیتهای باید بیادش پایین. به عبارت دیگه:
و به زبان ریاضی این یعنی اینکه:
down=b1+b2+b3
و چون s4 سری شده با مجموع اینها داریم:
down=s4.(b1+b2+b3)
و البته مدار معادل این محاسبات میشه:
تا اینجا ی وضعیت شد طراحی مدار فرمان وقتی که اتاقک آسانسور در طبقات اول یا چهارم هست. می مونه طبقات دوم و سوم که هر وقت فرصت شد بحث رو از همین جا ادامه میدیم.
دیروز یکی از دوستان زنگ زده و اعتراض کرده که این چه مسخره بازیه؟ میگم چیه داداش؟ میگه من طبقه دوم بودم با خانوم بچه ها. کلید آسانسور رو زدم، آسانسور از طبقه ی اول اومدش بالا. بعد کلیدش رو زدم که دوباره بره طبقه ی اول به جاش رفته طبقه ی سوم و برگشته طبقه ی اول... کلی وقتم گرفته شده. این رو درستش کن.
عارضم خدمت دوستان که میشه درستش کرد. یعنی میشه یه مدار طراحی کنیم که مثلا اگر از طبقه ی اول آسانسور رفتش به طبقه ی دوم بعدبه جای اینکه بره بالا و برگرده طبقه ی اول صاف برگرده پایین. مثلا این مدار:
الان در مسیر کنتاکتور down و از بعد از کنتاکت باز s2 ، یه شاخه دیگه بازکردیم که کنتاکت بسته ی b3 توشه و سری شده با کنتاکتهای باز upp و b1. حالا اگر کسی وارد اتاقک آسانسور بشه و پوش باتون b1 رو فشار بده و پوش باتون b3 هم فشار داده نشده باشه، آسانسور به جای اینکه بره بالا و باز برگرده پایین یه راس میره طبقه ی اول.
حالا اشکالش چیه؟
اشکالش اینه که فرض کنیم در یه ساختمان 8 طبقه هستیم و اتاقک آسانسور در طبقه ی چهارم هست. شما در طبقه ی سوم دکمه رو میزنید و خیال دارید برید طبقه ی اول. به محض اینکه وارد آسانسور شدید و خواستید پوش باتون طبقه ی اول رو بزنید اگر یکی مثلا از طبقه ی هفتم کلید رو بزنه آسانسور به جای اینکه بره طبقه ی اول میره طبقه ی هفتم. یعنی همه چی شیر تو شیر میشه و دست آخر معلوم نیست که آسانسور کی به طبقه ی اول برسه. البته میشه برای آسانسور مداری تعریف کرد بر اساس اولویت فشار داده شدن کلیدها و اینکه هر کلیدی که فشار داده بشه اول بره اون طبقه ولی کلا مشکلی حل نمیشه و فقط مدار پیچیده میشه. پس بهتره به جای این جنقولک بازیا از همون مدار ساده ی قبلی استفاده کنیم که در قسمت سوم توضیح دادیمش.
الانم داریم میریم سراغ طراحی مدار فرمان آسانسور برای چار طبقه. اگه این سلسله مطالب رو تا به اینجا با دقت دنبال کرده باشید برای طراحی مدار فرمان به مشکلی بر نمی خوریم. یه شاخه دیگه برای فرمان به مسیر هر یک از کنتاکتورهای up و down اضافه میشه با این تفاوت که در مسیر down دیگه این سوئیچ s4 هست ش که جای s3 رو گیره، به صورت زیر:
اتفاقی که افتاده اینه که در مسیر کنتاکتهای باز s2 یا s3 (یعنی دو طبقه ی وسطی) به جای دو کنتاکت باز موازی سه کنتاکت باز موازی داریم که غیر همنام هستند. یعنی هر یک از کلیدهای سه طبقه ی دیگه که زده بشه فرمان می دهند و بسته به وضعیت کنتاکتورهای upp و downn مسیر بعدی اتاقک آسانسور رو تعیین می کنند. در نهایت مثل مثال قبل آسانسور یه دور کامل میره بالا و بعد یه دور کامل برمیگرده پایین و همین سیکل رو تکرار ش می کنه.
حالا اگه حوصله م گرفت میشینم و جدول صحت ورودی ها رو برای چار طبقه به صورت دیجیتال تحلیل می کنم که خوب البته دو متغیر جدید (یعنی پوش باتون b4 و سوئیچ s4) به مدار اضافه شده اند و حالات ممکن از 256 حالت تبدیل شده اند به 1024 حالت.
در قسمت قبلی این داستان خوندیم که چطوری میشه مدار فرمان یه آسانسور رو برای یه ساختمون دو طبقه (یعنی ساده ترین حالتی که میشه فرض ش کرد) طراحی کرد. حالا در ادامه میریم سراغ یه ساختممون سه طبقه و طراحی مدار فرمان برای آسانسورش.
فرضهای اساسی مسئله مثل مسئله ی قبلی هست. البته یه چیزهایی به داستان اضافه شده که وسط داستان بهشون میرسیم و اونها رو توضیح می دم. منظور اینه که باید فرضهای دیگری رو هم به این مسئله ی جدید اضافه کنیم تا بتونیم یه مدار بی نقص طراحی بکنیم.
خوب همون طور که گفتیم هر طبقه یه سنسور برای تعیین موقعیت اتاقک آسانسور و یه پوش باتون برای فراخواندن اون داره. حالا خیلی ساده فرض می کنیم که اتاقک آسانسور توی طبقه ی اول قرار گرفته. اگر هر کدوم از کلیدهای b2 یا b3 فشار داده بشن اتاقک آسانسور باید بره بالا ولی فشار دادن کلید b1 نباید فرقی در وضعیت ایجاد بکنه. پس تا اینجای کار مدارمون به صورت زیر هستش:
یعنی اگر سوئیچ s1بسته بود چه b2 و چه b3که فشار داده بشن اتاقک آسانسور میره بالا.
همین وضع درباره ی اتاقک آسانسور در طبقه ی سوم هست. یعنی با فشاردادن b2 یا b1 باید بره پایین. پس مدارمون میشه:
حالا اگه اتاقک آسانسور در طبقه ی دوم باشه چه اتفاقی میفته؟ منطقا اگه پوش باتون b3فشار داده بشه آسانسور باید بره بالا و اگه پوش باتون b1فشار داده بشه آسانسور باید بره طبقه ی پایین یعنی مدارمون میشه به شکل زیر:
ظاهرا کار مون تمومه اما اینجا یه مشکل اساسی داریم که توی ساختمون دو طبقه نداشتیم و اون فرضی رو که اول داستان گفتم اینجا باس وارد کنیم. در حالت عادی برای این مدار اتفاقی نمیفته اگر هر کسی در هر طبقه ای یه پوش باتون رو فشار بده، اما اگر پوش باتون b1 و b3 همزمان فشار داده بشوند و اتاقک آسانسور در طبقه ی دوم باشه چه اتفاقی می افته. به محض اینکه این اتفاق بیفته هر دو کنتاکور بالا و پایین وصل می شن و در نتیجه موتور آسانسور دچار اتصال کوتاه بین دو فاز میشه. برای جلوگیری از این مسئله باید چه کار کرد؟
راه حل اساسی اینه که دو تا کنتاکتور به مدار اضافه بکنیم تا وضعیت بالا یا پایین رفتن آسانسور رو مثه دو عنصر حافظه در خودشون حفظ کنند. یعنی وقتی آسانسور به سمت بالا رفت یکی شون فعال بشه و غیر فعال شدن اون وقتی اتفاق بیفته که آسانسور رسیده باشه به طبقه ی سوم. از طرف دیگه وقتی آسانسور از طبقه ی سوم میادش پایین اون یکی کنتاکتور فعال میشه و همچنان فعال می مونه تا آسانسور برسه به طبقه ی اول. با وجود این دو تا کنتاکتور وقتی که اتاقک آسانسور رسیدش به طبقه ی دوم می تونیم تصمیم بگیریم که حالا باید کجا بره. اسم این دو تا کنتاکتور جدید رو میذاریم upp و downn . حالا داریم:
با کمک این دو تا کنتاتکتور می تونیم تصمیم بگیریم وقتی در طبقه ی دوم هر دو پوش باتون b1 و b3 همزمان فشرده شدن چه باید بکنیم. در این صورت راه حل خیلی ساده س:
وقتی که پوش باتونهای b1 و b3 همزمان فشرده شدن باید نگاه کنید به وضعیت کنتاکتورهای upp و downn (توجه کنید که این هر دو میتونند خاموش باشند ولی همزمان نمی تونند باهم روشن باشن). اگه کنتاکتور upp روشن بودیعنی آسانسور از طبقه ی اول حرکت کرده بوده و رسیده به طبقه ی دوم و حالا باس برسه به طبقه ی سوم. اگه کنتاکور downn روشن بود یعنی آسانسور از طبقه ی سوم داشته میاموده پایین و رسیده به طبقه ی دوم و حالا باس بره به طبقه ی اول. پس نقشه مدار فرمان به صورت زیر اصلاح میشه:
یعنی با سری کردن کنتاکت های باز upp و downn با کنتاکت باز s2 شرطی رو به مدار تحمیل می کنیم که در نتیجه ی اون فشار دادن همزمان b1 و b3 بی اثر میشه و تنها یکی از این دو پوش باتون میتونه تعیین کننده ی جهت حرکت آسانسور باشه.حالا اگر مثلا آسانسور از طبقه ی اول بیاد و در طبقه ی دوم توقف کنه و هر دو پوش باتون b1 و b3 همزمان فشار داده بشوند آسانسور به طرف بالا حرکت می کنه تا به طبقه ی سوم برسه. اونجا که رسیدش کنتاکت بسته ی سوئیچ s3 کنتاکتور upp رو خاموش می کنه. از طرف دیگه کنتاکت باز s3 در مسیر کنتاکتور downn وصل میشه و چون b1 از قبل وصل بوده آسانسور برمیگرده پایین و در طبقه ی اول می ایسته.
اگر هم آسانسور از طبقه ی سوم به دوم اومده باشه و هر دو پوش باتون b1 و b3 همزمان فشار داده بشوند آسانسور به طرف پایین حرکت می کنه تا به طبقه ی اول برسه. در اونجا کنتاکت بسته ی سوئیچ s1 کنتاکتور downn رو خاموش می کنه. از طرف دیگه کنتاکت باز s1 در مسیر کنتاکتور up وصل میشه و چون b3 از قبل وصل بوده آسانسور برمیگرده بالا و در طبقه ی سوم می ایسته.
اما با رفع این مشکل یه اشکال دیگه به مدار وارد شده. فرض کنیم که آسانسور از طبقه ی اول اومده در طبقه ی دوم و حالا کلید پوش باتون s1 فشرده بشه. وضعیت مدار به صورت زیر در میادش:
انتظار داریم که آسانسور بره طبقه ی سوم و برگرده طبقه ی اول اما این اتفاق نمی افته. چرا؟ چون در مسیر کنتاکتور up ما فرمانی از b1 رو پیش بینی نکردیم. پس برای اینکه این اتفاق بیفته باید یه کنتاکت باز b1 رو بعد از کنتاکت upp موازی کنیم با b3. همین وضعیت وجود داره اگر آسانسور از طبقه ی سوم بیادش طبقه ش دوم و پوش باتون s3 فشار داده بشه. باید یه کنتاکت b3 رو هم بعد از کنتاکت باز dowwn موازی کنیم با کنتاکت باز b1. در نتیجه مدار کامل شده میشه به صورت زیر:
بقیه ی مطلب رو فردا پس فردا ادامه می دیم.