فهرست مطالب
آردوینو UNO
آردوینو UNO یکی از بردهای محبوب مجموعهی آردوینو، به ویژه در میان افرادی است که در ابتدای مسیر یادگیری قرار دارند. محبوبیت این برد و کاربردهای متنوع آن دلیلی بود تا یک پست اختصاصی به آن تعلق گیرد.
برد آردوینو UNO دارای اجزای مختلفی میباشد.
اجزای مختلف برد آردوینو UNO
برق(USB و پاورجک)
این برد ازطریق کابل USB که از کامپیوتر شما میآید یا ازطریق یک منبع تغذیهی DC که توسط پاورجک متصل میشود، تغذیه میگردد. در تصویر بالا اتصال USB با برچسب (1) و پاورجک با برچسب (2) مشخص شدهاست.
پورت USB برای بارگذاری کد برروی برد آردوینو UNO نیز به کار برده میشود.
توجه: از منبع تغذیهی بیشتر از 20 ولت استفاده نکنید زیرا باعث آسیب به برد میشود. ولتاژ توصیه شده برای برد آردوینو UNO، بین 6 تا 12 ولت است.
پینها (5 ولت، 3/3 ولت، GND، آنالوگ، دیجیتال، PWM و AREF)
پینهای موجود در آردوینو UNO مکانهایی برای اتصال سیمها هستند. آنها معمولا دارای "هدرهای" پلاستیکی مشکی هستند که به شما امکان اتصال راحتتر سیمها را میدهد. پینهای موجود برروی این برد به چند دسته تقسیم میشوند که در ادامه کاربرد هر یک را بیان میکنم.
GND (3)
مخفف "GROUND" است. این پین ولتاژ 0 را نشان میدهد. GND به همراه پین VCC ولتاژ را تأمین میکنند. چندین پین GND برروی آردوینو وجود دارد که میتوان از هر یک از آنها برای اتصال مدار شما استفاده کرد.
5 ولت (4) و 3/3 ولت (5)
همانطور که حدس میزنید، پین 5 ولت، ولتاژ 5 ولتی و پین 3/3 ولت، ولتاژ 3/3 ولتی از نیرو را تأمین میکند. اکثر قطعاتی که با این برد راهاندازی میشوند، با ولتاژ 5 یا 3/3 ولت کار میکنند.
آنالوگ (6)
پینهایی که برروی برد آردوینو UNO برچسب A0 تا A5 دارند، پینهای آنالوگ ورودی (Analog In) هستند. این پینها میتوانند سیگنال را از یک سنسور آنالوگ بخوانند (مانند سنسور دمای LM35) و آن را به یک مقدار دیجیتالی تبدیل کنند.
دیجیتال (7)
برروی برد آردوینو UNO، در سمت مقابل پینهای آنالوگ، پینهای دیجیتال قرار دارند ( از 0 تا 13). از این پینها میتوان هم برای ورودی دیجیتال (مانند فشردن دکمه) و هم برای خروجی دیجیتال(مانند تامین انرژی LED) استفاده کرد.
PWM (8)
شما ممکن است در برد آردوینو UNO، در کنار برخی از پینهای دیجیتال متوجه علامت شدهباشید. این پینها بهعنوان پینهای دیجیتال معمولی عمل میکنند اما میتوانند برای تکنیکی به نام Pulse Width Modulation یا به اختصار PWM نیز استفاده شوند. این پینها میتوانند خروجی آنالوگ را شبیهسازی کنند.
AREF (9)
مخفف مرجع آنالوگ است. گاهی اوقات برای تنظیم ولتاژ مرجع خارجی (بین 0 تا 5 ولت) بهعنوان حد بالایی برای پایههای ورودی آنالوگ استفاده میشود.
کلید RESET (10)
آردوینو UNO یک دکمهی تنظیم مجدد دارد. با فشار دادن آن، پین تنظیم مجدد، بهطور موقت به زمین متصل میشود و هر کدی را که در آردوینو بارگذاری میشود، دوباره راهاندازی میکند.
نشانگر LED (11)
درست در زیر و سمت راست کلمهی "UNO" در صفحهی مدار، یک LED کوچک در کنار کلمهی "ON" وجود دارد. هروقت آردوینو را به منبع تغذیه متصل میکنید، این LED باید روشن شود. اگر روشن نشد، احتمال اشتباه وجود دارد و زمان بررسی مجدد مدار شماست!
LEDهای TX و RX (12)
TX برای ارسال و RX برای دریافت است. این علامتگذاریها در الکترونیک نمایان میشوند تا پینهای مسئول ارتباط سریال را نشان دهند. در برد آردوینو UNO این علامتگذاریها در دو مکان ظاهر شده اند؛ یکی در کنار LEDهای TX و RX و یکی در کنار پینهای دیجیتال 0 و 1. این LEDها هر زمان که آردوینوی ما دادهها را دریافت یا ارسال میکند، روشن میشوند.
آی سی اصلی (13)
یک قطعهی سیاه رنگ برروی برد آردوینو UNO وجود دارد که به مغز برد معروف است. آن را IC یا مدار مجتمع مینامند. IC اصلی موجود در برد آردوینو در انواع بردها متفاوت است اما معمولا از شرکت ATMEL میباشند. میکروکنترلر به کار رفته در برد آردوینو UNO، ATmega328 میباشد. دانستن این موضوع میتواند مهم باشد زیرا ممکن است لازم باشد قبل از بارگذاری برنامهی جدید از نرمافزار آردوینو برروی برد، انواع IC را همراه با نوع برد خود بدانید. این اطلاعات را میتوان به صورت مکتوب در قسمت بالای IC یافت.
تنظیمکنندهی ولتاژ (14)
هنگام استفاده از برد آردوینو UNO خیلی با این قطعه سر و کاری نداریم اما بد نیست که از کارایی و کاربرد آن برروی برد اطلاعاتی بهدست آوریم. تنظیمکنندهی ولتاژ، همانطور که از نامش پیداست میزان ولتاژ ورودی به برد آردوینو UNO را کنترل میکند. درواقع میتوان آن را به یک دروازهبان تشبیه کرد. این قطعه ولتاژ اضافی را که ممکن است به برد آسیب برساند دور میکند. البته این المان نیز محدودیتهای خود را دارد و شما برای اطمینان بیشتر آردوینوی خود را به ولتاژ بیش از 20 ولت وصل نکنید.
برخی ویژگیهای برد آردوینو UNO
ویژگی |
بررسی ویژگی |
تعداد قطعات |
44 عدد |
ابعاد فیبر |
8/6 * 3/5 سانتیمتر |
نوع فیبر |
فایبرگلاس دو رو متالیزه |
چاپ مس |
دارای چاپ آبی |
نوع کانکتور |
USB |
فرکانس کاری |
MHZ 16 |
ارتباط UART |
دارد |
WIFI |
ندارد |
تراشه |
ATmega328 |
معماری پردازنده |
Avr |
حافظه |
KB 32 |
حافظه داخلی |
KB 5/0 مخصوص بوت لودر |
حافظهی فلش |
دارد |
حافظهی RAM |
ندارد |
حافظهی SRAM |
KB 2 |
حافظهی EEPROM |
KB 1 |
ولتاژ مورد نیاز |
5/0 ولت DC |
ولتاژ ورودی |
7-12 ولت DC |
جریان |
40-50 میلی آمپر |
نوع آی سی |
میکروکنترلر |
سطح تجربهی مورد نیاز |
نیمه حرفهای |
دقت کنید که ویژگیهای ذکر شده در جدول بالا درمورد برد آردوینو UNO مدل R3 صدق میکند.
دو نوع برد آردوینو UNO وجود دارد. یکی از آنها برد آردوینو UNO مدل R3 از نوع DIP و دیگری برد آردوینو UNO CH340 از نوع SMD است.
این دو برد تفاوتها و شباهتهایی با یکدیگر دارند که به بررسی آنها میپردازیم:
شباهتها
· کارایی
· دقت
· فرکانس کاری
· محیط برنامهنویسی
· نوع برنامهنویسی
· تمام پینهای ورودی/خروجی از نظر موقعیت و کاربرد
· ابعاد
· محل قرارگیری کانکتور و هدرها
تفاوت ها
R3 (DIP) |
CH340 |
پکیج میکرو به صورت DIP (بزرگتر، دارای سوکت آی سی، قابل تعویض) |
پکیج میکرو بهصورت SMD (تعویض آن مستلزم داشتن مهارت در لحیم کاری) |
هدرهای مادگی لحیم شده |
علاوه بر هدرهای مادگی، پدهایی برای هرکدام از پینها وجود دارد که میتوان به آنها سیم لحیم کرد. |
استفاده از آی سی ATmega16 به عنوان مبدل USB به SERIAL |
استفاده از آی سی CH340 به عنوان مبدل USB به SERIAL |
قیمت بالا |
قیمت پایین |
نیاز به نصب درایور جداگانه ندارد |
نیاز به نصب درایور جداگانه دارد |
جهت مشاهده فایل شماتیک برد آردوینو UNO مدل R3 اینجا کلیک کنید.
جهت مشاهده فایل شماتیک برد آردوینو UNO CH340 اینجا کلیک کنید.
بررسی الکترونیکی برد آردوینو UNO
در این قسمت میخواهیم برد آردوینو UNO را از لحاظ الکترونیکی بررسی کنیم. درک خوب از طراحی الکترونیکی سختافزار آردوینو UNO به شما کمک میکند تا یاد بگیرید چگونه یک آردوینو UNO دلخواه برای پروژهی خود طراحی کنید؛ از جمله این که چه چیزی را باید نگه دارید و چه چیزی را باید از طراحی اصلی خود حذف کنید.
بررسی اجزای کلی
در طراحی PCB آردوینو UNO از اجزای SMD ( که مخفف عبارت Surface Mount Device است) استفاده شدهاست. مدارهای مجتمع از پکیجهای استاندارد استفاده میکنند.
اکثر پکیجها عمومی هستند و میتوانند برای قسمتهای مختلف با عملکردهای مختلف استفاده شوند. به عنوان مثال بستهی SOT-223 میتواند حاوی ترانزیستور یا رگولاتور باشد.
در جدول زیر، میتوانید لیستی از اجزای موجود در آردوینو UNO را با بستهی مربوطه مشاهده کنید.
SOT223 |
تنظیمکنندهی ولتاژ 5 ولت NCP1117ST50T3G |
SOT753/SOT23-5 |
تنظیمکنندهی ولتاژ 3 ولت LP2985-33DBVR دیود M7 |
SMB |
دیود M7 |
MSOP08 |
تقویتکنندهی دو کانال LMV358IDGKR |
SOT23 |
ترانزیستور FDN340P کانال_P MOSFET |
MLF32 |
ATmega16U2-MU |
بررسی اجمالی سیستم آردوینو UNO
قبل از اینکه بتوانیم سختافزار آردوینو UNO را درک کنیم، ابتدا باید یک مرور کلی برروی سیستم داشتهباشیم.
بعد از اینکه کد شما با استفاده از Arduino IDE کامپایل شد، باید با استفاده از اتصال USB در میکروکنترلر اصلی آردوینو UNO بارگذاری شود. از آنجا که میکروکنترلر اصلی گیرنده USB ندارد، شما برای تبدیل سیگنالها بین رابط سریال (رابط UART) میکروکنترلر و سیگنالهای میزبان USB به یک پل نیاز دارید.
این پل در آخرین بازنگری، ATmega16U2 است که دارای گیرندهی USB و همچنین یک رابط سریال (رابط UART) است.
همانطور که در بالا گفته شد، برای تغذیهی برد آردوینو UNO میتوانید از USB به عنوان منبع تغذیه استفاده کنید و گزینهی دیگر، استفاده از جک DC است. ممکن است بپرسید "اگر من هم آداپتور DC و هم USB را وصل کنم، کدام منبع تغذیه خواهدبود؟" پاسخ در بخش "قدرت" از این پست قرار خواهد گرفت.
میکروکنترلر
توضیحات لازم در مورد این قطعه داده شدهاست اما درک این نکته مهم است که این میکروکنترلر همان چیزی است که دستورالعملهای برنامهی شما را اجراء میکند. اگر این را بدانید، دیگر از جملهی اشتباه و رایج " آردوینو یک میکروکنترلر است" استفاده نخواهید کرد.
میکروکنترلر بهکار برده شده در آردوینو UNO از خانوادهی AVR است. این دستگاه 8 بیتی است، به این معنا که معماری داده، باس و رجیسترهای داخلی آن برای مدیریت 8 سیگنال دادهی موازی طراحی شدهاست.
ATmega328 دارای سه نوع حافظه است:
1-حافظهی FLASH
حافظهی غیر فرار 32 کیلوبایتی. از این حافظه برای ذخیرهی برنامه استفاده میشود و با وجود آن هروقت آردوینو را از منبع برق آن جدا میکنید، نیازی به بارگذاری مجدد برنامهی خود ندارید.
2-حافظهی SRAM
حافظهی فرار 2 کیلوبایتی. این حافظه برای ذخیرهی متغیرهای استفاده شده در برنامه در حین اجراء استفاده میشود.
3-حافظهی EEPROM
حافظهی غیر فرار 1 کیلوبایتی. این حافظه میتواند برای ذخیرهی دادههایی استفاده شود که باید حتی پس از خاموش شدن برد، در دسترس باشد.
اجازه دهید بهطور خلاصه برخی از مشخصات این میکروکنترلر را مرور کنیم:
پکیجها
این میکروکنترلر یک پکیج DIP-28 است؛ به این معنی که دارای 28 پایه در دو خط راست و چپ است. این پایهها شامل پینهای تغذیه و ورودی/خروجی هستند. بیشتر این پینها چند منظوره میباشند. به این معنی که از یک پین میتوان بر اساس نحوهی پیکربندی آن در نرمافزار، در حالتهای مختلف استفاده کرد. این ویژگی، تعداد پین لازم را کاهش میدهد زیرا میکروکنترلر برای هر عملکرد به پین جداگانهای نیاز ندارد.
همچنین میتواند طراحی شما را انعطافپذیرتر کند زیرا یک اتصال I/O میتواند انواع مختلفی از عملکرد را فراهم کند. پکیجهای دیگر ATmega328 مانند TQFP-32 ، به صورت SMD (دستگاه نصب سطح) موجود است.
تغذیه
میکروکنترلر ولتاژهای تامین از 8/1 تا 5/5 ولت را میپذیرد. با این وجود، محدودیتهایی در فرکانس کاری وجود دارد. به عنوان مثال، اگر میخواهید از حداکثر فرکانس کلاک 20 مگاهرتز استفاده کنید، به ولتاژ تغذیه حداقل 5/4 ولت نیاز دارید.
ورودی/خروجی دیجیتال
این میکروکنترلر دارای سه پورت PORT C، PORT B، PORT D است. تمام پینهای این درگاهها میتوانند برای ورودی و خروجی دیجیتال عمومی یا برای عملکردهای جایگزین مشخص شده استفاده شوند. به عنوان مثال PORT C، از P0 تا P5 میتواند به جای ورودی/خروجی دیجیتال، ورودی ADC نیز باشد.
توجه: ATmega168 تقریبا مشابه ATmega328 است و با پین سازگار هستند. تفاوت در این است که ATmega328 دارای حافظهی بیشتری است (FLASH: 32KB , EEPROM: 1KB, RAM: 2KB) در مقایسه با ATmega168 (FLASH: 16KB , EEPROM: 512bytes , RAM: 1KB).
ورودیهای ADC
این میکروکنترلر دارای شش کانال PORT C0 تا PORT C5 با مبدل A/D با رزولوشن 10 بیت است. این پایهها به هدر آنالوگ روی برد آردوینو UNO متصل میشوند.
یک اشتباه رایج این است که فکر میکنیم ورودی آنالوگ فقط به عنوان ورودی اختصاصی برای عملکرد A/D وجود دارد. واقعیت این است که میتوانید از آنها بهعنوان I/O یا A/D دیجیتال هم استفاده کنید.
همانطور که در بالا مشاهده میکنید (خط قرمز رنگ)، پینهای مربوط به واحد A/D عبارتند از:
AVCC: پین برق برای واحد A/D.
AREF: اگر میخواهید به جای VREF داخلی از یک مرجع ولتاژ خارجی برای ADC استفاده کنید، از پین ورودی به صورت اختیاری استفاده میشود. با استفاده از یک رجیستر داخلی میتوانید آن را پیکربندی کنید.
UART جانبی
UART (Universal Asynchronous Receiver/Transmitter) یک رابط سریال است. ATmega328 فقط یک بلوک UART دارد.
پینهای UART (TX,RX) به مدار مبدل USB به UART متصل میشوند و همچنین در هدر دیجیتال به پین 0 و 1 متصل هستند. اگر قبلا از آن برای ارسال/دریافت داده از طریق USB استفاده میکردید، باید از استفاده آن خودداری کنید.
محیط SPI
SPI (Serial Peripheral Interface) رابط سریال دیگری است. ATmega328 فقط یک بلوک SPI دارد.
علاوه بر استفاده از آن به عنوان رابط سریال، میتوان از آن برای برنامهریزی میکروکنترلر با استفاده از یک برنامهنویس مستقل نیز استفاده کرد. میتوانید از هدر کنار میکروکنترلر در برد آردوینو UNO یا از هدر دیجیتال به پینهای SPI دسترسی پیدا کنید:
11 <-> MOSI
12 <-> MISO
13<-> SCK
TWI
I2C یا TOW WIRE INTERFACE یک رابط متشکل از تنها دو سیم، دادههای سریال و یک کلاک سریال است: SDA ، SCL.
میتوانید از دو پایهی آخر در هدر دیجیتال یا پین 4 و 5 در هدر آنالوگ به این پایهها برسید.
برای مشاهدهی شماتیک میکروکنترلر اینجا کلیک کنید.
با بازگشت به طراحی الکترونیکی، بخش میکروکنترلر دارای موارد زیر است:
ATmega328-PU
که ما درمورد آن صحبت کردیم.
هدرهای IOL و IOH (دیجیتال)
این هدرها علاوه بر GND، AREF، SDA و SCL، هدر دیجیتالی پینهای 0 تا 13 هستند. توجه داشته باشید که TX و RX از پل USB با پین 0 و 1 به هم متصل میشوند.
هدر AD
هدر پین آنالوگ است.
کریستال سرامیکی 16 مگاهرتز (CSTCE16M0V53-R0)
از میکروکنترلر با XTAL2 و XTAL1 متصل شدهاست.
پین RESET
این پین با مقاومت 10k برای جلوگیری از RESET در محیطهای نویزی کشیده میشود. این پین دارای یک Pull Up داخلی است اما مطابق یادداشت برنامه ملاحظات طراحی سختافزار AVR (AVRO42)، اگر محیط نویزی باشد، میتواند ناکافی باشد و ممکن RESET به صورت پراکنده رخ دهد. اگر کاربر دکمهی RESET را فشار دهد یا اگر از طریق پل USB تنظیم مجدد انجام شود، RESET انجام میشود.
خازنهای C4 و C6 nf100
این دو خازن برای فیلتر کردن تغذیه بهکار میروند.
پین13
این پین از میکروکنترلر به پین SCK متصل شده و به LED نیز متصل است. برد آردوینو UNO از یک بافر (LMV328) برای هدایت LED استفاده میکند.(نشانهگر LED)
هدر ICSP (In-Circuit Serial Programming)
این مورد برای برنامهریزی ATmega328 با استفاده از یک برنامهنویس خارجی استفاده میشود. به رابط برنامهنویسی درون سیستم (SPI) متصل است(که از پینهای SPI استفاده میکند). معمولا نیازی به استفاده از این روش برنامهنویسی نیست زیرا بوتلودر برنامهنویسی، میکروکنترل را از رابط UART که با استفاده از یک پل به USB متصل است، کنترل میکند. این هدر زمانی مورد استفاده قرار میگیرد که شما برای اولین بار در تولید نیاز به فلش میکروکنترلر دارید.
پل USB به UART
همانطور که قبلا گفتیم، نقش قسمت پل USB-TO-UART تبدیل سیگنالهای رابط USB به رابط UART است که ATmega328 آن را با استفاده از ATmega16U2 با یک گیرندهی داخلی USB، درک میکند. این کار با استفاده از میانافزار مخصوص بارگذاری شده در ATmega16U2 انجام میشود.
از نظر طراحی الکترونیکی، این بخش مشابه میکروکنترلر است. این MCU دارای یک هدر ICSP، یک کریستال خارجی با خازنهای بار (CL) و یک خازن فیلتر VCC است.
توجه داشته باشید که مقاومتهای سری در خطوط D+ و D- USB وجود دارد. اینها امپدانس خاتمهی مناسب را برای سیگنالهای USB فراهم میکند.
Z1 و Z2 مقاومتهای وابسته به ولتاژ (VDR) هستند که واریستور نیز نامیده میشوند. آنها برای محافظت از خطوط USB در برابر گذرا ESD استفاده میشوند.
خازن nf100 که به صورت سری با خط تنظیم مجدد متصل شده است، به ATmega16U2 اجازه میدهد تا پالس تنظیم مجدد را به ATmega328 ارسال کند.
برای مشاهدهی شماتیک پل USB در اینجا کلیک کنید.
منبع تغیه
برای منبع تغذیه، شما میتوانید از USB یا جک DC استفاده کنید. اکنون وقت آن است که به سوال زیر پاسخ دهیم:" اگر من هم آداپتور DC و هم USB را وصل کنم، کدام منبع تغذیه خواهد بود؟"
تنظیمکنندهی 5 ولت، NCP1117ST50T3G است و Vin این تنظیمکننده از طریق ورودی جک DC از طریق دیود M7، نسخهی SMD دیود معروف 1N4007 متصل میشود. این دیود از قطب معکوس محافظت میکند.
خروجی تنظیمکنندهی 5 ولت به بقیهی شبکهی 5 ولت در مدار و همچنین به ورودی تنظیمکنندهی 3/3 ولت، LP2985-33DBVR متصل است. میتوانید مستقیما از پایهی 5 ولت به ولتاژ 5 ولت دسترسی داشته باشید.
هنگامی که از USB به عنوان منبع تغذیه استفاده میکنید، برای محافظت از پورت USB خود، یک فیوز PTC (ضریب دمای ثابت یا همان MF-MSMF050-2) به صورت سری با VCC USB وجود دارد. این فیوز، محافظت در برابر جریان اضافی، 500 میلیآمپر را فراهم میکند. با رسیدن به حد بیش از حد جریان، مقاومت PCT بسیار افزایش مییابد. مقاومت پس از حذف جریان اضافی کاهش مییابد.
اکنون با طراحی الکترونیکی آردوینو UNO آشنا هستید و درک بهتری از سخت افزار آن دارید. امیدوارم این پست در آینده به پروژهها و طراحیهای شما کمک کند!