วันศุกร์ที่ 22 สิงหาคม พ.ศ. 2557

ศึกษาข้อมูลของบอร์ด Arduino Mega2560

อ้างอิง ref - http://arduino.cc/en/Main/arduinoBoardMega2560


Overview
    Arduino Mega 2560 เป็นบอร์ดไมโครคอนโทรลเลอร์ที่ทำงานบนพื้นฐานของ ATmega2560 ซึ่งประกอบด้วย
   
    - 54 digital input/output pins ( 15 pin สามารถใช้เป็น PWM output ได้ )
    -  16 analog inputs
    -
4 UARTs
    - 16 MHz crystal oscillator ( ใช้สำหรับกรองความถี่ให้กับบอร์ดไมโครคอนโทรลเลอร์ )
    - USB connection
    - ช่องเสียบแหล่งจ่าย
    - ICSP header :In-Circuit Serial Programming  (ส่วนที่เป็น AVR ขนาดเล็กสำหรับการโปรแกรม Arduino ซึ่งประกอบด้วย MOSI, MISO, SCK, RESET, VCC,GND  )
    - ปุ่มกด reset
    
    โดยบอร์ด Arduino  Leonardo นี้มีทุกสิ่งที่ไมโครคอนโทรลเลอร์จำเป็นต้องใช้อย่างการต่อไฟเลี้ยงสามารถทำได้ทั้งการเชื่อมต่อเข้ากับ USB cable หรือ จ่ายไฟด้วย AC-DC adapter หรือ การใช้แบตเตอรี่ ซึ่ง Mega เป็นบอร์ดที่เข้ากันได้กับ shield ที่ออกแบบมาเพื่อ Arduino Duemilanove หรือ Diecimila

    Mega 2560 นี้มีความแตกต่างจากบอร์ดก่อนหน้าตรงที่ไม่ใช้ FTDI USB-to-serial driver chip แต่จะมี ATmega16U2 เข้ามาเป็นโปรแกรมแปลง USB-to-serial

   Arduino Mega2560 Revision 2 มี ATmega8U2 ทำให้อัพเดท firmware ผ่าน USB protocal ที่เรียกว่า DFU( Device Firmware Update ) ได้ง่ายขึ้น

   Arduino Mega Revision 3 มี featureใหม่ๆเพิ่มขึ้นมาดังนี้
    - 1.0 pinout:  เพิ่ม SDA และ SCL (อยู่ใกล้กับ AREF pin) และอีกสอง pins ใหม่คือ IOREF เป็น pin ที่ใช้ในการเชื่อมต่อกับ shields เพื่อแปลงเป็นแรงดันที่ได้จากบอร์ด ส่วนอีก 1 pin ที่เหลือมีไว้สำหรับใช้ร่วมกับ AVR ในอนาคต
    - วงจร Reset ที่ดีขึ้น
    - ใช้ ATmega 16U2 แทน 8U2

อ้างอิง ref - http://forum.arduino.cc/index.php/topic,146511.0.html 


Power 
    Arduino Mega สามารถเชื่อมรับพลังงานโดยการเชื่อมต่อ micro USB connector หรือ จาก power supply จากภายนอกได้ โดยแหล่งพลังงานจะถูกเลือกโดยอัตโนมัติ

    แหล่งจ่ายจากภายนอกสามารถมาได้จาก AC-to-DC adapter หรือจากแบตเตอรี่ โดยต่อเข้ากับ 2.1mm center-positive plug ไปยังช่องเสียบแหล่งจ่าย และการต่อเข้ากับแบตเตอรี่สามารถทำได้โดยการต่อเข้ากับ GND และ Vin pin header ของ power conecter

    บอร์ดสามารถทำงานได้ในช่วงแรงดัน 6 ถึง 20 volts ถ้า แหล่งจ่ายมีค่าต่ำกว่า 7 V อาจส่งผลให้ 5 V pin มีแรงดันที่ต่ำกว่า 5V และ บอร์ดอาจจะไม่เสถียร แต่ถ้าหากแรงดันมีค่าสูงกว่า 12 V อาจส่งผลให้บอร์ด Overheat และอาจทำให้บอร์ดเสียหายได้  ดังนั้นช่วงแรงดันที่เหมาะสมกับบอร์ดคือ  7 V ถึง 12 V

    - VIN เป็น input voltage ของบอร์ด Arduino โดยใช้แหล่งจ่ายจากภายนอก 
    - 5V เป็น output pin ที่ควบคุม 5 V จากบอร์ด 
    - 3V3 เป็น 3.3 volt supply ที่สร้างขึ้นจาก regulator บนบอร์ด และให้กระแสได้สูงสุด 50 mA
    - GND เป็น groud pin
    - IOREF เป็น pin ที่ให้ voltage reference กับไมโครคอนโทรลเลอร์ เพื่อเลือกค่าแรงดันให้กับ shield ที่มาเชื่อมต่อกับบอร์ด

Memory
    ATmega2560 มีหน่วยความจำ 256 KB (8 KB ใช้สำหรับ bootloader ) นอกจากนี้ยังมีอีก 8 KB สำหรับ   SRAM และ 4 KB สำหรับ EEPROM

Input and Output
    ในแต่ละ digital pins ทั้ง 54 pins บนบอร์ด Arduino Uno สามารถเป็นได้ทั้ง input และ output โดยจะทำงานที่แรงดัน 5 V และให้กระแสสูงสุด 40 mA      
    ฟังก์ชันอื่นๆเพิ่มเติม 
    Serial: 0 (Rx) และ 1(Tx); Serial 1: 19(Rx) และ 18 (Tx); Serial 2: 17 (Rx) และ 16(Tx); Serial 3:15 (Rx) และ 14 (Tx)  ใช้สำหรับรับ (Rx) และส่ง(Tx) TTL serial data โดย pin 0 และ 1 จะถูกเชื่อมต่อไปยัง corresponding pins ของ ATmega16U2 USB-to-TTL serial  chip
       
    External Interrupts: 2 (interrupt 0) , 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), 21 (interrupt 2). pins เหล่านี้สามารถที่จะกำหนดค่าที่เรียก interrupt ในค่าต่ำๆ, ขอบขาขึ้นและลง หรือเปลี่ยนแปลงค่า

    PWM: 2 ถึง 13 และ 44 ถึง 46 ให้ output PWM output 8-bits 

    SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) ใช้สำหรับรองรับการสื่อสารแบบ SPI โดยที่ไม่เกี่ยวข้องกันกับ ICSP header ซึ่งจะมีลักษณะคล้ายกับ Uno, Duemilanove และ Diecimila

    LED 13 : เป็น build-in LED ที่เชื่อมต่อกับ digital pin 13 เมื่อ pin มีค่าเป็น HIGH LED จะติด , แต่เมื่อ pin เป็น LOW LED จะดับ

    TWI : 20 (SDA) and 21 (SCL). รองรับการเชื่อมต่อแบบ TWI(I2C)

    บอร์ด Mega2560  มี 16 analog inputs  แต่ละ pins ให้ความละเอียด 10 bits  
    
    AREF. แรงดันอ้างอิง สำหรับ analog input

    Reset ใช้ในการ reset ไมโครคอนโทรลเลอร์  โดยทั่วไปจะใช้โดยการเพิ่มปุ่ม reset ไว้บน sheild เพื่อป้องกันปุ่มที่อยู่บนบอร์ด

Communication
    Arduino Uno สามารถสื่อสารกับคอมพิวเตอร์ ,Arduino ตัวอื่นๆ หรือ microcontroller ได้ โดยที่ไมโครคอนโทรลเลอร์บนบอร์ด คือ ATmega32U4 จะให้การสื่อสารแบบอนุกรม UART TTL (5 V) ซึ่งมีอยู่ใน pins 0 (Rx) และ 1 (Tx) นอกจากนี้ 32U4 สามารถใช้การสื่อสารแบบอนุกรมผ่าน USB และจะปรากฏเป็น COM port เสมือนไปยัง Software แต่อย่างไรก็ตามต้องใช้ ไฟล์ .inf บนระบบปฏิบัติการ Windows  แต่ OSX และ Linux สามารถ recognize ได้โดยอัตโนมัติ


Programming 
    Arduino Uno สามารถรองรับการโปรแกรมด้วย Arduino Software โดยสามารถใช้ได้ทั้งในระบบปฏิบัตการ Windows , Mac OS X และ Linux

อ้างอิงจาก:

http://arduino.cc/en/Main/arduinoBoardMega2560


ไม่มีความคิดเห็น:

แสดงความคิดเห็น