विषयसूची:

सबसे आसान Arduino VESC मॉनिटर: 4 कदम
सबसे आसान Arduino VESC मॉनिटर: 4 कदम

वीडियो: सबसे आसान Arduino VESC मॉनिटर: 4 कदम

वीडियो: सबसे आसान Arduino VESC मॉनिटर: 4 कदम
वीडियो: VESC (Best Open Source ESC) || DIY or Buy 2024, जुलाई
Anonim
सबसे आसान Arduino VESC मॉनिटर
सबसे आसान Arduino VESC मॉनिटर

नमस्ते, इस परियोजना में हम आसान VESC मॉनिटर बनाएंगे। यह तब उपयोगी होगा जब आप अपने तापमान की निगरानी करना चाहते हैं और उन समस्याओं का पता लगाना चाहते हैं जैसे मुझे अपने वेस्क ओवरहीटिंग (जो मुझे इस मॉनिटर के साथ ही पता चला) के साथ था या आप इसका उपयोग केवल अपने बोर्ड या हैंडलबार में डिस्प्ले संलग्न करने के लिए कर सकते हैं और अपनी गति देख सकते हैं, माइलेज, बैटरी प्रतिशत और भी बहुत कुछ। तो चलो निर्माण में लग जाओ!

चरण 1: भाग

पार्ट्स
पार्ट्स
पार्ट्स
पार्ट्स

1. - Arduino (मैं UNO का उपयोग कर रहा हूं लेकिन आप esp8266 या esp32 सहित किसी अन्य बोर्ड का भी उपयोग कर सकते हैं)

2. - कनेक्ट करने के लिए कुछ केबल (vesc के लिए अपने कनेक्टर के लिए कनेक्टर खोजने का प्रयास करें क्योंकि 1 बड़े कनेक्टर बनाम बहुत सारे छोटे केबल को अनप्लग करना बहुत आसान होगा)

3. - डिस्प्ले (मैं 124 x 32 ओल्ड का उपयोग कर रहा हूं लेकिन आप लाइब्रेरी बदलकर किसी अन्य का उपयोग कर सकते हैं)

4. - वैकल्पिक - ब्रेडबोर्ड (यह उन लोगों के लिए है जो सोल्डर नहीं करना चाहते हैं या जो इसे अस्थायी रूप से करना चाहते हैं)

5. - आपके arduino के लिए USB केबल

चरण 2: भागों को एक साथ जोड़ना

भागों को एक साथ जोड़ना
भागों को एक साथ जोड़ना
भागों को एक साथ जोड़ना
भागों को एक साथ जोड़ना
भागों को एक साथ जोड़ना
भागों को एक साथ जोड़ना

प्रदर्शन: वीसीसी से 3.3V

Gnd से Gnd

Sck (या scl) से A5

एसडीए से ए4

VESC: 5V Vesc से Vin तक Arduino पर

Gnd से Gnd

Arduino पर VESC से TX पर RX

VESC पर TX से Arduino पर RX तक

चरण 3: कोड को अपनी पसंद के अनुसार अपलोड और संशोधित करना

कोड:

/** 2020 कोड लुकास जानकी वीईएससी मॉनिटर द्वारा ओलेड डिस्प्ले के साथ यदि आपको मुझसे कुछ भी पूछना है, तो मुझे [email protected] पर या मेरे इंस्ट्रक्शंस पर संपर्क करें। मुझे उम्मीद है कि इससे आपको मदद मिलेगी।

*/

#शामिल करें #शामिल करें #शामिल करें #शामिल करें #शामिल करें #शामिल करें #SCREEN_WIDTH 128 परिभाषित करें #SCREEN_HEIGHT 64 परिभाषित करें #OLED_RESET 4 परिभाषित करें Adafruit_SSD1306 डिस्प्ले (SCREEN_WIDTH, SCREEN_HEIGHT, &वायर, OLED_RESET);

वेस्कुअर्ट यूएआरटी;

इंट आरपीएम; फ्लोट वोल्टेज; फ्लोट करंट; इंट पावर; फ्लोट एम्फ़ोर; फ्लोट टैक; फ्लोट दूरी; फ्लोट वेग; फ्लोट वॉटहौर; फ्लोट बैटपरसेंटेज;

