Posts

Showing posts with the label X4 Encoding

Rotary Encoder กับ PIC18F2431 โดยใช้ QEI Module

Image
การใช้งาน Quadrature Encoder ในบทความก่อนหน้านี้นั้นได้ใช้วิธีการประมวลผลจากการตรวจจับ Interrupt ของขอบสัญญาณ ซึ่งเป็นวิธีการที่ไม่ดีนัก ดังนั้น Microcontroller บางตัวจึงได้ใส่ module  ที่ทำหน้าที่ประมวลผลสัญญาณของ Quadrature Encoder มาให้เลย Quadrature Encoder Interface (QEI) ของ PIC18F2431 นั้นมีแผนภาพดังนี้ ความสามารถของ QEI Module ตรวจจับทิศทางของการหมุุนโดยการ interrupt (ICDRIF) 16-bit up/down position counter (POSCNT) สามารถตรวจนับได้ทั้งแบบ x2 และ x4 สามารถวัดความเร็วได้ สามารถตรวจจับตำแหน่งได้ด้วย Interrupt (IC2QEIF) การใช้งาน (ดูอ้างอิงตาม Datasheet ในส่วนของรีจิสเตอร์ QEICON) การตรวจจับเมื่อหมุนครบรอบโดยใช้สัญญาณจาก index (สัญญาณ Z) ให้ตรวจจับ interrupt  โดยให้ทำการเซ็ต QEICON:QEIM เป็น 001 (โหมด x2) และ 101 (โหมด x4) การตรวจจับโดยนับถึงตำแหน่งที่ต้องการ (POSCNT = MAXCNT) เช่น ถ้าต้องการให้นับถึงตำแหน่งที่ 4000 ให้ทำการเซ็ต MAXCNTH = 0x0f และ MAXCNTL = 0x9f (3999 = 0x0f9f) โดย flag bit ของการ interrupt ข้างบนนี้คือตัวเดียวกัน (IC2QEIF) เมื่อถูกเซ็ตแล้ว ต้อง...

การเชื่อมต่อและการเขียนโปรแกรมใช้งาน Rotary Encoder แบบ X4 Counting

Image
     Rotary Encoder เป็นอุปกรณ์ที่สามารถบอกตำแหน่งหรือความเร็วในการเคลื่อนที่เชิงมุม ส่วนมากภายในจะใช้เซนเซอร์แบบแสงซึ่งจะให้สัญญาณออกมาในรูปแบบ Pulse ที่สามารถนำมาประมวลผลได้ โดย Rotary Encoder สามารถแบ่งออกได้เป็น Absolute Encoder และ Incremental Encoder โดยในบทความนี้จะกล่าวถึงเฉพาะ Incremental Encoder เท่านั้น Incremental Rotary Encoder          Incremental Encoder นั้นจะมีสัญญาณเอาต์พุตเป็น Pulse ต่อเนื่องเรื่อยๆ ถึงแม้ว่าจะหมุนครบรอบไปแล้วก็ตาม แต่ว่าไม่สามารถที่จะบอกทิศทางการหมุนได้ ดังนั้นแล้ว Incremental Encoder ส่วนมากจึงมีสัญญาณเอาต์พุตอีกช่องที่มีเฟสแตกต่างกัน ทำให้สามารถบอกทิศทางการหมุนได้ เรียกว่า Quadrature Encoder รูปที่ 1. Quadrature Encoder block diagram      รูปที่ 1 เป็นบล๊อคไดอะแกรมของ Quadrature Encoder ซึ่งประกอบไปด้วยจานล้อหมุนที่มีวงรอบด้านนอกเป็นช่องๆสลับกับส่วนทึบหมุนไปมา ซึ่งจะทำให้ฝั่ง Detector Section ที่มี Photo Diodes ที่ถูกแบ่งออกเป็น 2 ส่วนคือ A กับ B เกิดสัญญาณที่มีเ...