ประเภท: วงจรไมโครคอนโทรลเลอร์
จำนวนการดู: 16,299
ความเห็นเกี่ยวกับบทความ: 0
วิธีการเชื่อมต่อตัวเข้ารหัสแบบเพิ่มหน่วยกับ Arduino
บ่อยครั้งในอุปกรณ์บนไมโครคอนโทรลเลอร์คุณต้องจัดระเบียบการจัดการรายการเมนูหรือใช้การปรับเปลี่ยนบางอย่าง มีหลายวิธี: ใช้ปุ่มตัวต้านทานผันแปรหรือตัวเข้ารหัส ตัวเข้ารหัสที่เพิ่มขึ้นช่วยให้คุณสามารถควบคุมบางสิ่งได้โดยใช้การหมุนที่ไม่มีที่สิ้นสุด ในบทความนี้เราจะดูว่าจะทำให้ตัวเข้ารหัสที่เพิ่มขึ้นและ Arduino ทำงานอย่างไร

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

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

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

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

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

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

นี่คือตัวอย่างของ pinout ตัวเข้ารหัสที่แท้จริง:

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

ดังที่ได้กล่าวไปแล้วทิศทางของการหมุนสามารถกำหนดได้ว่าสัญญาณขาออกใดที่เปลี่ยนไปก่อนหน้านี้ แต่นี่เป็นลักษณะที่ใช้ในทางปฏิบัติ!

ความแม่นยำในการควบคุมขึ้นอยู่กับความละเอียดของเครื่องเข้ารหัส - จำนวนของพัลส์ต่อการปฏิวัติ จำนวนพัลส์สามารถทำได้จากหน่วยถึงพันชิ้น เนื่องจากเอนโค้ดเดอร์สามารถทำหน้าที่เป็นเซ็นเซอร์ตำแหน่งจึงมีพัลส์เพิ่มขึ้นการกำหนดที่แม่นยำยิ่งขึ้นจะเกิดขึ้นพารามิเตอร์นี้เรียกว่า PPR - พัลส์ต่อการปฏิวัติ
แต่มีความแตกต่างเล็กน้อยคือการกำหนด LPR ที่คล้ายกันคือจำนวนของฉลากบนดิสก์
และจำนวนพัลส์ที่ประมวลผลแล้ว แต่ละฉลากบนดิสก์จะให้ 1 พัลส์เป็นสี่เหลี่ยมบนแต่ละเอาต์พุตสองตัว แรงกระตุ้นมีสองด้านหน้า - ด้านหลังและด้านหน้า เนื่องจากมีสองวิธีเราจึงได้รับพัลส์ทั้งหมด 4 ค่าซึ่งแต่ละค่าสามารถประมวลผลได้
PPR = LPRx4
เชื่อมต่อกับ Arduino
เราพบสิ่งที่คุณต้องรู้เกี่ยวกับตัวเข้ารหัสเพิ่มเติมตอนนี้เรามาดูวิธีการเชื่อมต่อกับ Arduino พิจารณาแผนภาพการเชื่อมต่อ:

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

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

ลองวิเคราะห์รหัสโดยละเอียดเพิ่มเติมตามลำดับ ในการตั้งค่าโมฆะ () เราประกาศว่าเราจะใช้การสื่อสารผ่านพอร์ตอนุกรมจากนั้นตั้งหมุด 2 และ 8 ในโหมดอินพุต เลือกหมายเลข PIN ด้วยตนเองตามรูปแบบการเชื่อมต่อของคุณ ค่าคงที่ INPUT_PULLUP ตั้งค่าโหมดอินพุต, arduino มีสองตัวเลือก:
-
อินพุต - อินพุตโดยไม่มีตัวต้านทานแบบดึงขึ้น;
-
INPUT_PULLUP - เชื่อมต่อกับอินพุตของตัวต้านทานแบบดึงขึ้น มีตัวต้านทานอยู่ภายในไมโครคอนโทรลเลอร์ที่อินพุตถูกเชื่อมต่อกับ power plus (pullup)
หากคุณใช้ตัวต้านทานเพื่อกระชับกำลังบวกตามที่แสดงในแผนภาพด้านบนหรือใช้โมดูลตัวเข้ารหัส - ใช้คำสั่ง INPUT และถ้าด้วยเหตุผลบางอย่างคุณไม่สามารถหรือไม่ต้องการใช้ตัวต้านทานภายนอก - INPUT_PULLUP
ตรรกะของโปรแกรมหลักมีดังนี้: ถ้าเรามีหนึ่งที่อินพุต“ 2” มันจะส่งออกพอร์ต H ไปยังจอภาพถ้าไม่, L. ดังนั้นเมื่อคุณหมุนไปในทิศทางเดียวกันบนจอภาพพอร์ตอนุกรมคุณจะได้รับสิ่งนี้: LL HL HH LH LL และในทางกลับกัน: LL LH HH HL LL
หากคุณอ่านบรรทัดอย่างละเอียดคุณอาจสังเกตเห็นว่าในกรณีหนึ่งอักขระตัวแรกที่ได้รับค่าและในกรณีอื่นอักขระตัวที่สองจะเปลี่ยนไปก่อน
ข้อสรุป
เอนโค้ดเดอร์ที่เพิ่มขึ้นพบแอปพลิเคชั่นที่ใช้งานได้จริงอย่างกว้างขวางในเครื่องขยายเสียงสำหรับระบบอะคูสติก - พวกมันถูกใช้เป็นตัวควบคุมระดับเสียงในวิทยุในรถ - เพื่อปรับพารามิเตอร์เสียงและเมนูนำทางในเมาส์คอมพิวเตอร์ . และในเครื่องมือวัด, เครื่อง CNC, หุ่นยนต์, selsyn ไม่เพียง แต่เป็นตัวควบคุม แต่ยังวัดค่าและกำหนดตำแหน่ง
ดูได้ที่ e.imadeself.com
: