กลับไปหน้าบทความ

อ่าน 8 นาที

ตัวเข้ารหัสแบบเพิ่มทีละขั้น

ตัว เข้ารหัสแบบเพิ่มค่า (Incremental Encoder) เป็นอุปกรณ์อิเล็กโทรเมคานิกส์เชิงเส้นหรือแบบหมุนที่มี สัญญาณ เอาต์พุตสองสัญญาณ คือ A และ B ซึ่งจะส่งพัลส์เมื่ออุปกรณ์เคลื่อนที่ [ 1 ]...

ตัวเข้ารหัสแบบเพิ่มทีละขั้น

ตัวเข้ารหัสแบบหมุนเพิ่มค่าพร้อมเพลาที่ติดอยู่กับช่องเปิดทะลุ
บทนำเกี่ยวกับตัวเข้ารหัสแบบเพิ่มทีละขั้น จากสคริปต์Incremental Encoder ของ VideoWiki

ตัวเข้ารหัสแบบเพิ่มค่า (Incremental Encoder)เป็นอุปกรณ์อิเล็กโทรเมคานิกส์เชิงเส้นหรือแบบหมุนที่มีสัญญาณ เอาต์พุตสองสัญญาณ คือAและBซึ่งจะส่งพัลส์เมื่ออุปกรณ์เคลื่อนที่[ 1 ] สัญญาณ AและBร่วมกันบ่งชี้ทั้งการเกิดขึ้นและทิศทางการเคลื่อนที่ ตัวเข้ารหัสแบบเพิ่มค่าจำนวนมากมีสัญญาณเอาต์พุตเพิ่มเติม ซึ่งโดยทั่วไปเรียกว่าดัชนี[ 2 ]หรือZ [ 3 ]ซึ่งบ่งชี้ว่าตัวเข้ารหัสอยู่ที่ตำแหน่งอ้างอิงเฉพาะ นอกจากนี้ ตัวเข้ารหัสบางตัวยังให้เอาต์พุตสถานะ (โดยทั่วไปเรียกว่าสัญญาณเตือน ) [ 4 ]ซึ่งบ่งชี้สภาวะความผิดพลาดภายใน เช่น ความล้มเหลว ของแบริ่งหรือการทำงานผิดปกติของเซ็นเซอร์

ต่างจากตัวเข้ารหัสแบบสัมบูรณ์ตัวเข้ารหัสแบบเพิ่มค่าไม่ได้ระบุตำแหน่งสัมบูรณ์[หมายเหตุ 1 ]มันรายงานเฉพาะการเปลี่ยนแปลงตำแหน่งและทิศทางการเคลื่อนที่ที่สอดคล้องกันสำหรับการเปลี่ยนแปลงแต่ละครั้งเท่านั้น ดังนั้น เพื่อกำหนดตำแหน่งสัมบูรณ์ ณ ช่วงเวลาใดเวลาหนึ่ง จำเป็นต้องส่งสัญญาณตัวเข้ารหัสไปยังอินเทอร์เฟซตัวเข้ารหัสแบบเพิ่มค่าซึ่งจะ "ติดตาม" และรายงานตำแหน่งสัมบูรณ์ของตัวเข้ารหัส

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

เอาต์พุตควอดราเจอร์

คลื่นสี่เหลี่ยมสองลูกที่ตั้งฉากกัน ทิศทางการเคลื่อนที่แสดงด้วยเครื่องหมายของ ผลต่างเฟส A - Bซึ่งในกรณีนี้เป็นลบเนื่องจากAตามหลังB

ตัวเข้ารหัสแบบเพิ่มค่าจะสร้าง สัญญาณเอาต์พุต AและBโดยใช้เทคนิคการเข้ารหัสแบบควอดราเจอร์ เมื่อตัวเข้ารหัสเคลื่อนที่ด้วยความเร็วคงที่สัญญาณAและB จะเป็น คลื่นสี่เหลี่ยม ที่ มีเฟสต่าง กัน 90° ทำให้สามารถตรวจจับทั้งการเคลื่อนที่และทิศทางได้[ 2 ]

ในแต่ละช่วงเวลา ความแตกต่างของเฟสระหว่าง สัญญาณ AและBจะเป็นค่าบวกหรือลบ ขึ้นอยู่กับทิศทางการเคลื่อนที่ของตัวเข้ารหัส ในกรณีของตัวเข้ารหัสแบบหมุน ความแตกต่างของเฟสจะเป็น +90° สำหรับการหมุนตามเข็มนาฬิกา และ −90° สำหรับการหมุนทวนเข็มนาฬิกา หรือในทางกลับกัน ขึ้นอยู่กับการออกแบบของอุปกรณ์

สัญญาณ A และ B (นาฬิกาและข้อมูล) จากเพลาที่แกว่งไปมา
สัญญาณควอดราเจอร์จากเพลาที่สั่น อ่านทิศทางตามเข็มนาฬิกาจาก 'ข้อมูล' บนขอบขาขึ้นของสัญญาณ 'นาฬิกา' เมื่อเพลาเปลี่ยนทิศทาง เพลาจะช้าลงและหมุนกลับ ทำให้ความกว้างของพัลส์และเฟสเปลี่ยนแปลง

ความถี่ของพัลส์บน เอาต์พุต AหรือBเป็นสัดส่วนโดยตรงกับความเร็วของตัวเข้ารหัส (อัตราการเปลี่ยนแปลงตำแหน่ง) ความถี่สูงบ่งชี้ถึงการเคลื่อนที่อย่างรวดเร็ว ในขณะที่ความถี่ต่ำบ่งชี้ถึงความเร็วที่ช้าลง[ 1 ]สัญญาณคงที่ที่ไม่เปลี่ยนแปลงจะถูกส่งออกทางAและBเมื่อตัวเข้ารหัสหยุดนิ่ง ในกรณีของตัวเข้ารหัสแบบหมุนความถี่จะบ่งชี้ถึงความเร็วในการหมุนของเพลาตัวเข้ารหัส และในตัวเข้ารหัสเชิงเส้น ความถี่จะบ่งชี้ถึงความเร็วในการเคลื่อนที่เชิงเส้น

ภาพร่างเชิงแนวคิดของกลไกการตรวจจับของตัวเข้ารหัสแบบควอดราเจอร์

สัญญาณเอาต์พุตของตัวเข้ารหัสแบบควอดราเจอร์สามารถสร้างขึ้นได้จากรูปแบบควอดราเจอร์ออฟเซ็ตที่อ่านโดยเซ็นเซอร์ที่จัดเรียง (แผนภาพด้านซ้าย) หรือจากรูปแบบง่ายๆ ที่อ่านโดยเซ็นเซอร์ออฟเซ็ต (แผนภาพด้านขวา)

ปณิธาน

ความละเอียดของตัวเข้ารหัสแบบเพิ่มค่าคือการวัดความแม่นยำของข้อมูลตำแหน่งที่สร้างขึ้น โดยทั่วไปความละเอียดของตัวเข้ารหัสจะระบุเป็นจำนวน พัลส์ A (หรือB ) ต่อหน่วยการเคลื่อนที่ หรือเทียบเท่ากับจำนวนรอบ คลื่นสี่เหลี่ยม A (หรือB ) ต่อหน่วยการเคลื่อนที่ ในกรณีของตัวเข้ารหัสแบบหมุน ความละเอียดจะระบุเป็นจำนวนพัลส์ต่อรอบ (PPR) หรือรอบต่อรอบ (CPR) [ 3 ]ในขณะที่ความละเอียดของตัวเข้ารหัสเชิงเส้นโดยทั่วไปจะระบุเป็นจำนวนพัลส์ที่ส่งออกสำหรับระยะการเคลื่อนที่เชิงเส้นที่กำหนด (เช่น 1000 พัลส์ต่อมิลลิเมตร )

สิ่งนี้แตกต่างจากความละเอียดในการวัด ซึ่งหมายถึงการเปลี่ยนแปลงตำแหน่งที่เล็กที่สุดที่ตัวเข้ารหัสสามารถตรวจจับได้ขอบสัญญาณแต่ละขอบบนเอาต์พุตAหรือBสอดคล้องกับการเปลี่ยนแปลงตำแหน่งแบบไม่ต่อเนื่อง เนื่องจากหนึ่งรอบคลื่นสี่เหลี่ยมเต็มรอบบนA (หรือB ) ประกอบด้วยขอบสี่ขอบ ได้แก่A ขึ้น , B ขึ้น , A ลง และB ลง ดังนั้นความละเอียดในการวัดจึงเป็นหนึ่งในสี่ของระยะทางที่แสดงโดยรอบเต็มรอบ ตัวอย่างเช่น ตัวเข้ารหัสเชิงเส้นที่มีความละเอียด 1000 พัลส์ต่อมิลลิเมตร มีความละเอียดต่อรอบ 1 μm (1 มม. / 1000 รอบ) ทำให้ได้ความละเอียดในการวัด 250 นาโนเมตร (1 μm / 4)

สมมาตรและเฟส

ตัวเข้ารหัสแบบเพิ่มค่าแสดงข้อผิดพลาดด้านสมมาตรและเฟสเนื่องจากความไม่สมบูรณ์ของเซ็นเซอร์

เมื่อเคลื่อนที่ด้วยความเร็วคงที่ ตัวเข้ารหัสแบบเพิ่มค่าในอุดมคติจะส่งสัญญาณคลื่นสี่เหลี่ยมที่สมบูรณ์แบบบนAและB (กล่าวคือ พัลส์จะมีขนาดความกว้าง 180° พอดี และรอบการทำงานจะเท่ากับ 50%) โดยมีเฟสต่างกัน 90° ระหว่าง สัญญาณ AและBอย่างไรก็ตาม ในตัวเข้ารหัสที่ใช้งานจริง เนื่องจากความไม่สมบูรณ์ของเซ็นเซอร์และความแปรผันของความเร็ว ความกว้างของพัลส์จึงไม่เท่ากับ 180° พอดี และเฟสต่างกันก็ไม่เท่ากับ 90° พอดี ยิ่งไปกว่านั้น ความกว้างของพัลส์ AและBจะแตกต่างกันไปในแต่ละรอบ (และแตกต่างกันเอง) และเฟสต่างกันจะแตกต่างกันไปในแต่ละ ขอบของสัญญาณ AและBดังนั้น ทั้งความกว้างของพัลส์และเฟสต่างกันจึงจะแปรผันไปในช่วงค่าต่างๆ

สำหรับตัวเข้ารหัสแต่ละตัว ช่วงความกว้างของพัลส์และความแตกต่างของเฟสจะถูกกำหนดโดยข้อกำหนด "สมมาตร" และ "เฟส" (หรือ "การจัดเฟส") ตามลำดับ ตัวอย่างเช่น ในกรณีของตัวเข้ารหัสที่มีการระบุสมมาตรไว้ที่ 180° ±25° ความกว้างของพัลส์เอาต์พุตแต่ละพัลส์จะรับประกันได้ว่าอย่างน้อย 155° และไม่เกิน 205° ในทำนองเดียวกัน หากระบุเฟสไว้ที่ 90° ±20° ความแตกต่างของเฟสที่ ขอบ AหรือB แต่ละ ขอบจะมีอย่างน้อย 70° และไม่เกิน 110°

ประเภทสัญญาณ

ตัวเข้ารหัสแบบเพิ่มค่า (Incremental encoder) ใช้วงจรไฟฟ้าหลายประเภทในการขับเคลื่อน (ส่ง) สัญญาณเอาต์พุต และผู้ผลิตมักสามารถสร้างตัวเข้ารหัสรุ่นใดรุ่นหนึ่งโดยใช้ตัวขับหลายประเภทได้ ประเภทตัวขับที่พบได้ทั่วไป ได้แก่ แบบ open collector, แบบกลไก, แบบ push-pull และแบบ differential RS-422

ตัวเก็บประจุแบบเปิด

แผนภาพวงจรแสดงวงจรขับแบบโอเพนคอลเลคเตอร์ทั่วไป ตัวต้านทานดึงขึ้น (pull-up resistor) ที่เอาต์พุตนั้นมีอยู่ในตัวเข้ารหัสบางตัวอยู่แล้ว หากไม่มีในตัว จะต้องใช้ตัวต้านทานภายนอก

วงจรขับ แบบ Open Collector (โดยใช้ทรานซิสเตอร์ NPNหรือวงจรขับแบบ Open Drain โดยใช้MOSFET ชนิด n ) ช่วยให้สามารถทำงานได้ในช่วงแรงดันสัญญาณที่กว้าง และมักจะสามารถรับกระแสเอาต์พุตได้มาก ทำให้มีประโยชน์สำหรับการขับ วงจรกระแสโดยตรงอุปกรณ์แยกสัญญาณด้วยแสงและตัวส่งสัญญาณใยแก้วนำแสง

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

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

เครื่องกล

ตัวเข้ารหัสแบบเพิ่มค่าเชิงกลแบบหมุนที่ติดตั้งบนแผงวงจรพิมพ์ (PCB)

ตัวเข้ารหัสแบบเพิ่มค่า เชิงกล (หรือแบบสัมผัส ) [ 5 ]ใช้หน้าสัมผัสไฟฟ้า แบบเลื่อน เพื่อสร้างสัญญาณเอาต์พุตAและB โดยตรง [ 2 ] โดยทั่วไป หน้าสัมผัสจะเชื่อมต่อทางไฟฟ้ากับกราวด์สัญญาณเมื่อปิด เพื่อให้เอาต์พุต "ถูกขับ" ให้ต่ำ ซึ่งทำให้ตัวเข้ารหัสเหล่านี้เทียบเท่ากับตัวขับแบบ open collector เชิงกล และอยู่ภายใต้ข้อกำหนด การปรับสภาพสัญญาณเดียวกัน(เช่น ตัวต้านทาน pull-up ภายนอก)

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

ผลัก-ดึง

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

คู่ดิฟเฟอเรนเชียล

รูปคลื่นเอาต์พุตแบบดิฟเฟอเรนเชียลจากตัวเข้ารหัสแบบเพิ่มค่า

โดยทั่วไปแล้ว การส่งสัญญาณ RS-422แบบดิฟเฟอเรนเชียลเป็นที่นิยมเมื่อตัวเข้ารหัสจะส่งสัญญาณความถี่สูงหรืออยู่ห่างจากอินเทอร์เฟซของตัวเข้ารหัส[ 5 ] [ 6 ]หรือเมื่อสัญญาณของตัวเข้ารหัสอาจได้รับผลกระทบจากสนามไฟฟ้าหรือแรงดันโหมดร่วม[ 5 ]หรือเมื่ออินเทอร์เฟซต้องสามารถตรวจจับปัญหาการเชื่อมต่อระหว่างตัวเข้ารหัสและอินเทอร์เฟซได้ ตัวอย่างเช่นเครื่องจักรCMMและCNC หุ่นยนต์อุตสาหกรรมระบบอัตโนมัติในโรงงาน และแพลตฟอร์มการเคลื่อนที่ที่ใช้ในเครื่องจำลองเครื่องบินและยานอวกาศ

เมื่อใช้เอาต์พุต RS-422 ตัวเข้ารหัสจะให้คู่ตัวนำแบบดิฟเฟอเรนเชียลสำหรับเอาต์พุตลอจิกทุกตัว ตัวอย่างเช่น "A" และ "/A" มักใช้เป็นสัญลักษณ์แทนคู่ดิฟเฟอเรนเชียลแบบแอคทีฟสูงและแอคทีฟต่ำที่ประกอบเป็น เอาต์พุตลอจิก A ของตัวเข้ารหัส ดังนั้น อินเทอร์เฟซของตัวเข้ารหัสจะต้องมีตัวรับสัญญาณสาย RS-422 เพื่อแปลงคู่ RS-422 ที่เข้ามาเป็นลอจิกแบบซิงเกิลเอนด์[ 5 ]

การสมัครหลัก

การติดตามตำแหน่ง

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

ตัวเข้ารหัสแบบเพิ่มค่าจะไม่ติดตามหรือระบุตำแหน่งปัจจุบันของตัวเข้ารหัส แต่จะรายงานเฉพาะการเปลี่ยนแปลงตำแหน่งที่เพิ่มขึ้นเท่านั้น[ 3 ]ดังนั้น เพื่อกำหนดตำแหน่งของตัวเข้ารหัสในแต่ละช่วงเวลา จำเป็นต้องมีอุปกรณ์อิเล็กทรอนิกส์ภายนอกที่จะ "ติดตาม" ตำแหน่ง วงจรภายนอกนี้ ซึ่งเรียกว่าอินเทอร์เฟซตัวเข้ารหัสแบบเพิ่มค่า จะติดตามตำแหน่งโดยการนับการเปลี่ยนแปลงตำแหน่งที่เพิ่มขึ้น

เมื่อได้รับรายงานการเปลี่ยนแปลงตำแหน่งทีละน้อย (ซึ่งแสดงโดยการเปลี่ยน สัญญาณ AหรือB ) อินเทอร์เฟซของตัวเข้ารหัสจะพิจารณาความสัมพันธ์ของเฟสระหว่างAและBและขึ้นอยู่กับเครื่องหมายของความแตกต่างของเฟส จะนับขึ้นหรือลง ค่า "การนับ" สะสมจะแสดงระยะทางที่เดินทางตั้งแต่เริ่มการติดตาม กลไกนี้ช่วยให้มั่นใจได้ถึงการติดตามตำแหน่งที่แม่นยำในแอปพลิเคชันแบบสองทิศทาง และในแอปพลิเคชันแบบทิศทางเดียว จะป้องกันการนับผิดพลาดที่อาจเกิดขึ้นจากการสั่นสะเทือนหรือการสั่นไหวทางกลไกใกล้กับการเปลี่ยนรหัส AB

หน่วยการแทนที่

โดยทั่วไป ค่าที่วัดได้จากตัวเข้ารหัสจะต้องแสดงในหน่วย เช่น เมตร ไมล์ หรือรอบ ในกรณีเช่นนี้ ค่าที่วัดได้จะถูกแปลงเป็นหน่วยที่ต้องการโดยการคูณด้วยอัตราส่วนของการเคลื่อนที่ของตัวเข้ารหัสดี{\displaystyle D}ต่อจำนวนซี{\displaystyle C}:

พีโอฉันทีฉันโอn=โอคุณnที×ดีซี{\displaystyle position=counts\times {\frac {D}{C}}}.

โดยทั่วไป การคำนวณนี้จะดำเนินการโดยคอมพิวเตอร์ซึ่งอ่านค่าการนับจากอินเทอร์เฟซของตัวเข้ารหัสแบบเพิ่มค่า ตัวอย่างเช่น ในกรณีของตัวเข้ารหัสแบบเพิ่มค่าเชิงเส้นที่สร้างค่าการนับ 8000 ค่าต่อมิลลิเมตรของการเคลื่อนที่ ตำแหน่งในหน่วยมิลลิเมตรจะคำนวณได้ดังนี้:

=โอคุณnที×1 มม.8000 นับ{\displaystyle mm=จำนวนนับ\times {\frac {\text{1 มม.}}{\text{8000 จำนวนนับ}}}}.

กลับบ้าน

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

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

ในระบบกลไกแบบหมุนบางระบบ (เช่น เสาอากาศเรดาร์แบบหมุน) "ตำแหน่ง" ที่น่าสนใจคือมุมการหมุนเทียบกับทิศทางอ้างอิง โดยทั่วไปแล้ว ระบบเหล่านี้จะใช้ตัวเข้ารหัสแบบเพิ่มค่าหมุน (rotary incremental encoder) ที่มีสัญญาณเอาต์พุตเป็นดัชนี (หรือZ ) สัญญาณ ดัชนีจะถูกส่งเมื่อเพลาอยู่ในตำแหน่งอ้างอิง ซึ่งจะทำให้ส่วนต่อประสานของตัวเข้ารหัสล็อกมุมอ้างอิงเข้ากับตัวนับตำแหน่ง

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

การวัดความเร็ว

สายพานลำเลียงเชิงกลเช่นนี้ โดยทั่วไปจะใช้ตัวเข้ารหัสแบบหมุนเพิ่มค่า (rotary incremental encoders) เป็นอุปกรณ์ป้อนกลับสำหรับการควบคุมความเร็วแบบวงปิด

ตัวเข้ารหัสแบบเพิ่มค่ามักใช้ในการวัดความเร็วของระบบกลไก ซึ่งอาจทำเพื่อวัตถุประสงค์ในการตรวจสอบหรือเพื่อให้ข้อมูลป้อนกลับสำหรับการควบคุมการเคลื่อนที่หรือทั้งสองอย่าง[ 5 ]การใช้งานที่แพร่หลาย ได้แก่ การควบคุมความเร็วใน การหมุนเสาอากาศ เรดาร์และสายพานลำเลียงวัสดุและการควบคุมการเคลื่อนที่ในหุ่นยนต์เครื่องจักร CMM และเครื่องจักรCNC

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

ความเร็วของตัวเข้ารหัสสามารถกำหนดได้โดยการนับหรือโดยการจับเวลาพัลส์เอาต์พุต (หรือขอบ) ของตัวเข้ารหัส[ 7 ]ค่าที่ได้จะระบุความถี่หรือคาบตามลำดับ ซึ่งสามารถคำนวณความเร็วได้ ความเร็วเป็นสัดส่วนกับความถี่ และเป็นสัดส่วนผกผันกับคาบ

โดยความถี่

หากสัญญาณตำแหน่งถูกสุ่มตัวอย่าง (สัญญาณเวลาไม่ต่อเนื่อง) พัลส์ (หรือขอบพัลส์) จะถูกตรวจจับและนับโดยอินเทอร์เฟซ และโดยทั่วไปความเร็วจะถูกคำนวณโดยคอมพิวเตอร์ที่มีสิทธิ์อ่านข้อมูลจากอินเทอร์เฟซ ในการทำเช่นนี้ คอมพิวเตอร์จะอ่านค่าการนับตำแหน่งซี0{\displaystyle C_{0}}จากอินเทอร์เฟซ ณ เวลาที0{\displaystyle T_{0}}แล้วในเวลาต่อมาที1{\displaystyle T_{1}}อ่านจำนวนนับอีกครั้งเพื่อให้ได้ซี1{\displaystyle C_{1}}ความเร็วเฉลี่ยในช่วงเวลาดังกล่าวที0{\displaystyle T_{0}}ถึงที1{\displaystyle T_{1}}จากนั้นจึงคำนวณ: [ 2 ]

