10
ผกผันมีประสิทธิภาพ (1 / x) สำหรับ AVR
ฉันพยายามหาวิธีที่มีประสิทธิภาพในการคำนวณค่าอินเวอร์สบน AVR (หรือประมาณค่า) ฉันพยายามคำนวณระยะเวลาพัลส์สำหรับสเต็ปเปอร์มอเตอร์เพื่อให้ฉันสามารถเปลี่ยนแปลงความเร็วเชิงเส้นได้ ช่วงเวลานั้นแปรผันตามค่าผกผันของความเร็ว ( p = K/v) แต่ฉันไม่สามารถคิดวิธีที่ดีในการคำนวณสิ่งนี้ได้ในทันที สูตรของฉันคือ p = 202/v + 298; // p in us; v varies from 1->100 การทดสอบใน Arduino ส่วนที่ดูเหมือนว่าจะถูกละเว้นอย่างสมบูรณ์ออกจากpคงที่298(แม้ว่าอาจจะแตกต่างกันใน avr-gcc) ฉันได้ลองหาข้อสรุปvแบบวนซ้ำจนกระทั่งมันเกิน202และนับลูป แต่มันค่อนข้างช้า ฉันสามารถสร้างตารางการค้นหาและเก็บไว้ในแฟลช แต่ฉันสงสัยว่ามีวิธีอื่น แก้ไข : บางทีชื่อควรจะเป็น "การหารที่มีประสิทธิภาพ" ... อัปเดต : เนื่องจาก pingswept ชี้ให้เห็นว่าสูตรการทำแผนที่ช่วงเวลากับความเร็วไม่ถูกต้อง แต่ปัญหาหลักคือการดำเนินการหาร แก้ไข 2 : ในการตรวจสอบเพิ่มเติมหารกำลังทำงานกับ arduino ปัญหาเกิดจากทั้งสูตรที่ไม่ถูกต้องด้านบนและ int …