میکروکنترلر AVR

حذف نویز در میکروکنترلر AVR

 nois-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 را در برنامه فعال کنید تا در صورتی که میکرو هنگ کرد ، ریست شود.

  • در مورد کامپایلر ها از نسخه دمو و یا خریداری شده استفاده کنید. نسخه های قفل شکسته دارای باگ های نرم افزاری می باشند که به صورت تصادفی کدهای خطا دار تولید می کنند و به سختی قابل تشخیص است.

خوب(28)بد(3)
همچنین ممکن است بپسندید
نمایش ساعت فارسی بر روی تابلو روان
ساخت ساعت به کمک DS1307 و نمایشگر کاراکتری
۲ دیدگاه
  • حامد
    مرداد ۱۴,۱۳۹۵ در ۸:۲۸ ق.ظ

    سلام
    همه این مواردی که گفتید خوبه و باید رعایت بشه اما نکته اینجاست که اولا رعایت بعضی از نکات هزینه و حجم اضافی برای مدار داره و ثانیا وقتی با همین شرایط معمولی میکروهای دیگه مثل pic خوب کار می‌کنند و اینقدر نیاز به این دردسرها ندارند چه دلیلی داره از avr استفاده کنیم و خودمونو به دردسر بندازیم، قبول کنید که Avr نویز پذیر هست و شما با این کارها دارید نویز پذیری Avr رو کم می‌کنید یعنی یه طوری عیبش رو می‌پوشونید ولی میکروهای دیگه این عیب رو حداقل خیلی کمتر دارند
    Avr تو ایران اینقدر جا افتاده وگرنه تو دنیا بیشتر جنبه آموزشی سرگرمی داره تا کاربردی

    ضمنا از همه این بحث ها که بگذریم الانم که کلا شرکت Atmel فروخته شد به Microchip، می‌تونید برید سایت اتمل ببینید لوگو میکروچیپ بالاش هست پس بهتره دیگه وقتتون رو روی Avr تلف نکنید حتی اگر تا مدتی توسط میکروچیپ ادامه پیدا کنه تولیدش

    خوب(4)بد(4)
    • admin
      مهر ۲,۱۳۹۵ در ۷:۲۸ ب.ظ

      سلام، همه مواردی که گفتید صحیح ولی این اصلا صحیح نیست که از همه جهت pic بهتر از AVR هست، هر کدام مزیت و معایبی دارند. در لینک زیر یک مقایسه جزئی این دو پردازنده هست.
      http://tiva.in/post/299

      خوب(4)بد(3)

پاسخ دادن به حامد لغو پاسخ

نام شما *
وبسایت شما *

دیدگاه شما *

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>