مشکلات تغذیه و سختافزار
راههای تغذیهٔ برد Uno و محدودیت جریان هر پین را میشناسید و نشانههای افت تغذیه، ریست شدن برد و رگولاتور داغ را با مولتیمتر عیبیابی میکنید.
آنچه در این درس میآموزید
- چهار راه تغذیهٔ برد و محدودیت هر راه را توضیح دهید
- جریان مجاز پینهای ورودی/خروجی را رعایت کنید
- ریست شدن برد هنگام کار موتور و افت تغذیه را عیبیابی کنید
- ولتاژ برد را با مولتیمتر بهطور ایمن اندازه بگیرید
فهرست مطالب
کد درست است، سیمکشی هم با نقشه میخواند، اما برد وسط کار ریست میشود یا LED کمنور میماند. چنین نشانههایی تقریباً همیشه به تغذیه برمیگردند. در این درس راههای تغذیهٔ Uno، سقف جریان هر پین و روش اندازهگیری با مولتیمتر را میآموزید تا مشکلات برقی را از مشکلات منطقی جدا کنید.
راههای تغذیهٔ برد
| راه | محدودهٔ ولتاژ | نکته |
|---|---|---|
| پورت USB | ۵ ولت | تا حدود ۵۰۰ میلیآمپر از پورت USB 2.0؛ مناسب کارهای آزمایشگاهی سبک |
| جک برق (بارل) | ۷ تا ۱۲ ولت توصیهشده | زیر ۷ ولت ناپایدار و بالای ۱۲ ولت رگولاتور داغ میشود |
| پین VIN | ۷ تا ۱۲ ولت | همان ورودی جک برق است؛ فقط یکی از این دو را وصل کنید |
| پین 5V | ۵ ولت ثابت | رگولاتور را دور میزند؛ فقط با احتیاط و به شرح پایین |
منبع رسمی این محدودهها صفحهٔ Uno Rev3 در docs.arduino.cc است. برای جک برق و VIN، محدودهٔ توصیهشده ۷ تا ۱۲ ولت است؛ در عمل بین ۷ و ۹ ولت بهترین انتخاب است چون رگولاتور روی برد اضافهٔ ولتاژ را به گرما تبدیل میکند و هرچه ولتاژ بالاتر، گرمای بیشتر.
پین 3.3V هم روی Uno از یک رگولاتور کوچک میآید و طبق مستندات رسمی فقط تا حدود ۵۰ میلیآمپر جریان میدهد؛ ماژولهای حساس مثل برخی ماژولهای بیسیم سبک به آن میخورند اما موتور و رله هرگز نه.
سقف جریان پینهای ورودی/خروجی
طبق دیتاشیت رسمی ATmega328P از میکروچیپ:
- ۲۰ میلیآمپر مقدار توصیهشده برای هر پین ورودی/خروجی است؛ LED با مقاومت ۲۲۰ اهم حدود ۱۵ میلیآمپر میکشد و کاملاً در ناحیهٔ امن است.
- ۴۰ میلیآمپر بیشینهٔ مطلق هر پین است؛ عبور از آن پین را بهمرور تخریب میکند.
- مجموع جریان همهٔ پینها هم سقف دارد؛ قاعدهٔ تجربی برای Uno این است که جمع کل حدود ۲۰۰ میلیآمپر نگذرد.
موتور DC، سروو زیر بار و رله هر کدام دهها تا صدها میلیآمپر میکشند؛ هیچکدام را مستقیم به پین وصل نکنید. موتور با ترانزیستور یا درایور جدا سوئیچ میشود و تغذیهٔ خودش را میگیرد؛ پین فقط سیگنال فرمان میدهد.
نشانههای مشکل تغذیه
| نشانه | علت | راهحل |
|---|---|---|
| برد وسط کار ریست میشود، مخصوصاً وقتی موتور یا رله روشن میشود | افت لحظهای ولتاژ تغذیه و ضربهٔ القایی هنگام قطع سلف | منبع جدا برای موتور، زمین مشترک با برد و دیود هرزگرد موازی موتور |
| LED برق کمنور میماند یا سریال قطع و وصل میشود | افت ولتاژ (Brownout)؛ منبع ضعیف یا کابل بلند و نازک | منبع قویتر یا تغذیه از جک برق ۷ تا ۹ ولت |
| رگولاتور سیاهرنگ کنار جک برق برای تماس داغ است | ولتاژ ورودی بالا (۱۲ ولت به بالا) با بار زیاد | ولتاژ را به ۷ تا ۹ ولت کاهش دهید یا بار را سبک کنید |
| پورت USB رایانه قطع و وصل میشود | اتصال کوتاه یا جریان کشیدن بیش از ظرفیت پورت | بلافاصله قطع کنید؛ مدار را برای اتصال کوتاه بررسی کنید |
اندازهگیری ولتاژ با مولتیمتر
مولتیمتر نخستین ابزار عیبیابی برق است؛ برای شروع فقط اندازهگیری ولتاژ DC لازم است:
- کلید مولتیمتر را روی نماد V با خط ممتد (ولتاژ DC) بگذارید؛ نماد V~ ولتاژ متناوب است و اینجا نه.
- سیم قرمز را در سوکت VΩ و سیم سیاه را در سوکت COM بزنید.
- برد را روشن کنید؛ نوک سیم قرمز را روی پین 5V و نوک سیم سیاه را روی پین GND بگذارید.
- عدد انتظاری حدود ۴٫۹ تا ۵٫۱ ولت است؛ زیر ۴٫۷ ولت یعنی افت تغذیه دارید.
همین روش را میتوانید روی خروجی هر پین دیجیتال تکرار کنید: با digitalWrite(pin, HIGH) باید حدود ۵ ولت و با LOW حدود صفر ببینید.
تمرینها
تمرین
تمرین ۱ — تشخیص ریست هنگام کار موتور
سناریو: برد Uno را با USB تغذیه کردهاید و یک موتور DC کوچک را — برای سادگی — مستقیم به پین دیجیتال و GND وصل کردهاید. هر بار که کد موتور را روشن میکند، LED داخلی چشمک میزند و سریال مانیتور از نو پیام setup را چاپ میکند. بگویید این نشانه چه مشکلی را نشان میدهد، چرا پیام setup دوباره چاپ میشود و سه اقدام اصلاحی بنویسید.
نمایش راهحل
نشانهٔ ریست شدن برد است: چون setup() در هر روشنشدن یک بار اجرا میشود، چاپ دوبارهٔ پیام setup یعنی برد ریست شده است. علت، افت شدید ولتاژ تغذیهٔ USB هنگام راهاندازی موتور و ضربهٔ القایی هنگام سوئیچ است؛ موتور جریانش چند برابر سقف پین است. سه اقدام: (۱) موتور را از پین جدا کنید و با ترانزیستور یا درایور موتور سوئیچ کنید تا پین فقط سیگنال بدهد؛ (۲) به موتور منبع تغذیهٔ مستقل بدهید و زمین منبع را با GND برد مشترک کنید تا مرجع سیگنال یکی بماند؛ (۳) یک دیود هرزگرد (Flyback Diode) موازی و معکوس با موتور ببندید تا ضربهٔ القایی هنگام قطع جذب شود. تا رفع کامل، مطمئن شوید تغذیهٔ موتور از پورت USB رایانه گرفته نمیشود.
:::
خلاصه
- تغذیهٔ Uno از USB، جک برق، VIN یا پین 5V ممکن است؛ برای جک و VIN محدودهٔ توصیهشده ۷ تا ۱۲ ولت و در عمل ۷ تا ۹ ولت بهترین است.
- تغذیه از پین 5V همزمان با USB یا جک برق توسط مستندات رسمی منع شده است.
- هر پین ورودی/خروجی ۲۰ میلیآمپر توصیه و ۴۰ میلیآمپر بیشینهٔ مطلق دارد و پین 3.3V حدود ۵۰ میلیآمپر میدهد.
- ریست شدن برد هنگام سوئیچ موتور یعنی افت تغذیه؛ راهحل منبع مستقل، زمین مشترک و دیود هرزگرد است.
- ولتاژ DC را با پراب قرمز روی VΩ و سیاه روی COM میسنجید و حدود ۵ ولت روی پین 5V انتظار دارید.
سیمکشی و برق برد را کنترل کردید؛ در درس بعدی سراغ رایجترین ابزار گفتوگوی برد با شما میرویم: سریال مانیتور و خطاهای رایجش.