فلزجو FelezJoo https://www.felezjoo.com/ |
|
مشکل نویز پذیری میکرو کنترلرها ی خانواده avr و روش رفع آن https://www.felezjoo.com/viewtopic.php?f=29&t=3735 |
صفحه 1 از 1 |
نویسنده: | mnbvcxzaqwsx [ جمعه 4 آذر1395 - 12:49am ] |
عنوان پست: | مشکل نویز پذیری میکرو کنترلرها ی خانواده avr و روش رفع آن |
حذف نویز در میکروکنترلر AVR میکروکنترلر AVR یکی از میکروکنترلرهای پرکاربرد و پرطرفدار در بازار می باشد که در پروژه های بسیاری مورد استفاده قرار گرفته و میگیرد. متاسفانه یکی از شایعاتی که از موقع روی کار آمدن میکروهای AVR مطرح شد این بود که AVR ها نویز پذیرند و به درد کار صنعتی نمی خورند. در حالی که اصلا این گونه نیست و خود افراد مواردی را رعایت نمی کنند که باعث این نویز می شود. لذا ضروریست تا در مدار هایی که طراحی میکنیم تدابیری برای فیلتر کردن و جلوگیری از ورود نویز به داخل دستگاه یا میکروکنترلر در نظر بگیریم. مواردی که AVR را آسیب پذیر می کند : راه یافتن نویز و عدم فیلتر کردن نویز در بخش تغذیه مدار تاثیر نویز بر مقادیر ورودی و خروجی تاثیر میادین الکترومغناطیسی روی چیپ AVR با توجه به مسائل گفته شده روش هایی برای جلوگیری از این نویز برای شما پیشنهاد می شود: استفاده از خازن های کوپلاژ و دکوپلاژ در رنج حدود ۱۰ تا ۱۰۰ نانو که در نزدیک ترین مکان به vcc و GND هر ای سی قرار میگیرد. بین پایه گراند و ورودی رگولاتور یک خازن با ظرفیت بیش از ۱۰۰۰ میکروفاراد و یک خازن پلی استر ۱۰۰ نانو فاراد قرار دهید. بین پایه خروجی و گراند رگولاتور نیز یک خازن ۱۰۰ نانو فاراد پلی استر و یک خازن الکترولیتی با ظرفیت بیش از ۱۰۰۰ میکروفاراد قرار دهید. استفاده از منابع تغذیه سوییچینگ با خروجی دقیق و ثابت و استفاده از شبکه های خازنی در خروجی آن ها استفاده از رگولاتور در صورت استفاده از منابع تغذیه ترانسی. در مورد رگولاتور سعی کنید رگولاتوری که استفاده می کنید از نظر جریان خروجی با جریان مورد نیاز شما متناسب باشد اگر در پروژه های خود از Keypad استفاده می کنید تمام پایه ها را با مقاومت ۴,۷K پول آپ کنید یعنی به + تغذیه میکرو متصل نمایید. این کار از برگرداندن اعداد تصادفی و غیر منتظره توسط کی پد جلوگیری به عمل می آورد. استفاده از گراند وسیع(polygon) اگر احتمال نویز در مدار به خاطر محیط یا حتی خود مدار زیاد باشد از این مورد حتما استفاده کنید و بطور کلی همیشه باید به این نکته دقت کنید که گراند مدار قوی باشد و حتما پهنای ان بیشتر از vcc باشد اگر گراند مدار بیش از حد ضعیف باشد، حتی میکروهایی با نویز پذیری پایین مانند arm هم هنگ می کند . در صورت امکان از کریستال به همراه دو خازن ۲۲PF برای بخش نوسان ساز میکرو استفاده کنید. در غیر این صورت اگر از RC داخلی میکرو استفاده می کنید حتماً از فرکانس های بالا مثل ۴ یا ۸ مگاهرتز استفاده نمایید. سعی کنید تغذیه وسایل جانبی متصل به AVR را از یک منبع تغذیه مجزا یا یک رگولاتور مجزا تامین نمایید مخصوصا وسایلی نظیر موتور های DC زیرا اگر یکی باشه احتمال هنگ و ریست میکروکنترلر خیلی زیاد می شود این اتفاق به این دلیل است که مدارات قدرت ممکن است جریانهای لحظه ای زیادی بکشند و میکروکنترلر را ریست کنند. اگر احتمال میدهید ورودی های شما حامل نویز باشند آن ها را باید با اپتو کوپلر ایزوله کنید. (زمین های ورودی و خروجی اپتو کوپلر نباید بهم وصل باشند) پین ریست میکروکنترلر رو بدون اتصال رها نکنید. اگر قرار باشد به مدارتان ورودی آنالوگ و دیجیتال بدهید حواستان باشد که هر ۲ آن ها را رو به یک کانکتور ندهید. و اگر مجبور شدید بهتر است پین وسط را گراند کنید و ورودی انالوگ و دیجیتال را به ۲ پایه کناری بدهید. کریستال را در نزدیک ترین مکان به میکروکنترلر قرار بدهید و بدانید که کریستال قلب مدارتان می باشد. در صورتی که از رله استفاده می کنید ، یک دیود معکوس با بوبین رله موازی کنید. سعی کنید هرگز از پین های AVR جریان نکشید. از ترانزیستور ها و درایور ها برای تقویت جریان استفاده نمایید. در رسم PCB زاویه ۹۰ درجه را فراموش کنید. مخصوصا برای کریستال. در رسم PCB سعی کنید Track ها کمترین مسیر ممکن را طی کنند. سعی کنید مدار را برای حفاظت از نویز شدید در جعبه های فلزی قرار دهید، در صورتی که استفاده از جعبه فلزی محقق نیست ، می توانید از فویل آلومینیوم در داخل جعبه های پلاستیکی برای ایجاد شیلد استفاده نمایید. در صورتی که از کامپایلر BASCOM استفاده می کنید بایستی با توجه به فراخوانی های سابروتین و متغیرهایی که در پرانتز توابع و سابروتین ها بکار برده اید و متغیر های محلی تعریف شده در توابع و سابروتین ها که با پیشوند Local به جای Dim تعریف می شوند و نیز تبدیلهای خودکار به رشته بایستی اندازه hwstack و swstack و framesize را در ابتدای برنامه تنظیم کنید. در صورت امکان WatchDog Timer را در برنامه فعال کنید تا در صورتی که میکرو هنگ کرد ، ریست شود. در مورد کامپایلر ها از نسخه دمو و یا خریداری شده استفاده کنید. نسخه های قفل شکسته دارای باگ های نرم افزاری می باشند که به صورت تصادفی کدهای خطا دار تولید می کنند و به سختی قابل تشخیص است. |
صفحه 1 از 1 | همه زمان ها بر اساس UTC + 3:30 ساعت تنظیم شده اند. |