সুচিপত্র:

সবচেয়ে সহজ Arduino VESC মনিটর: 4 টি ধাপ
সবচেয়ে সহজ Arduino VESC মনিটর: 4 টি ধাপ

ভিডিও: সবচেয়ে সহজ Arduino VESC মনিটর: 4 টি ধাপ

ভিডিও: সবচেয়ে সহজ Arduino VESC মনিটর: 4 টি ধাপ
ভিডিও: আপনার নাম LED ডিসপ্লেতে! সহজেই পারবেন // Scrolling Text using Arduino & MAX7219 | JLCPCB 2024, নভেম্বর
Anonim
সবচেয়ে সহজ Arduino VESC মনিটর
সবচেয়ে সহজ Arduino VESC মনিটর

ওহে, এই প্রকল্পে আমরা সহজ VESC মনিটর তৈরি করব। যখন আপনি আপনার তাপমাত্রা নিরীক্ষণ করতে চান এবং আমার ভেস্ক ওভারহ্যাটিং (যা আমি এই মনিটর দিয়ে খুঁজে পেয়েছি) এর মতো সমস্যাগুলি খুঁজে পেতে চান তখন এটি কার্যকর হবে অথবা আপনি এটি কেবল আপনার বোর্ড বা হ্যান্ডেলবারগুলিতে ডিসপ্লে সংযুক্ত করার জন্য ব্যবহার করতে পারেন এবং আপনার গতি দেখতে পারেন, মাইলেজ, ব্যাটারি শতাংশ এবং আরো অনেক কিছু। সুতরাং আসুন বিল্ডিংয়ে প্রবেশ করি!

ধাপ 1: অংশ

যন্ত্রাংশ
যন্ত্রাংশ
যন্ত্রাংশ
যন্ত্রাংশ

1. - Arduino (আমি UNO ব্যবহার করছি কিন্তু আপনি esp8266 বা esp32 সহ অন্য কোন বোর্ড ব্যবহার করতে পারেন)

2. - সংযোগের জন্য কিছু তারের (vesc এর জন্য আপনার সংযোগকারীর জন্য সংযোগকারী খুঁজে বের করার চেষ্টা করুন কারণ এটি 1 টি বড় সংযোগকারী বনাম অনেকগুলি ছোট তারের আনপ্লাগ করা অনেক সহজ হবে)

3. - প্রদর্শন (আমি 124 x 32 Oled ব্যবহার করছি কিন্তু আপনি লাইব্রেরি পরিবর্তন করে অন্য যে কোন ব্যবহার করতে পারেন)

4. - alচ্ছিক - ব্রেডবোর্ড (এটি এমন লোকদের জন্য যারা সোল্ডার করতে চান না বা যারা সাময়িকভাবে এটি করতে চান)

5. - আপনার arduino জন্য USB তারের

ধাপ 2: একসঙ্গে অংশ সংযুক্ত করা

অংশগুলি একসাথে সংযুক্ত করা
অংশগুলি একসাথে সংযুক্ত করা
অংশগুলি একসাথে সংযুক্ত করা
অংশগুলি একসাথে সংযুক্ত করা
অংশগুলি একসাথে সংযুক্ত করা
অংশগুলি একসাথে সংযুক্ত করা

প্রদর্শন: Vcc থেকে 3.3V

Gnd থেকে Gnd

A5 থেকে Sck (বা scl)

এসডিএ থেকে এ 4

VESC: ভেস্ক থেকে ভিন থেকে আরডুইনো পর্যন্ত 5V

Gnd থেকে Gnd

আরডুইনোতে VESC থেকে TX এ RX

VESC তে TX থেকে Arduino তে RX

ধাপ 3: আপনার পছন্দ অনুযায়ী কোড আপলোড এবং সংশোধন করুন

কোড:

/** ওল্ড ডিসপ্লে সহ লুকাস জানকি ভিইএসসি মনিটরের ২০২০ কোড যদি আপনার আমাকে কিছু জিজ্ঞাসা করার প্রয়োজন হয়, আমার সাথে [email protected] অথবা আমার নির্দেশাবলীতে যোগাযোগ করুন। আমি আশা করি এটি আপনাকে সাহায্য করবে।

*/

#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #ডিফাইন SCREEN_WIDTH 128 #ডিফাইন SCREEN_HEIGHT 64 #ডিফাইন OLED_RESET 4 Adafruit_SSD1306 ডিসপ্লে (SCREEN_WIDTH, SCREEN_HEIGHT, এবং ওয়্যার, OLED_REET)

VescUart UART;

int rpm; ভাসা ভোল্টেজ; ভাসমান বর্তমান; int শক্তি; ভাসা amphour; ভাসা tach; ভাসমান দূরত্ব; ভাসমান বেগ; ভাসমান ঘড়ি; ভাসা batpercentage;

SimpleKalmanFilter Filter1 (2, 2, 0.01);

অকার্যকর সেটআপ() {

Serial.begin (115200); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.fillScreen (0); display.display ();

/ ** সেটআপ UART পোর্ট (Atmega32u4 এ Serial1)*/ // Serial1.begin (19200); যখন (! সিরিয়াল) {;}

/ ** কোন পোর্টগুলিকে UART*/ UART.setSerialPort (& Serial) হিসাবে ব্যবহার করতে হবে তা নির্ধারণ করুন;

}

অকার্যকর লুপ () {

/////////// মান পড়ুন ////////// যদি (UART.getVescValues ()) {

rpm = (UART.data.rpm)/7; // '7' হল মোটরের মেরু জোড়ার সংখ্যা। বেশিরভাগ মোটরের 14 টি খুঁটি থাকে, তাই 7 মেরু জোড়া ভোল্টেজ = (UART.data.inpVoltage); বর্তমান = (UART.data.avgInputCurrent); শক্তি = ভোল্টেজ*বর্তমান; amphour = (UART.data.ampHours); watthour = amphour*ভোল্টেজ; 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

}

////////// ফিল্টার ////////// // কলমান ফিল্টার দিয়ে আনুমানিক মূল্য গণনা করুন float powerfiltered = Filter1.updateEstimate (power);

display.fillScreen (0); display.setCursor (10, 5); display.setTextColor (1); display.setTextSize (1); display.print (ভোল্টেজ);

display.setCursor (10, 20); display.setTextColor (1); display.setTextSize (1); display.print (পাওয়ার);

display.setCursor (10, 40); display.setTextColor (1); display.setTextSize (1); display.print (rpm);

display.setCursor (10, 55); display.setTextColor (1); display.setTextSize (1); display.print (বর্তমান); display.display ();

বিলম্ব (50);

}

আপনি যে কোডটি চান তা থেকে আপনি যে কোনও মান পরিবর্তন এবং প্রদর্শন করতে পারেন।

ধাপ 4: এটি কাজ করে কিনা তা পরীক্ষা করা

এটি কাজ করে কিনা তা পরীক্ষা করা হচ্ছে
এটি কাজ করে কিনা তা পরীক্ষা করা হচ্ছে
এটি কাজ করে কিনা তা পরীক্ষা করা হচ্ছে
এটি কাজ করে কিনা তা পরীক্ষা করা হচ্ছে
এটি কাজ করে কিনা তা পরীক্ষা করা হচ্ছে
এটি কাজ করে কিনা তা পরীক্ষা করা হচ্ছে

এখন যখন আপনি যাচাই করেন যে এটি কাজ করছে কিনা তা সোল্ডার করার সময় এবং আপনার মানগুলিতে ভোল্ট বা এম্পসের মতো লেবেল যুক্ত করার সময়। এটিকে আরডুইনো ন্যানোতে সোল্ডার করুন যাতে এটি ছোট হবে অথবা আপনি এটি অন্য আরডুইনো দিয়ে আপনার রিমোট কন্ট্রোলারে প্রেরণ করতে পারেন। কিন্তু এর জন্য অন্যান্য অনেক টিউটোরিয়াল আছে (arduino দিয়ে মান প্রেরণ করা অনুসন্ধান)। আমি আশা করি এটি আপনাকে আপনার সমস্যার সমাধান করতে বা চমৎকার ছোট ভেস্ক টেলিমেট্রি তৈরিতে সাহায্য করেছে।

প্রস্তাবিত: