Microcontroller


การออกแบบวงจร

ข้อคิดและแนวทางในการสร้าง


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

 

การออกแบบวงจร

แหล่งจ่ายไฟ


                  การทำงานของวงจร เริ่มจากสวิตช์ SW1 ทำหน้าที่ เปิด-ปิด การจ่ายไฟให้กับวงจรทั้งหมด โดยใช้แหล่งจ่ายไฟแบบ DC หรือ AC ทีมีแรงดันไฟขนาด 6-9 โวลท์ ไดโอด D1-D4 ต่อเป็นวงจรบริดจ์ จุดประสงค์เพื่อจะให้เอนกประสงค์กับการต่อขั้วไฟ DC จากอแดปเตอร์ที่อาจจะเป็นแบบขั้วไฟบวกอยู่ด้านนอกขั้วไฟลบอยู่ด้านใน หรือขั้วไฟลบอยู่ด้านนอกขั้วไฟบวกอยู่ด้านใน ก็สามารถใช้งานได้ หรือบางครั้งอาจจะใช้แหล่งจ่ายไฟ AC จากหม้อแปลงโดยตรง ที่มีขนาดประมาณ 6-9 โวลท์เอซี โดยไดโอดที่ต่อวงจรบริดจ์จะทำหน้าที่เป็นวงจรเรกติไฟเออร์ โดยเปลี่ยนไฟฟ้ากระแสสลับ (AC) ให้เป็น ไฟฟ้ากระแสตรง (DC)และกลับขั้วไฟให้ถูกต้อง                  
               ตัวเก็บประจุ C1 จะทำหน้าที่กรองแรงดันหรือฟิลเตอร์ (Filter) เพราะในการเปลี่ยนแรงดันไฟกระแสสลับให้เป็นแรงดันไฟกระแสตรง จะยังมีการกระเพื่อมของแรงดันไฟตรงที่เราเรียกว่าริปเปิล (Ripple) ดังนั้นเราจึงใช้ตัวเก็บประจุเพื่อลดค่าแรงดันริปเปิลลงไป โดยการเก็บค่าประจุไว้เมื่อช่วงแรงดันสูง และจะจ่ายประจุให้กับโหลดเมื่อมีการกระเพื่อมทางด้านต่ำดังนั้นโหลดจะได้แรงดันที่ราบเรียบขึ้น IC1 เป็นไอซีเร็กกูเรเตอร์ (Regulate) ขนาด 5 โวลท์ ซึ่งจะทำหน้าที่รักษาระดับของแรงไฟให้มีค่าคงที่ 5 โวลท์ ตัวเก็บประจุ C2 จะทำหน้าที่กรองแรงดัน ที่ออกมาจากเอาต์พุตของ IC1 ส่วน C3,C4 และ C5 ทำหน้าที่กรองสัญญาณความถี่สูงทิ้งไป ซึ่งอาจจะเกิดจากอุปกรณ์วงจรภายในของไอซี ในการต่อใช้งานจะต่อระหว่างขาไฟเลี้ยงของไอซี กับขากราวด์ โดยต่อให้ใกล้กับขาไอซีให้มากที่สุด ส่วนตัวต้านทาน R1 จะทำหน้าที่จำกัดกระแสที่ป้อนให้กับ LED1 เพื่อกำหนดความสว่าง ถ้าหากค่าความต้านทานน้อยก็จะทำให้ LED1 สว่างมาก และกินกระแสมากขึ้นหากค่าความต้านทานน้อยเกินไปอาจจะทำให้ LED1 เสียหายได้ ดังนั้นในการกำหนดความสว่างของ LED1 ให้พอดี สำหรับการแสดงสภาวะการทำงานของบอร์ดก็ควรจะใช้ค่าความต้านทานที่มีค่ามาก แต่ยังให้แอลอีดีมีความสว่างพอสังเกตได้ จะเป็นการประหยัดแหล่งจ่ายไฟของระบบ


 

บอร์ดไมโครคอนโทรลเลอร์


 

             วงจรในรูปส่วนที่สองเราจะใช้ไอซีไมโครคอนโทรลเลอร์ที่มีขนาด 20 ขาซึ่งเป็นชนิดที่มีหน่วยความจำแบบแฟลช (Flash Memory) ในวงจรนี้สามารถจะเลือกใช้ไอซีเบอร์ AT89C1051, AT89C2051 หรือ AT89C4051 ก็ได้ โดยเลือกใช้งานได้ตามขนาดหน่วยความจำที่ต้องการ สวิตซ์ SW2 ,C6 และ R2 จะเป็นวงจรกำหนดคาบเวลาของสัญญาณ รีเซตของ IC2 สังเกตจากรูปสัญญาณที่ขารีเซต (ขา 1) ของไอซี IC2 ซึ่งจะทำการรีเซตที่สถานะลอจิก "1" (สูง) ในช่วงเวลาอย่างน้อย 2 แมชชีนไซเคิล โดยจะถูกกำหนดช่วงของคาบเวลาด้วย C6 และ R2 ซึ่งมีลักษณะการทำงานเมื่อเปิดสวิตซ์ เพื่อป้อนแรงไฟให้กับบอร์ดเป็นครั้งแรก C6 จะทำการเริ่มต้นเก็บประจุทันที แรงดันที่ตัวเก็บประจุไม่สามารถที่จะเพิ่มทันทีทันใดได้ แต่จะมีแรงดันเพิ่มขึ้นจาก 0 โวลท์ ไปเรื่อยๆ ทำให้สถานะของขารีเซตเป็นลอจิก "1" อยู่ในช่วงเวลาหนึ่ง หลังจากนั้น C6 ก็จะเก็บประจุจนเต็มทำให้ที่ขารีเซตเป็นสถานะลอจิก "0" (ต่ำ) ไอซีก็จะเริ่มต้นทำงาน ส่วนสวิตซ์ SW2 จะทำการลัดวงจรของ C6 ทำให้เกิดการคายประจุอย่างรวดเร็ว หลังจากที่ทำการปล่อยคีย์สวิตซ์ ก็จะทำให้ C6 เริ่มทำการประจุใหม่ และจะทำเช่นที่ผ่านมาอีกครั้ง
                ตัวต้านทาน RN1 และ RN2 จะเป็นชนิดที่มีหลายๆตัวใน แพคเกต (packet)เดียวกัน โดยจะมีขาที่ต่อร่วมอยู่ 1 ขา ส่วนขาที่เหลือจะมีเท่ากับจำนวนของตัวต้านทานที่ต่อร่วม โดยนำมาต่อให้กับขาของพอร์ต P1 และ P3 ถึงแม้ว่าพอร์ต P1และ P3 จะมีตัวต้านทานพูลอัฟภายในแล้วก็ตาม (ยกเว้นขา P1.0 P1.1 จะไม่มีตัวต้านทานพูลอัฟภายใน) ซึ่งจะทำหน้าที่สำหรับการยกระดับสัญญาณ (Pull - up) ของขาพอร์ตให้มีค่าสถานะสูง และจ่ายกระแสเมื่อถูกดึงระดับสถานะให้ต่ำจากภายนอก IC2 จะได้รับสัญญาณนาฬิกามาจาก คริสตอล X1 ,C7 และ C8 ซึ่งตัวเก็บประจุ C7 และ C8 จะเป็นแบบเซรามิค ที่มีค่าอยู่ในระหว่าง 22 pF - 47 pF ส่วนคริสตอลค่าความถี่ที่ได้จะระบุที่ด้านข้างของตัวคริสตอล โดยใช้ค่าความถี่ได้ไม่เกิน 24MHz
                ที่จุดต่อ (Jumper) JP1 มีไว้สำหรับการทดลองส่งข้อมูล กำหนดให้แสดงผลที่ LED 2 โดยจะให้ขาแคโถด (Cathode) ต่อกับพอร์ต P1.5 ของไอซีไมโครคอนโทรลเลอร์ ส่วนขาแอโนด (Anode) จะต่อกับตัวต้านทานจำกัดกระแส ก่อนที่จะไปต่อกับแรงดัน 5 โวลท์ ดังนั้นการที่จะให้แอลอีดีสว่างได้จะต้องให้สถานะลอจิกที่พอร์ต P1.5 เป็นลอจิก"0" (ต่ำ) LED จึงจะนำกระแสได้ ส่วนที่จุดต่อ JP2 มีไว้สำหรับการทดลองรับข้อมูลโดยใช้สวิตช์ SW3 ซึ่งจะต่อกับขาพอร์ต P3.0 ของไอซีไมโครคอนโทรลเลอร์
                 IC3 เบอร์ 74LS245 จะทำหน้าที่เป็นบับเฟอร์ (Buffer) ข้อมูลขนาด 8 บิต ในกรณีที่ต้องการเชื่อมต่อพอร์ตกับอุปกรณ์ภายนอก ในกรณีที่ไอซีไมโครคอนโทรลเลอร์จะไม่สามารถที่จ่ายกระแสมากเกินกว่า ที่จะขับอุปกรณ์เอาต์พุตโดยตรงได้ ดังนั้นจึงต้องผ่านไอซีที่ทำหน้าที่บัปเฟอร์เสียก่อน จึงเปรียบเสมือนเป็นอุปกรณ์ป้องกันหรือตัวกันชน ให้กับไอซี ไมโครคอนโทรลเลอร์นั้นเอง จุดต่อ JP3 จะทำการเลือกทิศทางของไอซีบับเฟอร์ 74LS245 โดยถ้ากำหนด JP3 ต่อถึงกัน(Close) แสดงว่าพอร์ต P1จะรับข้อมูลจากภายนอกที่เป็นอินพุตเข้ามา แต่ถ้า JP3 ไม่ได้ต่อถึงกัน (Open) จะเป็นการเลือกให้พอร์ต P1 ส่งข้อมูลออกไปเป็นเอาต์พุตภายนอก
 

Download PCB

 

Designed by Adisak Chinawong