رفتن به نوشته‌ها

محاسبه مقاومت پول آپ و پول داوون

مقاومت بالا/پایین کش (Pull Up/Down Resistor) چیست و چرا استفاده می شود؟

فرض کنید که در حال استفاده از یک میکروکنترلر هستید و یک پین خاص آن را به صورت ورودی تعریف کرده باشید. در صورتی که هیچ مقاومت Pull Up یا Pull Down بر روی پین ورودی وجود نداشته باشد و پین توسط شما به GND و یا Vcc متصل نباشد، مقدار دیجیتال این پین که توسط میکروکنترلر خوانده می شود تحت تاثیر نویز و وضعیت پایه های کناری و غیره قرار می گیرد و به طور کلی مقدار خوانده شده قابل پیش بینی نیست. معمولا میکروکنترلرها امکان اتصال مقاومت Pull Up و یا Pull Down به صورت داخلی را برای کاربر فراهم می کنند که حجم مدار خارجی را کم و مشکلی که در بالا ذکر شد را بر طرف می نمایند. اما فرض کنید که پین به صورت ورودی تعریف شده و هیچ مقاومت بالاکش و یا پایین کش به آن وصل نشده و اصطلاحا به صورت شناور (Floating) است. در صورتی که بخواهیم وضعیت یک کلید را توسط این پین بخوانیم، مشکل ذکر شده باعث می شود که در زمان باز بودن کلید (پین شناور خواهد بود) مقدار دیجیتال خوانده شده قابل پیش بینی نباشد و هر دو مقدار “۰” و یا “۱” منطقی ممکن است خوانده شود. بنابراین نمی توان با خواندن مقدار پین ورودی، وضعیت کلید را تشخیص داد. برای رفع مشکل بیان شده باید از مقاومت Pull Up و یا Pull Down استفاده کرد. همانطور که بیان شد ممکن است میکروکنترلر مورد استفاده شما دارای یکی از این مقاومت ها به صورت داخلی باشد. در این نوشته در مورد مقاومت Pull Down صحبت می کنید. این مباحث عینا برای مقاومت Pull Up کاربرد دارد.

شکل ۱: پین ورودی شناور

با اتصال یک مقاومت Pull Down به مدار بالا، زمانی که کلید باز باشد، پین ورودی توسط مقاومت به GND متصل می شود و بنابراین مقدار “۰” توسط میکروکنترلر خوانده می شود. در صورتی که کلید فشرده شود، پین مستقیما به Vcc متصل می شود و مقدار “۱” توسط میکروکنترلر خوانده می شود. در زمان فشرده بودن کلید، مقاومت Pull Down نیز بین Vcc و GND قرار می گیرید و بسته به مقدار آن و مقدار Vcc، جریانی از آن عبور می کند.

شکل ۲: پین ورودی با مقاومت Pull Down خارجی

مقاومت Pull Down قوی و ضعیف

در صورتی که مقدار مقاومت Pull Down کوچک باشد، با فشردن کلید، جریان بیشتری در آن جاری می شود. از یک منظر دیگر، برای بالا رفتن ولتاژ دو سر این مقاومت طبق قانون اهم به جریان بیشتری نیاز است بنابراین این چنین مقاومتی، مقاومت Pull Down قوی گفته می شود. به طور مشابه در صورتی که مقدار مقاومت بزرگ باشد، برای بالا بردن ولتاژ دو سر آن به جریان کمتری نیاز است و به این مقاومت Pull Down ضعیف گفته می شود.
مزیت مقاومت Pull Down قوی آن است که در برابر نویز ناشی از کوپلینگ و اقای الکترومغناطیسی از سیگنال روی پین حفاظت می کند و همچنین خطای قرائت احتمالی در اثر جریان نشستی ورودی پین را رفع می کند. در عوض از منبع تغذیه مدار جریان بیشتری دریافت می کند و همچنین در پین را در برابر نویز زمین آسیب پذیر تر می کند.
خطای قرائت در اثر جریان نشستی پین در زمانی که مقدار مقاومت Pull Down خیلی بزرگ باشد خود را نشان می دهد. مدار زیر را نگاه کنید. فرض کنید که مقدار مقاومت Pull Down برابر ۴.۷ مگا اهم باشد و جریان نشستی پین برابر ۰.۵ میکرو آمپر و ولتاژ تغذیه ۵ ولت باشد. ولتاژ روی مقاومت Pull Down در اثر جریان نشستی برابر ۲.۳۵ ولت است که این ولتاژ تقریبا برابر نصف ولتاژ تغذیه است. در این صورت ممکن است مقدار منطقی خوانده شده در حالتی که کلید قطع است لزوما “۰” نباشد.

شکل ۳: اثر جریان نشتی پین و مقاومت Pull Down بسیار بزرگ

انتخاب مقدار مقاومت Pull Down

بسیاری از میکروکنترلرها دارای مقاومت Pull Up داخلی هستند و نیازی به مقاومت Pull Up/Down خارجی نیستند. این مقاومت های داخلی در میکروکنترلرها اصولا مقاومت های بزرگی هستند و Pull Up/Down ضعیف محسوب می شوند. بنابراین ممکن است در برخی از کابردها نیاز به مقاومت خارجی باشد. برای تعیین مقدار مقاومت Pull Down به موارد زیر توجه می شود:

۱-میزان جریانی که از منبع تغذیه دریافت می کند. این موضوع به ویژه در دستگاه هایی که با باتری کار می کنند اهمیت فراوان دارد.
۲-وضعیت سیستم از نظر وجود انواع راه های نفوذ نویز(اینجا را مطالعه کنید)
۳-مقاومت ورودی پین که معمولا در دیتاشیت قطعات بیان شده است.

مثال:

فرض کنید که جریان ۰.۵ میلی آمپر به عنوان جریان مقاومت Pull Down قابل قبول باشد و ولتاژ تغذیه ۵ ولت باشد. همچنین مقاومت ورودی پین ۱ مگا اهم باشد. در این صورت مقاومت Pull Down مناسب به صورت زیر تعیین می شود:
قوی ترین مقاومت Pull Down ممکن:

بررسی این که این مقاومت از یک دهم مقاومت ورودی پین بیشتر نباشد:

بنابراین مقاومت ۱۰KΩ در این جا مناسب است و می تواند تا حدود ۱۰۰KΩ افزایش یابد.

 

http://forum.roboeq.ir/index.php?topic=2297.0

منتشر شده در الکترونیک و میکروکنترلر

یک دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *