วันพฤหัสบดีที่ 26 มีนาคม พ.ศ. 2558

เริ่มต้นไมโครคอนโทรลเลอร์

ขั้นตอนการเริ่มเขียนไมโครคอนโทรลเลอร์ นั้น เป็นสิ่งที่ถ้าท้ายความสามารถ โดยผู้ที่เขียนโปรแกรมเพื่อคอนโทรลไมโครคอนโทรลเลอร์ เมื่ออดีตนั้นต้องมีความรู้ด้านคอมพิิวเตอร์และด้านอิเล็กทรอนิกส์ผสมผสานกัน จึงจะสามารถเขียนโปรแกรมได้ และการเขียนไมโครคอนโทรลเลอร์สมัยก่อนก็ค่อนข้างยุงยาก ต้องมีเครื่องเบรินไอซีเมื่อเบรินเสร็จก็ต้องถอดมาลองกับวงจรที่สร้างขึ้น ว่าใช้งานได้หรือไม่ ถ้าใช้ไม่ได้ก็ต้องเบรินใหม่  มโครคอนโทรลเลอร์นั้นมีด้วยกันหลายตระกูลอย่างเช่น MCS-51 ซึงเขียนด้วยภาษา แอสเซมบลี หรือ ภาษาซี ต่อการก็ได้เป็น PIC  ซึ่งสามารถเขียนด้วยภาษา ซี ต่อมาก็มีสิ่งที่ง่ายขึ้นก็คืิอ  Arduino ซึ่งเป็นไมโครคอนโทรลเลอร์ของค่าย ATMEL ผมขอกล่าวไว้ 3 ตระกูล ที่ผมได้พัฒนาและได้ลองสัมผัสกัน โดย ไมโครคอนโทรลเลอร์ 3 เบอร์นี้เป็นแบบ 8 บิต แล้วไมโครคอนโทรลเลอร์มันแตกต่างจะไมโครโปรเซสเซอร์อย่างไร สรุปง่ายก็คือไมโครโปรเซสเซอร์คือ  CPU  ไมโครคอนโทรเลอร์คือเครื่องคอมพิวเตอร์เครื่องหนึ่ง ซึ่งมี อินพุต เอาต์พุตมาพร้อมไม้ต้องต่อใช้งานได้เลย จบ  จะเปรียบเทียบข้อดีและข้อเสียของไมโครคอนโทรลเลอร์แต่ละตระกูลให้ดูได้ดังนี้

                MCS-51  
  เป็นไมโครคอนโทรลเลอร์ขนาด 8 บิต  มีการติดต่อกับพอร์ตแบบไบต์ก็คือสามารถติดต่อขาของ MCS- 51 โดยการต่อใช้งานต้องต่อ คริสตอล ให้กับตัวไมโครคอนโทรลเลอร์จึงจะสามารถทำงานได้ โดยต่อคริสตอลที่ขา 18 และ 19 พร้อมต่อไฟที่ขา EA ด้วย เพิืิ่อเลือกว่าจะใช้หน่วยความจำภายในตัวของไมโครคอนโทรลเลอร์ ไมโครคอนโทรลเลอร์ตระกูล MCS-51  นั้นมีด้วยกัน หลายเบอร์ ซึ่งที่นิยมใช้งานมากที่สุดก็จะเป็น AT89C51  ซึ่งไม่มีขา ISP ไม่ไม่สามารถเบรินได้ในตัว และต้องซื้อเครื่องเบรินไอซี มาจึงก็มีราคาสูง และปัจจุบันไม่คอยมีคนนิยมใช้งานสักเท่าไหร ซึ่งผมได้เคยพัฒนาสมัยเรียน ปวส ด้วยภาษา แอสเซมบลี  ต่อมาได้รู้จัก เบอร์ AT89S51 ซึ่งมีขา ISP  สามารถโปรแกรมได้ในตัวโดยสร้างวงจรเบรินขึ้นมาและสามารถเบรินได้โดยใช้พอร์ตขนานของคอมพิวเตอร์ ก็สามารถเบรินได้ มาดูเครื่องเบริน MCS-51 กัน


    เครื่องเบริน  MCS -51

   คุณสมบัติของเครื่องเบริน


เครื่องโปรแกรม PX-1000 อันเป็นเครื่องโปรแกรมไมโครคอนโทรลเลอร์ MCS-51 แบบแฟลชในอนุกรม AT89xxxx ในชุดประกอบด้วย เครื่องโปรแกรม PX-1000V3.0 , สาย USB, อะแดปเตอร์, แผ่นซีดีโปรแกรม Flash-X V2.0 ที่ทำงานบน windows OS 95/98/ME/NT/2000/XP และคู่มือใช้งาน คุณสมบัติ ทางเทคนิค เชื่อมต่อคอมพิวเตอร์ผ่านพอร์ต USB โปรแกรมไมโครคอนโทรลเลอร์ MCS-51 แบบแฟลชของ Atmel ได้ทุกเบอร์ รุ่น 20 ขา : AT89C1051/1051U/2051/4051, AT89S2051/4051, AT89LP2052/4052 รุ่น 40 ขา : AT89C51/52, AT89S51/52/53/8252/8253 มีซ็อกเก็ต ZIF สำหรับติดตั้งไมโครคอนโทรลเลอร์ ซอฟต์แวร์ชื่อ Flash-X ทำ งานบนวินโดวส์ 98SE/ME/NT/2000/XP มีฟังก์ชั่นเขียน/อ่าน/แก้ไข/ตรวจสอบข้อมูล แสดงค่า Check sum ฟังก์ชั่น Auto detect ตรวจ สอบเบอร์อัตโนมัติ มีฟังก์ชั่นป้องกันการอ่าน มีฟังก์ชั่นลบและตรวจสอบข้อมูลว่าง

--------------------------------------------------------------------------------
               PIC 


 เป็นไมโครคอนโทรลเลอร์ขนาด 8 บิต มีด้วยกันหลายเบอร์หลายตระกูล มีทั้งแบบ 40 ขา และอื่นมากมาย เหมื่อน MCS -51 และมีการติดต่อกับพอร์ตหรือขาแบบไบต์และแบบบิตก็คือสามารถเขียนสั้งให้ทั้งพอร์ตทำงานได้โดยง่าย แต่ข้อดีของ PIC ก็คือสามารถเบรินได้ในตัวของ PIC ได้เลยแต่ต้องมีวงจรเบริน ซึ่งต้องต่อกับขาของ PIC โดยต่อกับขา VDD(5V) VSS(GND)  MCLR(Reset) PGD(RB7)  PGC(RB6) โดยพอร์ตใช้งานหรือขาใช้งานนั้นมีด้วยกัน 5 พอร์ต ก็คือ พอร์ต A มีขาใช้งาน (6 ขา) พอร์ต B มีขาใช้งาน (8ขา) พอร์ต C มีขาใช้งาน (8ขา) พอร์ต D มีขาใช้งาน (3 ขา) โดยถ้าเป็นเบอร์ที่ไม่มีความถี่ในตัวต้องต่อคริสตอลเพื่อให้ทำงาน แต่ถ้าบางตัวมีความถี่คริสตอลก็ไม่ต่องต่อคริิสตอลก็สามารถทำงานได้สะดวกต่อการใช้งานมากทำให้สร้างวงจรน้อยลง โดยความถี่ก็ขึ้นอยู่กับซีพียูที่นำมาต่อ ราคาไอซีไม่โครคอนโทรลเลอร์ก็อยูที่ตัวละ 80-120 บาท แต่ก็ต้องหาเครื่อง 
เครื่องเบริน PIC 










เครื่องเบรินตัวนี้ ราคาอยู่ที่ประมาณ 500 บาทซึ่งสั่งได้จากผม โดยก็ต่อใช้งานง่ายมาก ต่อตามข้าใช้่งาน เดียวผมจะมาเขียนให้ดูในหัวข้อถัดไป เราสามารถสร้างวงจรและต่อเครื่องเบรินแล้วทำการเบรินได้เลย โดยใช้โปรแกรม PicKit 2 ในการเบริน ดังภาพ 


สำหรับเครื่องเบรินสามารถเบรินได้หลายเบอร์ดังนี้ 
PIC10F Series Devices:
PIC12F Series Devices:
PIC16F Series Devices:
PIC18F Series Devices:
PIC24 Series Devices:
dsPIC30 Series Devices
dsPIC33 Series Devices:
PIC32 Series Devices:
11 Series Serial EEPROM Devices:
24 Series Serial EEPROM Devices
25 Series Serial EEPROM Devices
93 Series Serial EEPROM Devices
MCP250xx CAN Devices
-------------------------------------------------------------------------------
Arduino 
 Arduino เป็นไมโครคอนโทรลเลอร์อีกตระกูลที่ค่อนข้างง่ายสำหรับผู้ที่ไม่คอยมีความรู้ด้านอิเล็กทรอนิกส์ หรือมีความรู้ด้านอิเล็กทรอนิกส์นิดหน่อยก็สามารถใช้งานได้ โดยเพียวงต่อสาย USB ที่บอร์ดเข้ากับคอมพิวเตอร์แล้วเขียนโปรแกรมโดยใช้โปรแกรม Arduino ก็สามารถเขียนและสั่งงานให้อุปกรณ์ที่มาต่อพวงทำงานได้แล้วแถมอุปกรณ์ต่อพวงสมัยนี้ก็ทำมาใช้งานกับ Arduino มากขึ้น แถมยังเป็นซอฟต์แวร์ที่ฟรีและเป็นแบบ Opensource อีกต่างหากใช้งานได้เลยมีคนเขียนให้เกือบหมด แถมอุปกรณ์ต่อพ่วงหรือ Shiled นั้นก็มีมากมาย ราคาบอร์ดก็แสนถูก ราคาบอร์ด UNO ของจีนก็อยู่ที่ 250-300 บาท ก็ใช้งานได้แล้วแถมยังมีให้เลือกอีกหลายแบบ ด้วยกัน มีขายกันมากมาย เดียวบทความต่อๆไป จะมาลองเขียนเล่นกันดูนะครับ
-----------------------------------------------------------------------------------------
 สรุป การเลือกไมโครคอนโทรลเลอร์เราจะเลือกอย่างไร 

 1. ถ้าไม่เป็นอิเล็กทรอนิกส์หรือเป็นนิดหน่อยให้เลือก Adrduino 
  
 2. ถ้าเป็นอิเล็กทรอนิกส์พอสมควรแล้วอยากใช้งานแบบหลายขาก็เลือก PIC 

แต่ท้ายที่สุดก็ตามที่เราสนใจนะครับ แต่ตัวผมก็เล่นหลายตัวแต่ต่อนนี้ก็หลายอย่างก็ทำด้วย Arduino เพราะค่อนข้างง่ายงานจบเร็วครับ