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

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

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

 روش اول چک کردن ورودی های تابلو فرمان به پایان رسید و در این مقاله به روش دوم چک کردن ورودی تابلو فرمان (روش وقفه های کنترل) می پردازیم:

از وقفه ها جهت پاسخ سریع به سنسورهای تراز (Level) و دور انداز طبقات و اطلاعات دریافت شده از طریق رابط های سریال و شالترهای داخل چاه استفاده می شود البته شالترها را از طریق حلقه اصلی نیز می توان کنترل کرد. در حلقه اصلی کنترل شاسی ها و مدار سری استپ چک می شود و با توجه به اطلاعات به دست امده جهت حرکت کابین مشخص و فرمان های لازم جهت حرکت کابین صادر می شود ولی فرمان های دوراندازی سرعت و تراز طبقات توسط وقفه ها صادر شود. در برنامه زیر برای موقعیت کابین پنج متغیر وجود دارد. متغیر های :   Level , n-stop , tabage , cf3 , jehat

هر بیت از متغیر Level نشان دهنده یک طبقه است که همیشه تنها یک بیت آن یک است و مقدار ان با شیفت به چپ یا شیفت به راست تغییر می کند. متغیر n-stop موقعیت طبقه ای را نشان می دهد که کابین در آن متوقف شده است. وقتی کابین متوقف می شود مقدار آن با با مقدار Level برابر می شود ولی در حالت حرکت مقدار آن صفر است. متغیر tabage  موقعیت کابین را به صورت یک عدد نشان می دهد و مقدار آن با ++ یا – تغییر می کند. متغیر jehat  جهت حرکت کابین را نشان می دهد. از متغیر  Cf3 جهت تشخیص لحظه ای دوراندازی استفاده می شود. ماکروی Motor فرمان های کنتاکتورها یا درایو را اعمال می کند. ترتیب خروجی های Motor عبارتند از بیت صفر فرمان جهت بالا بیت 1 فرمان جهت پایین بیت 2 فرمان دورتند بیت 3 فرمان دور کند.