วันพุธที่ 24 กันยายน พ.ศ. 2557

การทดลองที่ 4.7 การสร้างวงจรสร้างและควบคุมแรงไฟฟ้ากระแสตรงแบบปรับค่าได้

การทดลองที่ 4.7
การสร้างวงจรสร้างและควบคุมแรงไฟฟ้ากระแสตรงแบบปรับค่าได้

วัตถุประสงค์

 -  ฝึกออกแบบและต่อวงจรสร้างและควบคุมแรงดันไฟฟ้ากระแสตรงแบบปรับค่าได้ โดยใช้ไอซี
LM317T เพื่อใช้เป็นแหล่งจ่ายให้วงจรอิเล็กทรอนิกส์

รายการอุปกรณ์

 -  แผงต่อวงจร (เบรดบอร์ด)                                                   1 อัน
 -  ไอซี LM317T                                                                     1 ตัว
 -  ตัวเก็บประจุ 0.1uF และ 10uF อย่างละ                               1 ตัว
 -  ตัวต้านทานค่าคงที่ เลือกค่าในช่วง 220Ω ถึง 1kΩ             1 ตัว
 -  ตัวต้านทานปรับค่าได้แบบสามขา 4.7kΩ หรือ 10kΩ          1 ตัว
 -  ไดโอด 1N4001 อย่างน้อย                                                 1 ตัว
 -  สายไฟสำหรับต่อวงจร                                                       1 ชุด
 -  แหล่งจ่ายแรงดันควบคุม                                                    1 เครื่อง
 -  มัลติมิเตอร์                                                                         1 เครื่อง

ขั้นตอนการทดลอง

        1. ออกแบบวงจร วาดผังวงจร และต่อวงจรบนเบรดบอร์ด เพื่อสร้างวงจรควบคุมแรงดันแบบปรับค่าได้โดยใช้ไอซี LM317T และอุปกรณ์ตามรายการที่ได้ระบุไว้ (ศึกษาตัวอย่างวงจรได้จากดาต้าชีท
LM317T และจากอินเทอร์เน็ต)
        2. ใช้แรงดันจากแหล่งจ่ายภายนอก โดยป้อนแรงดัน +9V เป็นแรงดันอินพุต และปรับค่าตัวต้านทานปรับค่าได้ในวงจร ให้ได้แรงดันเอาต์พุต +5V และ +3.3V ตามลำดับ ตรวจสอบและวัดระดับแรงดันเอาต์พุตด้วยมัลติมิเตอร์











วันพฤหัสบดีที่ 18 กันยายน พ.ศ. 2557

การทดลองที่ 4.5 การวัดอุณหภูมิโดยใช้ไอซี LM35DZ ร่วมกับบอร์ด Arduino

การทดลองที่ 4.5
การวัดอุณหภูมิโดยใช้ไอซี LM35DZ ร่วมกับบอร์ด Arduino

วัตถุประสงค์

 -  ฝึกต่อวงจรโดยใช้ไอซี LM35Dz และบอร์ด Arduino เพื่อวัดอุณหภูมิ

รายการอุปกรณ์

 -  แผงต่อวงจร (เบรดบอร์ด)                                             1 อัน
 -  บอร์ด Arduino (ใช้แรงดัน +5V)                                   1 บอร์ด
 -  ไอซีวัดอุณหภูมิ LM35DZ                                            1 ตัว
 -  ตัวเก็บประจุ 0.1uF                                                        1 ตัว
 -  สายไฟสำหรับต่อวงจร                                                  1 ชุด
 -  มัลติมิเตอร์                                                                    1 เครื่อง

ขั้นตอนการทดลอง

    1. ออกแบบวงจร วาดผังวงจร และต่อวงจรบนเบรดบอร์ด โดยใช้ไอซี LM35DZ และบอร์ด Arduino
เพื่ออ่านสัญญาณแอนะล็อก จากไอซี LM35DZ โดยป้อนเข้าที่ขา A0 (หรือขาแอนะล็อกขาอื่นก็ได้)
และให้ใช้แรงดันไฟเลี้ยง VCC=+5V และ Gnd จากบอร์ด Arduino เท่านั้น [ทุกกลุ่มจะต้องวาด
วงจรสำหรับการทดลองมาให้แล้วเสร็จ (ให้เตรียมตัวมาก่อนเข้าเรียนวิชาปฏิบัติ ถ้าไม่เตรียมมา
จะให้ทำให้ครั้งถัดไปของการเรียนวิชาปฏิบัติ)]
    2. ใช้มัลติมิเตอร์วัดแรงดันที่ได้จากเอาต์พุตของไอซี LM35DZ ในขณะที่ทำการทดลอง และคำนวณค่า
ของอุณหภูมิที่ควรจะได้ (ตามดาต้าชีทของไอซี LM35DZ) ในหน่วยเป็นเซลเซียส
    3. ทดลองเพิ่ม (หรือลด) อุณหภูมิแวดล้อมของไอซี LM35DZ เช่น การใช้นิ้วจับที่ตัวไอซี หรือการใช้ลม
ร้อนเป่าที่บริเวณตัวไอซี สังเกตการเปลี่ยนแปลงของแรงดันที่วัดได้
    4. เขียนโค้ดสำหรับ Arduino เพื่ออ่านค่าจากไอซี LM35DZ แล้วนำมาแปลงเป็นค่าของอุณหภูมิที่วัดได้
ในหน่วยเซลเซียส (ความละเอียดหนึ่งตำแหน่งหลังจุดทศนิยม เช่น 31.5) และให้ส่งค่าไปแสดงผล
ที่ Serial Monitor ของ Arduino IDE เป็นระยะๆ เช่น ประมาณ 0.5 วินาที ต่อหนึ่งครั้ง
    5. เขียนรายงานการทดลอง ซึ่งประกอบด้วยคำอธิบายการทดลองตามขั้นตอน ผังวงจรที่ถูกต้อง
ครบถ้วนตามหลักไฟฟ้า (ให้วาดด้วยโปรแกรม Cadsoft Eagle) รูปถ่ายของการต่อวงจรบน
เบรดบอร์ด โค้ด Arduino ที่ได้ทดลองจริงพร้อมคำอธิบายโค้ด/การทำงานของโปรแกรมโดย
ละเอียด และตัวอย่างผลที่แสดงบน Serial Monitor (Screen Capture)







การทดลองที่ 4.3 การต่อวงจรตัวต้านทานไวแสงและตรวจวัดการเปลี่ยนแปลงของปริมาณแสง

การทดลองที่ 4.3
การต่อวงจรตัวต้านทานไวแสงและตรวจวัดการเปลี่ยนแปลงของปริมาณแสง

วัตถุประสงค์

 -  ฝึกต่อวงจรโดยตัวต้านทานไวแสง (LDR) ร่วมกับไอซีเปรียบเทียบแรงดัน เบอร์ LM393N และใช้เป็น
อุปกรณ์ตรวจจับการเปลี่ยนแปลงปริมาณแสง

รายการอุปกรณ์

 -  แผงต่อวงจร (เบรดบอร์ด)                                                         1 อัน
 - ไอซีเปรียบเทียบแรงดัน เบอร์ LM393N                                    1 ตัว
 -  ตัวต้านทานปรับค่าได้แบบสามขา ขนาด 10kΩ หรือ 20kΩ       1 ตัว
 -  ตัวต้านทานไวแสง                                                                    1 ตัว
 -  ตัวต้านทาน 330Ω หรือ 470Ω                                                   1 ตัว
 -  ตัวต้านทาน 4.7kΩ                                                                    1 ตัว
 -  ตัวต้านทาน 10kΩ                                                                     1 ตัว
 -  ทรานซิสเตอร์ NPN เบอร์ PN2222A                                         1 ตัว
 -  สายไฟสำหรับต่อวงจร                                                              1 ชุด
 -  มัลติมิเตอร์                                                                                1 เครื่อง

ขั้นตอนการทดลอง

    1. ใช้มัลติมิเตอร์วัดค่าความต้านทานของตัวต้านทานไวแสง (LDR) ในสภาวะแสงที่แตกต่างกันในสาม
ระดับ (ปริมาณแสงน้อย ปานกลาง และมาก) แล้วจดบันทึกค่าที่วัดได้ สังเกตการเปลี่ยนแปลงของค่า
ความต้านทานเมื่อปริมาณแสงเปลี่ยน
    2. ต่อวงจรบนเบรดบอร์ด ตามรูปที่ 4.3.1 แล้ววัดแรงดัน Vx ในสภาวะแสงที่แตกต่างกัน (ปริมาณแสง
น้อย ปานกลาง มาก) แล้วจดบันทึกค่าที่วัดได้ สังเกตการเปลี่ยนแปลงของระดับแรงดันเมื่อปริมาณ
แสงเปลี่ยน
    3. ต่อวงจรบนเบรดบอร์ด ตามรูปที่ 4.3.2 (แบบที่ 1) โดยใช้แรงดันไฟเลี้ยง VCC=+5V และ Gnd
จากแหล่งจ่ายแรงดันควบคุม ทดลองหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ และวัดแรงดัน Vref ที่ได้
สังเกตสถานะติด/ดับของ LED
    4. ต่อวงจรบนเบรดบอร์ด ตามรูปที่ 4.3.3 (แบบที่ 2) โดยใช้แรงดันไฟเลี้ยง VCC=+5V และ Gnd
จากแหล่งจ่ายแรงดันควบคุม ทดลองหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ และวัดแรงดัน Vref ที่ได้
สังเกตสถานะติด/ดับของ LED
    5. ต่อวงจรบนเบรดบอร์ด ตามรูปที่ 4.3.4 (แบบที่ 3) โดยใช้แรงดันไฟเลี้ยง +5V +9V และ Gnd
จากแหล่งจ่ายแรงดันควบคุม ทดลองหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ เพื่อให้ LED “สว่าง”
เมื่อปริมาณแสงน้อย และให้ LED “ไม่ติด” เมื่อปริมาณแสงมาก
    6. เขียนรายงานการทดลอง ซึ่งประกอบด้วยคำอธิบายการทดลองตามขั้นตอน ผังวงจรที่ถูกต้อง
ครบถ้วนตามหลักไฟฟ้า (ให้วาดด้วยโปรแกรม Cadsoft Eagle) รูปถ่ายของการต่อวงจรบน
เบรดบอร์ด และตอบคำถามท้ายการทดลอง


รูปที่ 4.3.1: ผังวงจรสำหรับต่อวงจรตัวต้านทานปรับค่าได้

รูปที่ 4.3.2: ผังวงจรสำหรับต่อวงจรไอซีเปรียบเทียบแรงดัน (แบบที่ 1)

รูปที่ 4.3.3: ผังวงจรสำหรับต่อวงจรไอซีเปรียบเทียบแรงดัน (แบบที่ 2)

รูปที่ 4.3.4: ผังวงจรสำหรับต่อวงจรไอซีเปรียบเทียบแรงดัน (แบบที่ 3)

คำถามท้ายการทดลอง

1. ค่าความต้านทานของ LDR จะเปลี่ยนแปลงอย่างไร เมื่อปริมาณแสงเปลี่ยน และค่าความ
ต้านทานของ LDR ที่ได้จากการทดลอง จะอยู่ในช่วงใด

ตอบ    เมื่อแสงเพิ่ม ค่าความต้านทานของ LDR จะลดลง แต่ถ้าแสงน้อยลง ค่าความต้านทานของ LDR จะเพิ่มขึ้นจากการทดลองค่าความต้านทานของ LDR จะอยู่ในช่วง  157.5 OHM – 10.8 KOHM



2. สำหรับวงจรแบบที่ 1 และ 2 แรงดัน Vx จะเปลี่ยนแปลงอย่างไร เมื่อปริมาณแสงเปลี่ยน
(เปลี่ยนจากปริมาณแสงน้อยเป็นปริมาณแสงมาก)

ตอบ      วงจรแบบที่ 1
น้อย
ปานกลาง
มาก
2.36 v
3.6 v
4.78 v
                         วงจรแบบที่ 2
น้อย
ปานกลาง
มาก
2.29 v
3.95 v
4.52 v



3. สำหรับวงจรแบบที่ 3 การปรับค่าแรงดัน Vref โดยใช้ตัวต้านทานปรับค่าได้ในวงจร มีผลอย่างไร
ต่อการติดหรือดับของ LED

ตอบ        มีผล เมื่อปรับค่าตัวต้านทานให้มากที่สุดจะทำให้ LED ดับ และเมื่อปรับค่าให้ตัวท้านน้อยลงเรื่อยๆจะทำให้ LED ติด










วันพฤหัสบดีที่ 11 กันยายน พ.ศ. 2557

การทดลองที่ 4.1 การต่อวงจรไอซีเปรียบเทียบแรงดัน

การทดลองที่ 4.1
การต่อวงจรไอซีเปรียบเทียบแรงดัน

วัตถุประสงค์

   - ฝึกต่อวงจรเพื่อสร้างแรงดันอ้างอิง โดยใช้ตัวต้านทานปรับค่าได้ (Trimpot / Potentiometer)
     แบบ 3 ขา
   - ฝึกต่อวงจรโดยใช้ไอซีที่มีตัวเปรียบเทียบแรงดัน (Voltage Comparator) อยู่ภายใน เช่น เบอร์
     LM393N (ตัวถังแบบ PDIP-8)

รายการอุปกรณ์

   แผงต่อวงจร (เบรดบอร์ด)                                                                        1 อัน
   ไอซีเปรียบเทียบแรงดัน เบอร์ LM393N                                                  1 ตัว
   ตัวต้านทานปรับค่าได้แบบสามขา ขนาด 10kΩ หรือ 20kΩ                      1 ตัว
   ตัวต้านทาน 4.7kΩ หรือ 10kΩ (สำหรับ Pull-Up)                                     1 ตัว
   ตัวต้านทาน 330Ω หรือ 470Ω                                                                  1 ตัว
   ไดโอดเปล่งแสง (LED) ขนาด 5 มม.                                                       1 ตัว
   สายไฟสำหรับต่อวงจร                                                                             1 ชุด
   มัลติมิเตอร์                                                                                               1 เครื่อง
   แหล่งจ่ายแรงดันควบคุม                                                                          1 เครื่อง
   เครื่องกำเนิดสัญญาณแบบดิจิทัล                                                            1 เครื่อง
   ออสซิลโลสโคปแบบดิจิทัล                                                                     1 เครื่อง

ขั้นตอนการทดลอง

    1. ต่อวงจรโดยใช้ตัวต้านทานปรับค่าได้ ตามผังวงจรในรูปที่ 4.1.1 แล้วป้อนแรงดันไฟเลี้ยง                         VCC=+5Vและ Gnd จากแหล่งจ่ายแรงดันควบคุม ไปยังวงจรบนเบรดบอร์ด
   2. ใช้มัลติมิเตอร์วัดแรงดันระหว่างจุด Vx กับ Gnd และทดลองหมุนปรับค่าที่ตัวต้านทาน สังเกตและ            จดบันทึกค่าแรงดันต่ำสุดและแรงดันสูงสุดที่วัดได้
   3. ต่อวงจรบนเบรดบอร์ด โดยใช้ไอซี LM393N ตามผังวงจรในรูปที่ 4.1.2 (เลือกใช้ตัวเปรียบเทียบ
       แรงดันที่อยู่ภายในตัวใดตัวหนึ่งจากที่มีอยู่สองตัว)
   4. สร้างสัญญาณแบบสามเหลี่ยม (Triangular Wave) ให้อยู่ในช่วงแรงดัน 0V ถึง 5V โดยใช้เครื่อง
       กำเนิดสัญญาณ (Function Generator) โดยกำหนดให้ Vpp = 5V (Peak-to-Peak Voltage) และ
       แรงดัน Offset = 2.5V และความถี่ f = 1kHz เพื่อใช้เป็นสัญญาณอินพุต Vin แล้วนำไปป้อนให้ขา
       V- ของตัวเปรียบเทียบแรงดันที่ได้เลือกใช้
   5. ใช้ออสซิลโลสโคปวัดสัญญาณ โดยใช้ช่อง A สำหรับวัดสัญญาณที่มาจากเครื่องกำเนิดสัญญาณ            (Vin)และช่อง B สำหรับวัดสัญญาณเอาต์พุต (Vout) ที่ขาของตัวเปรียบเทียบแรงดันที่ได้เลือกใช้
       (บันทึกภาพที่ได้จากออสซิลโลสโคป เพื่อใช้ประกอบการเขียนรายงานการทดลอง)
   6. ทดลองหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ วัดแรงดัน Vref และสังเกตการเปลี่ยนแปลงค่า Duty
       Cycle ของรูปคลื่นสัญญาณเอาต์พุต
   7. สลับขาสัญญาณอินพุตที่ขา V+ และ V- (ตามผังวงจรในรูปที่ 4.1.3) แล้วทำขั้นตอนที่ 6 ถึง 7 ซ้ำ
   8. เขียนรายงานการทดลอง ซึ่งประกอบด้วย คำอธิบายการทดลองตามขั้นตอน ผังวงจรที่ถูกต้อง
       ครบถ้วนตามหลักไฟฟ้า (ให้วาดด้วยโปรแกรม Cadsoft Eagle) รูปถ่ายของการต่อวงจรบน
       เบรดบอร์ด รูปคลื่นสัญญาณที่วัดได้จากออสซิลโลสโคปตามโจทย์การทดลอง และตอบคำถาม
       ท้ายการทดลอง

รูปที่ 4.1.1: ผังวงจรสำหรับต่อวงจรที่ใช้ตัวต้านทานปรับค่าได้

รูปที่ 4.1.2: ผังวงจรสำหรับต่อวงจรเปรียบเทียบแรงดัน (Vin ต่อที่ขา V-)

รูปที่ 4.1.3: ผังวงจรสำหรับต่อวงจรเปรียบเทียบแรงดัน (Vin ต่อที่ขา V+)

คำถามท้ายการทดลอง

   1. ระดับของแรงดันอ้างอิง (Vref) ที่ได้จากตัวต้านทานปรับค่าได้ เพื่อใช้ในการเปรียบเทียบแรงดัน
       มีความสัมพันธ์อย่างไรกับระดับของแรงดันเอาต์พุต (Vout) ที่ได้จากตัวเปรียบเทียบแรงดัน และ
       ค่า Duty Cycle ของสัญญาณเอาต์พุตที่วัดได้ จงอธิบาย
       Ans.    ในกรณี ข้อ4.1.2 เมื่อ Vref เพิ่มขึ้น ค่า Duty cycle ของ Vout ก็จะเพิ่มขึ้นตาม เพราะ                  สมบัติของไอซีเปรียบเทียบแรงดัน คือ เมื่อขา + มีแรงดันมากกว่า output ที่เราจะได้                    คือ High แต่เมื่อขา - มีแรงดันมากกว่า output ที่เราได้ก็ คือ Low เช่น


   2. ถ้าจะให้สัญญาณเอาต์พุต Vout มีค่า Duty Cycle ประมาณ 50% จะต้องหมุนปรับค่าที่ตัว
       ต้านทานปรับค่าได้ ให้มีแรงดัน Vref ประมาณเท่าใด
       Ans.                              2.578 V

   3. เมื่อหมุนปรับค่าที่ตัวต้านทานปรับค่าได้ จากซ้ายสุดไปขวาสุด จะได้ค่า Vref อยู่ในช่วง ..….0……..        ถึง.……5.…….. โวลต์ และได้ค่า Duty Cycle ของสัญญาณเอาต์พุตอยู่ในช่วง ……..0…….. ถึง             ……100….เปอร์เซ็นต์


4.1   ต่อตัวต้านทานปรับค่าได้แบบสามขา เพื่อวัดแรงดัน


4.2


Duty cycle  0%


Duty cycle 50%


Duty cycle 80%



4.3


Duty cycle 0%


Duty cycle 100%



 

วันพฤหัสบดีที่ 4 กันยายน พ.ศ. 2557

POS และ SOP

POS และ SOP


  • SOP - Sum of product ผลบวกของผลคูณ
  • POS - Product of sum ผลคูณของผลบวก
SOP และ POS เป็นสมการหรือฟังก์ชันลอจิก ซึ่งมีโครงสร้างคล้ายกับสมการคณิตศาสตร์อื่น ๆ คือประกอบด้วย
  1. ตัวแปร(Input หรือ Variable) จะเขียนแทนด้วยตัวอักษรภาษาอังกฤษ เช่น A, B, C, x, y, z เป็นต้น
    • ตัวแปรที่อยู่ในรูปแบบปกติ เช่น A, B, C, x, y, z เป็นต้น
    • ตัวแปรที่อยู่ในรูปแบบคอมพลีเมนต์ เช่น A', B', C', x', y', z' เป็นต้น
  2. ค่าคงที่(Constant) จะมีเพียงสองค่าเท่านั้น คือ 0 และ 1 ซึ่งเป็นเลขฐานสองนั่นเอง
    • ตัวแปรที่อยู่ในรูปแบบปกติ เขียนแทนด้วย 1 เช่น A เขียนแทนด้วย 1 เป็นต้น
    • ตัวแปรที่อยู่ในรูปแบบคอมพลีเมนต์ เขียนแทนด้วย 0 เช่น A' เขียนแทนด้วย 0 เป็นต้น
  3. ตัวดำเนินการ(Operator) มีเพียงสองตัวเท่านั้น คือ AND (•) และ OR (+)  

SOP - Sum of product ผลบวกของผลคูณ หรือเรียกว่า Minterm

  • SOP เป็นรูปแบบสมการที่ในแต่ละเทอมจะอยู่ในรูป AND และนำแต่ละเทอมมา OR กัน ( AND ก่อน OR ทีหลัง)
  • เทอมที่มีตัวแปรครบทุกตัวเรียกว่า Minterm
  • สมการที่มีทุกเทอมเป็น Minterm เรียกสมการนั้นว่า Canonical sum หรือ Standard SOP
  • ตัวอย่างสมการ SOP
    • f(A,B,C) = ABC+A'+BC'
    • f(A,B,C) = BC+A'B
    • f(A,B,C) = A+BC'
    • f(A,B,C) = ABC+A'BC+A'B'C'
  • Standard SOP
    • คือสมการแบบ SOP ที่ทุกๆเทอมของสมการจะต้องมีตัวแปรครบทุกตัวในฟังก์ชันนั้น หรือทุกเทอมเป็น Minterm
    • จะประกอบด้วยจำนวน Minterm ≤ 2n เมื่อ n คือจำนวนตัวแปรทั้งหมดของสมการหรือฟังก์ชัน
    • ตัวอย่างเช่น f(A,B,C) = A'B'C' + ABC' + ABC จะเห็นได้ว่าทุกเทอมของสมการมีตัวแปรครบทุกตัวตามฟังก์ชัน แต่ถ้ามีบางเทอมของสมการมีตัวแปรไม่ครบทุกตัว เราสามารถที่จะขยายสมการให้ครบได้โดยการคูณด้วย 1 (X+X') เข้าไป โดยที่ X คือตัวแปรที่ขาด ตัวอย่างเช่น
    f(A,B,C) = A'B'C' + AB จะเห็นได้ว่าเทอม AB ขาดตัวแปร C
  วิธีทำ f(A,B,C) = A'B'C' + AB(C+C')
               = A'B'C' + ABC + ABC'  จะได้สมการ Standard SOP
  • การเขียนสมการ SOP จากตารางค่าความจริง(Truth Table)
  A    B    C    f(A,B,C)  
0001
0011
0100
0111
1000
1011
1101
1110
    • นำค่า output ในบรรทัดที่เป็น 1 ของฟังก์ชันในตารางค่าความจริงมาเขียนเป็น Standard SOP ซึ่ง 1 แทนตัวแปรที่อยู่ในรูปแบบปกติ เช่น A, B, C และ 0 แทนตัวแปรที่อยู่ในรูปแบบคอมพลีเมนต์ เช่น A', B', C' ได้ดังนี้
             f(A,B,C) = A'B'C' + A'B'C + A'BC + AB'C + ABC'
  • การใช้ตัวเลขแทนสมการ SOP
เราสามารถเขียนสมการตัวเลขแทนสมการ SOP ได้โดยการกำหนดเครื่องหมาย ∑ เข้ากับกลุ่มตัวเลขประจำบรรทัดของตารางความจริงในช่องที่มี output เป็น 1 ตัวอย่างเช่น
  A    B    C    f(A,B,C)  
0001
0010
0100
0111
1001
1010
1101
1111
   f(A,B,C) = A'B'C' + A'BC + AB'C' + ABC' + ABC
            = 000    + 011  + 100   + 110  + 111
            =  0        3      4       6      7
   f(A,B,C) = ∑(0,3,4,6,7)

POS - Product of sum ผลคูณของผลบวก หรือเรียกว่า Maxterm

  • POS เป็นรูปแบบสมการที่ในแต่ละเทอมจะอยู่ในรูป OR และนำแต่ละเทอมมา AND กัน ( OR ก่อน AND ทีหลัง)
  • เทอมที่มีตัวแปรครบทุกตัวเรียกว่า Maxterm
  • สมการที่มีทุกเทอมเป็น Maxterm เรียกสมการนั้นว่า Canonical product หรือ Standard POS
  • ตัวอย่างสมการ POS
    • f(A,B,C) = (A+B+C)(A+B+C')(A+B)
    • f(A,B,C) = (B+C)(A'+B)
    • f(A,B,C) = (A+B)(A'+C')(B')
    • f(A,B,C) = (A+B+C)(A'+B+C)(A'+B'+C')
  • Standard POS
    • คือสมการแบบ POS ที่ทุกๆเทอมของสมการจะต้องมีตัวแปรครบทุกตัวในฟังก์ชันนั้น หรือทุกเทอมเป็น Maxterm
    • จะประกอบด้วยจำนวน Maxterm ≤ 2nเมื่อ n คือจำนวนตัวแปรทั้งหมดของสมการหรือฟังก์ชัน
    • ตัวอย่างเช่น f(A,B,C) = (A'+B'+C')(A+B+C')(A+B+C) จะเห็นได้ว่าทุกเทอมของสมการมีตัวแปรครบทุกตัวตามฟังก์ชัน แต่ถ้ามีบางเทอมของสมการมีตัวแปรไม่ครบทุกตัว เราสามารถที่จะขยายสมการให้ครบได้โดยการบวกด้วย 0 (X•X') เข้าไป โดยที่ X คือตัวแปรที่ขาด ตัวอย่างเช่น
      f(A,B,C) = (A'+B'+C')(A+B) จะเห็นได้ว่าเทอม AB ขาดตัวแปร C
   วิธีทำ f(A,B,C) = (A'+B'+C')(A+B+(C•C'))
                = (A'+B'+C')(A+B+C)(A+B+C')  จะได้สมการ Standard POS
  • การเขียนสมการ POS จากตารางค่าความจริง(Truth Table)
  A    B    C    f(A,B,C)  
0001
0011
0100
0111
1000
1011
1101
1110
    • นำค่า output ในบรรทัดที่เป็น 0 ของฟังก์ชันในตารางค่าความจริงมาเขียนเป็น Standard POS ซึ่ง 0 แทนตัวแปรที่อยู่ในรูปแบบปกติ เช่น A, B, C และ 1 แทนตัวแปรที่อยู่ในรูปแบบคอมพลีเมนต์ เช่น A', B', C' ได้ดังนี้
            f(A,B,C) = (A+B'+C)(A'+B+C)(A'+B'+C')
  • การใช้ตัวเลขแทนสมการ POS
เราสามารถเขียนสมการตัวเลขแทนสมการ POS ได้โดยการกำหนดเครื่องหมาย π เข้ากับกลุ่มตัวเลขประจำบรรทัดของตารางความจริงในช่องที่มี output เป็น 0 ตัวอย่างเช่น
  A    B    C    f(A,B,C)  
0000
0010
0101
0110
1000
1011
1101
1110
   f(A,B,C) = (A'+B'+C')(A'+B+C)(A+B'+C')(A+B+C')(A+B+C)
            =    111      100      011      001    000
            =     7        4        3        1      0
   f(A,B,C) = π(0,1,3,4,7)

Convert SOP to POS

  • ทำสมการ SOP ให้เป็น Standard SOP
  • หาจำนวนเทอมสูงสุดของสมการ = 2nเมื่อ n คือจำนวนตัวแปรทั้งหมดของสมการหรือฟังก์ชัน หาจำนวน Maxterm ของสมการ POS ซึ่งเท่ากับ 2n - จำนวน Minterm
  • แปลงรูประหว่าง Minterm ไปเป็น Maxterm โดยใช้สูตร
   f(ตัวแปร n ตัว) = ∑(ตัวเลขประจำบรรทัดของสมการ SOP 2n ตัว)
              = π(ตัวเลขประจำบรรทัดของสมการ SOP 2n ตัว)'
  • ตัวอย่างเช่น
   f(A,B,C) = A'B'C +  A'BC + ABC
          = 001      011    111
          =  1        3      7
          = ∑(1,3,7)
          = π(1,3,7)'
          = π(0,2,4,5,6 )
          =   000    010      100     101      110
          = (A+B+C)(A+B'+C)(A'+B+C)(A'+B+C')(A'+B'+C)

Convert POS to SOP

  • ทำสมการ POS ให้เป็น Standard POS
  • หาจำนวนเทอมสูงสุดของสมการ = 2nเมื่อ n คือจำนวนตัวแปรทั้งหมดของสมการหรือฟังก์ชัน หาจำนวน Minterm ของสมการ SOP ซึ่งเท่ากับ 2n - จำนวน Maxterm
  • แปลงรูประหว่าง Maxterm ไปเป็น Minterm โดยใช้สูตร
   f(ตัวแปร n ตัว)  = π(ตัวเลขประจำบรรทัดของสมการ POS 2n ตัว)
               = ∑(ตัวเลขประจำบรรทัดของสมการ POS 2n ตัว)'
  • ตัวอย่างเช่น
   f(A,B,C) = (A+B+C)(A+B'+C)(A'+B+C)(A'+B+C')(A'+B'+C)
          =   000    010      100     101      110
          =    0      2        4       5        6
          = π(0,2,4,5,6)
          = ∑(0,2,4,5,6)'
          = ∑(1,3,7)
          =  001     011    111
          = A'B'C +  A'BC + ABC
   BY          http://th.wikipedia.org/wiki/POS_และ_SOP

แผนผังคาร์นอจ์และวงจรคอมบิเนชั่น

แผนผังคาร์นอจ์และวงจรคอมบิเนชั่น

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

คาร์นอจ์แม็พ (Karnaugh map)
                แผนผังคาร์นอจ์ จะเป็นรูปแบบหนึ่งของตารางความจริง โดยจะมีลักษณะของพื้นผิวลักษณะเป็นทรงกลม แต่ในการเขียนจะเขียนเป็นแผนภาพที่ประกอบด้วยสี่เหลี่ยมจัตุรัสหลาย ๆ ช่อง โดยมีจำนวนช่องเท่ากับ 2n ช่อง โดย คือจำนวนตัวแปรในฟังก์ชั่น สี่เหลี่ยมแต่ละช่องจะแทนตารางความจริงในหนึ่งแถว ซึ่งอาจจะเป็น mimterm หรือmaxterm หนึ่งเทอมก็ได้ แล้วแต่การพิจารณาของเรา ซึ่งค่าที่จะปรากฏอยู่ในช่องสี่เหลี่ยมต่าง ๆ ก็คือ ส่วนที่เป็น output ของวงจรลอจิกที่ต้องการนั่นเอง โดยมีการกำหนดค่า input ของตัวแปรในแนวต่าง ๆ บริเวณนอกตาราง

คาร์นอจ์แม็พ ตัวแปร
คาร์นอจ์แม็พ ตัวแปร จะประกอบด้วยช่องของสี่เหลี่ยมจัตุรัสต่าง ๆ จำนวน 22 ช่อง หรือ ช่อง แต่ละช่องจะแทนเทอมต่าง ๆ ในรูปแบบของ minterm  หรือ  maxterm  ซึ่งมีลักษณะของแผนภาพดังที่แสดงในรูปที่ 5.1 ซึ่งจะเห็นว่า แผนภาพคาร์นอจ์นั้น ในแนวคอลัมน์ (column) จะกำหนดค่าตัวแปร input ของ  A ส่วนในแนวของแถว(row) จะกำหนดค่าตัวแปร input ของ โดยในรูปที่ 5.2 จะแสดงการแทนค่าของตัวแปรในรูปแบบของ minterm  และ  maxterm

รูปที่ 5.1 คาร์นอจ์แม็พ 2  ตัวแปร

รูปที่ 5.2 แสดงค่าของตัวแปรในคาร์นอจ์แม็พ

คาร์นอจ์แม็พ ตัวแปร
คาร์นอจ์แม็พ ตัวแปร จะประกอบด้วยช่องของสี่เหลี่ยมจัตุรัสต่าง ๆ จำนวน 23 ช่อง หรือ ช่อง แต่ละช่องจะแทนเทอมต่าง ๆ ในรูปแบบของ minterm  หรือ  maxterm เช่นกัน ซึ่งมีลักษณะของแผนภาพดังที่แสดงในรูปที่ 5.3 แต่จะในส่วนของการกำหนดค่าตัวแปรในแนวคอลัมน์หรือแนวแถว จะมีหนึ่งแนวที่จะต้องแทนค่าของตัวแปรมากกว่า ตัวแปร ซึ่งจะสังเกตเห็นว่าแนวที่มีการแทนตัวแปรมากกว่า ตัวแปรจะมีการเรียงค่าที่ไม่เป็นไปตามเลขฐานสอง แต่จะเป็นการเรียงค่าในลักษณะของรหัสเกรย์ คือ 00, 01, 11, 10
รูปที่ 5.3 คาร์นอจ์แม็พ 3  ตัวแปร

คาร์นอจ์แม็พ ตัวแปร
คาร์นอจ์แม็พ ตัวแปร จะประกอบด้วยช่องของสี่เหลี่ยมจัตุรัสต่าง ๆ จำนวน 24 ช่อง หรือ 16 ช่อง แต่ละช่องจะแทนเทอมต่าง ๆ ในรูปแบบของ minterm  หรือ  maxterm เช่นกัน ซึ่งมีลักษณะของแผนภาพดังที่แสดงในรูปที่ 5.4 ซึ่งในส่วนของการกำหนดค่าตัวแปรในแนวคอลัมน์หรือแนวแถว จะต้องแทนค่าของตัวแปรมากกว่า ตัวแปร โดยจะมีการเรียงค่าของตัวแปรในแนวต่าง ๆ ตามลักษณะของรหัสเกรย์ คือ 00, 01, 11, 10 เช่นกัน
รูปที่ 5.4 คาร์นอจ์แม็พ 4  ตัวแปร

การใช้คาร์นอจ์แม็พในการลดรูปสมการบูลีน
                การใช้คาร์นอจ์แม็พในการลดรูปสมการบูลีนนั้น มีหลักสำคัญดังนี้
1)      เขียนตารางของคาร์นอจ์แม็พตามจำนวนของตัวแปร
2)      ตัดสินใจเลือกว่าจะใช้เทอมในลักษณะของ minterm หรือ maxterm
3)      ใส่ค่าของ output ลงในช่องต่าง ๆ ของคาร์นอจ์แม็พ โดยถ้าต้องการพิจารณาแบบ minterm ให้ใส่เฉพาะช่องที่เป็น แต่ถ้าต้องการพิจารณาแบบ maxterm ให้ใส่เฉพาะช่องที่เป็น 0
4)      จับกลุ่มช่องที่อยู่ติดกันในลักษณะประชิด (Looping) เฉพาะช่องที่เราสนใจ โดยในแต่ละกลุ่มจะต้องมีสมาชิกในกลุ่มที่ติดกันจำนวน n ช่อง คือ 1 , 2 , 4 , 8 , 16 ช่อง โดยพยายามให้ในแต่ละกลุ่มมีสมาชิกมากที่สุด สมาชิกของช่องใดที่เข้ากลุ่มแล้วสามารถเป็นสมาชิกของกลุ่มอื่นได้อีก
5)      ดำเนินการหาผลลัพธ์ของในแต่ละกลุ่ม โดยในกลุ่มให้พิจารณาตัวแปรของแต่ละช่องของสมาชิกว่ามีตัวแปรซ้ำกันทุกช่องหรือไม่ ตัวแปรใดที่มีซ้ำกันทุกช่องก็จะเป็นคำตอบของกลุ่มนั้น ๆ โดยกลุ่มยิ่งใหญ่จะเหลือตัวแปรน้อยกว่า นั่นคือ กลุ่มที่มีสมาชิกจำนวน 2n ช่อง ตัวแปรจะถูกตัดไป ตัว
ัวอย่างที่ จงลดรูปสมการต่อไปนี้
ก)                       
)
                


วิธีทำ

                )
                \          
                )
 
\                                

 Don’t care term
                ในการออกแบบวงจรลอจิกจากตารางความจริงที่ต้องการในบางครั้ง อาจจะมีการใช้อินพุตไม่ครบทุกแถวของตารางความจริง เช่นในกรณีที่อินพุตเป็นรหัส BCD ที่ใช้แทนเลขฐานสิบ จะเห็นง่าจำเป็นต้องใช้อินพุตจำนวน บิต ซึ่งสามารถแทนจำนวนแถวทั้งหมดได้ 16 แถว แต่ในกรณีนี้เป็นรหัส BCD จะต้องการอินพุตที่เป็นได้เพียง 10แถวนั่นเอง ฉะนั้นอินพุตอื่น ๆ ที่ไม่เป็นรหัส BCD จะต้องควบคุมไม่ให้เกิดขึ้นซึ่งจะได้ศึกษากันต่อไป ส่วนเอาท์พุตของสถานะอินพุตที่ไม่ต้องการให้เกิดขึ้น เราสามารถนำมาใช้ช่วยในการลดรูปสมการบูลีนได้ โดยจะช่วยในการจับกลุ่มของสมาชิกในลูปต่าง ๆ ของคาร์นอจ์แม็พให้ใหญ่ขึ้นได้ เนื่องจากเอาท์พุตต่าง ๆ เหล่านี้ จะให้เป็นลอจิก “0”หรือ “1” ก็ได้ไม่มีผลต่อภาพโดยรวมซึ่งเป็นงานที่ต้องการ ซึ่งเอาท์พุตที่เป็นเอาท์พุตในลักษณะนี้เราเรียกว่า Don’t care term ซึ่งสามารถเขียนแทนด้วย หรือ x

ตัวอย่างที่ 5.2 จงเขียน Logic Diagram จาก Truth table ต่อไปนี้
INPUT
BCD-8421
OUTPUT
A
B
C
D
F
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1

วิธีทำ
                นำค่าต่าง ๆ จากตารางความจริงมาเขียนแผนผังคาร์นอจ์ได้ดังนี้


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

   BY
             http://kampol.htc.ac.th/web1/subject/digital_tech/sheet/digit5.htm