
خلاصه ۳ خطی
فهرست مطالب11 بخش
- قدم اول: جریان بوبین رله را حساب کنید
- مدار ۱: رلهی ۵ ولت با ترانزیستور BC547
- محاسبهی مقاومت بیس: مثال عددی
- دیود هرزگرد: چرا لازم است و کدام دیود؟
- مدار ۲: چند رله با ULN2003
- برنامهی آردوینو و یک قانون مهم
- سمت کنتاکت: رله چه باری را تحمل میکند؟
- تغذیهی رلهها
- خطاهای رایج و راهحل
- سؤالات متداول
- آیا میتوان رله را مستقیم به پایهی آردوینو وصل کرد؟
- مقاومت بیس BC547 برای رلهی ۵ ولت چند اهم باشد؟
- دیود هرزگرد رله را چطور ببندم؟
- پایهی COM در ULN2003 به کجا وصل میشود؟
- آیا رله با ESP32 کار میکند؟
- جمعبندی
- بوبین رلههای ۵ ولتی این مقاله ۷۰ تا ۱۶۰ میلیآمپر جریان میکشند، ولی حداکثر مطلق جریان هر پایهی آردوینو UNO طبق دیتاشیت ATmega328P فقط ۴۰ میلیآمپر است. پس رله را باید با ترانزیستور، ماسفت یا آیسی درایور راه انداخت.
- برای یک رله با جریان بوبین تا حدود ۸۰ میلیآمپر، BC547 با مقاومت بیس ۱ کیلواهم (برای آردوینو ۵ ولتی) و دیود هرزگرد 1N4148 یا 1N4007 موازی با بوبین کافی است.
- برای چند رله، یا رلهای که بیش از ۱۰۰ میلیآمپر میکشد، ULN2003 بهتر است: هفت کانال، تا ۵۰۰ میلیآمپر برای هر کانال و دیودهای هرزگرد داخلی. فقط پایهی COM را به مثبت تغذیهی رله وصل کنید.
رله کلیدی است که با یک سیگنال کوچک، بار بزرگتری مثل لامپ، پمپ یا فن را قطع و وصل میکند و مدار فرمان را از مدار قدرت جدا نگه میدارد. ولی خود رله هم برای روشن شدن جریانی میخواهد که از توان پایهی میکروکنترلر بیشتر است. در این مقاله مدار عملی راهاندازی رله با آردوینو و ESP32 را قدمبهقدم میسازیم: محاسبهی جریان بوبین، انتخاب ترانزیستور و مقاومت بیس، جای درست دیود هرزگرد و زمانی که ULN2003 انتخاب بهتری است. همهی اعداد از دیتاشیت رسمی Songle، onsemi، Texas Instruments، Vishay، Microchip و Espressif یا مشخصات ثبتشده در صفحهی کالا گرفته شدهاند. اگر با پایههای COM، NO و NC آشنا نیستید، اول رله چیست را بخوانید.
قدم اول: جریان بوبین رله را حساب کنید

جریان بوبین برابر ولتاژ بوبین تقسیم بر مقاومت آن است. این عدد در دیتاشیت رله آمده است. اگر دیتاشیت ندارید، مقاومت بوبین را با مولتیمتر اندازه بگیرید. چند نمونه:
| رله | ولتاژ بوبین | مقاومت بوبین | جریان بوبین | منبع |
|---|---|---|---|---|
| SRD-05VDC-SL-C (حساس، ۰٫۳۶ وات) | 5V | 70Ω | 71.4mA | دیتاشیت Songle |
| SRD-05VDC-SD-C (استاندارد، ۰٫۴۵ وات) | 5V | 55Ω | 89.3mA | دیتاشیت Songle |
| SRD-12VDC-SL-C | 12V | 400Ω | 30mA | دیتاشیت Songle |
| T78-5VDC (LIMING) | 5V | — | حدود 120 تا 160mA | از توان بوبین ۰٫۶ تا ۰٫۸ وات در صفحهی کالا (I = P ÷ V) |
همین جدول نشان میدهد چرا نمیشود رله را مستقیم به پایهی آردوینو بست. طبق دیتاشیت Microchip، حداکثر مطلق جریان هر پایهی ATmega328P (آردوینو UNO و نانو) ۴۰ میلیآمپر است و ولتاژ خروجی فقط تا ۲۰ میلیآمپر تضمین شده است. در ESP32-WROOM-32D هم طبق دیتاشیت Espressif، جریان هر پایه در بیشترین قدرت درایو حدود ۴۰ میلیآمپر است و ولتاژ خروجی آن ۳٫۳ ولت است، نه ۵ ولت.
نکتهی دیگر دیتاشیت Songle این است که رله با حداکثر ۷۵ درصد ولتاژ نامی وصل میشود (۳٫۷۵ ولت برای رلهی ۵ ولتی) و با کمتر از ۱۰ درصد آن رها میشود. پس افت ولتاژ کوچک ترانزیستور مشکلی ایجاد نمیکند، ولی افت بزرگ ممکن است رله را مردد کند.
مدار ۱: رلهی ۵ ولت با ترانزیستور BC547

این رایجترین مدار است و برای رلههایی با جریان بوبین تا حدود ۸۰ میلیآمپر مناسب است. طبق دیتاشیت onsemi، BC547 حداکثر ۱۰۰ میلیآمپر جریان کلکتور پیوسته و ۴۵ ولت ولتاژ کلکتور-امیتر را تحمل میکند.
- بوبین رله: یک سر به +۵ ولت و سر دیگر به کلکتور BC547.
- امیتر به زمین مشترک وصل میشود.
- بیس از راه مقاومت بیس به پایهی دیجیتال آردوینو وصل میشود. یک مقاومت ۱۰ کیلواهم بین بیس و زمین هم ترانزیستور را هنگام ریست خاموش نگه میدارد.
- دیود هرزگرد موازی با بوبین و برعکس بسته میشود: کاتد (سمت نوار) به +۵ ولت و آند به کلکتور.
- کنتاکتها: بار بین COM و NO قرار میگیرد تا با فعال شدن رله روشن شود. NC برای حالتی است که بار باید در حالت عادی روشن باشد.
ترتیب پایههای BC547 در پکیج TO-92 در دیتاشیت onsemi به ترتیب ۱ کلکتور، ۲ بیس و ۳ امیتر است. چون همهی سازندهها پایهها را یکسان شماره نمیزنند، قبل از لحیم کردن، پایهها را با دیتاشیت همان قطعه یا با تست دیود مولتیمتر چک کنید. روش تست در ترانزیستور چیست آمده است.
محاسبهی مقاومت بیس: مثال عددی
برای اینکه ترانزیستور کاملاً روشن (اشباع) شود، بهرهی جریان را نباید با hFE کلاس قطعه حساب کرد. دیتاشیت onsemi ولتاژ اشباع BC547 را در جریان کلکتور ۱۰۰ میلیآمپر با جریان بیس ۵ میلیآمپر داده است (نسبت ۲۰ به ۱): بهطور معمول ۰٫۲ ولت و حداکثر ۰٫۶ ولت. پس جریان بیس را دستکم یکبیستم جریان بوبین بگیرید.
| حالت | جریان بوبین | جریان بیس لازم (÷۲۰) | مقاومت بیس محاسبهشده | مقاومت پیشنهادی |
|---|---|---|---|---|
| آردوینو ۵ ولت + SRD-05VDC-SL-C | 71.4mA | 3.6mA | (5 − 0.7) ÷ 3.6mA ≈ 1.2kΩ | 1kΩ (جریان بیس حدود ۴٫۳ میلیآمپر) |
| ESP32 با ۳٫۳ ولت + SRD-05VDC-SL-C (رله از ۵ ولت) | 71.4mA | 3.6mA | (3.3 − 0.7) ÷ 3.6mA ≈ 720Ω | 470Ω، تا با حداقل ۲٫۶۴ ولت خروجی هم کافی باشد |
| آردوینو ۵ ولت + SRD-12VDC-SL-C (رله از ۱۲ ولت) | 30mA | 1.5mA | (5 − 0.7) ÷ 1.5mA ≈ 2.9kΩ | 2.2kΩ |
عدد ۰٫۷ ولت، ولتاژ بیس-امیتر معمول در حالت اشباع طبق همان دیتاشیت است. تلفات ترانزیستور هم ناچیز است: ۰٫۰۷۱۴ آمپر ضرب در ۰٫۲ ولت برابر حدود ۱۴ میلیوات است، در حالی که حداکثر توان BC547 در دمای ۲۵ درجه ۶۲۵ میلیوات است. جریان پایهی آردوینو هم حدود ۴ میلیآمپر است و خیلی پایینتر از حد آن.
چه زمانی BC547 کافی نیست؟ رلهی T78-5VDC با توان بوبین ۰٫۶ تا ۰٫۸ وات حدود ۱۲۰ تا ۱۶۰ میلیآمپر میکشد که از حد ۱۰۰ میلیآمپری BC547 بیشتر است. برای این رلهها از ULN2003 یا یک ماسفت لاجیکلول مثل IRLML2803 استفاده کنید. طبق دیتاشیت Infineon، مقاومت روشن IRLML2803 در ولتاژ گیت ۴٫۵ ولت حداکثر ۰٫۴ اهم است. یعنی در ۰٫۱۶ آمپر فقط ۰٫۰۶ ولت افت و حدود ۱۰ میلیوات تلفات دارد. نکات انتخاب ماسفت در کنترل موتور DC با ماسفت و آردوینو آمده است.
دیود هرزگرد: چرا لازم است و کدام دیود؟

