تصویر شاخص نوشته: مقاومت، از صفر تا صد

مقاومت، از صفر تا صد

۲۶ تیر ۱۴۰۵ مبانی الکترونیک

مقاومت (Resistor) کوچک‌ترین و در عینِ حال پرتکرارترین قطعه‌ای است که در دنیای الکترونیک می‌بینی. روی هر بردِ مداری که باز کنی — از داخلِ گوشی گرفته تا ریموتِ تلویزیون و اسباب‌بازیِ برادرِ کوچک‌ترت — ده‌ها مقاومتِ ریز کنارِ هم نشسته‌اند. خیلی‌ها فکر می‌کنند مقاومت فقط «جلوی برق را می‌گیرد»، ولی حقیقت این است که همین کارِ به‌ظاهر ساده، پایهٔ نیمی از کارهای هر مدار است: از نجاتِ یک LED از سوختن تا خواندنِ یک سنسور و ساختنِ ولتاژِ دلخواه. این نوشته یک راهنمای واقعیِ «از صفر تا صد» است؛ اول می‌فهمی مقاومت دقیقاً چه می‌کند، بعد یک‌به‌یک همهٔ کاربردهای واقعی‌اش را می‌بینی، و در آخر یک مدارِ زنده هست که خودت مقاومتش را کم و زیاد می‌کنی و اثرش را با چشمِ خودت می‌بینی.

مقاومت دقیقاً یعنی چه؟

جریانِ برق یعنی حرکتِ الکترون‌ها داخلِ سیم. داخلِ یک سیمِ مسیِ خوب، الکترون‌ها تقریباً آزادانه می‌دوند. اما جنسِ داخلِ مقاومت طوری ساخته شده که الکترون‌ها موقعِ عبور مدام به ذراتِ آن برخورد می‌کنند، انرژی از دست می‌دهند و به‌سختی رد می‌شوند. تصویرِ ذهنیِ خوبش این است: آب را از یک لولهٔ پهن راحت رد می‌کنی، ولی همان آب از یک لولهٔ باریک به‌کندی و با فشار عبور می‌کند. مقاومت همان لولهٔ باریکِ مسیرِ برق است. مقدارِ این «تنگیِ مسیر» را با واحدِ اهم (Ω) می‌سنجیم؛ هرچه اهمِ بیشتر، مسیر تنگ‌تر و جریان کمتر.

رابطهٔ بینِ سه کمیتِ اصلیِ برق — ولتاژ، جریان و مقاومت — را «قانونِ اهم» (Ohm's Law) می‌گویند و بی‌اغراق مهم‌ترین فرمولی است که در الکترونیک یاد می‌گیری:

V = I × R

یعنی ولتاژِ دو سرِ مقاومت (V، برحسبِ ولت) برابر است با جریانی که از آن می‌گذرد (I، برحسبِ آمپر) ضربدر مقدارِ مقاومت (R، برحسبِ اهم). لازم نیست ریاضیِ سنگین بلد باشی؛ فقط همین را به خاطر بسپار که این سه به هم گره خورده‌اند. اگر مقاومت را زیاد کنی و ولتاژ ثابت بماند، جریان کم می‌شود؛ و اگر بخواهی جریانِ مشخصی داشته باشی، با انتخابِ مقاومتِ درست به آن می‌رسی. تمامِ کاربردهایی که در ادامه می‌آیند، در واقع بازی‌کردن با همین یک رابطه‌اند.

خواندنِ مقدارِ مقاومت: کدِ رنگیِ نوارها

مقاومت‌های کوچک آن‌قدر ریزند که نمی‌شود عددشان را رویشان نوشت، برای همین مقدارشان را با چند نوارِ رنگی نشان می‌دهند. یادگرفتنِ این کدِ رنگی مثلِ یادگرفتنِ الفباست: یک بار که بگیری، برای همیشه بلدی. در رایج‌ترین حالت (چهار نوار) دو نوارِ اول رقم‌ها هستند، نوارِ سوم می‌گوید چند صفر جلویشان بگذاری (ضریب)، و نوارِ چهارم دقتِ ساخت را نشان می‌دهد.

ارزشِ رقمیِ رنگ‌ها این‌طور است:

  • مشکی = ۰، قهوه‌ای = ۱، قرمز = ۲، نارنجی = ۳، زرد = ۴
  • سبز = ۵، آبی = ۶، بنفش = ۷، خاکستری = ۸، سفید = ۹
  • نوارِ دقت: طلایی یعنی ±۵٪ و نقره‌ای یعنی ±۱۰٪

یک مثال تا جا بیفتد: نوارهای «قهوه‌ای، مشکی، قرمز، طلایی» را بخوان. قهوه‌ای = ۱ و مشکی = ۰، پس رقم‌ها می‌شوند ۱۰؛ قرمز یعنی دو صفر جلویش بگذار، پس می‌شود ۱۰۰۰. یعنی این یک مقاومتِ ۱۰۰۰اهمی (همان ۱ کیلواهم) با دقتِ ±۵٪ است — دقیقاً همان مقاومتِ پرکاربردی که در خیلی از مدارها می‌بینی. نگران نباش اگر اولش گیج شدی؛ در عمل بیشترِ مقاومت‌هایی که استفاده می‌کنی چند مقدارِ تکراری‌اند (مثلِ ۲۲۰، ۱ک، ۱۰ک) و خیلی زود از رنگشان می‌شناسی‌شان. یک مولتی‌متر هم همیشه می‌تواند مقدار را دقیق به تو بگوید.

کاربردِ ۱ — محدودکردنِ جریان: نگهبانِ LED

این پرکاربردترین و مهم‌ترین استفادهٔ مقاومت است و احتمالاً اولین جایی که در عمل لمسش می‌کنی. یک LED اگر جریانِ زیادی از آن بگذرد در یک چشم‌به‌هم‌زدن می‌سوزد. خودِ LED هیچ محدودیتی روی جریان نمی‌گذارد؛ اگر مستقیم به برق وصلش کنی، جریان سرسام‌آور بالا می‌رود و قطعه تمام می‌شود. راهِ حل یک مقاومتِ سری با LED است که طبقِ قانونِ اهم جریان را به مقدارِ امن پایین می‌آورد. به همین دلیل به آن «مقاومتِ محدودکنندهٔ جریان» می‌گویند.

سیم‌بندی‌اش ساده است: پایهٔ خروجیِ میکروکنترلر ← مقاومت (مثلاً حدودِ ۲۲۰ اهم) ← پایهٔ بلندِ LED؛ پایهٔ کوتاهِ LED ← GND. در کد فقط پایه را روشن و خاموش می‌کنی و کارِ محافظت را همان مقاومتِ فیزیکی انجام می‌دهد:

from machine import Pin
import time

led = Pin(25, Pin.OUT)

while True:
    led.value(1)      # LED roshan
    time.sleep(1)
    led.value(0)      # LED khamush
    time.sleep(1)

حالا نکتهٔ ظریفی که خیلی‌ها نمی‌دانند: ولتاژِ دو سرِ خودِ LED تقریباً ثابت است (حدودِ ۲ ولت)، چون LED یک نوع دیود است و مثلِ یک سد رفتار می‌کند. پس این مقاومت است که تعیین می‌کند چه جریانی از LED بگذرد و در نتیجه چقدر پرنور باشد. مقاومتِ بزرگ‌تر ← جریانِ کمتر ← LEDِ کم‌نورتر؛ مقاومتِ کوچک‌تر ← جریانِ بیشتر ← LEDِ پرنورتر (تا جایی که دیگر خطرِ سوختن پیش می‌آید). بهترین راهِ حس‌کردنِ این رابطه این است که خودت امتحانش کنی: مدارِ زنده را باز کن — مقاومتِ سری را کم و زیاد کن و روشناییِ LED را ببین ←. در همان صفحه اسیلوسکوپ هم جریانِ LED را رسم می‌کند تا با چشمِ خودت ببینی که با تغییرِ مقاومت، جریان (و روشنایی) چطور بالا و پایین می‌رود، در حالی‌که ولتاژِ LED تقریباً ثابت می‌ماند. این همان قانونِ اهم است که زنده جلوی چشمت اتفاق می‌افتد.

کاربردِ ۲ — مقاومتِ Pull-up و Pull-down

یک پایهٔ ورودیِ میکروکنترلر مثلِ یک آنتنِ حساس است: اگر به هیچ‌جای مشخصی وصل نباشد، کوچک‌ترین نویزِ محیط مقدارش را بی‌قرار بالا و پایین می‌کند. به این حالت «شناور» (floating) می‌گویند و باعث می‌شود پایه گاهی ۰ و گاهی ۱ بخواند، بی‌آنکه چیزی عوض شده باشد. اینجا مقاومت به کمک می‌آید.

یک مقاومتِ pull-up پایه را از راهِ یک مقاومت به Vcc می‌بندد تا حالتِ پیش‌فرضش «۱» باشد؛ یک مقاومتِ pull-down همین کار را با GND می‌کند تا پیش‌فرض «۰» باشد. کلاسیک‌ترین مثال، یک دکمهٔ فشاری است: با یک pull-up، تا وقتی دکمه رها است پایه ۱ می‌خواند، و لحظه‌ای که دکمه را فشار می‌دهی پایه به GND وصل و ۰ می‌شود. چون این کار آن‌قدر پرتکرار است، خودِ ESP32 مقاومتِ pull-up داخلی دارد و با یک خط کد فعالش می‌کنی:

from machine import Pin

button = Pin(32, Pin.IN, Pin.PULL_UP)   # moghavemat-e pull-up dakheli

while True:
    if button.value() == 0:   # feshorde = 0 (be GND vasl shod)
        print("dokme feshorde shod")

همین ایده در جای مهم‌تری هم دیده می‌شود: باسِ I2C (همان پروتکلی که با آن به نمایشگرِ OLED و خیلی سنسورها وصل می‌شوی) حتماً به دو مقاومتِ pull-up روی خطوطش نیاز دارد تا درست کار کند. پس این کاربردِ ساده، از یک دکمهٔ کوچک تا ارتباطِ بینِ تراشه‌ها را ممکن می‌کند. اگر می‌خواهی pull-up را در یک مدارِ واقعی ببینی، فصلِ ورودیِ دیجیتال و دکمه در خودآموزِ آیرو دقیقاً همین را قدم‌به‌قدم می‌سازد.

کاربردِ ۳ — تقسیم‌کنندهٔ ولتاژ: ساختنِ یک ولتاژِ دلخواه

گاهی یک ولتاژِ مشخص می‌خواهی که بینِ صفر و ولتاژِ تغذیه باشد؛ مثلاً از ۳٫۳ ولت به نصف برسی. برای این کار دو مقاومت را پشتِ سرِ هم می‌بندی و از نقطهٔ وسطشان ولتاژ می‌گیری. به این چیدمان «تقسیم‌کنندهٔ ولتاژ» (Voltage Divider) می‌گویند و ولتاژِ نقطهٔ وسط فقط به نسبتِ دو مقاومت بستگی دارد، نه به مقدارِ مطلقشان. اگر دو مقاومت مساوی باشند، وسط دقیقاً نصفِ ولتاژِ ورودی را می‌دهد.

چرا این‌قدر مهم است؟ چون پایهٔ خواندنِ کلی از سنسورهاست. یک پتانسیومتر در واقع یک تقسیم‌کنندهٔ ولتاژِ قابلِ تنظیم است: با چرخاندنِ دسته، نقطهٔ وسط را جابه‌جا می‌کنی و ولتاژِ خروجی از صفر تا بیشینه تغییر می‌کند؛ میکروکنترلر همین ولتاژ را با ADC می‌خواند و به عدد تبدیل می‌کند. یک مقاومت نوری هم که مقاومتش با نور عوض می‌شود، وقتی با یک مقاومتِ ثابت سری شود یک divider می‌سازد و ولتاژِ خروجی‌اش با تاریک و روشن‌شدنِ محیط بالا و پایین می‌رود. به بیانِ دیگر، تقسیم‌کنندهٔ ولتاژ همان چیزی است که تغییرِ فیزیکیِ دنیای بیرون (چرخش، نور، فشار) را به عددی تبدیل می‌کند که برنامه می‌تواند بخواند. برای دیدنِ یک divider که با یک پتانسیومتر ساخته می‌شود، فصلِ ورودیِ آنالوگ و برای نمونهٔ سنسورِ نور فصلِ چراغِ خودکار را ببین.

سری و موازی: وقتی چند مقاومت کنارِ هم می‌نشینند

گاهی مقدارِ دقیقی که می‌خواهی در جعبه‌ات نیست، یا می‌خواهی رفتارِ چند مقاومت را با هم ترکیب کنی. دو راهِ اصلی برای بستنِ مقاومت‌ها کنارِ هم وجود دارد.

سری (پشتِ سرِ هم). وقتی مقاومت‌ها را دنبالِ هم می‌بندی، مثلِ این است که چند لولهٔ باریک را پشتِ سرِ هم گذاشته باشی؛ مسیر تنگ‌تر می‌شود و مقاومتِ کل زیاد می‌شود. کافی است جمعشان کنی:

R_total = R1 + R2 + R3

پس دو مقاومتِ ۱۰۰اهمیِ سری با هم می‌شوند ۲۰۰ اهم. همین ولتاژِ ورودی هم بینِ مقاومت‌های سری تقسیم می‌شود — که همان تقسیم‌کنندهٔ ولتاژِ بخشِ قبل است.

موازی (کنارِ هم). وقتی مقاومت‌ها را کنارِ هم و بینِ دو نقطهٔ مشترک می‌بندی، مثلِ این است که چند لولهٔ کنارِ هم باز کرده باشی؛ مسیر بازتر می‌شود و مقاومتِ کل کمتر از کوچک‌ترینشان می‌شود. برای دو مقاومتِ موازی:

R_total = (R1 × R2) / (R1 + R2)

دو مقاومتِ ۱۰۰اهمیِ موازی با هم می‌شوند ۵۰ اهم. این نکته گاهی به کارت می‌آید که مقدارِ دقیقی نداری و با ترکیبِ چند مقاومت به آن نزدیک می‌شوی. برای شروع لازم نیست همهٔ این‌ها را حفظ کنی؛ فقط شهودش را نگه دار: سری یعنی جمع و مقاومتِ بیشتر، موازی یعنی مقاومتِ کمتر.

توان و گرما: چرا مقاومت داغ می‌شود؟

مقاومت انرژیِ الکترون‌هایی را که از آن عبور می‌کنند به گرما تبدیل می‌کند. مقدارِ این گرمای تولیدی را «توان» می‌گویند و رابطه‌اش این است:

P = I² × R

نکتهٔ مهمش این است که جریان به‌صورتِ توان دوم وارد می‌شود؛ یعنی اگر جریان دو برابر شود، گرما چهار برابر می‌شود. برای همین اگر جریانِ زیادی را از یک مقاومتِ ریز عبور بدهی، داغ می‌شود و در نهایت می‌سوزد. هر مقاومتی یک «تحملِ توان» دارد — مثلاً مقاومت‌های کوچکِ معمولی معمولاً تا حدودِ یک‌چهارمِ وات (0.25W) را تحمل می‌کنند. تا وقتی در مدارهای کم‌جریانِ آموزشی کار می‌کنی (مثلِ روشن‌کردنِ یک LED)، توانِ تولیدی خیلی کم است و اصلاً نگرانش نیستی. اما لحظه‌ای که پای جریان‌های بزرگ‌تر وسط می‌آید، باید مقاومتی انتخاب کنی که تحملِ توانش کافی باشد؛ وگرنه داغ‌شدن و سوختن در انتظارت است. این هم در نهایت باز همان قانونِ اهم و بازی با جریان و مقاومت است.

چطور مقدارِ درست را انتخاب کنم؟

حالا که قانونِ اهم را داری، انتخابِ مقاومت دیگر حدس‌زدن نیست، بلکه یک حسابِ ساده است. بیایید همان مثالِ محبوب، یعنی مقاومتِ سریِ یک LED، را با هم حساب کنیم. فرض کن تغذیه ۳٫۳ ولت است، LED حدودِ ۲ ولت برای خودش برمی‌دارد، و می‌خواهی حدودِ ۱۰ میلی‌آمپر از آن بگذرد (جریانِ امن و روشنِ خوبی برای یک LED). ولتاژی که باید روی مقاومت بیفتد می‌شود ۳٫۳ منهای ۲، یعنی ۱٫۳ ولت. حالا از قانونِ اهم مقاومت را درمی‌آوری: مقاومت برابر است با ولتاژ تقسیم بر جریان، یعنی ۱٫۳ تقسیم بر ۰٫۰۱ که می‌شود حدودِ ۱۳۰ اهم.

در عمل نزدیک‌ترین مقدارِ استانداردِ کمی بزرگ‌تر (مثلاً ۲۲۰ اهم) را برمی‌داری تا خیالت راحت‌تر باشد و LED کمی کم‌جریان‌تر و ایمن‌تر کار کند. قاعدهٔ کلی این است: مقاومتِ بزرگ‌تر همیشه امن‌تر است (فقط قطعه کم‌نورتر می‌شود)، و مقاومتِ خیلی کوچک خطرناک است (جریانِ زیاد، گرما و سوختن). پس اگر شک داری، سمتِ مقدارِ بزرگ‌تر برو. همین منطقِ ساده — ولتاژِ اضافی را حساب کن، بر جریانِ دلخواه تقسیم کن — برای انتخابِ مقاومت در بیشترِ مدارهای پایه جواب می‌دهد.

اشتباه‌های رایج

  • فراموش‌کردنِ مقاومتِ سریِ LED: شایع‌ترین اشتباهِ تازه‌کارها؛ نتیجه‌اش سوختنِ LED یا حتی آسیب به پایهٔ میکروکنترلر است. LED هیچ‌وقت بدونِ مقاومتِ محدودکننده به برق وصل نمی‌شود.
  • انتخابِ مقدارِ اشتباه: مقاومتِ خیلی بزرگ، قطعه را کم‌نور یا خاموش نگه می‌دارد؛ مقاومتِ خیلی کوچک جریان را بیش از حد بالا می‌برد. اگر شک داری، بزرگ‌تر انتخاب کن.
  • رهاکردنِ پایهٔ ورودی به‌صورتِ شناور: پایهٔ دکمه یا ورودی بدونِ pull-up یا pull-down مقدارِ نامشخص و پرشی می‌خواند؛ همیشه یک مقاومتِ کششی (یا نسخهٔ داخلی‌اش) بگذار.
  • بی‌توجهی به توان در مدارهای پرجریان: در جاهایی که جریان زیاد است، مقاومتِ ریز داغ می‌شود و می‌سوزد؛ به تحملِ توانِ مقاومت هم نگاه کن، نه فقط به مقدارِ اهمش.

همین حالا امتحان کن

بهترین راهِ فهمیدنِ مقاومت این است که با آن بازی کنی. در همین مرورگر یک مدارِ زنده آماده کرده‌ایم که یک مقاومتِ سریِ متغیر جلوی یک LED دارد: مدارِ زندهٔ «مقاومت و روشناییِ LED» را باز کن، اسلایدر را بکش تا مقاومت را کم و زیاد کنی، و ببین چطور روشناییِ LED و جریانش (روی اسیلوسکوپ) تغییر می‌کند. شبیه‌سازِ آیرو مدار را با روشِ واقعیِ «ولتاژِ گره‌ها» حل می‌کند، پس چیزی که می‌بینی یک انیمیشنِ ساختگی نیست، بلکه همان فیزیکِ واقعیِ قانونِ اهم است.

اگر می‌خواهی مقاومت را در یک درسِ کاملِ گام‌به‌گام یاد بگیری، آزمایشگاهِ اولین چشمک با LED و مقاومت و فصلِ اولین کد و چشمک در خودآموزِ آیرو نقطهٔ شروعِ عالی‌اند. از همان‌جا کم‌کم به سراغِ خازن، دیود و ترانزیستور می‌روی و می‌بینی که این چند قطعهٔ ساده کنارِ هم چه کارهای بزرگی می‌کنند. مقاومت، دروازهٔ ورودِ تو به دنیای الکترونیک است — و حالا از صفر تا صدش را می‌دانی. برای شروعِ مسیرِ کامل هم خودآموزِ رباتیکِ آیرو منتظرِ توست.