मैं एक AVR पर एक व्युत्क्रम की गणना करने का एक कुशल तरीका खोजने की कोशिश कर रहा हूं (या यह अनुमान लगा रहा हूं)।
मैं एक स्टेपर मोटर के लिए पल्स अवधि की गणना करने की कोशिश कर रहा हूं ताकि मैं गति को रैखिक रूप से भिन्न कर सकूं। अवधि गति के व्युत्क्रमानुपाती ( p = K/v
) है, लेकिन मैं इसे मक्खी पर गणना करने का एक अच्छा तरीका नहीं सोच सकता।
मेरा सूत्र है
p = 202/v + 298; // p in us; v varies from 1->100
Arduino पर परीक्षण, ऐसा लगता है कि विभाजन को पूरी तरह से छोड़ने p
पर अनदेखा किया गया है 298
(हालांकि शायद यह avr-gcc में अलग होगा)। मैंने v
एक लूप में योग करने की कोशिश की है जब तक कि यह अधिक नहीं हो जाता है 202
, और छोरों की गिनती करता है, लेकिन यह काफी धीमा है।
मैं एक लुकअप टेबल जेनरेट कर सकता था और इसे फ्लैश में स्टोर कर सकता था, लेकिन मैं सोच रहा था कि क्या कोई और तरीका है।
संपादित करें : शायद शीर्षक "कुशल विभाजन" होना चाहिए ...
अपडेट : जैसा कि पिंगसवेप्ट बताता है, वेग की अवधि को मैप करने का मेरा फॉर्मूला गलत है। लेकिन मुख्य समस्या विभाजन ऑपरेशन है।
संपादित करें 2 : आगे की जांच पर, डिवाइड arduino पर काम कर रहा है, समस्या दोनों गलत सूत्र ऊपर और एक अंतर अतिप्रवाह दोनों के कारण था।