Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore CH1 ไมโครเบื้องต้น

CH1 ไมโครเบื้องต้น

Published by boonlite, 2021-09-14 03:56:54

Description: CH1 ไมโครเบื้องต้น

Search

Read the Text Version

บทที่ 1 ไมโครคอนโทรลเลอรเบื้องตน 1.1 ความรเู กยี่ วกับไมโครคอนโทรลเลอรเ บื้องตน ไมโครคอนโทรลเลอร (องั กฤษ: Microcontroller มีชอ่ื ยอ LC, UC หรอื MCU) คอื อุปกรณ ควบคุมขนาดเล็ก ซึ่งบรรจุความสามารถที่คลายคลึงกับระบบคอมพิวเตอร โดยใน ไมโครคอนโทรลเลอรไดรวมเอาซีพียู หนวยความจำ และพอรต ซึ่งเปนสวนประกอบหลักสำคัญของ ระบบคอมพวิ เตอรเขาไวดว ยกนั โดยทำการบรรจเุ ขา ไวในตัวถังเดยี วกนั ไมโครคอนโทรลเลอรถาแปล ความหมายแบบตรงตัวก็คือ ระบบคอนโทรลขนาดเล็กเรียกอีกอยางหนึ่ง คือเปนระบบคอมพิวเตอร ขนาดเล็กที่สามารถนำมาประยุกตใชง านไดหลากหลาย โดยผานการออกแบบ วงจรใหเหมาะกับงาน ตางๆ และยังสามารถโปรแกรมคำสั่งเพื่อควบคุมขา Input / Output เพื่อสั่งงานใหไป ควบคุม อุปกรณตา งๆ ไดอ กี ดวย ซ่ึงก็นบั วาเปนระบบท่สี ามารถนำมาประยุคใชง านไดหลากหลาย ทั้งทางดาน Digital และ Analog ยกตัวอยางเชน ระบบสัญญาณตอบรับอัตโนมัติ ระบบัตร ระบบตอกบัตร พนักงาน และอื่นๆ ซึ่งระบบไมโครคอนโทรลเลอร ในยุคปจจบุ ันนั้นสามารถทำการเชื่อมตอกับระบบ Network ของคอมพวิ เตอรท วั่ ไปไดอ ีกดวย รปู ที่ 1.1 โครงสรา งโดยท่ัวไปของไมโครคอนโทรลเลอร (ที่มา http://know2learning.blogspot.com/2014/05/microcontroller-c-uc-mcu-5- cpu-central.html)

ไมโครคอนโทรลเลอรต ระกูลตางๆ ที่ไดร ับความนิยมและมีพัฒนาการมาจนถึงปจจบุ ันมีดังนี้ 1.1.1 Z-80 ไมโครคอนโทรลเลอรที่นิยมใชกัน เริ่มตั้งแตตัวแรกที่เปนลักษณะของ CPU ไมถึงข้นั เรยี กวา ไมโครคอนโทรลเลอร กค็ อื ตระกูล Z80 เปน ลักษณะของ CPU เล็กๆ ท่ี ตองอาศัย I/O ตางๆ เพิ่มเติมเขามามาก จึงทำใหบอรดมีขนาดคอนขางใหญ จัดไดวาเปนการ เริ่มตน การเรยี นรูท ี่ดีของยุคสมยั นนั้ ทำใหไดเรยี นรู ชดุ คำส่ังท่เี ปน Op Code รูปท่ี 1.2 ไมโครคอนโทรลเลอร Z-80 (ท่มี า https://www.ebay.co.uk/p/1306236822?iid=261389111706) 1.1.2 MCS-51 บริษัทที่สรางไมโครคอนโทรลเลอรตระกูล MCS-51 เปนบริษัทแรกคือ บริษัท Intel ตระกูล MCS-51 เปนตระกูลที่พัฒนาตอจาก Z80 ทeใหการศึกษาเรียนรู ไมโครคอนโทรลเลอรงายขึ้นกวาเดิม ไมวาจะเปนการเขียนโปรแกรมในลักษณะของ Assembly Code แลว โหลดลงบอรดเพ่ือใชง าน ตลอดจนสถาปตยกรรมในการออกแบบ ไมโครคอนโทรลเลอร รนุ น้ี จะชวยลดอุปกรณรอบขางลงไปไดม าก เหมาะทจี่ ะนำไปใชง านจริง

รูปท่ี 1.3 ไมโครคอนโทรลเลอร MCS-51 (ที่มา https://www.prayogindia.in/product/at89c51-8-bit-microcontroller-2/) 1.1.3 PIC บริษัท Microchip Technology เปนผูสรางและผลิต PIC เปน ไมโครคอนโทรลเลอรยุคตอมาที่ไดรับความนิยมสูงอีกตระกูลหนึ่ง ตั้งแตอดีตจนถึงปจจุบัน คำวา PIC ยอมาจากคำวา (Peripheral Interface Controller) ไมโครคอนโทรลเลอรตระกูลนี้ มีการ พัฒนาเทคโนโลยีขึ้นในทุกดาน ทำใหไดรับความนิยมกวา ไมโครคอนโทรลเลอรยุคเกา เพราะใน เรื่องของอุปกรณตอพวงที่มีนอย ประกอบกับมีหนวยความจำEEPROM ในตัว จึงทำใหงายตอการ บันทึกและจัดเก็บขอมูล และ PORT ตางๆ ไดมีการ latch ในตัว IC อยูแลว จึงสามารถตอ ออกมาใชงานภายนอกไดโดยตรง มีกระแสและแรงดันที่เพียงพอ และอีกความสามารถหนึ่ง คือ สามารถโปรแกรมตัว Boot Loader เขาไปในตวั ไมโครคอนโทรลเลอรได จึงทำใหง า ยในการโหลด โปรแกรมเขาไปจากคอมพิวเตอร โดยผานทาง Serial Port และกดปุม Reset เพียงอยางเดียว ไมตองการ เครื่องโปรแกรม IC เพิ่มเติม อยางที่ตองมีกับระบบไมโครคอนโทรลเลอรรุนเกาอยาง MCS-51 รูปที่ 1.4 ไมโครคอนโทรลเลอร PIC (ที่มา https://www.microchip.com/wwwproducts/en/PIC16F877)

1.1.4 AVR AVR เปนไมโครคอนโทรลเลอรรุนตอมาที่มีการพัฒนาตอมาจาก MCS-51 โดยบรษิ ัท ATMEL อนั เน่อื งมาจากวา MCS-51 ยคุ หลงั น้ไี มคอยมีคนใชง านจริง และมีใชงานแต เฉพาะในสถาบันการศึกษา เปนเชนนี้ก็เพราะวาการออกออกแบบวงจรที่คอนขางยุงยาก และตอง อาศัยการตออุปกรณรวมเยอะนั้นเอง ดังนั้น AVR จึงเขามาเปนที่นิยมในการทำงานดานนี้ โดย คณุ สมบัติหลักทน่ี าสนใจก็คือ สามารถ Interface ผา น USB ไดโดยตรง ซึ่งไมโครคอนโทรลเลอร ยุคเกาทำไดโดยตอผานพอรต RS-232 แตเนื่องดวย คอมพิวเตอรยุคใหม พอรต RS-232 เริ่มหา ยาก ดงั นัน้ AVR จงึ ไดรบั ความนิยม รปู ที่ 1.5 ไมโครคอนโทรลเลอร AVR (ทม่ี า https://rees52.com/ic/507-microcontroller-ic-atmel-atmega32-40-pin- ic101) 1.1.5 Arduino เปนไมโครคอนโทรลเลอรบอรดแบบสำเร็จรูปในยุคปจจุบัน ซึ่งถูกสราง มาจาก Controller ตระกูล ARM ของ ATMEL ขอดีของไมโครคอนโทรลเลอรบอรดคือเรื่องของ Open Source ท่ีสามารถนำไปพัฒนาตอเปนอุปกรณต างๆได และความสามารถในการเพิ่ม Boot Loader เขาไปที่ตัว ARM จึงทำใหการ Upload Code เขาตัวบอรดสามารถทำไดงายขึ้น และ ยังมีการพัฒนา Software ที่ใชในการควบคุมตัวบอรด ของ Arduino มีลักษณะเปนภาษา C++

ที่โปรแกรมเมอรมีความคุน เคยในการใชงาน ตัวบอรดสามารถนำโมดูลมาตอเพิ่ม ซึ่งทาง Arduino เรยี กวาเปน shield เพอื่ เพมิ่ ความสามารถเพ่ิมข้ึน รูปท่ี 1.6 ไมโครคอนโทรลเลอร Arduino (ท่ีมา https://www.phippselectronics.com/product/arduino-uno-r3- atmega16u2-development-board-with-usb-cable-compatible/) รูปท่ี 1.7 ตวั อยา งการตอใชงาน Arduino บนบอรด Shield สำเรจ็ รปู (ที่มา https://botland.store/arduino-shield-communication/3926-arduino- ethernet-shield-2-with-microsd-reader--7630049200364.html)

1.1.6 Raspberry Pi Raspberry Pi เปนไมโครคอนโทรลเลอร Board ยุคนี้เหมือนกัน ใช Controller ตระกูล ARM เชนกัน ที่นาสนใจสำหรับบอรด Raspberry Pi ก็คือการจำลองตัวมันเองใหเปน ระบบคอมพิวเตอรเครื่องเล็กๆเครื่องหนึ่งที่สามารถรันระบบ Linux ไดในตัว นั้นก็หมายถึงการดึง ระบบตางๆเพอ่ื มาใชงานใน board ทำใหม คี วามสะดวกมากเพราะมี OS Linux ทำงานใหแทนอยู แลว อยางเชนการติดตอกับระบบ Network การติดตอกับระบบจอภาพ การติดตอระบบเสียง ตลอดจนการติดตอกับระบบการเก็บขอมูลผาน SD Card ซึ่งสามารถทำไดครบและครอบคลุมดวย ระบบปฏิบัตกิ าร Linux ที่รนั อยูบ นตัวบอรด Raspberry Pi รูปที่ 1.8 ไมโครคอนโทรลเลอร Raspberry Pi (ทมี่ า https://www.cnx-software.com/2019/06/24/raspberry-pi-4-features- broadcom-bcm2711-processor-up-to-4gb-ram/) 1.2 หนาที่สวนตางๆ ของไมโครคอนโทรลเลอร โครงสรางโดยทั่วไปของ ไมโครคอนโทรลเลอรส ามารถแบงออกมาไดเ ปน 5 สว นใหญๆ ดังตอไปนี้ 1.2.1 หนว ยประมวลผลกลางหรือซีพยี ู (CPU : Central Processing Unit) 1.2.2 หนวยความจำ (Memory) สามารถแบงออกเปน 2 สวน คือ หนวยความจำที่มีไว สำหรับเก็บโปรแกรมหลัก (Program Memory) เปรียบเสมือนฮารดดิสกของเครื่องคอมพิวเตอรตั้ง

โตะ คอื ขอ มูลใดๆ ทถ่ี ูกเก็บไวใ นนจี้ ะไมส ญู หายไปแมไมมีไฟเลี้ยง อีกสว นหนึง่ คอื หนว ยความจำขอมูล (Data Memory) ใชเปนเหมือนกับกระดาษทดในการคำนวณของซีพียู และเปนที่พักขอมูลชั่วคราว ขณะทำงาน แตหากไมมีไฟเลี้ยง ขอมูลก็จะหายไปคลายกับหนวยความจำแรม (RAM) ในเครื่อง คอมพิวเตอรทั่วๆ ไป แตสำหรับไมโครคอนโทรลเลอรสมัยใหม หนวยความจำขอมูลจะมีทั้งที่เปน หนวยความจำแรม ซึ่งขอมูลจะหายไปเมื่อไมมีไฟเลี้ยง และเปนอีอีพรอม (EEPROM : Electrically Erasable Programmable Read-Only Memory) ซ่งึ สามารถเกบ็ ขอมลู ไดแ มไ มมีไฟเลีย้ งกต็ าม 1.2.3 สวนติดตอกับอุปกรณภายนอก หรือพอรต (Port) มี 2 ลักษณะคือ พอรตอินพุต (Input Port) และพอรตสงสัญญาณหรือพอรตเอาตพุต (Output Port) สวนนี้จะใชในการเชื่อมตอ กับอุปกรณภายนอก ถือวาเปนสวนที่สำคัญมาก ใชรวมกันระหวางพอรตอินพุต เพื่อรับสัญญาณ อาจจะดว ยการกดสวติ ช เพ่ือนำไปประมวลผลและสง ไปพอรตเอาตพ ุต เพ่ือแสดงผลเชน การติดสวาง ของหลอดไฟ เปน ตน 1.2.4 ชองทางเดินของสัญญาณ หรือบัส (BUS) คือเสนทางการแลกเปลี่ยนสัญญาณขอมูล ระหวาง ซีพียู หนวยความจำและพอรต เปนลักษณะของสายสัญญาณ จำนวนมากอยูภายในตัว ไมโครคอนโทรลเลอร โดยแบงเปนบัสขอมูล (Data Bus) , บัสแอดเดรส (Address Bus) และบัส ควบคุม (Control Bus) 1.2.5 วงจรกำเนิดสัญญาณนาิกา เปนองคประกอบที่สำคัญมากอีกสวนหนึ่ง เนื่องจากการ ทำงานที่เกิดขึ้นในตัวไมโครคอนโทรลเลอร จะขึ้นอยูกับการกำหนดจังหวะ หากสัญญาณนาิกามี ความถส่ี งู จังหวะการทำงานก็จะสามารถทำไดถ ี่ข้ึนสงผลใหไมโครคอนโทรลเลอรตัวน้ัน มคี วามเร็วใน การประมวลผลสูงตามไปดวย รปู ที่ 1.9 หนาทส่ี ว นตางๆของไมโครคอนโทรลเลอร (ทมี่ า http://jumpstartinnovation.blogspot.com/2013/07/blog-post.html)

1.3 ไมโครคอนโทรลเลอร AVR AVR เปนไมโครคอนโทรลเลอรตระกูลหนึ่งผลิตโดย บริษัท Atmel AVR อยใู นรูปแบบสมองกลฝง ตัว (Embedded System) มีลกั ษณะสถาปตยกรรม เปนแบบ RISC (Reduced Instruction Set Computing) มีความเร็วในการประมวลผล 1 คำสัง่ ตอ 1 สญั ญาณนาิกาใชพ ลังงานไฟฟาตำ่ โดยบางรุน ใชไฟเพียง 1.5 V - 5.5 V เทา น้ัน และยงั มโี หมดประหยดั พลังงานอีก 6 โหมด รปู ที่ 1.10 สถาปต ยกรรมภายในไมโครคอนโทรลเลอร AVR (ที่มา https://carlosdelfino.eti.br/helloworldarduino/Patente_Arquitetura_AVR/) ในท่นี ี้จะนำเสนอ AVR เบอร ATmega48 เปน ตวั อยางในการศกึ ษาคุณสมบัตดิ า นตางๆ รปู ท่ี 1.11 ไมโครคอนโทรลเลอร Atmega48 (ทีม่ า https://jp.rs-online.com/web/p/microcontrollers/6292261/)

มหี นวยความจำสำหรับเกบ็ โปรแกรมแบบแฟลช (ROM) ขนาด 4 กิโลไบต สามารถเขียน- ลบได ประมาณ 10,000 คร้ัง มหี นวยความจำขอมูล (RAM) ขนาด 512 ไบต มีหนว ยความจำขอมูลอีอีพรอม (EEPROM) ขนาด 256 ไบต สามรถเขยี น-ลบไดป ระมาณ 100,000 ครง้ั มพี อรต อินพตุ เอาตพตุ ใหใ ชง านจำนวน 23 ขา (PB0 ถงึ PB7, PC0 ถึง PC6, PD0 ถึง PD7) มคี วามเรว็ ในการประมวณผลสูงสุด 20 ลา นคำสง่ั ตอ 1 วินาทีทีค่ วามถ่ี 20 MHz มโี มดูลแปลงสัญญาณแอนะล็อกเปนดจิ ติ อล (Analog-to-Digital Converter) ขนาด 10 บติ จำนวน 6 ชอ ง สำหรบั ตวั ถังแบบ PDIP และ 8 ชองสำหรบั ตวั ถงั แบบ TQFP และ MLF มีโมดูลสรา งสัญญาณ Pulse Width Modulator (PWM) 3 ชุด 6 ชองสญั ญาณ มี Timer/Counters ขนาด 8 บติ 2 ตัว และ 16 บิต 1 ตวั ภาษาทใ่ี ชเ ขยี นโปรแกรมไมโครคอนโทรลเลอรม ีหลายภาษา เชน ภาษาเคร่ือง, Assembly, BASIC, C เปนตน แตล ะภาษาก็มีขอดขี อเสียแตกตางกนั ไป ภาษาทเี่ ปน ท่ีนิยมคือภาษาซี เน่ืองจาก เขียนงายแกไข เปล่ยี นแปลงไดง าย โปรแกรมเขยี นภาษาซสี ำหรับไมโครคอนโทรลเลอร AVR เบอร ATmega48 นั้นนิยมใชโปรแกรม MikroC for AVR เนื่องจากเปนโปรแกรมที่ใชงานงายและมี ไลบรารีใหม าพรอมดว ย 1.4 บอรดไมโครคอนโทรลเลอร Arduino Arduino เปนภาษาอิตาลี โดยเปนชื่อโครงการพัฒนาไมโครคอนโทรลเลอรตระกูล AVR ใน รูปแบบ Open Source คอื วิธกี ารในการออกแบบพัฒนา และแจกจายสำหรบั ตน ฉบับของสินคาหรือ ความรู โดยเฉพาะซอฟตแวร โดยโอเพนซอรซถูกพิจารณาวา เปนท้ังรูปแบบหนึ่งในการออกแบบ และ แผนการในการดำเนินการ โอเพนซอรซเปดโอกาสใหบคุ คลอื่นนำเอาระบบนั้นไปพัฒนาไดต อไป การ พัฒนามาจากโครงการ Open Source เดิมของ AVR ที่ชื่อ Wiring โดยโครงการ Wiring ใช ไมโครคอนโทรลเลอร AVR เบอร ATmega128 ซึ่งมีขอจำกัดหลายดาน เชนเปนชิปที่มีตัวถังแบบ

SMD ทำใหนำมาใชงานยากเพราะตัวไมโครคอนโทรลเลอรมีขนาดเล็กเกินไป ทำใหไมสะดวกในการ ตอใชงานจริง มีขาอินพุทและเอาทพุทจำนวนมากเกินไป ตัวบอรดมีขนาดใหญเกินไป ไมเหมาะสม สำหรับผูทีเ่ ริ่มตนเรยี นรดู านไมโครคอนโทรลเลอร ดวยเหตุผลขา งตน จงึ ทำใหไมไดรบั ความนยิ ม ระยะ ตอมาทีมงาน Arduino จึงไดนำโครงการ Wiring มาพัฒนาใหมโดยใชไมโครคอนโทรลเลอร AVR ขนาดเล็ก คือ ATMega8 และ ATMega168 ทำใหไดรับความนิยมจนถึงปจจุบันนี้ ตัวอยาง รายละเอยี ดรนุ ตางๆมีดงั นี้ 1.4.1 Arduino Uno R3 คำวา Uno เปนภาษาอิตาลี ซึ่งแปลวาหนึ่ง เปนบอรด Arduino รุนแรกที่ผลิตออกมา มีขนาดประมาณ 68.6x53.4 mm. เปนบอรดมาตรฐานที่นิยมใชงาน มากที่สุด เนื่องจากเปนขนาดที่เหมาะสำหรับการเริ่มตนเรียนรู Arduino และมี Shields ใหเลือกใช งานไดมากกวาบอรด Arduino รุนอื่นๆ ที่ออกแบบมาเฉพาะมากกวา โดยบอรด Arduino Uno ไดมี การพัฒนาเรื่อยมา ตั้งแต R2 R3 และรุนยอยที่เปลี่ยนชิปไอซีเปนแบบ SMD เปนบอรด Arduino ท่ี ไดรับความนิยมมากที่สุด เน่อื งจากราคาไมแพง และสวนใหญโ ปรเจคและ Library ตา งๆ ที่พัฒนาข้ึน มา Support จะอา งองิ กับบอรดน้ีเปนหลัก และขอดอี กี อยางคือกรณีที่ MCU เสียผูใชงานสามารถซื้อ มาเปลี่ยนเองไดง ายสำหรับบอรด Arduino Uno R3 ท่ีมี MCU เปน Package DIP ชิปไอซีไมโครคอนโทรเลอร ATmega328 ใชแรงดนั ไฟฟา 5 V รองรบั การจายแรงดันไฟฟา (ทแ่ี นะนำ) 7 – 12 V รองรับการจา ยแรงดันไฟฟา (ทจ่ี ำกดั ) 6 – 20 V พอรต Digital I/O 14 พอรต (มี 6 พอรต PWM output) พอรต Analog Input 6 พอรต กระแสไฟทจ่ี า ยไดในแตล ะพอรต 40 mA กระแสไฟทจี่ า ยไดในพอรต 3.3V 50 mA พน้ื ท่ีโปรแกรมภายใน 32 KB พนื้ ทโ่ี ปรแกรม , 500B ใชโดย Boot Loader พ้ืนทีแ่ รม 2 KB พน้ื ท่หี นว ยความจำถาวร (EEPROM) 1 KB ความถี่ครสิ ตัล 16 MHz ขนาด 68.6 x 53.4 mm

นำ้ หนัก 25 กรัม รปู ที่ 1.12 ไมโครคอนโทรลเลอร Arduino Uno R3 (ทีม่ า http://www.mindphp.com/forums/viewtopic.php?t=61980) จากรปู ที่ 1.12 หมายเลขตางๆ มคี วามหมายดงั น้ี 1. USB Port: ใชสาหรับตอกับ Computer เพื่ออับโหลดโปรแกรมเขา MCU และจายไฟ ใหกบั บอรด 2. Reset Button: เปน ปุม Reset ใชกดเมือ่ ตองการให MCU เร่ิมการทางานใหม 3. ICSP Port ของ ATmega16U2: เปนพอรตที่ใช โปรแกรม VisualComport บน ATmega16U2 4. I/O Port: Digital I/O ตั้งแตขา D0 ถึง D13 นอกจากนี้ บาง Pin จะทาหนาที่อื่นๆ เพิ่มเตมิ ดวย เชน Pin0,1 เปน ขา Tx,Rx / Serial, Pin3,5,6,9,10 และ 11 เปนขา PWM 5. ICSP Port: ATmega328 เปน พอรต ท่ีใชโปรแกรม Bootloader

6. MCU: ATmega328 เปน MCU ที่ใชบ นบอรด Arduino 7. I/O Port: นอกจากจะเปน Digital I/O แลว ยังเปลี่ยนเปนชองรับสัญญาณแอนะล็อก ตง้ั แตขา A0-A5 8. Power Port: ไฟเลี้ยงของบอรดเมื่อตองการจายไฟใหกับวงจรภายนอก ประกอบดวยขา ไฟเลย้ี ง3.3 V, +5V, GND, Vin 9. Power Jack: รับไฟจาก Adapter โดยทแ่ี รงดันอยูระหวา ง 7-12 V 10. MCU ของ ATmega16U2 เปน MCU ทที่ าหนาที่เปน USB to Serial โดย ATmega328 จะติดตอกบั Computer ผาน ATmega16U2 1.4.2 Arduino Uno SMD Arduino Uno SMD เปนบอรดที่มีคุณสมบัติและการทางานเหมือนกับบอรด Arduino Uno R3 ทกุ ประการ แตจ ะแตกตางกนั ท่ี Package ของ MCU ซง่ึ บอรดนี้จะมี MCU ท่ีเปน Package SMD รปู ท่ี 1.13 ไมโครคอนโทรลเลอร Arduino Uno SMD (ทีม่ า https://robotechshop.com/shop/arduino/arduino-board/arduino- uno-rev3-smd-original/?v=f78a77f631d2)

1.4.3 Arduino Mega 2560 R3 บอรด Arduino Mega 2560 จะเหมือนกับ Arduino Mega ADK ตางกันตรงที่บน บอรดไมมี USB Host มาให การโปรแกรมยังตองทำผานโปรโตคอล UART อยูบนบอรดใชชิปไอซี ไมโครคอนโทรเลอรเบอร ATmega2560 เปนบอรด Arduino ทอ่ี อกแบบมาสาหรบั งานที่ตองใช I/O มากกวา Arduino Uno R3 เชน งานที่ตองการรับสัญญาณจาก Sensor หรือควบคุมมอเตอร Servo หลายๆตัว ทำให Pin I/O ของบอรด Arduino Uno R3 ไมสามารถรองรบั ได ท้ังน้บี อรด Mega 2560 R3 ยังมีความหนวยความจำแบบ Flash มากกวา Arduino Uno R3 ทำใหสามารถเขียนโคด โปรแกรมเขา ไปไดมากกวา ในความเร็วของ MCU ท่ีเทากัน รปู ท่ี 1.14 ไมโครคอนโทรลเลอร Arduino Mega 2560 R3 (ทม่ี า https://sparkfruit.ph/product/arduino-mega-2560-r3-premuim/) ขอมลู จาเพาะ ชิปไอซไี มโครคอนโทรเลอร ATmega2560 ใชแ รงดนั ไฟฟา 5 V รองรบั การจา ยแรงดนั ไฟฟา (ทแ่ี นะนำ) 7 – 12 V รองรับการจา ยแรงดันไฟฟา (ทจี่ ำกดั ) 6 – 20 V พอรต Digital I/O 54 พอรต (มี 15 พอรต PWM output)

พอรต Analog Input 16 พอรต กระแสไฟฟา รวมที่จา ยไดในทกุ พอรต 40 mA กระแสไปทจี่ ายไดในพอรต 3.3V 50 mA พ้นื ทีโ่ ปรแกรมภายใน 256 KB แต 8 KB ถกู ใชโ ดย Boot Loader พืน้ ทแี่ รม 8 KB พน้ื ทห่ี นวยความจาถาวร (EEPROM) 4 KB ความถคี่ ริสตลั 16 MHz 1.4.5 Arduino Leonardo บอรด Arduino Leonard เปน บอรดที่เลือกใชชิปไอซีเบอร Atmega32u4 ท่ีรองรบั การเชื่อมตอกับพอรต USB ไดโดยตรง ทำใหบอรดสามารถเขียนโปรแกรมเพื่อจาลองตัวเองใหเปน เมาส หรือคียบอรดได ทำงานที่แรงดัน 5V ทำใหไมมีปญหากับเซ็นเซอร หรือ Shields ที่ใชงานกับ Arduino Uno การทำงานจะคลายกับบอรด Arduino Uno R3 แตมีการเปลี่ยน MCU ตัวใหมเปน ATmega32U4 ซึ่งมีโมดูลพอรต USB มาดวยบนชิป (แตกตางจากบอรด Arduino Uno R3 หรือ Arduino Mega 2560 ที่ตองใชชิป ATmega16U2 รวมกับ ATmega328 ในการเชื่อมตอกับพอรต USB) รูปที่ 1.15 ไมโครคอนโทรลเลอร Arduino Leonardo (ทีม่ า https://www.botnroll.com/en/arduino/2466-arduino-leonardo- with-headers.html)

ขอ มูลจาเพาะ ชิปไอซไี มโครคอนโทรเลอร Atmega32u4 ใชแรงดนั ไฟฟา 5 V รองรบั การจายแรงดันไฟฟา (ที่แนะนำ) 7 – 12 V รองรับการจายแรงดันไฟฟา (ท่จี ำกัด) 6 – 20 V พอรต Digital I/O 20 พอรต (มี 7 พอรต PWM output) พอรต Analog Input 12 พอรต กระแสไฟฟา รวมทีจ่ า ยไดในทุกพอรต 40 mA กระแสไปทจ่ี า ยไดใ นพอรต 3.3V 50 mA พนื้ ท่โี ปรแกรมภายใน 32 KB แต 4 KB ถูกใชโดย Boot Loader พน้ื ท่ีแรม 2.5 KB พ้นื ท่ีหนวยความจำถาวร (EEPROM)1 KB ความถค่ี ริสตัล 16 MHz ขนาด68.6x53.3 mm นำ้ หนัก20 กรมั 1.4.6 Arduino Mini 05 บอรด Arduino Mini 05 เปนบอรด Arduino ขนาดเล็กที่ใช MCU เบอร Atmega328 ขอแตกตางของบอรด Arduino Mini 05 จะไมมีพอรต USB มาให ผูใชงานตองตอกับ บอรด USB to Serial Converter เพ่มิ เมื่อตอ งการโปรแกรมบอรด

รปู ท่ี 1.16 ไมโครคอนโทรลเลอร Arduino Mini (ทีม่ า https://www.instructables.com/Arduino-Watch-Sport/) 1.4.7 Arduino Pro Mini 328 3.3V Arduino Pro Mini 328 3.3V เปนบอรด Arduino ขนาดเล็ก ที่ใช MCU เบอร ATmega328 ซึ่งจะคลายกับบอรด Arduino Mini 05 แตบนบอรดจะมี Regulator 3.3 V ชุดเดียว เทา นัน้ ระดบั แรงดันไฟท่ีขา I/O คือ 3.3V รปู ที่ 1.17 ไมโครคอนโทรลเลอร Arduino Pro Mini 328 3.3V (ทมี่ า https://www.ebay.com/p/18026542679?iid=173665969031) 1.4.8 Arduino Pro Mini 328 5V Arduino Pro Mini 328 5V เปนบอรด Arduino ขนาดเล็ก ที่ใช MCU เบอร ATmega328 เชน เดียวกับบอรด Arduino Mini 05 แตบนบอรดจะมี Regulator 5V ชดุ เดยี วเทาน้ัน ระดบั แรงดันไฟทขี่ า I/O คอื 5V

รปู ที่ 1.18 ไมโครคอนโทรลเลอร Arduino Pro Mini 328 5V (ท่ีมา https://www.andymark.com/products/arduino-pro-mini-328-5v- 16mhz) 1.4.9 Arduino Ethernet With PoE Module เปนบอรด Arduino ที่ใช MCU เบอรเดียวกับ Arduino Uno SMD ในบอรดมีชิป Ethernet และชองสาหรับเสียบ SD Card รวมทั้งโมดูล POE ทำใหบอรดนี้สามารถใชแหลงจายไฟ จากสาย LAN ไดโดยตรง โดยไมตองตอ Adapter เพิ่ม แตบอรด Arduino Ethernet With PoE Module นี้จะไมม พี อรต USB ทำใหเ วลาโปรแกรมตองตอ บอรด USB to Serial Converter เพิม่ เตมิ รปู ที่ 1.19 ไมโครคอนโทรลเลอร Arduino Ethernet with PoE Module (ทมี่ า https://www.alza.cz/arduino-ethernet-rev3-d569252.htm)

1.4.10 Arduino Ethernet Without PoE Module Arduino Ethernet Without PoE Module บอรดนี้จะตัดโมดูล POE ออกไป ตองใชไฟจากพอรต Power Jack เทานั้น คุณสมบัติอื่นๆจะเหมือนกับบอรด Arduino Ethernet With PoE Module รูปท่ี 1.20 ไมโครคอนโทรลเลอร Arduino Ethernet without PoE module (ทีม่ า https://core-electronics.com.au/arduino-ethernet-shield-rev3- without-poe-module.html) 1.4.11 Arduino Due Duo เปนภาษาอิตาลีแปลวาสอง เปนรุนที่เพิ่มพอรตใหมากขึ้นเปน 54 พอรต ดิจิตอลอินพุตเอาตพุต และ 12 พอรตแอนะล็อกอินพุต 2 พอรตแอนะล็อกเอาตพุต เพิ่มพื้นท่ี โปรแกรมเปน 512 KB สามารถใชงานพื้นที่ไดเต็มไมมี Bootloader เนื่องจากสามารถใชกับพอรต USB ไดโดยตรง มีขนาดบอรด 101.52x53.3 mm สามารถใช Shields ของ Arduino Uno ได แต บางตัวจำเปนตองแกขาใหถูกตอง จากรูปท่ี 1.21 จะเหน็ ไดว าบอรดไดเปลี่ยนมาใชชปิ ไอซีแบบ SMD จึงไมนิยมนำมาใชในแบบ Standalone แตนิยมนำมาใชในงานที่จาเปนตองพื้นที่โปรแกรมมากขึ้น ทำงานทซ่ี ับซอนมากย่ิงข้ึน บอรด Arduino Duo ใชช ิปไอซีเบอร AT91SAM3X8E ซงึ่ เปน ชิปไอซีที่ใช เทคโนโลยี ARM Core สถาปตยกรรม 32 บิต เรงความถี่คริสตอลขึ้นไปสูงถึง 84 MHz จึงทำให สามารถทำงานดานการคำนวณ หรือการประมวลผลอัลกอริทึมไดเร็วกวา Arduino Uno มาก

เนื่องจากชิปไอซีทำงานทีแ่ รงดัน 3.3 V ดังนั้นการนำไปใชง านกับเซ็นเซอรควรระวังไมใ หแรงดนั 5 V ไหลเขา บอรด ควรใชวงจรแบง แรงดนั เพอื่ ชวยใหล อจิกลดแรงดนั ลงมาใหเ หมาะสม ขอมูลจำเพาะ ชิปไอซไี มโครคอนโทรเลอร AT91SAM3X8E ใชแรงดันไฟฟา 3.3 V รองรบั การจายแรงดนั ไฟฟา (ทีแ่ นะนำ) 7 – 12 V รองรบั การจายแรงดันไฟฟา (ท่จี ำกัด) 6 – 16 V พอรต Digital I/O 54 พอรต (มี 12 พอรต PWM Output) พอรต Analog Input 2 พอรต กระแสไฟฟารวมท่ีจายไดใ นทกุ พอรต 130 mA กระแสไฟทจ่ี า ยไดใ นพอรต 3.3V 800 mA กระแสไปทจี่ า ยไดใ นพอรต 5V 800 mA พนื้ ท่โี ปรแกรมภายใน 512 KB พ้ืนทีโ่ ปรแกรม พน้ื ที่แรม 2 KB พืน้ ทีห่ นว ยความจาถาวร (EEPROM) 96 KB ความถ่คี ริสตลั 84 MHz ขนาด 101.52x53.3 mm นำ้ หนัก 36 กรัม

รปู ที่ 1.21 ไมโครคอนโทรลเลอร Arduino Due (ท่มี า https://circuitcrush.com/arduino/?b2w=https://arduinotronics.blogspot.com/2 012/10/new-32-bit-84mhz-arduino-due.html) ตารางท่ี 1.1 เปรียบเทียบคุณสมบัตขิ องบอรด Arduino


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook