مقدمه ای بر الگوریتم کنترل آسانسور و میکرو کنترلر AVR (بخش سوم)

آسانسور آسانسور
09 جولای

 در بحث آموزش آسانسور  به ادامه الگوریتم کنترل آسانسور توسط میکروکنترلر AVR می پردازیم:

در ادامه بحث تابع Main و توابع فرعی :

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

متغیر Time Travel جهت اندازه گیری زمان حرکت کابین است. در هر بار تکرار حلقه بی نهایت مقدار این متغیر افزایش می یابد. قبلا مشخص شده که در هر 3 ثانیه 2000 بار حلقه تکرار می شود. برنامه به گونه ای نوشته شده تا هنگام دیده شدن سنسورهای مغناطیسی روی کابین در تابع وقفه این سنسورها مقدار متغیر یک و هنگامی که کابین متوقف است صفر شود. در نتیجه هنگام گیر کردن کابین در یک نقطه موتور بیشتر از 3 ثانیه کار نمی کند