วันจันทร์ที่ 30 พฤษภาคม พ.ศ. 2554

PIC Microcontroller

  ไม่นานมานี้เกิดความรู้สึกคิดถึงอดีตสมัยตอนเรียน ปวส ประมาณปี 2005 เคยสั่งของมาทำเครื่องอ่าน/เขียนตลับเกมส์บอย(เจ๊งไปนานแล้ว) จากเว็บ wt.co.th ครบรอบ 6 ปีจึงสั่งของอีกทีแต่คราวนี้มาทำ PIC กันบ้างครับ เรื่องแปลกใจอีกอย่างตอนสั่งซื้อของกับ wt.co.th นั้นก็คือเขายังเก็บข้อมูลการสั่งซื้อของผม ในอดีตไว้ได้อย่างดีให้ได้ระลึกความหลังกันเลยทีเดียว
   สำหรับใครที่สงสัยว่า PIC มันคืออะไรหาคำตอบได้ที่ http://www.thaimcu.com/ ตอนแรกก็กะว่า จะซื้อบอร์ดทดลองสำเร็จจาก http://www.etteam.com/ หรือไม่ก็ http://www.thaieasyelec.com/ แต่ของที่ได้ง่ายๆ ผมไม่ค่อยจะชอบสานต่อ กลัวจะซื้อมาไว้เฉยๆ ก็เลยตัดสินใจที่จะหาอุปกรณ์ประกอบเอง มีเป้าหมายคือสร้างเจ้าตัวนี้ PICKit2 Lite (รายการอุปรณ์มีในลิงค์) โดยได้หาขอมูลแหล่งขายอุปกรณ์จากหลายๆที่ จนมาจบที่   wt.co.th นี่ก็เพราะว่าอุปกรณ์โดยเฉลี่ยราคาถูกและก็มี PIC เบอร์ 18F2550 (180 บาท) และ 16F877A (100 บาท) ที่ต้องการด้วย
  หลังจากซื้อมาแบบ พกง. โดยมีเหตุที่ผมที่ซื้อแบบ พกง. เพราะธนาคารที่ต้องโอนเงินก็อยู่ตรงข้ามกับ ไปรษณีย์ เวลาโอนเงินเสียค่าธรรมเนียม(+30 บาท) ตอนถามพนักงานเขาก็บอกว่า "พกง.เก็บเงินปลายทาง ค่าส่ง EMS คิดตามน้ำหนัก หรือประมาณ 120 บาท ส่วนถ้าโอน ค่าส่ง EMS คิดตามน้ำหนัก หรือประมาณ 100 บาท " สรุปว่ายังไงก็ต้องเข้าไปไม่โอนเงินก็ ไปเอาของ แต่ที่เห็นๆ คือ ถ้าสั่งแบบ พกง. ถูกว่า 10 บาท แต่ว่าตอนไปรับของมาแล้วในกล่องมีใบเสร็จ ค่าขนส่งแค่ 100 บาทเอง
  สำหรับของที่สั่งก็แพ็คมาในซองตามภาพ และจะเห็นว่าเขาขายตัวต้านทานเป็นแผงครับ 10 ตัวขึ้นไปต่อ หนึ่งค่าความต้านทาน (ตอนแรกสั่งทีละตัวสองตัว พนักงานขายก็เลยเมล์มาบอก)






 หลังจากที่ได้อุปกรณ์มาตอนบ่ายๆ ก็เก็บไว้เฉยๆอยู่หนึ่งวัน จากนั้นก็เริ่มวิธีการทำบอร์ด  PICKit2 Lite โดยขั้นแรกที่ต้องทำคือ โปรแกรมตัว 18F2550 ด้วย firmware ของ PICKit 2 ก่อนโดยตอนแรกผมก็ ต่อวงจรแบบนี้  JDM Programmer แต่มันไม่ดี เห็นคนอื่นก็เจอปัญหาเดียวกันคือ Unknow Device ก็เลยหันมาต่อแบบวงจรนี้ Basic JDM Programer  จากอุปกรณ์ต่อพวงเป็นสิบ หรือตัวต้านทานแค่ 3 ตัว โดยต่อเข้ากับ Serial Port ของเครื่องคอมพิวเตอร์ตั้งโต๊ะที่บ้าน โดยไฟเลี้ยงก็พ่วงจากขั้วไฟต่อจากเพาเวอร์ซัพพลาย (+5V)



 โปรแกรมลงบน 18F2550 ได้บ้างไม่ได้บ้างอาการเหมือนเดิมคือ Unknow Device จนผมเจอแนวทางการแก้ปัญหา ของผม และทำให้คิดได้ว่าวงจรที่ต่อมันตอนแรกมันก็คงดีแล้วละ แต่มันติดปัญหาแบบเดียวกันนี้ก็เป็นได้  ในการโปรแกรมแล้วติดปัญหา   Unknow Device แล้วเขียนข้อมูลลงไมโครคอนโทรลเลอร์ไม่ได้ก็มีวิธีแก้ ตามแบบผมดังนี้

1. เมื่อใช้โปรแกรม WinPic800 เลือกเครื่องโปรแกรมเป็นแบบ JDM Programmer


2. เจอ Unknow Device ไม่เห็นเป็น 18F2550


3. Hardware Test ผ่าน


4. ให้ทำการลบข้อมูลบน 18F2550 หนึ่งครั้ง


5.ทำการ Detect Device จะเจอ 18F2550 


6.จากนั้นเมื่อทำการเขียนข้อมูลลง 18F2550 จะทำได้ผ่าน



  
 หมายเหตุ อาจตั้งค่าตามนี้ในกรณีที่ ทำตามวิธีที่ผ่านมาทั้งหมดแล้ว ไม่สำเร็จ


หลังจากที่เขียนข้อมูลเสร็จผลก็ยังไม่ได้ทำ PICKit 2 เพราะว่าไปเจอ pinguino ที่สามารถเขียน โปรแกรมได้ คล้ายๆ Arduino ก็เลยเซ ออกเป้าหมายกลายเป็น ....... ดังภาพ



ซึ่งก็เขียนง่ายดีและต้นทุนทั้งหมดก็ราคา ไม่เกิน 300 กรณีทำเฉพาะบอร์ดของ  pinguino อย่างเดียว มีแพงอุปกรณ์แพงอยู่ตัวเดียวคือ 18F2550

 ถึงแม้ว่าเจอ pinguino ซึ่งใช้งานง่ายและก็ดีด้วย แต่ผมก็ยังไม่ละเป้าหมายเดิม PICKit 2 Lite ก็ลงมือทำได้ผลลัพธ์มาเป็นแบบนี้


จับมาทดสอบ โปรแกรมให้กับ 16F877A ทำไฟกระพริบดวงเดียวได้ดังนี้



จะสังเกตเห็นว่าบนตัวไอซี 16F877A ของผมจะมีกระดาษติดบอกขาต่างเอาไว้ให้ใช้งานง่าย เวลาทดสอบ บนบอร์ด ไม่ต้องดูคู่มือบ่อยๆ เบื่อ อยากได้โหลดรูปด้านล่างครับ เวลานำไปพิมพ์ ให้พิมพ์ตามค่า DPI ของภาพนะครับ คิดว่าผมเขียนชื่อขาไว้ถูกครบหมดแล้วถ้าผิดพลาดก็ช่วยแจ้งด้วยนะครับ


ปล. ช่วงนี้บทความเกี่ยวกับกราฟฟิกไม่คืบหน้า อารมณ์ศิลป์หายนะครับ ถ้ามีเวลาว่างๆ จะได้อัพขึ้นอีก ค้างไว้นาน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น