بوبین رله یک سلف است. وقتی ترانزیستور خاموش میشود، جریان بوبین نمیتواند ناگهان صفر شود و یک ضربهی ولتاژ معکوس روی کلکتور میسازد. این ضربه میتواند از ۴۵ ولت مجاز BC547 بیشتر شود و ترانزیستور را بهتدریج یا یکباره بسوزاند. دیود موازی با بوبین مسیری برای این جریان میسازد تا انرژی بوبین آرام تخلیه شود.
| دیود | ولتاژ معکوس | جریان | مناسب برای |
|---|---|---|---|
| 1N4148 (پایهدار) | 100V | 300mA پیوسته | رلههای کوچک با جریان بوبین زیر حدود ۲۰۰ میلیآمپر |
| 1N4007 | 1000V | 1A | هر رلهی بردی؛ رایج و ارزان |
اعداد هر دو دیود از دیتاشیت Vishay است. دیود باید برعکس بسته شود. اگر کاتد را به سمت ترانزیستور ببندید، با روشن شدن ترانزیستور، تغذیه از راه دیود اتصال کوتاه میشود. دیود هرزگرد ساده باعث میشود رله کمی کندتر رها شود. در بیشتر پروژهها این تأخیر مهم نیست. اگر رهاشدن سریع لازم است، یک دیود زنر را سری با دیود هرزگرد بگذارید، به شرطی که مجموع ولتاژ تغذیه و ولتاژ زنر از ولتاژ مجاز ترانزیستور کمتر بماند. برای انواع دیود، دیود چیست را ببینید.
مدار ۲: چند رله با ULN2003