พีอีอี=(ซี1ซี0)(ที1ที0){\displaystyle speed={\frac {(C_{1}-C_{0})}{(T_{1}-T_{0})}}}.

ค่าความเร็วที่ได้จะแสดงเป็นจำนวนครั้งต่อหน่วยเวลา (เช่น จำนวนครั้งต่อวินาที) อย่างไรก็ตาม ในทางปฏิบัติ มักจำเป็นต้องแสดงความเร็วในหน่วยมาตรฐาน เช่น เมตรต่อวินาที รอบต่อนาที (RPM) หรือไมล์ต่อชั่วโมง (MPH) ในกรณีเช่นนี้ ซอฟต์แวร์จะคำนึงถึงความสัมพันธ์ระหว่างจำนวนครั้งและหน่วยระยะทางที่ต้องการ รวมถึงอัตราส่วนของช่วงเวลาการสุ่มตัวอย่างต่อหน่วยเวลาที่ต้องการ ตัวอย่างเช่น ในกรณีของตัวเข้ารหัสแบบหมุนเพิ่มค่าที่สร้างจำนวนครั้ง 4096 ครั้งต่อการหมุนหนึ่งรอบ ซึ่งอ่านค่าหนึ่งครั้งต่อวินาที ซอฟต์แวร์จะคำนวณ RPM ดังนี้:

อาร์พีเอ็ม=(ซี1ซี0)1 วินาที×60 วินาที1 นาที×1 การปฏิวัติ4096 จำนวน{\displaystyle RPM={\frac {(C_{1}-C_{0})}{\text{1 วินาที}}}\times {\frac {\text{60 วินาที}}{\text{1 นาที}}}\times {\frac {\text{1 รอบ}}{\text{4096 นับ}}}}.

เมื่อวัดความเร็วด้วยวิธีนี้ ความละเอียดในการวัดจะเป็นสัดส่วนกับทั้งความละเอียดของตัวเข้ารหัสและช่วงเวลาการสุ่มตัวอย่าง (เวลาที่ผ่านไประหว่างตัวอย่างสองตัว) ความละเอียดในการวัดจะสูงขึ้นเมื่อช่วงเวลาการสุ่มตัวอย่างเพิ่มขึ้น[ 2 ]

ตามช่วงเวลา

อีกทางเลือกหนึ่งคือ สามารถรายงานค่าการวัดความเร็วได้ที่แต่ละพัลส์เอาต์พุตของตัวเข้ารหัส โดยการวัดความกว้างหรือคาบของพัลส์ เมื่อใช้วิธีนี้ การวัดจะถูกกระตุ้นที่ตำแหน่งเฉพาะแทนที่จะเป็นเวลาเฉพาะ การคำนวณความเร็วจะเหมือนกับที่แสดงไว้ข้างต้น (จำนวนนับ / เวลา) แม้ว่าในกรณีนี้ เวลาเริ่มต้นและสิ้นสุดการวัด (ที0{\displaystyle T_{0}}และที1{\displaystyle T_{1}}) จะได้รับจากข้อมูลอ้างอิงเวลา

เทคนิคนี้หลีกเลี่ยงข้อผิดพลาดในการกำหนดตำแหน่งเชิงปริมาณ แต่ทำให้เกิดข้อผิดพลาดที่เกี่ยวข้องกับการกำหนดเวลาอ้างอิงเชิงปริมาณ นอกจากนี้ยังมีความไวต่อความไม่สมบูรณ์ของเซ็นเซอร์มากขึ้น เช่น ข้อผิดพลาดของเฟส ข้อผิดพลาดของสมมาตร และความแปรผันในตำแหน่งการเปลี่ยนผ่านจากค่าที่กำหนดไว้[ 8 ]

อินเทอร์เฟซตัวเข้ารหัสแบบเพิ่มทีละขั้น

อินเทอร์เฟซตัวเข้ารหัสแบบเพิ่มค่า 6 แกน PCI ExpressInput connectors for encoder signalsRS-422 line receiversFPGAPCI Express edge connector
อินเทอร์เฟซตัวเข้ารหัสแบบเพิ่มค่า 6 แกน PCI Express จากบนลงล่าง: ขั้วต่ออินพุต (ซ้าย) และตัวรับสาย (ขวา); FPGA; ขั้วต่อแบ็คเพลน

อินเทอร์เฟซตัวเข้ารหัสแบบเพิ่มค่า (Incremental Encoder Interface)คือวงจรอิเล็กทรอนิกส์ที่รับสัญญาณจากตัวเข้ารหัสแบบเพิ่มค่า ประมวลผลสัญญาณเพื่อสร้างตำแหน่งสัมบูรณ์และข้อมูลอื่นๆ และทำให้ข้อมูลที่ได้นั้นพร้อมใช้งานสำหรับวงจรภายนอก

อินเทอร์เฟซตัวเข้ารหัสแบบเพิ่มค่า (Incremental encoder) ถูกนำไปใช้งานในหลากหลายรูปแบบ รวมถึงในรูปแบบASIC , บล็อก IPภายในFPGA , อินเทอร์เฟซอุปกรณ์ต่อพ่วงเฉพาะในไมโครคอนโทรลเลอร์หรือในรูปแบบซอฟต์แวร์ (ผ่านการขัดจังหวะหรือการตรวจสอบGPIO )

ไม่ว่าจะใช้วิธีใดก็ตาม อินเทอร์เฟซจะต้องสุ่มตัวอย่างสัญญาณเอาต์พุต AและBของตัวเข้ารหัสบ่อยพอที่จะตรวจจับการเปลี่ยนแปลงสถานะ AB ทุกครั้งก่อนที่จะเกิดการเปลี่ยนแปลงสถานะครั้งถัดไป เมื่อตรวจพบการเปลี่ยนแปลงสถานะ ระบบจะเพิ่มหรือลดจำนวนตำแหน่งตามว่าAนำหน้าหรือตามหลังBโดยทั่วไปแล้วจะทำได้โดยการจัดเก็บสำเนาของสถานะ AB ก่อนหน้า และเมื่อมีการเปลี่ยนแปลงสถานะ จะใช้สถานะ AB ปัจจุบันและก่อนหน้าเพื่อกำหนดทิศทางการเคลื่อนที่

เครื่องรับสัญญาณสาย

อินเทอร์เฟซตัวเข้ารหัสแบบเพิ่มค่าใช้วงจรอิเล็กทรอนิกส์หลายประเภทเพื่อรับสัญญาณที่สร้างจากตัวเข้ารหัส ตัวรับสัญญาณแบบสายเหล่านี้ทำหน้าที่เป็นบัฟเฟอร์เพื่อป้องกันวงจรอินเทอร์เฟซปลายทาง และในหลายกรณี ยังทำหน้าที่ปรับสภาพสัญญาณอีกด้วย

ปลายเดียว

โดยทั่วไป อินเทอร์เฟซตัวเข้ารหัสแบบเพิ่มค่าจะใช้ สัญญาณอินพุต แบบ Schmitt triggerเพื่อรับสัญญาณจากตัวเข้ารหัสที่มี เอาต์พุต แบบ single-ended (เช่น push-pull, open collector) ตัวรับสัญญาณประเภทนี้สามารถกำจัดสัญญาณรบกวนระดับต่ำได้โดยธรรมชาติ (ด้วยกลไก hysteresis ของอินพุต) และปกป้องวงจรปลายทางจากระดับสัญญาณลอจิกที่ไม่ถูกต้อง (และอาจก่อให้เกิดความเสียหายได้)

ความแตกต่าง

ตัวรับสัญญาณ RS-422 มักใช้รับสัญญาณจากตัวเข้ารหัสที่มีเอาต์พุตแบบดิฟเฟอเรนเชียล ตัวรับสัญญาณประเภทนี้จะกำจัดสัญญาณรบกวนแบบคอมมอนโหมดและแปลงสัญญาณดิฟเฟอเรนเชียลที่เข้ามาให้เป็นรูปแบบซิงเกิลเอนด์ที่วงจรลอจิกปลายทางต้องการ

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

การซิงโครไนซ์นาฬิกา

วงจรซิงโครไนเซอร์ 2-FF สัญญาณเอาต์พุตจากตัวรับสัญญาณสายจะถูกส่งไปยัง D ; สัญญาณ D จะถูกส่งไปยังตัวถอดรหัสแบบควอดราเจอร์
ที่ความถี่สัญญาณนาฬิกาสูง ตัวประสานสัญญาณอาจใช้ฟลิปฟลอปสามตัว (เช่นนี้) หรือมากกว่านั้น เพื่อลดอัตราความผิดพลาดของบิต

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

โดยทั่วไป การซิงโครไนซ์นี้จะดำเนินการโดยตัวซิงโครไนเซอร์แบบสัญญาณเดี่ยวอิสระ เช่น ตัวซิงโครไนเซอร์ แบบฟลิปฟลอป สองตัวที่เห็นในที่นี้ ที่ความถี่สัญญาณนาฬิกาสูงมาก หรือเมื่อต้องการอัตราข้อผิดพลาดต่ำมาก ตัวซิงโครไนเซอร์อาจมีฟลิป ฟลอปเพิ่มเติมเพื่อให้ได้อัตราข้อผิดพลาดบิต ที่ยอมรับได้ [ 10 ]

ตัวกรองอินพุต

ในหลายกรณี อินเทอร์เฟซตัวเข้ารหัสจะต้องกรองสัญญาณตัวเข้ารหัสที่ซิงโครไนซ์ก่อนที่จะประมวลผลต่อไป ซึ่งอาจจำเป็นเพื่อกำจัดสัญญาณรบกวนระดับต่ำและสัญญาณรบกวนแบบสั้นที่มีแอมพลิจูดสูงซึ่งมักพบในแอปพลิเคชันมอเตอร์[ 11 ]และในกรณีของตัวเข้ารหัสแบบกลไก เพื่อลดการสั่นของAและBเพื่อหลีกเลี่ยงข้อผิดพลาดในการนับเนื่องจากการสั่นของหน้าสัมผัสเชิงกล

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

ตัวถอดรหัสควอดราเจอร์

ตัวถอดรหัสแบบควอดราเจอร์จะแปลง สัญญาณ AและBจากตัวเข้ารหัสแบบเพิ่มค่า (incremental encoder) ให้เป็น สัญญาณกำหนด ทิศทางและ สัญญาณ เปิดใช้งานการนับซึ่งใช้ในการควบคุมตัวนับขึ้น/ลงแบบซิงโครนัส

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

โดยทั่วไป ตัวถอดรหัสควอดราเจอร์จะถูกนำไปใช้เป็นเครื่องสถานะจำกัด (FSM) ซึ่งสุ่มตัวอย่าง สัญญาณ AและB พร้อมกัน และสร้างตัวอย่าง "AB" ที่เป็นส่วนผสม เมื่อได้รับตัวอย่าง AB ใหม่แต่ละตัว FSM จะจัดเก็บตัวอย่าง AB ก่อนหน้าไว้สำหรับการวิเคราะห์ในภายหลัง FSM จะประเมินความแตกต่างระหว่างสถานะ AB ใหม่และสถานะ AB ก่อนหน้า และสร้าง สัญญาณเปิดใช้งาน ทิศทางและจำนวนตามความเหมาะสมสำหรับลำดับสถานะ AB ที่ตรวจพบ[ 11 ]

ตารางสถานะตัวถอดรหัส ควอดรา เจอร์  
คำอธิบายรัฐ ABเอาต์พุต
ก่อนหน้าปัจจุบันซีอีผู้กำกับข้อผิดพลาด
x1x2x4
เคลื่อนที่ไปข้างหน้าหนึ่งตำแหน่ง( Aนำหน้าB )001011110
101100
11011
01000
เลื่อนไปหนึ่งขั้นในทิศทาง "ย้อนกลับ" ( Bนำหน้าA )000100
01111
11100
100011
ไม่พบการเคลื่อนไหวใดๆ00000X
0101
1010
1111
เลื่อนไปเป็นจำนวนขั้นที่ไม่แน่นอน00111
0110
1001
1100

การเปลี่ยนสถานะ

ในตัวอย่าง AB สองตัวอย่างที่ต่อเนื่องกัน ระดับตรรกะของAหรือBอาจเปลี่ยนแปลง หรือทั้งสองระดับอาจคงที่ แต่ในการทำงานปกติAและBจะไม่เปลี่ยนแปลงพร้อมกัน ในแง่นี้ ตัวอย่าง AB แต่ละตัวจึงเปรียบเสมือนรหัสเกรย์ สอง บิต

การเปลี่ยนผ่านปกติ

เมื่อมีเพียงAหรือB เท่านั้น ที่เปลี่ยนสถานะ จะถือว่าตัวเข้ารหัสได้เคลื่อนที่ไปหนึ่งขั้นของความละเอียดในการวัด และด้วยเหตุนี้ ตัวถอดรหัสแบบควอดราเจอร์จะส่งสัญญาณ เอาต์พุต เปิดใช้งานการนับเพื่ออนุญาตให้ค่าการนับเปลี่ยนแปลง ขึ้นอยู่กับทิศทางการเคลื่อนที่ของตัวเข้ารหัส (ไปข้างหน้าหรือถอยหลัง) ตัวถอดรหัสจะส่ง สัญญาณเอาต์พุต ทิศทางเพื่อสั่งให้ค่าการนับเพิ่มขึ้นหรือลดลง (หรือในทางกลับกัน)

เมื่อทั้งAและBไม่เปลี่ยนแปลง จะถือว่าตัวเข้ารหัสไม่ได้เคลื่อนที่ ดังนั้นตัวถอดรหัสแบบควอดราเจอร์จึงกลับค่าเอาต์พุตการเปิดใช้งาน การ นับ ทำให้ค่าการนับยังคงไม่เปลี่ยนแปลง

ข้อผิดพลาด

หาก สถานะตรรกะ AและBเปลี่ยนแปลงในตัวอย่าง AB ที่ต่อเนื่องกัน ตัวถอดรหัสแบบควอดราเจอร์จะไม่สามารถระบุได้ว่าตัวเข้ารหัสเคลื่อนที่ไปกี่ขั้น หรือไปในทิศทางใด ซึ่งอาจเกิดขึ้นได้หากความเร็วของตัวเข้ารหัสเร็วเกินกว่าที่ตัวถอดรหัสจะประมวลผลได้ (เช่น อัตราการเปลี่ยนแปลงสถานะ AB เกินอัตราการสุ่มตัวอย่างของตัวถอดรหัสแบบควอดราเจอร์ ดูอัตรา Nyquist ) หรือหาก สัญญาณ AหรือBมีสัญญาณรบกวน

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

ตัวคูณนาฬิกา

ตัวถอดรหัสแบบควอดราเจอร์ไม่จำเป็นต้องอนุญาตให้ค่าการนับเปลี่ยนแปลงทุกครั้งที่มีการเปลี่ยนแปลงตำแหน่งทีละน้อย เมื่อตัวถอดรหัสตรวจพบการเปลี่ยนแปลงตำแหน่งทีละน้อย (เนื่องจากการเปลี่ยนสถานะAหรือB แต่ไม่ใช่ทั้งสองอย่าง) มันอาจอนุญาตให้ค่าการนับเปลี่ยนแปลงหรืออาจระงับการนับ ขึ้นอยู่กับการเปลี่ยนสถานะ AB และ ตัวคูณสัญญาณนาฬิกาของตัวถอดรหัส

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

ค่าตัวคูณนาฬิกาอาจเป็นหนึ่ง สอง หรือสี่ (โดยทั่วไปจะกำหนดเป็น "x1", "x2" และ "x4" หรือ "1x", "2x" และ "4x") [ 12 ]ในกรณีของตัวคูณ x4 จำนวนนับจะเปลี่ยนแปลงทุกครั้งที่มีการเปลี่ยนแปลงสถานะ AB ส่งผลให้อัตราการนับเท่ากับสี่เท่าของ ความถี่ AหรือBตัวคูณ x2 และ x1 อนุญาตให้จำนวนนับเปลี่ยนแปลงได้ในการเปลี่ยนแปลงสถานะ AB บางส่วน แต่ไม่ใช่ทั้งหมด ดังแสดงในตารางสถานะตัวถอดรหัสควอดราเจอร์ด้านบน (หมายเหตุ: ตารางนี้แสดงการใช้งานที่เป็นไปได้หนึ่งในหลายๆ แบบสำหรับตัวคูณ x2 และ x1 การใช้งานอื่นๆ อาจทำให้สามารถนับได้ในการเปลี่ยนสถานะ AB ที่แตกต่างกัน)

รายงานตำแหน่งงาน

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

ตัวอย่างทะเบียน

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

การสุ่มตัวอย่างแบบกระตุ้น

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

เพื่อเอาชนะข้อจำกัดนี้ อินเทอร์เฟซตัวเข้ารหัสแบบเพิ่มค่ามักจะใช้การสุ่มตัวอย่างที่กระตุ้นด้วยฮาร์ดแวร์ ซึ่งช่วยให้สามารถสุ่มตัวอย่างตัวนับตำแหน่งได้ในเวลาที่กำหนดอย่างแม่นยำตามสัญญาณอินพุตทริกเกอร์[ 1 ]สิ่งนี้มีความสำคัญเมื่อต้องสุ่มตัวอย่างตำแหน่งในเวลาที่กำหนดหรือเพื่อตอบสนองต่อเหตุการณ์ทางกายภาพ และจำเป็นอย่างยิ่งในแอปพลิเคชันต่างๆ เช่น การควบคุมการเคลื่อนที่หลายแกนและ CMM ซึ่งตัวนับตำแหน่งของอินเทอร์เฟซตัวเข้ารหัสหลายตัว (หนึ่งตัวต่อแกน) จะต้องถูกสุ่มตัวอย่างพร้อมกัน

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

การแจ้งเตือนกิจกรรม

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

ตัวอย่าง FIFO

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

หมายเหตุ

  1. สัญญาณเอาต์พุต Aและ Bของตัวเข้ารหัสไม่ได้บ่งบอกตำแหน่งสัมบูรณ์ ตำแหน่งสัมบูรณ์จะทราบได้ก็ต่อเมื่ออ้างอิงสัญญาณดัชนีหรือการกำหนดตำแหน่งเริ่มต้นเท่านั้น อย่างไรก็ตาม สัญญาณ ดัชนีเมื่อมีอยู่และถูกเรียกใช้ จะบ่งชี้ว่าตัวเข้ารหัสอยู่ที่ตำแหน่งอ้างอิง ซึ่งในบางแอปพลิเคชันอาจเป็นตำแหน่งสัมบูรณ์
  2. ในบริบทของตัวนับดิจิทัลแบบซิงโครนัส "การรบกวน" หมายถึงการเปลี่ยนแปลงค่าที่จัดเก็บไว้ให้เป็นค่าเฉพาะ ค่าดังกล่าวจะถูกป้อนเข้าสู่ช่องป้อนข้อมูลแบบขนานของตัวนับ และช่องป้อนข้อมูล Load Enable (หรือเทียบเท่า) ของตัวนับจะถูกกระตุ้นเพื่อเรียกใช้การเปลี่ยนแปลงค่า ในระหว่างการดำเนินการนี้ การนับตามปกติจะถูกปิดใช้งานชั่วขณะ
  • โลโก้ Wikimedia Commonsสื่อที่เกี่ยวข้องกับตัวเข้ารหัสแบบเพิ่มทีละขั้นในวิกิมีเดียคอมมอนส์

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ตัวเข้ารหัสแบบเพิ่มทีละขั้น

ตัว เข้ารหัสแบบเพิ่มค่า (Incremental Encoder) เป็นอุปกรณ์อิเล็กโทรเมคานิกส์เชิงเส้นหรือแบบหมุนที่มี สัญญาณ เอาต์พุตสองสัญญาณ คือ A และ B ซึ่งจะส่งพัลส์เมื่ออุปกรณ์เคลื่อนที่ [ 1 ]...

ปณิธาน

ความละเอียดของตัวเข้ารหัสแบบเพิ่มค่าคือการวัดความแม่นยำของข้อมูลตำแหน่งที่สร้างขึ้น โดยทั่วไปความละเอียดของตัวเข้ารหัสจะระบุเป็นจำนวน พัลส์ A (หรือ B ) ต่อหน่วยการเคลื่อนที่ หรือเทียบเท่ากับจำนวนรอบ คลื่นสี่เหลี่ยม A (หรือ B ) ต่อหน่วยการเคลื่อนที่...

สมมาตรและเฟส

เมื่อเคลื่อนที่ด้วยความเร็วคงที่ ตัวเข้ารหัสแบบเพิ่มค่าในอุดมคติจะส่งสัญญาณคลื่นสี่เหลี่ยมที่สมบูรณ์แบบบน A และ B (กล่าวคือ พัลส์จะมีขนาดความกว้าง 180° พอดี และ รอบการทำงาน จะเท่ากับ 50%) โดยมีเฟสต่างกัน 90° ระหว่าง สัญญาณ A และ B อย่างไรก็ตาม...

ประเภทสัญญาณ

ตัวเข้ารหัสแบบเพิ่มค่า (Incremental encoder) ใช้วงจรไฟฟ้าหลายประเภทในการขับเคลื่อน (ส่ง) สัญญาณเอาต์พุต และผู้ผลิตมักสามารถสร้างตัวเข้ารหัสรุ่นใดรุ่นหนึ่งโดยใช้ตัวขับหลายประเภทได้ ประเภทตัวขับที่พบได้ทั่วไป ได้แก่ แบบ open collector, แบบกลไก, แบบ push-pull...