SimpleKalmanFilter Filter1(2, 2, 0.01);

व्यर्थ व्यवस्था() {

सीरियल.बेगिन (115200); डिस्प्ले.बेगिन (SSD1306_SWITCHCAPVCC, 0x3C); डिस्प्ले.फिलस्क्रीन (0); डिस्प्ले.डिस्प्ले ();

/** सेटअप UART पोर्ट (Atmega32u4 पर सीरियल1) */ // Serial1.begin(19200); जबकि (! सीरियल) {;}

/** परिभाषित करें कि UART */ UART.setSerialPort(&Serial) के रूप में किस पोर्ट का उपयोग करना है;

}

शून्य लूप () {

/////////// मान पढ़ें ////////// अगर (UART.getVescValues ()) {

आरपीएम = (यूएआरटी.डेटा.आरपीएम)/7; // '7' मोटर में पोल जोड़े की संख्या है। अधिकांश मोटर्स में 14 पोल होते हैं, इसलिए 7 पोल पेयर वोल्टेज = (UART.data.inpVoltage); वर्तमान = (UART.data.avgInputCurrent); शक्ति = वोल्टेज * वर्तमान; एम्फ़ोर = (UART.data.ampHours); वॉटहौर = एम्फ़ोर*वोल्टेज; tach = (UART.data.tachometerAbs)/42; // '42' मोटर के खंभों की संख्या 3 दूरी = tach*3.142*(1/1609)*0.72*(16/185); // मोटर RPM x Pi x (मील या किमी में 1 / मीटर) x व्हील व्यास x (मोटर चरखी / व्हीलपुली) वेग = rpm*3.142*(60/1609)*0.72*(16/185); // मोटर RPM x Pi x (एक मिनट में सेकंड / मील में मीटर) x व्हील व्यास x (मोटर चरखी / व्हीलपुली) बैटरसेंटेज = ((वोल्टेज-38.4)/12)*100; // ((बैटरी वोल्टेज - न्यूनतम वोल्टेज) / कोशिकाओं की संख्या) x 100

}

////////// फ़िल्टर करें //////////

डिस्प्ले.फिलस्क्रीन (0); डिस्प्ले.सेट कर्सर (10, 5); display.setTextColor(1); display.setTextSize(1); डिस्प्ले।प्रिंट (वोल्टेज);

डिस्प्ले.सेट कर्सर (10, 20); display.setTextColor(1); display.setTextSize(1); डिस्प्ले।प्रिंट (पावर);

डिस्प्ले.सेट कर्सर (10, 40); display.setTextColor(1); display.setTextSize(1); डिस्प्ले।प्रिंट (आरपीएम);

डिस्प्ले.सेट कर्सर (10, 55); display.setTextColor(1); display.setTextSize(1); डिस्प्ले।प्रिंट (वर्तमान); डिस्प्ले.डिस्प्ले ();

देरी (50);

}

आप अपने इच्छित कोड से किसी भी मान को संशोधित और प्रदर्शित कर सकते हैं।

चरण 4: जाँच कर रहा है कि क्या यह काम करता है

जाँच कर रहा है कि क्या यह काम करता है
जाँच कर रहा है कि क्या यह काम करता है
जाँच कर रहा है कि क्या यह काम करता है
जाँच कर रहा है कि क्या यह काम करता है
जाँच कर रहा है कि क्या यह काम करता है
जाँच कर रहा है कि क्या यह काम करता है

अब जब आप जांचते हैं कि क्या यह काम कर रहा है तो इसे टांका लगाने और वोल्ट या एम्प्स जैसे अपने मूल्यों में लेबल जोड़ने का समय है। इसे arduino nano पर मिलाएं ताकि यह छोटा हो या आप इसे अन्य arduino के साथ अपने रिमोट कंट्रोलर तक पहुंचा सकें। लेकिन इसके लिए कई अन्य ट्यूटोरियल हैं (आर्डिनो के साथ ट्रांसमिटिंग वैल्यू खोजें)। मुझे आशा है कि इससे आपको अपनी समस्या को हल करने या अच्छी छोटी vesc टेलीमेट्री बनाने में मदद मिली।

सिफारिश की: