ESP32-S3 प्रोग्राम अब एक वर्चुअल मोटर चला रहा है
ESP32-S3 के लिए हमारा एक मोटर वाला उदाहरण अब कंप्यूटर पर फ़ीडबैक पढ़कर अपना आउटपुट बदलता है। इसे रोककर या एक-एक चरण चलाकर भी देखा जा सकता है। यहाँ काम की मौजूदा स्थिति बता रहे हैं।
मोटर कंट्रोल की कुछ समस्याएँ सिर्फ़ कोड पढ़ने से पकड़ में नहीं आतीं। क्या फ़ीडबैक की दिशा उलटी है? क्या आउटपुट अपनी ऊपरी सीमा पर अटका हुआ है? अक्सर यह देखने के लिए बोर्ड और मोटर जोड़ने पड़ते हैं कि हो क्या रहा है। हम ESP32-S3 सिम्युलेशन पर काम कर रहे हैं, ताकि इनमें से कुछ सवालों को पहले कंप्यूटर पर परखा जा सके।
हाल ही में हमने Botdraft में एक मोटर वाला उदाहरण चलाया। ESP32-S3 के लिए कंपाइल किया गया कंट्रोल प्रोग्राम अब परियोजना की स्क्रीन से चल सकता है। उसका आउटपुट मोटर मॉडल को चलाता है, मॉडल की गति सिम्युलेटेड एन्कोडर के ज़रिए प्रोग्राम तक वापस पहुँचती है, और फिर प्रोग्राम अगला कदम तय करता है। Botdraft अभी भी एक अस्थायी नाम है।

फ़िलहाल हमारा यही एक मोटर वाला उदाहरण चल रहा है। यह आरेख है, उत्पाद का स्क्रीनशॉट नहीं।
अभी हम इसके साथ क्या कर सकते हैं
हम इस उदाहरण को शुरू कर सकते हैं, कुछ देर रोक सकते हैं, एक-एक चरण चला सकते हैं और फिर से जारी रख सकते हैं। रोकने पर मॉडल भी सिम्युलेशन के उसी समय-बिंदु पर बना रहता है। एक चरण आगे बढ़ने पर प्रोग्राम फ़ीडबैक पढ़कर अपना आउटपुट बदलता है, और स्क्रीन पर मोटर की स्थिति गणना के नतीजे के अनुसार बदलती है। इस तरह हम किसी चरण पर रुककर देख सकते हैं कि क्या हुआ, और फिर आगे बढ़ सकते हैं।
हम इसका उपयोग कंट्रोल प्रोग्राम की डिबगिंग में करना चाहते हैं। आउटपुट भेजने के बाद क्या मॉडल उम्मीद के अनुसार बदलता है? मिलने वाले फ़ीडबैक के साथ प्रोग्राम क्या करता है? हम चाहते हैं कि डेवलपर हार्डवेयर जोड़ने से पहले इन सवालों को जाँच सकें।
प्रोग्राम जो फ़ीडबैक पढ़ता है, वह मॉडल की गणना से मिलता है।
अभी और क्या जोड़ना बाकी है
अभी तक हमने सिर्फ़ यही एक मोटर वाला उदाहरण चलाया है। हम अभी ESP32-S3 की कोई भी फ़र्मवेयर इमेज लेकर यहाँ नहीं चला सकते। चिप पर मौजूद और भी पेरिफ़ेरल जोड़ने बाकी हैं, और हम डेवलपमेंट बोर्ड के पूरे विद्युत परिपथ का सिम्युलेशन नहीं करते।
मोटर मॉडल में अभी परीक्षण के पैरामीटर इस्तेमाल हो रहे हैं। हमने इसकी तुलना वास्तविक हार्डवेयर से नहीं की है, इसलिए इस नतीजे से यह नहीं बताया जा सकता कि कोई खास वास्तविक मोटर कैसे काम करेगी। सिम्युलेशन का समय और उसे चलाने में कंप्यूटर को लगने वाला समय भी अलग हैं; निष्पादन की गति में अभी सुधार करना बाकी है।
इसके बाद हम परियोजना की इसी स्क्रीन से लोड में बदलाव और फ़ीडबैक रुकने की स्थितियों पर काम करेंगे: लोड लगने पर प्रोग्राम कैसे प्रतिक्रिया देता है, और एन्कोडर का अपडेट आना बंद होने पर क्या करता है। मौजूदा इंटरफ़ेस में इन स्थितियों पर काम अभी पूरा नहीं हुआ है। हम पेरिफ़ेरल मॉडल और मोटर के पैरामीटर भी जोड़ेंगे, और पैरामीटर की जाँच निर्माताओं के उन सार्वजनिक दस्तावेज़ों से करेंगे जो हमें मिल सकें।
परियोजना का परिचय इसकी व्यापक दिशा बताता है। सॉफ्टवेयर और निर्यात के पहले के काम की जानकारी विकास के दायरे से जुड़े नोट (अंग्रेज़ी) में है।