آردوینو Mega 2560 R3 نمای مقابل | آردوینو Mega2560 R3 نمای پشت |
آردوینو Mega 2560 نمای مقابل | آردوینو Mega 2560 نمای پشت |
معرفیبرد آردوینو Mega2560 یک برد میکروکنترلر بر پایه ATmega2560 می باشد(datasheet). این برد مجموعاً 54 پین ورودی/خروجی دیجیتال(که 15 تای آن می تواند به عنوان خروجی PWM استفاده گردد)، 16 ورودی آنالوگ، 4 پورت UART (پورت های سریال سخت افزاری)، یک نوسان ساز کریستال 16 مگاهرتز، یک پورت USB، یک پاورجک، یکICSP Header و یک دکمه ریست دارد. برد Mega 2560 شامل کلیه امکانات مورد نیاز جهت بکارگیری میکروکنترلر موجود برروی برد می باشد. برای شروع، تنها با یک کـابل USB، به سادگی برد را به کامپیوتـرتان وصل کنید، و یا آن را با یـک آداپـتور AC-to-DC و یا باتری راه اندازی نمایید. برد Mega 2560 با اکثر شیلدهایی که برای آردوینو مدل Duemilanove یا Diecimila طراحی شده اند، همخوانی دارد. برد Mega2560 جایگزین Arduino Mega می باشد. برد Mega2560 با بردهای پیشین متفاوت است؛ زیرا در آن از تراشه FTDI USB-to-serialاستفاده
نشده است و به جای آن از یک ATmega16U2 ( یا
ATmega8U2 در بردهای نسخه R1 و R2) که به عنوان
مبدل USB-to-serialبرنامه ریزی شده، استفاده گردیده است.
طرح کلی (شماتیک)، طرح مرجع، و نقشه پینEAGLE files: arduino-mega2560_R3-reference-design.zip Schematic: arduino-mega2560_R3-schemtic.pdf Pinmapping: Pinmap2560 page خلاصه
Powerولتاژ مورد نیاز آردوینو مدل Mega می تواند از طریق یک اتصال USB و یا یک منبع تغذیه خارجی همچون باتری یا آداپتور AC-to-DC تأمین گردد. منبع تغذیه به صورت خودکار انتخاب می شود. آداپتور (که سوکت آن از نوع center-positive با قطر 2.1 میلی متری باشد) می تواند به پاورجک موجود برروی برد متصل گردد و سیمهای باتری می توانند مستقیماً وارد پین های GND و Vin شوند. برد می تواند با منبع تغذیه خارجی 6 تا 20 ولت کار کند. اگر ولتاژ منبع تغذیه پایین تر از 7 ولت باشد، روی ولتاژ پین ها نیز اثر خواهد گذاشت و ممکن است ولتاژ خروجی آنها کمتر از 5 ولت شود، و باعث نوسان گردد. ولتاژ بیش از 12 ولت نیز، می تواند موجب افزایش دمای رگولاتور و در نتیجه آسیب برد گردد. ولتاژ پیشنهادی مناسب بین 7 تا 12 ولت می باشد. پین های مربوط به Power (منبع تغذیه) به شرح زیر است:
حافظهATmega2560، جهت ذخیره کد، حاوی کیلوبایت256 حافظه فلش می باشد (که 8 کیلوبایت از آن، جهت BootLoader استفاده می گردد). 8 کیلوبایت مربوط به حافظه SRAM و4 کیلوبایت نیز مربوط به حافظه EEPROM می باشد (که با توابع کتابخانه ای EEPROM قابل خواندن یا نوشتن خواهد بود). پین های ورودی و خروجیهر یک از 54 پین دیجیتال موجود بر روی برد Arduino Mega2560 با استفاده از توابع pinMode()، digitalWrite() و digitalRead() ، می تواند به عنوان ورودی یا خروجی مورد استفاده قرار گیرد. ولتاژ پین ها 5 ولت بوده و ظرفیت جریان هر پین حداکثر 40 میلی آمپر خواهد بود. همچنین هر یک از این پین ها دارای یک مقاومت داخلی (50-20 کیلو اهم) جهت Pull-Up می باشد (که به صورت پیش فرض غیرفعال است). به علاوه، برخی از این پین ها دارای عملکردهای منحصر به فردی هستند که شرح آن در ذیل آمده است:
برد Mega2560 16 ورودی آنالوگ دارد که میزان تفکیک پذیری هر یک از آنها 10 بیت (یعنی 1024 مقدار مختلف) می باشد. این پین ها به طور پیش فرض می توانند ولتاژی بین ولتاژ پایه (Ground) تا حداکثر 5 ولت را اندازه گیری نمایند. اگر چه با استفاده از پین AREF و تابع analogRefrence() می توان حد بالای این تفکیک پذیری را تغییر داد . سایر پین ها:
ارتباطاتبرد Arduino Mega2560 شامل امکاناتی می باشد که ارتباط با کامپیوتر، سایر بردهای آردوینو، و یا دیگر میکروکنترلرها را مقدور می سازد. این برد، چهار سخت افزار UART را برای ارتباط سریال (5ولت) TTL فراهم می کند.ATmega16U2 ( یا ATmega8U2 در بردهای نسخه 1 و 2) موجود بر روی برد، یکی از این ارتباطات سریال را تبدیل به یک ارتباط USB نموده و در نهایت یک پورت سریال مجازی(COM) روی کامپیوتر شما ایجاد می کند. سیستمهای ویندوزی به یک فایل با پسوند .inf احتیاج خواهند داشت، اما سیستم های Linux و OSX، به طور خودکار، برد را به عنوان یک پورت COM شناسایی می کنند. نرم افزار آردوینو شامل یک بخش کنترل پورت سریال است که به شما اجازه می دهد داده های متنی را به آردوینو ارسال، یا از آن دریافت نمایید. چراغهای RX و TX موجود بر روی برد در زمان ارسال و دریافت اطلاعات از طریق تراشه ATmega8U2/ATmega16U2 و یا اتصال USB به کامپیوتر (به غیر از ارتباط سریالی پین های 0 و 1) در حالت چشمک زن قرار می گیرد. یک تابع کتابخانه ای SoftwareSerial (برای ایجاد پورت سریال نرم افزاری) امکان ارتباط سریال را برروی هریک از پین های دیجیتال فراهم می کند. ATmega2560 ارتباط SPI و TWI را نیز مقدور می سازد. نرم افزار آردوینو شامل یک کتابخانه Wire می باشد تا کار با درگاه TWI را آسان کند. جهت کسب اطلاعات بیشتر، به مستندات مراجعه کنید. برای ارتباط SPI از کتابخانه SPI استفاده نمایید. برنامه نویسیبرد آردوینو Mega با نرم افزار آردوینو قابل برنامه نویسی است (دانلود). برای کسب اطلاعات بیشتر، راهنمای مراجع و منابع آموزشی را مشاهده کنید. ATmega2560 ATMega2560 موجود بر روی برد Arduino Mega دارای یک bootloader از پیش آماده می باشد که به شما این امکان را می دهد تا بدون نیاز به پروگرامر جانبی، کدهای جدید خود را آپلود و اجرا نمایید. این ارتباط بر اساس پروتکل STK500 بر قرار می شود (راهنمای مرجع، C header files ). همچنین شما می توانید BootLoader را نادیده گرفته و مستقیماً از طریق ICSP header (مخفف In-Circuit Serial Programming) برد را برنامه ریزی نمایید. برای مشاهده ی دستورالعمل ها اینجا کلیک کنید. سورس کد firmware مربوط به پردازشگر ATmega16U2 (یا 8U2 در بردهای نسخه ی Rev1 و Rev2) موجود می باشد. همچنین ATmega16U2/8U2 با یک DFU bootloader بارگزاری شده است، که می تواند به شیوه های زیر فعال شود:
ریست خودکار (نرم افزاری)برد آردوینو Mega2560 به صورتی طراحی شده است که در صورت اتصال به کامپیوتر، قبل از آپلود کد جدید، امکان ریست بوسیله ی نرم افزار آردوینو را به جای فشار دکمه ریست داشته باشید. یکی از خطوط سخت افزاری کنترل جریان (DTR) در میکروکنترلر ATmega8U2 از طریق یک خازن 100 نانوفارادی، به پایه ریست ATmega2560 متصل شده است. زمانی که این خط آزاد می شود (در حالت LOW قرار می گیرد) پایه ریست در وضعیتی قرار می گیرد که باعث ریست پردازنده می شود. با استفاده از این خازن نرم افزار آردوینو به شما اجازه می دهد که به راحتی و با فشردن دکمه Uploadدر محیط نرم افزاری آردوینو، کد خود را آپلود نمایید. بدین معنی که در وضعیت Low قرار گرفتن DTR همزمان با شروع آپلود، هماهنگی خوبی برای داشتن Time out کوتاهتر توسط BootLoader ایجاد می نماید. این راه اندازی ملزومات دیگری نیز دارد، زمانی که برد Mega2560 به کامپیوتری که سیستم عامل آن Mac OS X یا لینوکس است، متصل باشد در هر بار ارتباط نرم افزار با برد (از طریق کابل USB) عمل ریست اتفاق می افتد. بعد از گذشت نیم ثانیه یا بیشتر BootLoader برد Mega2560 در حال اجرا می باشد. از آنجا که Mega2560 طوری برنامه نویسی شده است که داده های ناقص (به عنوان مثال داده ای در حاشیه آپلود کد جدید) را نادیده بگیرد، چند بایت اول هر داده ای را که بعد از ایجاد ارتباط به برد ارسال می گردد، جدا می نماید. چناچه برنامه ای بر روی برد در حال اجرا باشد، در زمان شروع برنامه می تواند تنظیمات اولیه و یا سایر داده ها را دریافت کند. توجه داشته باشید نرم افزاری که قرار است با برد آردوینو ارتباط برقرار کند، می بایست حداقل بعد از یک ثانیه تأخیر پس از برقراری ارتباط، نسبت به ارسال اطلاعات اقدام نماید. برد Mega2560 شامل یک مسیر می باشد که با قطع آن می توانید ریست خودکار را غیر فعال نمایید. این دو نقطه در طرفین این مسیر می توانند دوباره با لحیم کاری به یکدیگر متصل شوند، تا مجدداً ریست خودکار فعال گردد. این قسمت با برچسب « RESET-EN» مشخص شده است. همچنین شما می توانید با اتصال یک مقاومت 110 اهم از پین 5 ولت به پین ریست، سیستم ریست خودکار را غیرفعال نمایید. برای کسب اطلاعات بیشتر به این موضوع در انجمن مراجعه نمایید. محافظت پورت USB از جریان بیش از حدبرد آردوینو Mega2560 دارای یک پلی فیوز قابل ریست جهت محافظت از پورت USB کامپیوتر شما در مقابل افزایش یا کاهش جریان می باشد. علاوه بر این بیشتر کامپیوترها سیستم محافظت داخلی خودشان را دارند و این فیوز صرفاً یک لایه حفاظتی مجزا را فراهم می نماید. چناچه بیش از 500 میلی آمپر جریان از پورت USB گرفته شود، فیوز به صورت خودکار تا زمان متعادل شدن جریان ارتباط را قطع می نماید. مشخصه های فیزیکی و سازگاری شیلدهاحداکثر طول و عرض PCB برد Mega2560، به ترتیب 10/16 و 5/33 سانتی متر است که البته این ابعاد با احتساب پورت USB و پاور جک، افزایش می یابد. سه سوراخ موجود بر روی برد به شما اجازه می دهد که برد را برروی یک سطح یا جعبه پیچ نمایید. توجه کنید که فاصله بین پین های دیجیتال 7 و 8 برابر 160 میلی متر (0/16 اینچ) و فاصله بین سایر پین ها 100میلی متر می باشد. برد Mega2560 به گونه ای طراحی شده است که با اکثر شیلدهای طراحی شده برای برد های Uno، Diecimila یا Duemilanove سازگار باشد. پین های دیجیتال شماره 0 تا 13 ( و پین های GND و AREF مجاور)، پین های ورودی آنالوگ شماره 0 تا 5، هدر منبع تغذیه، وICSP Header ، همگی در موقعیت مساوی قرار دارند. به علاوه، UART (پورت سریال) اصلی، روی همان پین هایی (0 و 1) قرار گرفته است که به عنوان وقفه خارجی 0 و 1 (به ترتیب پین های 2 و 3) استفاده می شوند. SPI به واسطه ی ICSP Header در هر دو برد Mega2560 و Duemilanove/Dieimila موجود است. لطفا به خاطر داشته باشید که پین I2C که روی Mega (شماره 20 و 21) می باشد، منطبق با پین های بردهایDuemilanove/Diecimilia (ورودی های آنالوگ 4 و 5) نیست. |