جدول المحتويات:

أسهل شاشة VESC من Arduino: 4 خطوات
أسهل شاشة VESC من Arduino: 4 خطوات

فيديو: أسهل شاشة VESC من Arduino: 4 خطوات

فيديو: أسهل شاشة VESC من Arduino: 4 خطوات
فيديو: Thanos DD Board - OSW Direct Drive Wheel DAC Test! WOWZER!! 2024, يوليو
Anonim
أسهل شاشة اردوينو VESC
أسهل شاشة اردوينو VESC

أهلا،

في هذا المشروع سوف نجعل شاشة VESC سهلة. قد يكون هذا مفيدًا عندما تريد مراقبة درجة حرارتك واكتشاف مشكلات مثل التي واجهتها مع ارتفاع درجة حرارة جهاز Vesc (الذي اكتشفته فقط باستخدام هذه الشاشة) أو يمكنك استخدامه لمجرد إرفاق الشاشة بلوحة التحكم أو المقاود ومراقبة سرعتك ، الأميال ، نسبة البطارية وغيرها الكثير. لذلك دعونا ندخل في البناء!

الخطوة 1: الأجزاء

القطع
القطع
القطع
القطع

1. - Arduino (أنا أستخدم UNO ولكن يمكنك أيضًا استخدام أي لوحة أخرى بما في ذلك esp8266 أو esp32)

2. - بعض الكابلات للتوصيل (حاول العثور على موصل للموصل الخاص بك لـ vesc لأنه سيكون من الأسهل بكثير فصل موصل كبير واحد مقابل الكثير من الكابلات الصغيرة)

3. - عرض (أنا أستخدم 124 × 32 Oled ولكن يمكنك استخدام أي شيء آخر عن طريق تغيير المكتبة)

4. - اختياري - اللوح (هذا للأشخاص الذين لا يريدون اللحام أو لأولئك الذين يريدون القيام بذلك مؤقتًا)

5. - كابل USB لاردوينو الخاص بك

الخطوة 2: توصيل الأجزاء معًا

ربط الأجزاء معًا
ربط الأجزاء معًا
ربط الأجزاء معًا
ربط الأجزاء معًا
ربط الأجزاء معًا
ربط الأجزاء معًا

العرض: Vcc إلى 3.3V

Gnd إلى Gnd

Sck (أو scl) إلى A5

Sda إلى A4

VESC: 5V من Vesc إلى Vin على Arduino

Gnd إلى Gnd

RX على VESC إلى TX على Arduino

TX على VESC إلى RX على Arduino

الخطوة 3: تحميل وتعديل الكود حسب تفضيلاتك

الشفرة:

/ ** 2020 code بواسطة شاشة Lukas Janky VESC مع شاشة Oled إذا كنت بحاجة إلى أن تسألني أي شيء ، فاتصل بي على [email protected] أو على تعليماتي. آمل أن يكون هذا سوف تساعدك.

*/

#include #include #include # include #include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define SCREEN_HEIGHT 64 #define OLED_RESET 4 Adafruit_SSD1306 display (SCREEN_WIDTH، SCREEN_HEIGHT، & Wire، OLED_RES)

VescUart UART ؛

عدد الدورات في الدقيقة ؛ الجهد العائم تيار تعويم قوة كثافة العمليات تعويم أمفور تعويم تاش مسافة تعويم سرعة تعويم تعويم مياه تعويم معدل الخفافيش

SimpleKalmanFilter Filter1 (2، 2، 0.01) ؛

الإعداد باطل() {

Serial.begin (115200) ؛ display.begin (SSD1306_SWITCHCAPVCC ، 0x3C) ؛ display.fillScreen (0) ؛ display.display () ،

/ ** إعداد منفذ UART (Serial1 على Atmega32u4) * / // Serial1.begin (19200) ؛ بينما (! المسلسل) {؛}

/ ** تحديد المنافذ المراد استخدامها كـ UART * / UART.setSerialPort (& Serial) ؛

}

حلقة فارغة() {

////////// قراءة القيم ////////// if (UART.getVescValues ()) {

دورة في الدقيقة = (UART.data.rpm) / 7 ؛ // "7" هو عدد أزواج القطب في المحرك. تحتوي معظم المحركات على 14 عمودًا ، وبالتالي فإن الجهد 7 أزواج أقطاب = (UART.data.inpVoltage) ؛ الحالي = (UART.data.avgInputCurrent) ؛ الطاقة = الجهد * التيار ؛ amphour = (UART.data.ampHours) ؛ واتثور = أمبير * جهد ؛ تاش = (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) ؛ // Motor RPM x Pi x (ثواني في الدقيقة / متر في الميل) x قطر العجلة x (بكرة المحرك / بكرة العجلة) معدل البطارية = ((الجهد 38.4) / 12) * 100 ؛ // ((جهد البطارية - الحد الأدنى للجهد) / عدد الخلايا) × 100

}

////////// Filter ////////// // احسب القيمة المقدرة باستخدام مرشح كالمان لتعويم مرشح الطاقة = Filter1.updateEstimate (طاقة) ؛

display.fillScreen (0) ؛ display.setCursor (10 ، 5) ؛ display.setTextColor (1) ، display.setTextSize (1) ، عرض الطباعة (الجهد) ؛

display.setCursor (10 ، 20) ؛ display.setTextColor (1) ، display.setTextSize (1) ، عرض الطباعة (الطاقة) ؛

display.setCursor (10 ، 40) ؛ display.setTextColor (1) ، display.setTextSize (1) ، عرض الطباعة (دورة في الدقيقة) ؛

display.setCursor (10 ، 55) ؛ display.setTextColor (1) ، display.setTextSize (1) ، عرض الطباعة (الحالية) ؛ display.display () ،

تأخير (50) ؛

}

يمكنك تعديل وعرض أي قيمة من التعليمات البرمجية التي تريدها

الخطوة 4: التحقق مما إذا كان يعمل

التحقق مما إذا كان يعمل
التحقق مما إذا كان يعمل
التحقق مما إذا كان يعمل
التحقق مما إذا كان يعمل
التحقق مما إذا كان يعمل
التحقق مما إذا كان يعمل

الآن عندما تتحقق مما إذا كان يعمل ، فقد حان الوقت لتلحيمه وإضافة ملصقات إلى قيمك مثل Volts أو Amps. قم بلحامها على اردوينو نانو بحيث تكون أصغر أو يمكنك حتى نقلها باستخدام اردوينو آخر إلى وحدة التحكم عن بُعد الخاصة بك. ولكن هناك العديد من البرامج التعليمية الأخرى (ابحث عن قيم الإرسال باستخدام اردوينو). آمل أن يكون هذا قد ساعدك في حل مشكلتك أو إجراء قياس صغير لطيف عن بُعد.

موصى به: