วันพุธที่ 2 มีนาคม พ.ศ. 2554

การตรวจสอบลำดับเฟสโดยใช้ Input Capture

สมชาย เบียนสูงเนิน
ภาควิชาวิศวกรรมไฟฟ้า คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเทคโนโลยีราชมงคลธัญบุรี

          วัตถุประสงค์ของบทความนี้เพื่อให้เกิดความเข้าใจการทำงานของโมดูลตรวจจับสัญญาณอินพุต (Input Capture, IC) ซึ่งไมโครคอนโทรลเลอร์สมัยไหม่ต้องมี การใช้งานโมดูลตรวจจับสัญญาณอินพุตจะใช้ร่วมกับโมดูลจับเวลา (Timer) หลักการทำงานคือเมื่อไมโครคอนโทรลเลอร์ตรวจพบขอบขาของสัญญาณตรงตามที่กำหนด จะนำค่าเวลาของ Timer ณ ตำแหน่งที่ตรวจพบขอบขาของสัญญาณเข้าเก็บที่รีจีสเตอร์ของโมดูลตรวจจับสัญญาณอินพุตตัวนั้นๆ รูปที่ 3.27 กำหนดให้ตรวจจับสัญญาณขอบขาขึ้น รีจีสเตอร์ของโมดูล IC0 เก็บค่า 00:00:30 รีจีสเตอร์ของโมดูล IC1 ก็จะเก็บค่า 00:00:10 และรีจีสเตอร์ของโมดูล IC2 ก็จะเก็บค่า 00:00:50 (ในทางปฏิบัติจะเก็บเป็นตัวเลขซึ่งเริ่มนับตั้งแต่ 0, 1, 2 … ไปเรื่อยๆ โดยผู้พัฒนาโปรแกรมต้องนำตัวเลขที่ได้ไปคำนวณค่าเวลาจากความถี่ของสัญญาณนาฬิกาหลักที่ใช้) นอกจากการเก็บค่าเวลาแล้ว โมดูลตรวจจับสัญญาณอินพุตยังสามารถระบุจำนวนครั้งของการตรวจจับเพื่อให้เกิดการอินเตอร์รัพท์ได้ด้วย ถ้านำสัญญาณที่เข้าโมดูล IC ทั้งสามมาเรียงลำดับเฟสก็จะได้เป็น IC1-IC0-IC2









การตราจสอบลำดับโดยใช้โมดูลตรวจจับสัญญาณอินพุตจะเริ่มจากการตรวจจับสัญญาณที่เฟส A (IC1) ให้พบก่อน เมื่อพบแล้วจึงสั่งให้อีกสองโมดูลคือ IC7 และ IC8 เริ่มตรวจจับสัญญาณแล้วเก็บค่าเวลาของทั้งสองโมดูล ถ้าเวลาที่เก็บได้ IC7 น้อยกว่า IC8 แสดงว่าลำดับเฟสเป็น A-B-C แต่ถ้า IC7 มากกว่า IC8 ลำดับเฟสเป็น A-C-B ตั้งค่าโมดูลตรวจจับสัญญาณ(Input Capture) ได้ดังนี้ (รีจีสเตอร์ที่ระบุเป็นของไมโครคอนโทรลเลอร์ dsPIC30Fxxxx)
            1) เลือกรูปแบบการตรวจจับสัญญาณ (ICxCONbits.ICM)
            2) เลือก Timer ที่จะใช้งานร่วมกับโมดุลตรวจจับสัญญาณ (ICxCONbits.ICTMR)
            3) กำหนดจำนวนครั้งการตรวจจับสัญญาณต่อการอินเตอร์รัฟ (ICxCONbits.ICI)
เมื่อเกิดการตรวจจับสัญญาณตามเงื่อนไขที่กำหนด ค่าเวลาของ Timer จะถูกส่งไปเก็บที่ส่วนพักข้อมูลของโมดูลตรวจจับสัญญาณ (ICxBUF)





                                                               รูปการแสดงผลลำดับเฟส








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

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