Microcontroller     

สร้างบอร์ดทดลอง AVR Microcontroller                    

 [ข้อมูลเมื่อ  27 มิถุนายน 2552 ]

         

1. จุดประสงค์การสร้าง

1.1 บอร์ดทดลองที่สร้างขึ้นสามารถเลือกใช้ไอซีเบอร์ ATmega8 หรือ ATmega168 และเลือกใช้ค่าความถี่ของคริสตอล สูงสุด 16 MHz ได้
1.2 บอร์ดทดลองที่สร้างขึ้นใช้สำหรับการทดลองเขียนโปรแกรมภาษาซีเพื่อศึกษาการทำงานของไอซีไมโครคอนโทรลเลอร์ AVR โดยโปรแกรม WinAVR หรือ CodeVision AVR
1.3 สามารถโปรแกรมข้อมูลลงในตัวไอซี โดยโปรแกรม Bootloader เพื่อใช้สำหรับการทดลองภายใต้โปรแกรม  Arduino ซึ่งเป็นการนำไอซี AVR มาพัฒนาใช้งานได้
1.4 สามารถเพิ่มอุปกรณ์เพื่อทดลอง ผ่านบอร์ดทดลองที่เพิ่มเติมภายหลังได้

ไอซีเบอร์ ATmega8 และ เบอร์ ATmega168 ที่นำมาใช้งานมีหน่วยความจำ และคุณสมบัติต่างๆดังรายละเอียดตารางข้างล่างนี้

 

2. วงจรและการทำงาน

      

        แหล่งจ่ายไฟของวงจรได้จาก AC หรือ DC อแดปเตอร์ค่าประมาณ 9 -12 โวลต์โดยผ่านวงจรไดโอดบริดจ์เรกติไฟเออร์ BD1 จะทำหน้าที่แปลงสัญญาณไฟฟ้ากระแสสลับ ให้เป็นไฟฟ้ากระแสตรง และยังทำหน้าที่จัดขั้วของไฟฟ้ากระแสตรงให้ถูกต้อง ในกรณีที่ป้อนแหล่งจ่ายไฟกระแสตรงที่มีขั้วไม่แน่นอน หลังจากนั้นจะต่อเข้ากับ IC1 เบอร์ 7805 ซึ่งทำหน้าที่รักษาระดับแรงดันเอาต์พุตให้คงที่ 5 โวลต์ ป้อนเป็นไฟเลี้ยงให้กับวงจร โดยมีตัวต้านทาน R1 จำกัดกระแสให้กับ LED1ทำหน้าที่แสดงสถานะการทำงานของวงจร ตัวเก็บประจุ C1 และ C3 จะทำหน้าที่กรองแรงดันที่เกิดจากการกระเพื่อมของสัญญาณ ให้ราบเรียบมากขึ้น โดยมี C2 และC4 ทำหน้าที่กรองความถี่สูงซึ่งอาจเกิดจากอุปกรณ์ที่อยู่ภายในของไอซี   


        จากวงจรเลือกใช้ไอซีเบอร์ ATmega8 โดยใช้ค่าความถี่ของคริสตอล 16 MHz

         จากวงจรของบอร์ดทดลองที่สร้างขึ้น ผมได้เลือกใช้ไอซีเบอร์ ATmega8 โดยใช้ค่าความถี่ของคริสตอล 16 MHz แต่สามารถเปลี่ยนเบอร์ไอซี และค่าความถี่ของคริสตอลได้ โดยบอร์ดทดลองที่ตั้งใจไว้คือสามารถใช้ทดลองสำหรับการเขียนโปรแกรมเพื่อทดลองศึกษาการทำงานของไอซีไมโครคอนโทรลเลอร์ AVR โดยใช้โปรแกรมภาษาซี เช่น WinAVR หรือ CodeVision AVR แต่ก็ยังสามารถที่จะนำบอร์ดทดลองที่สร้างขึ้นมา มาทำการโปรแกรมข้อมูลลงในตัวไอซีที่เรียกว่า Boot loader เพื่อใช้สำหรับการทดลองภายใต้โปรแกรม Arduino ซึ่งเป็นการนำไอซี AVR มาพัฒนาใช้งานให้สะดวก และง่ายมากขึ้น ภายใต้ชื่อ Arduino ซึ่งสามารถที่จะโปรแกรมข้อมูลลงในตัวเองได้ (รายละเอียดและคุณสมบัติอื่นของ Arduino สามารถหาดูได้จากเวปไซต์ที่เกี่ยวข้องข้างล่างนี้) โดยสามารถนำไอซีเบอร์ ATmega168 มาใช้งานแทนซึ่งมีหน่วยความจำมากกว่า ATmega8 รายละเอียดดังตารางข้างล่างนี้ ในวงจรจะมีแอลอีดี LED2 ที่ใช้สำหรับทดสอบในการเขียนโปรแกรม มีคอนเน็คเตอร์ ISP ขนาด 10 pin มาตรฐานของ Atmel

   คุณสมบัติที่ยังเหลือเปิดอ่านจาก Datasheet ดูเพิ่มเติมได้ที่ Atmel

 

3. ขั้นตอนในการสร้าง

                3.1 แผ่นวงจรพิมพ์ และด้านการวางอุปกรณ์

            

Download PCB

 

 

               3.2 การเตรียมอุปกรณ์
                              ควรเตรียมกระดาษสีขาว (A4, F4) ไว้สำหรับรองพื้นเวลาที่เราบัดกรี เพราะอุปกรณ์บางชิ้นมีขนาดเล็กมากจนต้องเล่นซ่อนหากันบนโต๊ะทำงาน อีกอย่างก็เพื่อจะเก็บเศษของตะกั่ว และขาของอุปกรณ์ที่ตัดทิ้งแล้วได้สะดวก และที่สำคัญของนักทดลองก็คือการบันทึกข้อมูลในขณะที่ทำการสร้าง

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

            3.3 การลงอุปกรณ์

                    เริ่มจากการจัดทำแผ่นวงจรพิมพ์ที่กัดลายทองแดงตามภาพที่ 3  ทำการเจาะรูให้ได้ตามขนาดของขาอุปกรณ์ เคลือบน้ำยากันสนิมให้เรียบร้อย และเตรียมอุปกรณ์ให้ครบตามรายการ แล้วเริ่มลงมือได้เลย  ให้วางอุปกรณ์ทุกตัวลงแผ่นวงจรพิมพ์ตามรูป โดยเริ่มต้นจากการวางอุปกรณ์ ที่อยู่ใต้แผ่นวงจรที่เป็น SMD โดยให้ใช้ตะกั่วแต้มไปที่ด้านใดด้านหนึ่งก่อน หลังจากนั้นใช้คีมหนีบเล็ก(แหนบ) จับอุปกรณ์เพื่อบัดกรี จัดตำแหน่งให้ตรง หลังจากนั้นจึงจะบัดกรีอีกด้านหนึ่ง เมื่อทำการบัดกรีอุปกรณ์ใต้แผ่นวงจรพิมพ์จนครบทุกตัวแล้วให้หงายแผ่นวงจรพิมพ์ และเริ่มใส่ลวดจัมเปอร์ลงไปแล้วให้ใส่อุปกรณ์ที่มีความสูงตามลำดับ การวางตัวเก็บประจุไม่ต้องเผื่อขาไว้ ให้กดลงให้สนิทชิดติดกับแผ่นวงจรพิมพ์จะไม่ทำให้เกิดการโยกคลอน สำหรับตัวเก็บประจุที่มีขั้วจะต้องวางตำแหน่งให้ถูกขั้วด้วย โดยให้สังเกตได้จากขั้วลบจะมีเครื่องหมายลบอยู่บนตัวเก็บประจุ อุปกรณ์ทุกตัวเราควรจะทำความสะอาดขาก่อนการบัดกรี เพราะความสกปรกทำให้บัดกรี ตะกั่วติดได้ยาก หรือไม่ติด ทำให้รอยบัดกรีไม่แน่นและไม่สวยงาม หลังจากบัดกรีอุปกรณ์เสร็จแล้วหลังจากนั้นให้ตรวจสอบความเรียบร้อย ดูการวางอุปกรณ์ว่าถูกต้องหรือไม่ จุดบัดกรีใต้แผ่นวงจรพิมพ์และเศษตะกั่วอย่าให้ติดค้างในส่วนของลายวงจรพิมพ์อาจทำให้เกิดการลัดวงจรได้

            3.4 การสร้างบอร์ดจากแผ่นวงจรพิมพ์แบบอเนกประสงค์

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

                  แผ่นวงจรพิมพ์แบบอเนกประสงค์จะมีรูปแบบของลายทองแดงแตกต่างกันไป แต่ในที่นี้เราจะใช้ลายทองแดงแบบโดนัดขนาดเล็ก (บางคนเรียกว่าแบบไข่ปลา) ขนาดวางตัวไอซีได้ ดังในรูปที่ เป็นแบบลายทองแดงสองด้าน ในที่นี้เราจะนำสายไวแรฟมาใช้งานในกรณีที่สายทองแดงไม่สามารถเดินลายเชื่อมต่อไปถึงกันได้ เราจะใช้สายไวแรฟเบอร์ AWG#30 ซึ่งมีขายเป็นม้วน หรือที่แบ่งขายเป็นเมตร แต่ถ้าต้องการแบบหลากสีราคาถูกก็มีของเก่าที่ขายเป็นถุง

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

           

 

ารตรวจสอบและแก้ไข

อุปกรณ์


 

   ไอซีไมโครคอนโทรลเลอร์ ATmega8 หรือ ATmega168



      ไอซี MAX232 สำหรับติดต่อทางพอร์ตอนุกรม
    ไอซี LM7805 เป็นไอซีเร็กกูเรเตอร์ (Regulate) ขนาด 5 โวลท์ ซึ่งจะทำหน้าที่รักษาระดับของแรงไฟให้มีค่าคงที่ 5 โวลท์
  C แบบ SMD ค่า 0.1 และ 20pF ตัวต้านทาน R 10 k และ 1 k
  DC -JACK สะดวกต่อการใช้งาน
   ไดโอดบริดจ์ ทำหน้าที่เป็นวงจรเรกติไฟเออร์ โดยเปลี่ยนไฟฟ้ากระแสสลับ (AC) ให้เป็น ไฟฟ้ากระแสตรง (DC)
และกลับขั้วไฟให้ถูกต้อง
   ตัวต้านทาน R1 จะทำหน้าที่จำกัดกระแสที่ป้อนให้กับ LED1เพื่อกำหนดความสว่าง ให้พอดีสำหรับการแสดงสภาวะการทำงานของบอร์ด ใช้ค่าความต้านทานที่มีค่ามาก แต่ยังให้แอลอีดีมีความสว่างพอสังเกตได้ จะเป็นการประหยัดแหล่งจ่ายไฟของระบบ
   ตัวเก็บประจุ C1C3 จะทำหน้าที่กรองแรงดันหรือฟิลเตอร์ (Filter)เพราะในการเปลี่ยนแรงดัน ไฟกระแสสลับให้เป็นแรงดันไฟกระแสตรง จะยังมีการกระเพื่อมของแรงดันไฟตรง ที่เราเรียกว่า ริปเปิล (Ripple) ดังนั้นเราจึงใช้ตัวเก็บประจุเพื่อลดค่าแรงดันริปเปิลลงไป โดยการเก็บค่าประจุ ไว้เมื่อช่วงแรงดันสูง และจะจ่ายประจุให้กับโหลดเมื่อมีการกระเพื่อมทางด้านต่ำดังนั้นโหลด จะได้แรงดันที่ราบเรียบขึ้น
    ซ็อกเก็ตไอซี 20 ขา และ 14 ขา
    คริสตอลค่าไม่เกิน 16 MHz หรือค่าอื่นที่ไม่เกินคุณสมบัติของไอซีที่ทำงานได้
    LED1 แสดงสถาวะการทำงานของแหล่งจ่ายไฟ
  DB9 ตัวเมีย
   สวิตซ์กดติด ปล่อยดับ
 IDE
  
  ใช้ฐานรองแล้วยึดน็อต เพื่อจะยกระดับให้สูงขึ้นจากพื้น

 

  อุปกรณ์สารกึ่งตัวนำ   
IC1- LM7805
IC2 -ATmega8
IC3 -max232
D1 Bridge Diode smd
LED1-LED2 สีแดง

 

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

   ตัวต้านทาน:
R1,R2 - 1 K smd
R3 10 K smd
  
  2  ตัว
  1  ตัว
   ตัวเก็บประจุ
C1 - 100 UF /16V
C3 - 47 UF/16V
C6,C7- 20 PF smd
C 0.1 UF smd

 
  1  ตัว
  1  ตัว
  2  ตัว
  8  ตัว   

   อื่นๆ
 X 1 x-tal 16 MHz
 SW1 กดติดปล่อยดับตัวเล็ก
 J1 DC- jack ลง PCB ตัวเมีย
 ซ็อคเก็ต 20 ขา
 ซ็อคเก็ต 14 ขา
 อแดปเตอร์ 12 VDC หรือหม้อแปลง 9 - 0 VAC
 แผ่นวงจรพิมพ์ตามแบบ


    1  ตัว

    1  ตัว
    1  ตัว

    1  ตัว

    1  ตัว

    1  ตัว
    1  แผ่น

 

กลับหน้าหลัก
Home

Designed by Adisak Chinawong