شرح پروژه: طراحی برد کنترل دو خروجی مبتنی بر میکروکنترلر
هدف، طراحی یک برد کممصرف مبتنی بر میکروکنترلر است. ترجیح اولیه استفاده از ATtiny13A میباشد، اما این صرفاً یک گزینه پیشنهادی است. در صورتی که به دلیل محدودیت تعداد پایهها، منابع سختافزاری یا بهمنظور دستیابی به مصرف توان کمتر، ابعاد کوچکتر، قیمت مناسبتر یا طراحی بهتر، میکروکنترلر دیگری مناسبتر باشد، انتخاب آن با ذکر دلیل فنی و هماهنگی بلامانع است.
مشخصات عملکرد
برد فقط دارای دو کلید فشاری باشد.
حالت اول (هیچ خروجی فعالی وجود ندارد)
- با یک بار فشردن کلید اول، خروجی ۱ فعال شده و در همان حالت باقی بماند.
- با یک بار فشردن کلید دوم، خروجی ۲ فعال شده و در همان حالت باقی بماند.
- در هیچ شرایطی دو خروجی بهصورت همزمان فعال نشوند.
حالت دوم (یکی از خروجیها فعال است)
فرض کنید خروجی ۱ فعال است.
در این حالت:
- با فشردن مجدد کلید اول، خروجی ۱ خاموش شود.
- با فشردن کلید دوم نیز خروجی ۱ خاموش شود.
یعنی زمانی که یکی از خروجیها فعال است، هر دو کلید فقط نقش خاموشکننده (STOP) را داشته باشند و با فشردن هر یک از آنها، خروجی فعال خاموش شود.
همین منطق دقیقاً برای خروجی ۲ نیز برقرار باشد.
پس از خاموش شدن خروجی، برد مجدداً آماده دریافت فرمان جدید باشد.
ورودی ایمنی (Safety Input)
یک ورودی ایمنی جهت اتصال سنسور در نظر گرفته شود.
ترجیحاً این ورودی بهصورت Fail-Safe و مناسب اتصال کنتاکت بسته (NC) طراحی شود، بهگونهای که قطع سیم، جدا شدن سنسور یا باز شدن کنتاکت نیز بهعنوان وضعیت ایمنی تشخیص داده شود.
در صورت فعال شدن این ورودی:
- هر خروجی که فعال است فوراً خاموش شود.
- تا زمانی که ورودی ایمنی فعال است، هیچ فرمان جدیدی پذیرفته نشود.
- پس از غیرفعال شدن ورودی ایمنی، برد بدون نیاز به ریست مجدداً آماده دریافت فرمان جدید باشد.
بازر
یک بازر کوچک روی برد قرار داده شود.
با هر بار فشردن هر یک از دو کلید، یک بوق بسیار کوتاه (حدود ۵۰ تا ۱۰۰ میلیثانیه) بهعنوان تأیید فشرده شدن کلید پخش شود.
مدت زمان بوق بهصورت یک متغیر در برنامه قابل تغییر باشد.
نشانگر وضعیت (Status LED)
روی برد یک LED دو رنگ (قرمز/سبز) در نظر گرفته شود.
حالتهای LED
- سبز ثابت: برد آماده دریافت فرمان است.
- قرمز ثابت: یکی از خروجیها فعال است.
عملکرد هنگام فعال شدن ورودی ایمنی
در صورت فعال شدن ورودی ایمنی:
- هر خروجی فعال فوراً خاموش شود.
- LED قرمز بهصورت چشمکزن روشن شود.
- مدت زمان چشمکزدن حداقل ۱ ثانیه باشد، حتی اگر ورودی ایمنی کمتر از ۱ ثانیه فعال بوده و سریع به حالت عادی بازگردد.
- در این مدت ۵ بار چشمک نمایش داده شود (سرعت متوسط و قابل تشخیص).
- اگر ورودی ایمنی بیش از ۱ ثانیه فعال بماند، LED قرمز با همین الگوی چشمکزن تا زمان غیرفعال شدن ورودی ادامه دهد.
- پس از غیرفعال شدن ورودی ایمنی، LED به حالت سبز ثابت بازگردد.
- مدت زمان و تعداد چشمکها بهصورت متغیر در برنامه قابل تغییر باشند.
خروجیها
خروجیهای برد فقط برای شبیهسازی فشرده شدن دو کلید روی یک برد الکترونیکی دیگر استفاده میشوند و قرار نیست مستقیماً بار قدرت، موتور یا کنتاکتور را کنترل کنند.
بنابراین خروجیها ترجیحاً با PhotoMOS Relay (یا قطعهای با عملکرد مشابه) طراحی شوند تا دو نقطه مشخص را دقیقاً مانند بسته شدن یک کلید فشاری به یکدیگر متصل کنند.
برد مقصد و دونقطه ای که قرار است مثل یک کلید فشاری بهم وصل شوند ، برد یک ریموت کنترل می باشد
ترجیحاً خروجیها بهصورت کاملاً ایزوله (Dry Contact) عمل کنند و وابسته به زمین مشترک با برد مقصد نباشند.
اولویتهای طراحی خروجیها
- مصرف توان بسیار پایین
- ابعاد کوچک
- طول عمر بالا
- مناسب تولید انبوه
- عملکرد پایدار و بدون استهلاک مکانیکی
عملکرد کلیدها (Debounce)
- دیبانس کلیدها بهصورت نرمافزاری انجام شود.
- زمان پیشفرض دیبانس حدود ۲۰ تا ۳۰ میلیثانیه باشد.
- مقدار دیبانس بهصورت یک متغیر در برنامه قابل تغییر باشد.
تأخیر ایمنی بین فرمانها
پس از خاموش شدن هر خروجی (چه توسط کلید، چه توسط ورودی ایمنی و یا هر دلیل دیگر):
- برد به مدت ۱ ثانیه هیچ فرمان جدیدی را قبول نکند.
- پس از پایان این زمان، برد مجدداً آماده دریافت فرمان باشد.
- این زمان نیز بهصورت یک متغیر در برنامه قابل تغییر باشد.
هدف از این تأخیر، جلوگیری از صدور فرمانهای متوالی و تغییر وضعیت سریع تجهیزات متصل است.
تأخیر اولیه پس از روشن شدن برد (Power-On Delay)
پس از وصل شدن تغذیه برد:
- به مدت ۱ ثانیه هیچ فرمانی پذیرفته نشود.
- در طول این ۱ ثانیه، LED سبز بهصورت چشمکزن وضعیت راهاندازی برد را نمایش دهد.
- در این مدت ۵ بار چشمک نمایش داده شود (سرعت متوسط و قابل تشخیص).
- پس از پایان ۱ ثانیه، LED به حالت سبز ثابت تغییر کرده و برد آماده دریافت فرمان باشد.
- مدت زمان تأخیر اولیه و تعداد چشمکها بهصورت یک متغیر در برنامه قابل تغییر باشند.
- پس از هر بار روشن شدن، ریست شدن، اجرای Watchdog یا افت ولتاژ، هر دو خروجی باید حتماً در حالت خاموش قرار داشته باشند و هیچ وضعیت قبلی بازیابی نشود.
شرایط ویژه
اگر هر دو کلید همزمان فشرده شوند:
- در صورتی که هیچ خروجی فعالی وجود نداشته باشد، هیچ خروجیای فعال نشود.
- در صورتی که یکی از خروجیها فعال باشد، همان خروجی فوراً خاموش شود.
مصرف جریان در حالت آمادهبهکار تا حد امکان پایین باشد.
طراحی مدار ساده، پایدار و مناسب تولید انبوه باشد.
در صورت افت ولتاژ، ناپایداری تغذیه یا ریست ناخواسته میکروکنترلر، خروجیها نباید بهصورت ناخواسته فعال شوند و برد باید در وضعیت ایمن (هر دو خروجی خاموش) باقی بماند ** پایش ولتاژ باطری و هشدار کاهش ولتاژ باتری ** هم در برد اجرا شود که در این مورد در طول کار موارد صحبت خواهد شد
