วิธีเดียวที่ฉันคิดได้ก็คือปรับเทียบพัลส์กับปริมาณการหมุนที่มอเตอร์จะได้สัมผัส
ฉันมีปัญหาในการคิดว่าสิ่งนี้จะได้ผลซึ่งหมายความว่าคุณควรจะได้รับมอเตอร์และลองใช้! ตั้งค่าด้วยการหยุดเพื่อให้คุณสามารถใช้ชีพจรยาวและได้รับการหยุดพักที่ตำแหน่งที่รู้จักจากนั้นใช้พัลส์ของความยาวกระแสต่าง ๆ ฯลฯ และดูว่าคุณสามารถรับผลลัพธ์ที่ทำซ้ำได้
โปรดทราบว่าแรงเสียดทานจะเปลี่ยนแปลงเล็กน้อยตามอุณหภูมิความชื้นและปัจจัยอื่น ๆ ทั้งนี้ขึ้นอยู่กับการออกแบบมอเตอร์ แต่เนื่องจากคุณต้องการเพียง 8 ตำแหน่งคุณอาจมีที่ว่างเพียงพอสำหรับข้อผิดพลาดที่ไม่สำคัญ ปัญหาที่ใหญ่ที่สุดของคุณน่าจะเป็นที่คุณต้องสอบเทียบมอเตอร์แต่ละตัวแม้ว่าพวกเขาจะเป็นประเภทเดียวกันเนื่องจากพวกเขาทั้งหมดจะมีแรงบิดที่แตกต่างกันเล็กน้อย / ลักษณะ A และสิ่งนี้จะเปลี่ยนไปตามกาลเวลามอเตอร์ สภาพแวดล้อมมีผลกระทบต่อมัน
อย่างไรก็ตามเพื่อให้ได้ผลลัพธ์ที่ดีขึ้นคุณจะต้องมีข้อเสนอแนะบางอย่าง
วิธีที่ง่ายที่สุด / ราคาถูกที่สุดคือการติดโพเทนชิออมิเตอร์และอ่านตำแหน่งด้วยตัวแปลง a / d เนื่องจากโพเทนชิออมิเตอร์นั้นยากที่จะหมุนทำของคุณเองด้วยกระดาษแข็งและดินสอ วาดวงกลมสีดำหนาเกือบตลอดทางรอบ ๆ กระดาษแข็งตัดรูตรงกลางแล้วต่อเข้ากับมอเตอร์ ติดสายไฟไว้ที่ปลายด้านหนึ่งของครึ่งวงกลมและลากลวดตามปลายอีกด้านหนึ่งเพื่อให้มอเตอร์หมุนคุณจะได้รับความต้านทานที่แตกต่างกัน ใช้สิ่งนั้นด้วย A / D
นอกจากนี้คุณยังสามารถย้อนกลับได้ - นำหน้าสัมผัสที่เคลื่อนที่ไปมาบนลูกศรด้วยเส้นสีดำหนาด้านล่าง (ดังนั้นคุณไม่จำเป็นต้องหมุนกระดาษแข็งเพียงแค่สัมผัสที่เคลื่อนไหว) หากคุณมีความคิดสร้างสรรค์กับคนออกแบบของคุณจะคิดว่าครึ่งวงกลมสีดำเป็นส่วนหนึ่งของหน้าจอแสดงผล
มันจะมีเสียงดังมากและไม่น่าเชื่อถือแม้ว่าจะขึ้นอยู่กับการก่อสร้างและจะไม่นาน แต่ก็มีราคาถูกและใช้งานง่ายและด้วยความต้องการในการวางตำแหน่งความละเอียดต่ำของคุณคุณควรให้ข้อเสนอแนะที่เหมาะสม พื้นที่ 45 องศา
ตัวเลือก (น่าเชื่อถือมากขึ้น) อีกตัวเลือกหนึ่งคือใช้เซ็นเซอร์ออพติคอลตัวเดียวที่มีรอยบากในกระดาษแข็งหมุน เพียงนับพัลส์จนกระทั่งคุณอยู่ในจุดที่ถูกต้อง คุณสามารถกำจัด encoder แสง (แพง) และใช้สายสองเส้นที่สัมผัสในร่องและแยกออกจากกันเมื่อไม่มีรอย
ขอให้โชคดีและช่วยบอกเราว่าคุณได้ลองทำอะไรและมันทำงานอย่างไร!