17 لایک
-
میکروکنترلرهای اتمل (مثل همونی که روی آردویینو نصبه) یه ویژگی دارن به اسم brown out detection. این جوریه که وقتی این ویژگی فعال باشه، میکروکنترلر همیشه حواسش به تغذیه خودش هست. وقتی برق اصلی قطع بشه، بخاطر حضور یه خازن با ظرفیت بالا، ولتاژ فورا قطع نمیشه و کمی کمی افت میکنه تا صفر بشه. میکروکنترلر میفهمه داره ولتاژش کم میشه، و با توجه به همون ویژگی که گفتم، میتونه یه قطعه کد مشخص رو در این لحظات آخری اجرا کنه. این ویژگی یه اینتراپته. مثلا میشه برنامه ریزی کرد که وقتی ولتاژ میکروکنترلر افت کرد و به 3 ولت رسید مثلا، این قطعه کد رو اجرا کنه.
من با آردویینو کار نکردم و مستقیم با اتمل استودیو کد نوشتم. واسه همین باید از دوستان بپرسید که چطور تو آردویینو عملیش کنید. مث برادر magmagmary .
شما کافیه این کار رو بکنید :
1) یه خازن با ظرفیت بالا مثلا 470 میکرو فاراد یا 1000 میکروفاراد بذارید جلوی تغذیه "میکروکنترلر" (نه تغذیه رله ها یا تغذیه کلی. چون رله ها مصرفشون زیاده فوری خازن رو خالی میکنن تغذیه قطع میشه میکروکنترلر فورا خاموش میشه وقت نمیکنه کد رو اجرا کنه). یعنی ترجیحا خازن رو بعد از تثبیت کننده ولتاژ بذارید اگه امکانش رو دارید.
2) جستجو کنید که چجوری تو محیط آردویینو میشه از ویژگی brown out detection استفاده کرد. حالا یا دوستان یا نت
3) یه قطعه کد بنویسید، که در آخرین لحظه، وضعیت خروجی های خود میکرو (در اصل وضعیت همون رله ها میشه) رو برداره و تو حافظه EEPROM بنویسه.
4) کاری کنید که با هر بار روشن شدن دستگاه، میکروکنترلر وضعیت خروجی ها رو از EEPROM بخونه و اعمال کنه.
ویرایش توسط Tiranoid : 09-13-2016 در ساعت 02:58 PM
مجوز های ارسال و ویرایش
- شما نمیتوانید موضوع جدیدی ارسال کنید
- شما امکان ارسال پاسخ را ندارید
- شما نمیتوانید فایل پیوست کنید.
- شما نمیتوانید پست های خود را ویرایش کنید
-
مشاهده قوانین انجمن
SEO by vBSEO