Unicon 7
เมือ่ Atmel (www.atmel.com) ไดออกไมโครคอนโทรลเลอร AVR 8 บิต ในอนุกรม ATmega ทีมี่ โมดูล USB ในตัว ซึงไม ่ เพียงแตสือสารกั ่ บคอมพิวเตอรผานพอรต USB ยังรองรับการดาวนโหลดโปรแกรมเพือเขี ่ ยนลง ในหนวยความจําโปรแกรมของไดอีกดวย จึงทําใหเกิดการเปลียนแปลงครั ่ งสํ ้ าคัญในการพัฒนาระบบสมองกลฝง ตัว เมือมี ่ ไมโครคอนโทรลเลอรทีโปรแกรมได ่ โดยตรงผานพอรต USB ไมตองใชชิปแปลงสัญญาณ USB เปนพอร ตอนุกรม ลดความยุงยากในการออกแบบ จํานวนอุปกรณทีใช ่ ก็ลดลง สงผลถึงตนทุนของระบบทีลดลงไปด ่ วย
Atmel ผลิตไมโครคอนโทรลเลอรทีรองรั ่ บการโปรแกรมหนวยความจําโปรแกรมแฟลชมากอนหนานี้ อยางนอย 2 เบอรคือ ATmega8U2 และ ATmega16U2 แตทังสองเบอร ้ ไมมีโมดูลแปลงสัญญาณอะนาลอกเปน ดิจิตอล จึงเปนไดเพียงชิปทีออกมาเพื ่ อนํ ่ าไปใชในอุปกรณ USB ทีเน ่ นการทํางานกับสัญญาณดิจิตอลเปนหลัก จนกระทั่ง Atmel ออกชิปเบอร ATmega32U4 ที่มีโมดูลแปลงสัญญาณอะนาลอกเปนดิจิตอล ความ ละเอียด 10 บิตในตัว มีจํานวนอินพุตอะนาลอกมากถึง 12 ชอง กลุมของไมโครคอนโทรลเลอร โอเพนซอรสชื่อ ดังอยาง Arduino จึงนําชิปเบอรนีมาพั ้ ฒนาเปนฮารดแวรในอนุกรมใหมของ Arduino โดยเนนขอไดเปรียบตรง ที่มี USB บูตโหลดเดอรในตัว ทําใหการดาวนโหลดโปรแกรมจากคอมพิวเตอรผานพอรต USB กระทําไดอยาง สะดวกขึน้ ออกแบบฮารดแวรไดงายขึน้ ใชจํานวนอุปกรณตอรวมลดลง ภายใตชื่อ Arduino Leonardo คุณสมบัติเดนของ ATmega32U4 โดยสรุปแสดงในกรอบแยกที่ 1-1 สวนไดอะแกรมการทํางานโดย รวมของ ATmega32U4 แสดงในรูปที่ 1-1 และมีการจัดขาตอใชงานตามรูปที่ 1-2
Unicon เมื่อ Atmel ออกชิปไมโครคอนโทรลเลอร ATmega32U4 และไดเขาไปทําขอตกลงในการสนับสนุน คณะทํ างานของ Arduino อย างเป นทางการ จึงทําให เกิดฮารดแวร ของ Arduino ในรุนใหม ที่รองรั บ ATmega32U4 นันคื ่ อ Arduino Leonardo ไดมีการเผยแพรโคดบูตโหลดเดอรของ Arduino Leonardo ออก มาระยะหนึงแล ่ ว แตจํากัดอยูในวงนั กพัฒนาเทานัน้ วิศวกรของ INEX (บริษัท อินโนเวตีฟ เอ็กเพอริเมนต จํากัด) โดยคุณวรพจน กรแกววัฒนกุลจึงนํามาพัฒนาตอ โดยทําการออกแบบสวนของฮารดแวรและกําหนดตําแหนง ขาตอใชงานของ ATmega32U4 ใหสอดคลองกับ Arduino Leonardo พรอมกับแกไขโคดของบูตโหลดเดอร เพื่อสรางเปนฮารดแวรใหมที่ชื่อ Unicon พรอมกันนั้นไดเพิ่มเติมชือและโปรไฟล ่ ของฮารดแวรทีสร ่ างขึ้นใหม นีลงใน ้ Arduino IDE เวอรชัน 1.0 รวมถึงสรางไฟลติดตั้งที่มีการติดตั้งซอฟตแวร Arduino 1.0 และไดรเวอร USB เบื้องตนของบอรด Unicon เพื่อใหผูใชงานสามารถติดตั้งและใชงานบอรด Unicon ไดงายขึน้
8
Unicon
เปนไมโครคอนโทรลเลอร 8 บิตแบบ RISC กําลังงานตํ่า หนวยความจําโปรแกรมแฟลช 32 กิโลไบต รองรับการโปรแกรมในวงจร เขียน-ลบได 10,000 รอบ หนวยความจําขอมูลแรม 2.5 กิโลไบตและหนวยความขอมูลอีอีพรอม 1 กิโลไบต รักษาขอมูลได 20 ป
ต จึงโปรแกรมหนวยความจําผานพอรต USB ไดโดยไมตองใชเครือง ่ บรรจุ USB บูตโหลดเดอรมาจากผูผลิ โปรแกรมภายนอก พอรตอินพุตเอาตพุตแบบโปรแกรมไดรวม 26 ขา วงจรเชือมต ่ อพอรต USB ภายในชิป รองรับ USB2.0 มีอัตราการถายทอดขอมูล 12 เมกะบิตตอวินาที รองรับได 6 เอ็นดพอยต มีหนวยความจําแรมสําหรับวงจร USB 832 ไบต ่ ง 96MHz ความถี่สัญญาณนาฬิกาจากภายนอกสูงสุด 16MHz มีวงจรเฟสล็อกลูปเพื่อทวีคูณความถีถึ เลือกแหลงกําเนิดสัญญาณนาฬิกาไดทังจากภายในและภายนอก ้ มีไทเมอรเคานเตอร 4 ตัว มีโมดูลกําเนิดสัญญาณ PWM 3 ชุด มีเอาตพุตของวงจรเปรียบเทียบสัญญาณ (output compare) โมดูลแปลงสัญญาณอะนาลอกเปนดิจิตอล ความละเอียด 10 บิต 12 ชอง รองรับการทํางานของอินพุต แบบดิฟเฟอเรนเชียล และโปรแกรมอัตราการขยายสัญญาณได โมดูลสื่อสารขอมูลอนุกรม USART แบบโปรแกรมไดพรอมสวนควบคุมการถายทอดขอมูล โมดูลสื่อสารขอมูลผานบัส SPI และ I2C มีวงจรตรวจจับไฟเลี้ยงตํ่ากวาทีกํ ่ าหนดหรือบราวเอาตแบบโปรแกรมได ่ พลังงานหรือโหมดสลีปเลือกได 6 โหมด (โหมดเตรียมทํางานหรือไอเดิล, มีโหมดการทํางานเพือลดการใช โหมดลดสัญญาณรบกวนในวงจร ADC, โหมดประหยัดพลังงาน, โหมดลดพลังงาน, โหมดหยุดรอหรือสแตน บายด และโหมดหยุดรอเพิ่มเติมหรือเอ็กเทนดสแตนบายด ใชไฟเลี้ยงในยาน +2.7 ถึง +5.5V หากเลือกใชสัญญาณนาฬิกาหลักความถี่ 8MHz จากภายในชิปใช ไฟเลี้ยงไดไมเกิน +2.7V อุณหภูมิใชงาน -40 ถึง +85๐C มีตัวถังแบบ QFN และ TQFP 44 ขา ใหเลือกใชงาน
Unicon 9
รูปที่ 1.1 ไดอะแกรมการทํางานของไมโครคอนโทรลเลอร ATmega32U4
รูปที่ 1.2 การจัดขาของไ มโครคอนโทรล เลอร ATmega32U4
10
Unicon
ใชไมโครคอนโทรลเลอร ATmega32U4 มีหนวยความจําแฟลช 32 กิโลไบต บรรจุบูตโหลดเดอรทีเข ่ า กันไดกับฮารดแวร Arduino Leonardo ดาวนโหลดและสื่อสารขอมูลผานพอรต USB ไดโดยตรง สัญญาณนาฬิกาความถี่ 16MHz จากเซรามิกเรโซเนเตอรคุณภาพสูง ่ บชื่อขาพอรตของ Arduino Leonardo มีจุดตอพอรตสําหรับใชงานทีตรงกั จุดตอพอรตเปนแบบ IDC 2.5 มม. ตัวเมีย และ JST 2.0 มม. ตัวผู 3 ขา มีการแบงแยกฟงกชันด ่ วยสีของ คอนเน็กเตอรอยางชัดเจน ใช ไฟเลี้ ยงจากภายนอก +6 ถึ ง +12V บนบอร ดมี วงจรควบคุ มไฟเลี้ยงคงที่ +5V 1A ตอผาน แจกอะแดปเตอรและเทอรมินอลบล็อก มีสวิตชกดติดปลอยดับและ LED สําหรับทดสอบการทํางานของพอรตและแสดงสถานะการทํางาน มีสวิตช RESET รองรับบอรดแสดงผลกราฟก LCD สี (รุน GLCD-XT จําหนายแยก) ขนาดเพียง 2.5 x 4 นิว้ พัฒนาโปรแกรมดวย Arduino 1.0x ขึ้นไป ขอมูลเพิ่มเติมและดาวนโหลดซอฟตแวรสําหรับการพัฒนาโปรแกรมไดที่ www.uniconboard.com
ดังนันบอร ้ ด Unicon จึงเปนฮารดแวรที่เขากันไดกับ Arduino Leonardo ที่พัฒนาโดยวิศวกรชาวไทย Unicon มาจากคําวา Unique ที่แปลวา เปนหนึ่งเดียว กับคําวา Controller ที่แปลวาตัวควบคุม ดังนัน้ Unicon จึงมีความหมายโดยรวมวา บอรดควบคุมที่มีความเปนหนึ่งเดียวกันระหวางตัวไมโครคอนโทรลเลอรหลักและ สวนการติดตอเพื่อดาวนโหลดโปรแกรมผานพอรต USB คุณสมบัติทางเทคนิคที่สําคัญของบอรด Unicon แสดงในกรอบแยกที่ 1-2
หนาตาของบอรด Unicon แสดงในรูปที่ 1-3 พรอมกับแสดงจุดตอตางๆ จะเห็นไดวา บอรด Unicon สามารถรองรับการเชื่อมตอกับอุปกรณภายนอกไดหลากหลาย และคอนขางอเนกประสงค ไมวาจะตอทดลอง วงจรกับเบรดบอรดก็สามารถใชจุดตอแบบ IDC ตัวเมีย 2.54 มม. หรือจะตอกับแผงวงจรตรวจจับและแผงวง จรเอาตพุตของ INEX ที่ใชคอนเน็กเตอรแบบ JST 2.00 มม. ก็ได
Unicon 11
รูปที่ 1-4 แสดงวงจรสมบูรณของบอรด Unicon หัวใจการทํางานทังหมดอยู ้ ที ่ IC1 ไมโครคอนโทรลเลอร ATmega32U4 ที่ไดรับการโปรแกรม USB บูตโหลดเดอรเฟรมแวรมาเรียบรอยพรอมใชงานแลว อยางไรก็ตาม หากมีเหตุสุดวิสัยใดก็ฌตามทีมี่ ความจําเปนตองทําการโปรแกรมบูตโหลดเดอรใหม ตองใชเครืองโปรแกรมภาย ่ นอกมาตอโปรแกรมผานทางจุดบัดกรี ISP เครื่องโปรแกรมที่แนะนําคือ AVR-ISP mark II ของ Atmel สวน ไฟล .hex สําหรับการโปรแกรมและขอมูลบิตฟวสดาวนโหลดไดที่ www.uniconboard.com หรือดูในโฟลเดอร ของซอฟตแวร Arduino ที่เกิดขึ้นหลังจากติดตั้งซอฟตแวรเรียบรอยแลว ดวยการใชงานตามปกติ โอกาสที่ เฟรมแวรจะเสียหายจนตองโปรแกรมใหมเกิดขึ้นไดยากมาก และหากตองการใหผูผลิต (ก็คือ INEX) ทําการ ตรวจสอบหรือโปรแกรมใหมในกรณีที่ไมมีเครื่องโปรแกรมก็สามารถทําได โดยไมมีคาใชจายใดๆ โดยดูราย ละเอียดไดจาก www.uniconboard.com เชนกัน
1
รูปที่ 1-3 แสดงสวนประกอบและหนาตาของบอรด Unicon
12
Unicon
รูปที่ 1-4 วงจรและการจัดตําแหนงจุดตอตางๆ บนบอรด Unicon
Unicon 13
การทํางานของวงจร IC1 จะจัดการทุกอยางไมวาจะเปนการติดตอกับคอมพิวเตอรผานทางพอรต USB และซอฟตแวร Arduino 1.0 เพื่อทําการอัปโหลดโปรแกรม จากนั้นเมือทํ ่ ามีการอัปโหลดไฟลสเก็ตชมายังตัว บอรดแลว IC1 ก็จะทํางานตามโปรแกรมที่อัปโหลดไดมาทันที สัญญาณนาฬิกาหลักมาจาก CR1 เซรามิกเรโซ เนเตอร 16MHz ขาพอรตทังหมดถู ้ กตอไปยังจุดตอที่มที 2 แบบคือ จุดตอแบบ IDC ตัวเมีย 2.54 มม. และจุดตอ แบบคอนเน็กเตอร JST 2 มม. โดยการกําหนดขาพอรตหรือจุดตอบนบอรด Unicon มีดวยกัน 3 แบบคือ 1. หมายเลขขาพอรตในกรอบสี่เหลี่ยมมน เปนชือขาพอร ่ ตทีกํ่ าหนดใหตรงกับฮารดแวร Arduino Leonardo 2. ชื่อขาพอรตทีเป ่ นตัวหนาและไมมีกรอบลอมรอบใดๆ เปนชือของฟ ่ งกชั่นพิเศษที่รวมอยูในขา พอรตนั้นๆ เชน ขาพอรต 4 ของ Arduino Leonardo ทํางานเปนอินพุตอะนาลอก A6 ไดดวย 3. ชื่อขาพอรตสีขาวในกรอบสีเหลี ่ ่ยมพื้นสีดํา เปนชือขาพอร ่ ตมาตรฐานที่กําหนดมาจาก Atmel ในการเขียนโปรแกรมกับ Arduino1.0 จะไมมีการเรียกชือขาพอร ่ ตในแบบนี้ แตจะถูกใชเมือเขี ่ ยนโปรแกรมดวย AVR Studio ทีขาพอร ่ ต 31 (ตาม Arduino) หรือ PE2 (Atmel) มีการตอ LED และสวิตชไว เพือใช ่ ในการแสดงสถานะ การทํางานและทดสอบการติดตอพอรตอินพุตเอาตพุตอยางงายหรือขันต ้ นของบอรด Unicon โดย LED1 จะติด สวางเมื่อไดรับลอจิก “0” จากขา 31 ในขณะที่สวิตช S1 จะใหผลการทํางานเปนลอจิก “0” เมื่อเกิดการกดสวิตช ดังนัน้ จากวงจรในทุกครั้งที่กดสวิตช S1 จะทําให LED1 ติดสวางตามการกดสวิตชไปดวย ตัวตานทาน R4 มี ไวปองกันขาพอรต 31 ไมใหเกิดความเสียหายจากการชนกันของสัญญาณ ในกรณีที่ IC1 สงสัญญาณเอาตพุต ออกมาในเวลาเดียวกับที่มีการกดสวิตช S1 ดานไฟเลียงวงจร ้ มี IC2 เบอร LM1117-5.0 ทําหนาที่ควบคุมไฟเลี้ยงคงที่ที่ +5V สําหรับเลี้ยงวงจรทั้ง หมด โดยแรงดันไฟเลี้ยงอินพุตมาจากอะแดปเตอร ซึงรองรั ่ บแรงดันในยาน +6 ถึง +12V มีไดโอด D1 ปอง กันการจายแรงดันไฟเลี้ยงอินพุตกลับขั้ว สวน C1, C2 และ C3 ใชในการลดสัญญาณรบกวนทังความถี ้ ตํ่ าและ ่ ความถี่สูงที่อาจมีในระบบไฟเลียง ้
บอรด Unicon สามารถใชงานกับโปรแกรมที่เขียนขึนและอ ้ างอิงกับฮารดแวร Arduino ไดทุกเวอรชัน ยกเวน Arduino Mega ที่อาจมีตําแหนงและจํานวนของขาพอรตไมตรงและไมเทากัน แตรูปแบบของคําสั่ง วิธี การใชคําสังและฟ ่ งกชันในโปรแกรมใช ่ รวมกันได เพียงเปลียนขาพอร ่ ตทีอ่ างอิงใหตรงหรือเหมาะสมกับบอรด Unicon ก็ใชงานไดตามปกติ ยกตัวอยาง โปรแกรม Blink ปกติจะอางถึง LED ที่ขา 13 สําหรับบอรด Unicon จะอยูที่ขา 31 สวน การใชงาน Serial Monitor เพือดู ่ หรือรับสงคากับคอมพิวเตอรก็สามารถใชงานไดตามปกติดวยคําสัง่ serial.print เพี ยงแตพอรตที่ใชสื่อสารจะเปนพอรต USB ที่ ทําหนาที่เปนพอรตอนุกรมเสมือนภายใตชื่อของฮารดแวร Unicon
14
Unicon
นอกจากนั้น Unicon ยังมีจุดตออินพุตอะนาลอกมากกวา Arduino Diecimila, Duemilanove และ Uno โดยมีถึง 12 ขา และมีจุดตอบัส I2C และ UART ที่แยกตางหากจากพอรตอินพุตเอาตพุตปกติ แตยังสามารถใช งานเปนพอรตอินพุตเอาตพุตมาตรฐานได ทําให Unicon มีความออนตัวสูงมากในการนําไปใชงานภายใตงบ ประมาณที่ประหยัดและคุมค ากวาเมื่อพิจารณาในภาพรวม
Unicon สามารถเชื่อมตอกับอุปกรณไดหลากหลาย ทั้ งอุปกรณเอาตพุตที่ตองการการควบคุมจาก Unicon หรืออุปกรณอินพุตและตัวตรวจจับแบบตางๆ ทีต่ องการสงคามายัง Unicon รวมทังอุ ้ ปกรณสําหรับการ สือสารข ่ อมูลอนุกรมแบบไรสาย Unicon ก็สามารถเชื่อมตอและใชงานไดทั้งสิ้น ดังแสดงหนาตาของตัวอยาง อุปกรณในรูปที่ 1-5 ถึง 1-7 ยั งมีอุปกรณตพวงอีกจํานวนมากหลากหลายรุนและยี่หอจากผูผลิตและจําหนายทั่วโลกที่ใชงานกับ บอรด Unicon ได ไมวาจะเปน LED 3 สี (RGB), โมดูลตรวจจับทุกรุนของ Sparkfun (www.sparkfun.com), แผงวงจรขั บมอเตอร กําลั งสู งจาก Pololu (www.pololu.com), ตัวตรวจจับทุ กแบบจาก Parallax (www.parallax.com), อุปกรณตอพวงเทๆ จาก Adafruit (www.adafruitindustries.com) และอื่นๆ อีกมาก
รูปที่ 1-5 ตัวอยางกลุมของอุ ปกรณเอาตพุตที่ Unicon ใชงานรวมดวยได (จากซายไปขวาและบนลง ลาง) : โมดูล LCD แบบตัวอักษร, ZX-DSP4 แผงวงจร LED ตัวเลข 7 สวน, โมดูล LED, โมดูลกราฟก LCD สีรุน GLCD-XT, ZX-PIEZO แผงวงจรลําโพงเปยโซขนาดเล็ก, ลําโพงเปยโซ 8W ขนาดกลาง, ZXRELAY4i แผงวงจรขับรีเลย และ ZX-DCM2 แผงวงจรขับมอเตอรไฟตรง
Unicon 15
รูปที่ 1-6 ตัวอยางกลุมของอุปกรณอินพุตที่ Unicon ใชงานรวมดวยได (จากซายไปขวา) : ZXTHERMOMETER แผงวงจรวัดอุณหภูมิ, ZX-CCD โมดูลตรวจจับภาพสี, ZX-SWITCH แผงวงจรสวิตช, ZX-POTV แผงวงจรตัวตานทานปรับคาไดแบบแกนตั้ง, ZX-PHOTO แผงวงจรโฟโตทรานซิสเตอร สําหรับตรวจจับแสงอินฟราเรดและเปลวไฟ, SRF05 โมดูลวัดระยะทางดวยอัลตราโซนิก, ZX-POTH แผงวงจรตัวตานทานปรับคาไดแบบแกนนอน, HIH4030 โมดูลตรวจจับความชืนสั ้ มพันธ, ZX-IRM แผงวงจรรับแสงอินฟราเรด 38kHz, ZX-SOUND แผงวงจรตรวจจับเสียง, ZX-COLOR แผงวงจร ตรวจจับสี, ZX-NUNCHUK แผงวงจรเชื่อมตอรีโมตคอนโทรล Wii-Nunchuk, CMPS03 โมดูลเข็มทิศ, GP2D120 โมดูลวัดระยะทางดวยแสงอินฟราเรด และ ZX-PIR โมดูลตรวจจับความเคลือนไหว ่ รูปที่ 1-7 ตัวอยางอุ ปกรณสื่อสาร ขอมูลไรสายที่ Unicon ใชงานรวมดวย ได (จากซายไปขวา) : BlueStick และ บอรดเชือมต ่ อใชสําหรับสือสารข ่ อมูล ผานบลูทูธ, BluetoothBEE โมดูลสือสาร ่ ขอมูลอนุกรมผานบลูทูธ และโมดูล XBEE ทังรุ ้ นมาตรฐานและรุน PRO ใชไดทัง้ Series1 และ Series2 โดยทัง้ BluetoothBEE และ XBEE ควรใช บอรดเชือมต ่ อ ADX-XBEE เพือเชื ่ อมต ่ อ กับบอรด Unicon
16
Unicon
ดังนัน้ Unicon จึงเปนทางเลือกที่ไมควรมองขามสําหรับผูทีกํ่ าลังสนใจบอรดไมโครคอนโทรลเลอรที่ ใชงานงาย ราคาประหยัด ไมตองพึ่งพาอุปกรณพิเศษในการเชื่อมตอกับคอมพิวเตอร ใชงานไดกวางทั้งกับนัก พัฒนาทังมื ้ อใหมและมือเกา รองรับการเชือมต ่ อกับอุปกรณหรือตัวตรวจจับพิเศษไดหลากหลายรูปแบบ พรอม ทั้ งตัวอยางและเอกสารประกอบการทดลองเรียนรูที่มีมากมายจากนักทดลองและนักพัฒนาทั่วโลกเนื่องจาก บอรด Unicon เขากันไดกับฮารดแวร Arduino บอรดควบคุมแบบโอเพนซอรสยอดนิยมของโลก