اگر سه یا چهار رله دارید، یا رلهی شما بیش از ۱۰۰ میلیآمپر میکشد، ULN2003 مدار را سادهتر میکند. طبق دیتاشیت Texas Instruments (ULN2003A):
- هفت ترانزیستور دارلینگتون NPN دارد و جریان پیک هر کانال ۵۰۰ میلیآمپر است. مجموع جریان پایهی امیتر (زمین) نباید از ۲٫۵ آمپر بیشتر شود.
- هر ورودی یک مقاومت سری ۲٫۷ کیلواهم داخلی دارد. پس پایهی آردوینو مستقیم به ورودی وصل میشود و مقاومت بیس لازم نیست.
- حداکثر ولتاژ ورودی لازم برای ۲۰۰ میلیآمپر جریان خروجی (با VCE برابر ۲ ولت) ۲٫۴ ولت است، که از حداقل ۲٫۶۴ ولت خروجی ESP32 کمتر است. یعنی ULN2003 با بردهای ۳٫۳ ولتی هم کار میکند.
- دیودهای هرزگرد داخل تراشه هستند و کاتد مشترکشان پایهی COM (پایهی ۹) است. برای بار سلفی مثل رله، COM را حتماً به مثبت تغذیهی رلهها وصل کنید. اگر COM وصل نباشد، دیودها کاری نمیکنند.
- خروجیها تا ۵۰ ولت را تحمل میکنند. پس رلههای ۱۲ و ۲۴ ولتی هم با آن کار میکنند.
نکتهی مهم: افت ولتاژ دارلینگتون. ولتاژ اشباع ULN2003A در ۱۰۰ میلیآمپر بهطور معمول ۰٫۹ ولت و حداکثر ۱٫۱ ولت است و در ۲۰۰ میلیآمپر بهطور معمول ۱ ولت و حداکثر ۱٫۳ ولت. این عدد خیلی بیشتر از ۰٫۲ ولت BC547 است. با تغذیهی ۵ ولتی، به بوبین فقط حدود ۴ ولت میرسد. این مقدار هنوز از ولتاژ وصل رلهی SRD (حداکثر ۳٫۷۵ ولت) و T78 (حداکثر ۶۵ درصد، یعنی ۳٫۲۵ ولت) بیشتر است، ولی حاشیهی کمی دارد. اگر میتوانید، با ULN2003 از رلهی ۱۲ ولتی استفاده کنید تا افت ۱ ولتی اهمیت چندانی نداشته باشد.
گرما: هر کانال روشن تقریباً جریان بوبین ضرب در ولتاژ اشباع وات تلفات دارد. مثلاً چهار رلهی ۱۵۰ میلیآمپری با افت حدود ۱ ولت، روی هم حدود ۰٫۶ وات گرما میسازند. مقاومت حرارتی پیوند به محیط ULN2003 طبق TI در پکیجهای SOIC و SO حدود ۸۹ تا ۹۵ درجه بر وات است. یعنی دمای پیوند حدود ۵۵ درجه از دمای محیط بالاتر میرود. پس همهی کانالها را همزمان با جریان زیاد پر نکنید. ULN2003 موجود در ایکانو پکیج SO-16 (لحیمی سطحی) دارد و برای بردبورد به برد مدار چاپی یا برد تبدیل نیاز دارد.
برنامهی آردوینو و یک قانون مهم
برنامهی روشن و خاموش کردن رله فقط یک خروجی دیجیتال است. در مدارهای بالا، با HIGH شدن پایه رله فعال میشود:
const int RELAY_PIN = 7;
void setup() {
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // رله در شروع خاموش
}
void loop() {
digitalWrite(RELAY_PIN, HIGH); // رله وصل
delay(5000);
digitalWrite(RELAY_PIN, LOW); // رله قطع
delay(5000);
}قانون مهم: رله را با PWM یا analogWrite نرانید. رله کلید مکانیکی است. طبق دیتاشیت Songle، زمان وصل SRD حداکثر ۱۰ میلیثانیه و زمان قطع آن حداکثر ۵ میلیثانیه است و تعداد قطع و وصل مجاز آن زیر بار الکتریکی ۳۰ بار در دقیقه است. اگر بار باید سریع یا کم و زیاد شود، بهجای رله از ماسفت (برای DC) یا رلهی حالت جامد (برای AC) استفاده کنید. راهنمای SSR در انتخاب رلهی SSR آمده است.
سمت کنتاکت: رله چه باری را تحمل میکند؟
جریان بوبین فقط نیمی از ماجراست. کنتاکت رله هم حد دارد و این حد برای بار سلفی (موتور، پمپ، ترانس) خیلی کمتر از بار مقاومتی است. در جدول Contact Rating دیتاشیت Songle برای کنتاکت تبدیلی (Form C) سری SRD، بار مقاومتی ۱۰ آمپر در ۱۲۵ ولت AC و ۷ آمپر در ۲۴۰ ولت AC، و بار سلفی ۳ آمپر در ۱۲۰ ولت AC آمده است. یعنی «رلهی ۱۰ آمپری» برای یک موتور ۲۲۰ ولتی ۱۰ آمپری مناسب نیست. برای بارهای سلفی، حاشیهی جریان زیادی بگذارید یا از رلهی قدرت بزرگتر استفاده کنید. همهی مدلها در دستهی رله هستند.
اگر کنتاکت رله برق شهر را قطع و وصل میکند، مسیرهای ۲۲۰ ولت را روی برد از بخش فرمان دور نگه دارید، برد را داخل جعبهی عایق بگذارید و پیش از هر تغییری برق را قطع کنید. اگر کار با برق شهر را بلد نیستید، این بخش را به برقکار بسپارید. برای جدا کردن کامل زمین آردوینو از مدار رله، میشود ورودی ترانزیستور را با یک اپتوکوپلر مثل EL817 راند. توضیحش در اپتوکوپلر چیست آمده است.
تغذیهی رلهها
یک رلهی حساس ۷۰ میلیآمپری را میشود از پایهی ۵ ولت برد آردوینو تغذیه کرد، ولی چهار رلهی ۱۲۰ تا ۱۶۰ میلیآمپری روی هم حدود ۰٫۴۸ تا ۰٫۶۴ آمپر میکشند که برای تغذیهی USB یا رگولاتور کوچک برد زیاد است. برای چند رله، یک منبع جدا بگیرید و فقط زمینها را به هم وصل کنید. ESP32 هم معمولاً با ۵ ولت پایهی VIN یا USB کار میکند و رلههای ۵ ولتی را باید از همان ۵ ولت (نه از ۳٫۳ ولت) تغذیه کرد. انتخاب منبع در انتخاب منبع تغذیه و تفاوت دو برد در مقایسهی ESP32 و آردوینو آمده است. در ایکانو برد توسعهی ESP32 و برد آردوینو Mega با ESP8266 موجود است.
خطاهای رایج و راهحل
| نشانه | علت محتمل | راهحل |
|---|---|---|
| رله تقتق میکند یا مردد است | ولتاژ بوبین کم است؛ افت زیاد ترانزیستور یا منبع ضعیف | جریان بیس بیشتر (مقاومت بیس کوچکتر)، منبع جدا، یا رلهی ۱۲ ولتی با ULN2003 |
| ترانزیستور بعد از مدتی میسوزد | دیود هرزگرد نیست یا جریان بوبین از ۱۰۰ میلیآمپر بیشتر است | دیود موازی و برعکس؛ برای رلههای پرمصرف ULN2003 یا ماسفت |
| با روشن شدن رله تغذیه اتصال کوتاه میشود | دیود هرزگرد برعکس بسته شده است | کاتد به مثبت تغذیهی رله، آند به کلکتور |
| با ULN2003 رلهها ضربهی ولتاژ را رد نمیکنند | پایهی COM وصل نیست | COM (پایهی ۹) به مثبت تغذیهی رله |
| آردوینو با قطع و وصل رله ریست میشود | نویز بار ۲۲۰ ولت یا افت تغذیه | منبع جدا، خازن روی تغذیه، فاصلهی مسیرهای قدرت، اسنابر یا وریستور روی بار سلفی |
| رله با ESP32 روشن نمیشود | مقاومت بیس برای ۳٫۳ ولت زیاد است یا بوبین از ۳٫۳ ولت تغذیه شده است | مقاومت ۴۷۰ اهم؛ بوبین از ۵ ولت |
سؤالات متداول
آیا میتوان رله را مستقیم به پایهی آردوینو وصل کرد؟
نه. مثلاً بوبین رلهی SRD-05VDC-SL-C طبق دیتاشیت Songle ۷۱٫۴ میلیآمپر جریان میکشد، ولی حداکثر مطلق جریان هر پایهی ATmega328P طبق دیتاشیت Microchip ۴۰ میلیآمپر است. رله را با ترانزیستور، ماسفت یا ULN2003 برانید و دیود هرزگرد را فراموش نکنید.
مقاومت بیس BC547 برای رلهی ۵ ولت چند اهم باشد؟
برای رلهای با جریان بوبین ۷۱٫۴ میلیآمپر، جریان بیس را دستکم یکبیستم آن (حدود ۳٫۶ میلیآمپر) بگیرید. با آردوینو ۵ ولتی، مقاومت ۱ کیلواهم و با ESP32 (خروجی ۳٫۳ ولت)، حدود ۴۷۰ اهم مناسب است. برای رلهی ۱۲ ولتی ۳۰ میلیآمپری، ۲٫۲ کیلواهم کافی است.
دیود هرزگرد رله را چطور ببندم؟
دیود موازی با بوبین و برعکس بسته میشود: کاتد (سمت نوار) به مثبت تغذیهی رله و آند به کلکتور ترانزیستور. 1N4148 برای رلههای کوچک و 1N4007 برای هر رلهی بردی مناسب است. اگر برعکس ببندید، با روشن شدن ترانزیستور تغذیه اتصال کوتاه میشود.
پایهی COM در ULN2003 به کجا وصل میشود؟
پایهی COM (پایهی ۹) کاتد مشترک دیودهای داخلی است و برای بار سلفی مثل رله باید به مثبت تغذیهی رلهها وصل شود. اگر وصل نباشد، دیودها از ترانزیستورها در برابر ضربهی ولتاژ بوبین محافظت نمیکنند.
آیا رله با ESP32 کار میکند؟
بله، به شرط اینکه بوبین رلهی ۵ ولتی از ۵ ولت تغذیه شود و ESP32 فقط ترانزیستور یا ULN2003 را فرمان دهد. طبق دیتاشیت TI، ورودی ULN2003A برای ۲۰۰ میلیآمپر خروجی حداکثر ۲٫۴ ولت لازم دارد که از حداقل ۲٫۶۴ ولت خروجی ESP32 کمتر است.
جمعبندی
برای راهاندازی یک رلهی ۵ ولتی با آردوینو، اول جریان بوبین را از دیتاشیت یا با مولتیمتر پیدا کنید. اگر زیر حدود ۸۰ میلیآمپر است، BC547 با مقاومت بیس ۱ کیلواهم (برای ESP32 حدود ۴۷۰ اهم)، مقاومت ۱۰ کیلواهم بین بیس و زمین و دیود 1N4148 یا 1N4007 موازی و برعکس با بوبین کافی است. برای رلههای پرمصرفتر یا چند رله، ULN2003 با پایهی COM وصل به مثبت تغذیه سادهترین راه است، به شرط اینکه افت حدود ۱ ولتی آن را در نظر بگیرید. سمت کنتاکت را هم با نوع بار بسنجید و رله را هرگز با PWM نرانید. اگر به جای رله میخواهید موتور را مستقیم کنترل کنید، کنترل موتور DC با ماسفت و آردوینو را بخوانید.
ایکانو در اصفهان امکان تحویل حضوری سفارش را هم دارد. اگر در اصفهان هستید، میتوانید سفارش خود را حضوری تحویل بگیرید.









