rusEfi: ओपनसोर्स DIY इंजेक्टर प्रोजेक्ट

मैं stm32 पर आधारित ईंधन इंजेक्शन इकाई के विषय को जारी रखना चाहूंगा और rusEfi परियोजना की वर्तमान स्थिति के बारे में बात करूंगा।





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

थोड़ा इतिहास।


चार साल पहले, मैं गलती से बहुत शौकिया धीरज की अंगूठी दौड़ में दिलचस्पी ले रहा था। समय बीतता गया, मैं इसे और तेज़ और बेहतर चाहता था, लेकिन मैं बीएमडब्लू ई 30 खरीदने का प्रतिबंधात्मक रास्ता नहीं अपनाना चाहता था - इसलिए इंजन पर टरबाइन लगाने के विचार थे। इस तरह के कॉन्फ़िगरेशन में विश्वसनीयता केवल उचित इंजेक्शन और इग्निशन नियंत्रण के साथ संभव है, और मेरी दौड़ के नियमों के अनुसार, यह सब भी बहुत सस्ता होना चाहिए। मौजूदा समाधानों के विश्लेषण से पता चला है कि कीमतें अभी भी उच्च हैं, और हमेशा उचित नहीं हैं, और संभावनाएं सीमित हैं। एक अस्थायी ब्लॉक स्पष्ट रूप से मौजूदा कस्टम ब्लॉकों की तुलना में सस्ता आता है।

छवि

उपलब्ध स्रोतों (और पेशे से मैं सिर्फ एक प्रोग्रामर हूं) को पढ़ने के बाद, मैंने स्क्रैच से कोड लिखने का फैसला किया। प्रारंभिक कार्य समझने योग्य, एक्स्टेंसिबल और न्यूनतम हार्डवेयर-संबंधित कोड लिखना था।

एक हार्डवेयर प्लेटफ़ॉर्म चुनना।


वर्तमान में, बड़ी संख्या में शक्तिशाली और सस्ती माइक्रोकंट्रोलर हैं, जिनका प्रदर्शन प्रत्येक घड़ी चक्र की परवाह नहीं करने के लिए पर्याप्त है, उच्च-गुणवत्ता कोड और अमूर्तता के उच्च स्तर पर ध्यान केंद्रित करता है। यह सब आपको उच्च गुणवत्ता और पोर्टेबल कोड, एक्स्टेंसिबिलिटी और एक विशिष्ट हार्डवेयर के लिए बाध्यकारी की कमी प्राप्त करने की अनुमति देगा। यह सब एक परीक्षण के लिए आने पर अन्य हार्डवेयर प्लेटफार्मों पर स्विच करने की संभावना का वादा करता है। नतीजतन, STM32 को चुना गया - सस्ती, लेकिन शक्तिशाली।
कई कारणों से, मेरा मानना ​​है कि वर्तमान स्तर पर, और संभवतः हमेशा के लिए, लोहा मॉड्यूलर होना चाहिए। वर्तमान में, STM32F4DISCOVERY डिबग बोर्ड और दो मॉड्यूल का उपयोग किया जाता है - पावर ड्राइवर मॉड्यूल और एनालॉग इनपुट मॉड्यूल।
विकास बोर्ड के आयाम विभिन्न कोणों से कम से कम चार छोटे मॉड्यूल को जोड़ने की अनुमति देते हैं। अब हमारे पास एक एनालॉग इनपुट मॉड्यूल है

छवि

सोलेनोइड नियंत्रण मॉड्यूल (ईंधन इंजेक्टर - बस एक सोलनॉइड)

छवि

और तारों कनेक्टर मॉड्यूल

छवि

KiCad में बोर्ड तैयार किए जाते हैं - फिर से, एक खुला और मुफ्त पैकेज। लेकिन पिनआउट के लचीले विन्यास को ध्यान में रखते हुए, हर कोई अपने आई / ओ कार्ड का उपयोग कर सकता है, संगतता की आवश्यकता नहीं है।

बोर्डों के आरेखण के साथ शायद अड़चन है - कई लोग पहले से ही कोड लिखने में शामिल हैं, लेकिन लोहे के साथ यह अधिक जटिल है। कार्यों की एक सूची है, लेकिन कोई भी व्यक्ति नहीं है। और पहले से ही मैं न केवल बोर्ड को ऑर्डर करने के लिए चीनी से कोशिश करना चाहता हूं, बल्कि कम से कम सभी प्रतिरोधों की विधानसभा का आदेश भी देना चाहता हूं।

मुलायम


बेहतर मॉड्यूलरिटी के लिए, सिस्टम छोटे ChibiOS / RT RTOS का उपयोग करता है, जो कि उपकरण के अमूर्त होने के कारण भी मूल्यवान है। ChibiOS हमें, सबसे पहले, थ्रेड्स और ब्लॉकिंग प्राइमिटिव्स देता है - यह RTOS कर्नेल की कार्यक्षमता है, और दूसरी बात - अलग-अलग MKs के लिए सुविधाजनक और समान API वाले हार्डवेयर ड्राइवर। इसके कारण, किसी को बसों और रजिस्टरों में गहराई तक नहीं जाना पड़ता है और पोर्टेबिलिटी की उम्मीद होती है। इसी समय, इस आरटीओएस के साथ विशेष रूप से कोई महान संबंध नहीं है, यदि आवश्यक हो, तो दूसरे में स्थानांतरित करना संभव होगा।

इस परियोजना का मुख्य सिद्धांत: सबसे पठनीय स्रोत कोड। जो कुछ भी किया जा सकता है वह मॉड्यूलर और जितना संभव हो उतना सीधा है: मैं वास्तव में कहीं भी कुछ भी हैक नहीं करना चाहता हूं, लेकिन इसे ईमानदारी से लागू करने के लिए। चुने गए हार्डवेयर प्लेटफ़ॉर्म के साथ न्यूनतम भागीदारी के साथ, भविष्य में दूसरे प्लेटफ़ॉर्म पर संक्रमण काफी सरल होना चाहिए।

अनुकूलन कार्यक्रमों के साथ एकीकरण


जैसा कि आप जानते हैं, नियंत्रण इकाई को कॉन्फ़िगर करने के लिए कुछ सॉफ़्टवेयर की आवश्यकता होती है जो आपको लॉग लिखने, विश्लेषण करने और सभी प्रकार की तालिकाओं, अंशांकन और सेटिंग्स को संपादित करने की अनुमति देता है। इस सॉफ़्टवेयर में अक्सर पैसा खर्च होता है और एकल सेटिंग के लिए इसकी खरीद हमेशा प्रासंगिक नहीं होती है।

हमें नियंत्रित करने के लिए, हम लोकप्रिय ट्यूनरस्टडियो का उपयोग करते हैं, एकीकरण पहले से ही काम कर रहा है। ट्यूनरस्टडियो काफी लचीला है और आपको मक्खी पर सेटिंग्स को संपादित करने, किसी भी टेबल को बनाने, नक्शे को संपादित करने आदि की अनुमति देता है। सब कुछ ऑनलाइन काम करता है। यह भी ध्यान दिया जाना चाहिए कि TunerStudio के साथ एकीकरण भी MegaLogViewer के साथ एकीकरण का वादा करता है, जो आपको लॉग का विश्लेषण करने और लॉग के आधार पर ईंधन मानचित्र को स्वचालित रूप से समायोजित करने की अनुमति देता है। उसी लाइन से शैडो डैश एमएस भी है - ट्यूनर स्टूडियो के रचनाकारों से एक एंड्रॉइड एप्लिकेशन, जो ट्यूनर स्टूडियो के समान ही सब कुछ करने की अनुमति देता है, लेकिन ब्लूटूथ के माध्यम से एंड्रॉइड डिवाइस से।
ये सभी सॉफ़्टवेयर उत्पाद आवश्यक तंत्र को लागू करते हैं, उन्हें खरोंच से लिखना नहीं होगा। अभी, ईंधन और तापमान समायोजन कार्ड ट्यूनरस्टडियो में काम कर रहे हैं, तंत्र जगह में हैं, और इस दिशा में आगे विकास कोई समस्या नहीं है।

परियोजना की वर्तमान स्थिति


अब नियंत्रक शाफ्ट स्थिति सेंसर और वायु प्रवाह संवेदक के आधार पर, ईंधन की आपूर्ति को नियंत्रित करता है। एक साधारण टेबल से, शीतलक और हवा के तापमान के लिए अतिरिक्त सुधार के साथ, वर्तमान गति और वायु प्रवाह के आधार पर पल्स की लंबाई प्राप्त की जाती है। यह एक आदिम और आदर्श एल्गोरिथ्म से दूर है जिसका उपयोग डिबगिंग के लिए अधिक किया जाता है।
अभी कोई इग्निशन कंट्रोल नहीं है। कुछ बिंदु पर एक इग्निशन कंट्रोल था, फिर इसे अस्थायी रूप से हटा दिया गया था - अब इग्निशन कंट्रोल फर्मवेयर पर काम का मुख्य क्षेत्र होगा।

यदि आप एनालॉग्स के विषय पर स्पर्श करते हैं - तो पहले आमतौर पर मेगसकीर का उल्लेख करते हैं, जो "अजर" है - स्रोत कोड खुला है, लेकिन उनके आधिकारिक हार्डवेयर के उपयोग की आवश्यकता है, अन्यथा यह लाइसेंस का उल्लंघन है। Megasquirt में काफी ठोस पैसा खर्च होता है। केवल FreeEMS को वास्तव में खुली और जीवित परियोजना कहा जा सकता है - लगभग बीस कारें पहले से ही इस नियंत्रण इकाई को चलाती हैं, लेकिन यह परियोजना एक बहुत ही विशिष्ट हार्डवेयर से जुड़ी हुई है और स्रोत कोड सिर्फ सुंदरता की मेरी भावना को परेशान करता है।

यह सब कितना खर्च करता है? परियोजना खुली है, स्रोत कोड में कुछ भी खर्च नहीं होता है। लोहा खुला है - लोहे की लागत जितना आप इसे बनाने पर खर्च करते हैं। अनुमानित न्यूनतम नियंत्रण इकाई $ 100 के आसपास होनी चाहिए। वैसे, भविष्य के लिए एक अलग दिलचस्प दिशा मूल ईसीयू के बोर्ड में एक नए एमके को प्रत्यारोपित करना है। डीआईपी युग के पुराने ब्लॉकों के लिए, यह सबसे किफायती संस्करण होगा - इस तरह के उन्नयन में केवल $ 20 का खर्च आएगा, जबकि यह पूरी तरह से rusEfi के साथ संगत होगा।

अब आपको बस नींव को डीबग करने की आवश्यकता है - पोजीशन सेंसर के सभी विकल्पों को ध्यान से संसाधित करें, कार कॉन्फ़िगरेशन की एक विस्तृत श्रृंखला के लिए हार्डवेयर मॉड्यूल को एक ही शैली में सावधानी से व्यवस्थित करें।

फिलहाल, परियोजना को आपके समर्थन की आवश्यकता है। आपको कोड लिखने, इलेक्ट्रॉनिक्स पर काम करने और अन्य रोमांचक और उपयोगी चीजें करने की आवश्यकता है। हर कोई मदद कर सकता है!

प्रोजेक्ट कोड सोर्सफोर्ज पर स्थित है - ट्रैकर उसी स्थान पर रहता है
लोहे के वर्तमान संस्करण की योजनाएं
एक मंच है

और अब - स्लाइड्स!


Source: https://habr.com/ru/post/In201472/


All Articles