Unicon01-007016

Page 1

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 บอรดควบคุมแบบโอเพนซอรสยอดนิยมของโลก


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.