บทที่ 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
Search
Read the Text Version
- 1 - 20
Pages: