در قسمت قبلی این داستان خوندیم که چطوری میشه مدار فرمان یه آسانسور رو برای یه ساختمون دو طبقه (یعنی ساده ترین حالتی که میشه فرض ش کرد) طراحی کرد. حالا در ادامه میریم سراغ یه ساختممون سه طبقه و طراحی مدار فرمان برای آسانسورش.
فرضهای اساسی مسئله مثل مسئله ی قبلی هست. البته یه چیزهایی به داستان اضافه شده که وسط داستان بهشون میرسیم و اونها رو توضیح می دم. منظور اینه که باید فرضهای دیگری رو هم به این مسئله ی جدید اضافه کنیم تا بتونیم یه مدار بی نقص طراحی بکنیم.
خوب همون طور که گفتیم هر طبقه یه سنسور برای تعیین موقعیت اتاقک آسانسور و یه پوش باتون برای فراخواندن اون داره. حالا خیلی ساده فرض می کنیم که اتاقک آسانسور توی طبقه ی اول قرار گرفته. اگر هر کدوم از کلیدهای 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. در نتیجه مدار کامل شده میشه به صورت زیر:
بقیه ی مطلب رو فردا پس فردا ادامه می دیم.
عموما کسی که می خواد یه مدار فرمان طراحی کنه اول از پروسه ی مورد نظرش سوال می کنه، بعد که چم و خم کار رو بررسی کردشروع می کنه به طراحی مدار فرمان. بیشتر کار هم به صورت شهودی و بر اساس تجربه صورت می گیره. من در یک سلسله پست (که احتمالا 4 یا 5 قسمت بشه) می خوام طراحی شهودی رو با طراحی دیجیتال مقایسه کنم تا ببینم اگه از اول بر اساس یه مدار منطقی بریم جلو چقدر میتونیم به طراحی یه مدار فرمان خوب نزدیک بشیم.
برای مثال از طراحی آسانسور شروع می کنیم. مدار فرمان آسانسور مدار فرمان نسبتا پیچیده ای هست و به همین دلیل یه قسمتهایی از مدارات رو حذف می کنم تا از هدف اصلی این بحث خیلی دور نیفتم. پس: