Microcontroller   

Board Programer MCS-51 20 pin (AT89CX051)



        สำหรับเครื่องโปรแกรมไอซีผู้ที่ไม่อยากจะทำขึ้นเอง ก็สามารถจะหาซื้อได้ ซึ่งในปัจจุบันได้มีหลายบริษัทได้ทำ จำหน่ายในราคาที่ไม่แพงมากนัก ในส่วนการ ทดลองของหนังสือเล่มนี้จะไม่อ้างถึงเครื่องโปรแกรมของบริษัทใด สำหรับเครื่องโปรแกรมตัวไอซี และโปรแกรมการใช้งาน ผู้เขียนได้ดาว์นโหลด มาจากทาง อินเตอร์เน็ต ซึ่งผู้ออกแบบได้จัดทำเป็นวิทยาทานที่เวปไซด์ http://www.kmitl.ac.th/~kswichit ในการสร้างบอร์ดโปรแกรมนี้ ผู้สร้างจะต้องมีพื้นฐาน อิเล็กทรอนิกส์มาบ้างแล้วพอสมควร

วงจรและผังงาน


       จากรูปแสดงวงจรของเครื่องโปรแกรมไมโครคอนโทรลเลอร์ AT89CX051 รายละเอียดการทำงานของเครื่องโปรแกรมไอซี เริ่มจาก IC3 เป็นไอซีเบอร์ AT89C2051 ของ ATMEL ซึ่งจะเป็นตัวที่กำหนดการรับข้อมูลจากคอมพิวเตอร์และส่งสัญญาณควบคุมในการโปรแกรมไอซี โดยที่ IC3 ได้มีการโปรแกรมข้อมูลที่เป็นขั้นตอนการทำงานไว้ภายในแล้ว ถ้าหากตัวไอซีไม่มีข้อมูลที่โปรแกรมไว้จะไม่สามารถทำงานได้
ทรานซิสเตอร์ TR1,TR2 ต่อเป็นวงจรทำหน้าที่ปรับระดับสัญญาณให้เหมาะสมกับมาตรฐานของ RS232 ให้รับและส่งข้อมูลแบบอนุกรม ใช้ในการเชื่อมต่อกับคอมพิวเตอร์ จะเชื่อมต่อที่ขา RxD และ TxD ของพอร์ต COM1 หรือ COM2


รูปแสดงวงจรของเครื่องโปรแกรมไอซีไมโครคอนโทรลเลอร์ AT89CX051

สัญญาณการโปรแกรมของไอซี AT89CX051


แสดงขาสัญญาณในการโปรแกรมและตรวจสอบข้อมูลของไอซี AT89CX051

 

แสดงโหมดในการโปรแกรมไอซี AT89CX051

         ที่พอร์ต P1 ของ IC3 AT89C2051 จะเป็นพอร์ตรับส่งข้อมูล D0-D7 ให้กับไอซีที่จะนำมาโปรแกรม และยังเป็นสัญญาณที่จะเลือกโหมดของการโปรแกรม โดยมี IC4 เบอร์ 74LS373 เป็นไอซีที่ทำหน้าที่แลทช์ ค่าข้อมูลโดยใช้สัญญาณที่ขา P3.7 ส่วนขาเอาต์พุตของพอร์ต P1 และ IC4 จะต่อกับซ๊อกเกตไอซี ที่เป็นแบบ ZIP SOCKET ซึ่งจะต้องนำไอซีที่ต้องการโปรแกรมนำมาเสียบ ที่ขา P3.4 ของ IC2 จะต่อกับ ขา Xtal1 ของไอซีที่จะนำมาโปรแกรมและจะสร้างสัญญาณพัลส์บวก เพื่อที่จะเพิ่มค่าในตัวนับตำแหน่งข้อมูลภายในให้แอดเดรสเพิ่มค่าขึ้นทีละ 1 แอดเดรสที่ขา P3.2 และ P3.3 จะเป็นส่วนของการควบคุมสัญญาณการโปรแกรม และการตรวจสอบสัญญาณที่เป็นลอจิกว่าได้เสร็จสิ้นในการเขียนข้อมูล ส่วนที่ขา P3.3, P3.4, P3.5 และ P3.7 จะเป็นขาคอนโทรลที่กำหนดโหมดในการโปรแกรมต่างๆ ขา P3.5 ของ IC3 และจุด D ที่ขาไอซี 74LS373 จะต่อกับทรานซิสเตอร์ TR3 และ TR4 ซึ่งเป็นตัวกำหนดแรงดันไฟ VPP ที่จ่ายให้กับขา 1(RST) ของไอซีที่จะโปรแกรม (สัญญาณการโปรแกรมดูได้จากวารสาร Hobby Electronics ฉบับที่ 130)แหล่งจ่ายไฟของวงจรได้จากอแดปเตอร์ขนาด12 โวลต์ SW1 เป็นสวิตช์ เปิดและปิดไฟของวงจร โดยผ่านวงจรบริดจ์เรกติไฟเออร์ DB1 เพื่อจัดขั้วของอแดปเตอร์ที่ต่อเข้ากับ IC1 เบอร์ LM7805 เพื่อให้มีแรงดันเอาต์พุตคงที่ 5 โวลต์ป้อนเป็นไฟเลี้ยงให้กับวงจรโดยมี LED1 เป็นตัวแสดงสถานะการทำงาน และแรงไฟอีกส่วนหนึ่งป้อนให้กับ IC2 เบอร์ LM317 ซึ่งเป็นเรกูเรเตอร์ที่ปรับค่าแรงดันเอาต์พุตได้ ส่วนนี้จะควบคุมแรงดันเอาต์พุตโดย TR3 และTR4เพื่อเป็นการกำหนดแรงดันที่ขา RST ให้กับไอซีที่จะนำมาโปรแกรม โดยมี LED2 แสดงสภาวะในขณะที่ใช้แรงดันไฟ VPP 12 โวลต์ ในการลบและโปรแกรมไอซี


Download    PROGRAM :: PCB


 


รูป ด้านการวางอุปกรณ์ของชุดโปรแกรม

          

การสร้าง


         ลายวงจรพิมพ์ ได้ออกแบบเผื่อไว้สำหรับตัวต้านทานบางตัวที่เป็นแบบ SMD ค่าของตัวต้านทานบางตัวอาจจะหาได้ยากเพราะเป็นแบบผิดพลาด 1เปอร์เซ็นต์ แต่ก็ใช้วิธีการดัดแปลงโดยให้หาของตัวต้านทานขนาด 1 เปอร์เซนต์ที่มีค่าใกล้เคียง แต่เลือกเอาตัวที่มีค่าความต้านทานน้อยกว่าเล็กน้อย แล้วใช้ตะไปถูที่ใต้ตัวต้านทาน เมื่อผงคาร์บอนหลุดออกไปบางส่วนแล้ว ให้ใช้ดิจิตอลมิเตอร์วัดค่าให้ได้ใกล้เคียงที่สุด หรือจะต่อโอมห์มิเตอร์วัดค้างไว้ แล้วตะไปจนได้ค่าที่ต้องการก็ได้ โดยการตะไบให้ตะไปเพียงข้างเดียวเพราะเวลาการวางอุปกรณ์จะได้ดูสวยงาม และอีกอย่างหากตะไบรอบตัวต้านทานอาจทำให้ผงคาร์บอนหลุดจนหมดไป ซ็อกเกตไอซีถ้าใช้แบบ ZIP SOCKET ราคาจะค่อนข้างแพง อาจจะใช้ซ็อกเกตแบบขากลมแทนก็ได้ ที่สำคัญวงจรนี้ต้องการแหล่งจ่ายไฟที่มีค่าตั้งแต่ 12 VDC ขึ้นไป เพราะอัลกอรึทึมของไอซี AT89X051 นี้ขา RST ต้องใช้ไฟ 12 โวลท์ ที่ใช้ในการลบข้อมูลและการโปรแกรมข้อมูล (แนะนำให้ใช้แหล่งจ่ายไฟขนาด 15 VDC )

       

การตรวจสอบบอร์ดโปรแกรมเบื้องต้น


        1 ให้ถอด IC3 และ IC4 ออกจากบอร์ดเครื่องโปรแกรม หลังจากนั้นให้ใช้สายไฟเส้นเล็กต่อระหว่างขาที่ 9 ของ IC3กับขาที่ 20 เพื่อที่จะกำหนดให้ พอร์ต P3.5 (ขาที่ 9) มีสถานะเป็นลอจิก "1" แล้วทำการวัดค่าแรงดัน จะต้องได้ค่าดังตารางในรูป
        2 ให้ใช้สายไฟเส้นเล็กต่อระหว่างขาที่ 9 ของ IC3 กับขาที่ 10 เพื่อที่จะกำหนดให้ พอร์ต P3.5 (ขาที่ 9) มีสถานะเป็นลอจิก "0" แล้วทำการวัดค่าแรงดันจะต้องได้ค่าดังตารางในรูป11
        3 หากได้ค่าตามที่กำหนดให้ทำการใส่ไอซี IC3 และ IC4 ลงบนซ็อกเกต หลังจากนั้นให้ต่อสายจากเครื่องโปรแกรมที่จะติดต่อกับคอมพิวเตอร์ที่ Port Com1 หรือ Com2 เข้ากับเครื่องโปรแกรม วิธีการต่อแสดงได้ดังรูป
        4 เลือกใช้ โปรแกรม Ez.exe บนดอส หรือโปรแกรม Ezdl4.exe บนวินโดว์


