วันพฤหัสบดีที่ 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 เพราะค่อนข้างง่ายงานจบเร็วครับ