รูป 16 การต่อเครื่องโปรแกรมกับคอมพิวเตอร์ตำแหน่ง Com1 หรือ Com2 ก็ได้         

          5 ทดสอบโดยการใช้งานโปรแกรม Ezdl4.exe จะมีไอคอนดังรูป 17 ให้ใช้เมาส์กดดับเบิลคลิกที่ไอคอนบนระบบปฏิบัติการวินโดว์ ตัวโปรแกรมจะสแกนเลือกพอร์ตสื่อสาร COM1 COM2 ให้เปิดสวิตซ์ที่เครื่องโปรแกรมถ้าคอมพิวเตอร์สามารถติดต่อกับเครื่องโปรแกรมที่สร้างได้สำเร็จ จะได้หน้าตาบนวินโดว์แสดงการแอคทีฟ ดังรูป

             

รูป 17 ไอคอนและโปรแกรมบนวินโดว์แสดงการแอคทีฟ ในขณะที่ต่อกับเครื่องโปรแกรมไอซี


หมายเหตุ

- โปรแกรม Ezdl4.exe สามารถ Download ได้ที่ http://www.kmitl.ac.th/~kswichit
- ลายวงจรพิมพ์สามารถ Download ได้ที่ http://www.adisak51.com

ปัญหาข้อเสนอแนะและวิธีแก้ไข


        1 บอร์ดโปรแกรมติดต่อกับคอมพิวเตอร์ไม่ได้ - ต่อสายผิด
                - ใส่ทรานซิสเตอร์ผิดขา
        2 โปรแกรมข้อมูลลงในตัวไอซีไม่ได้ - รีซิสเตอร์ 1% ได้ค่าความต้านทานไม่ตรง ส่งผลให้แรงดัน ไฟตามตำแหน่งต่างๆไม่ถูกต้องตามตาราง
                - ใช้แหล่งจ่ายไฟไม่ถึง 12 โวลท์
        3 โปรแกรมสั่งให้ล้างข้อมูลในตัวไอซีตลอด - ใช้แหล่งจ่ายไฟไม่ถึง 12 โวลท์
                - ขาของZip Socket บัดกรีไม่ดี
                - IC4 เสีย (ผู้เขียนใช้ 74LS373) 


  อุปกรณ์สารกึ่งตัวนำ     
DB1 Diode Bridge W04
IC1 - 7805
IC2 - LM317
IC3 - AT89C2051
IC4 - 74LS373
TR1 BC557
TR2 BC547
TR3 2N2222A
TR4 2N2903
LED1 LED2
1 ตัว
1 ตัว
1 ตัว
1 ตัว
1 ตัว
1 ตัว
1 ตัว
1 ตัว
1 ตัว
2 ตัว
  ตัวต้านทาน:  
R2R9 R13R16 - 1K
R10R11 R12R7 R6-10 K
R3- 1150 1%
R4- 2150 1%
R5- 249 1%
R8- 4.7
R1 470
R14- 22 k
R15- 2.2 k
4 ตัว
5 ตัว
1 ตัว
1 ตัว
1 ตัว
1 ตัว
1 ตัว
1 ตัว
1 ตัว
      ตัวเก็บประจุ  



C1 - 100 UF /16V
C2,C4, - 10 UF/16V
C3,C5, C6- 1 UF /16V
C7,C8- 33 PF เซรามิค

  

  1  ตัว
  2  ตัว
  3 ตัว

  2  ตัว 
  

   อื่นๆ

 X 1 x-tal 11.0592 MHz
 SW1 ,SW2 Switch กดติดปล่อยดับตัวเล็ก
 แผ่นระบายความร้อน (ตามรูป)
 J1 DC- jack ลง PCB ตัวเมีย
 ซ็อคเก็ต 20 ขา
 อแดปเตอร์ 15 VDC หรือหม้อแปลง 12 - 0 VAC
 แผ่นวงจรพิมพ์ตามแบบ
 จัมเปอร์
 ซ็อคเก็ต 18 ขา
 ซ็อคเก็ต 20 ขา
 Zip socket
 แผ่น PCBตามแบบ
 DB 9 ตัวเมีย
 * Modular jack

   


    1 ตัว
    1 แผ่น
    1  ตัว

    3  ตัว 
    1  ตัว

    1  ตัว
    1 แผ่น
    1  ตัว 
    1 ตัว
    2 ตัว

    1 ตัว
    1 แผ่น
    1 ตัว
    1 ตัว

 

 

Designed by Adisak Chinawong