תוכן עניינים:

צג ה- VESC הקל ביותר של Arduino: 4 שלבים
צג ה- VESC הקל ביותר של Arduino: 4 שלבים

וִידֵאוֹ: צג ה- VESC הקל ביותר של Arduino: 4 שלבים

וִידֵאוֹ: צג ה- VESC הקל ביותר של Arduino: 4 שלבים
וִידֵאוֹ: תחרות קורקינט חשמלי במהירות 100 קמ"ש Xelectrics 2024, נוֹבֶמבֶּר
Anonim
צג VESC Arduino הקל ביותר
צג VESC Arduino הקל ביותר

היי, בפרויקט זה נכין צג VESC קל. זה יהיה שימושי כאשר אתה רוצה לעקוב אחר הטמפרטורה שלך ולגלות בעיות כמו שהייתה לי עם התחממות יתר של Vesc שלי (שגיליתי רק עם צג זה) או שאתה יכול להשתמש בו פשוט לחיבור תצוגה ללוח או לכידון ולצפות במהירות שלך., קילומטראז ', אחוזי סוללה ורבים נוספים. אז בואו ניכנס לבנייה!

שלב 1: חלקים

חלקים
חלקים
חלקים
חלקים

1. - Arduino (אני משתמש ב- UNO אבל אתה יכול גם להשתמש בכל לוח אחר כולל esp8266 או esp32)

2. - כמה כבלים לחיבור (נסה למצוא מחבר למחבר שלך עבור vesc כי יהיה הרבה יותר קל לנתק מחבר אחד גדול לעומת הרבה כבלים קטנים)

3. - תצוגה (אני משתמש ב- 124 x 32 Oled אבל אתה יכול להשתמש בכל אחר על ידי שינוי הספרייה)

4. - אופציונלי - קרש לחם (זה מיועד לאנשים שלא רוצים להלחם או לאלה שרוצים לעשות זאת באופן זמני)

5. - כבל USB עבור הארדואינו שלך

שלב 2: חיבור חלקים יחד

חיבור חלקים ביחד
חיבור חלקים ביחד
חיבור חלקים ביחד
חיבור חלקים ביחד
חיבור חלקים ביחד
חיבור חלקים ביחד

תצוגה: Vcc עד 3.3V

Gnd ל- Gnd

Sck (או scl) עד A5

Sda עד A4

VESC: 5V מווסק ועד וין בארדואינו

Gnd ל- Gnd

RX ב- VESC ל- TX ב- Arduino

TX ב- VESC ל- RX ב- Arduino

שלב 3: העלאה ושינוי הקוד להעדפתך

קוד:

/** קוד 2020 על ידי צג VESC של לוקאס ג'אנקי עם תצוגת Oled אם אתה צריך לשאול אותי משהו, צור איתי קשר ב [email protected] או במדריכים שלי. אני מקווה שזה יעזור לך.

*/

#include #include #include #include #include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET 4 תצוגת Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);

VescUart UART;

int סל ד; מתח צף; זרם צף; כוח int; צף אמפור; תוף צף; מרחק צף; מהירות לצוף; צף וואטור; אחוזי צף;

מסנן SimpleKalmanFilter1 (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); current = (UART.data.avgInputCurrent); כוח = מתח*זרם; אמפור = (UART.data.ampHours); וואטור = אמפור*מתח; tach = (UART.data.tachometerAbs)/42; // '42' הוא מספר הקטבים המוטוריים כפול 3 מרחק = טאק*3.142*(1/1609)*0.72*(16/185); // סל"ד מנוע x פי x (1/ מטר בקילומטר או קילומטר) x קוטר גלגל x (גלגלת מנוע/ גלגלת מנוע) מהירות = סל"ד*3.142*(60/1609)*0.72*(16/185); // סל"ד מנוע x פי x (שניות בדקה / מטר בקילומטר) x קוטר גלגל x (גלגלת מנוע / גלגלת מנוע) אחוז באט = ((מתח -38.4) / 12)*100; // ((מתח סוללה - מתח מינימלי) / מספר תאים) x 100

}

////////// מסנן ////////// // לחשב את הערך המשוער עם Kalman Filter 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 (סל ד);

display.setCursor (10, 55); display.setTextColor (1); display.setTextSize (1); display.print (הנוכחי); display.display ();

עיכוב (50);

}

אתה יכול לשנות ולהציג כל ערך מהקוד שאתה רוצה

שלב 4: בדוק אם זה עובד

בודקים אם זה עובד
בודקים אם זה עובד
בודקים אם זה עובד
בודקים אם זה עובד
בודקים אם זה עובד
בודקים אם זה עובד

עכשיו כשאתה בודק אם זה עובד זה הזמן להלחם אותו ולהוסיף תוויות לערכים שלך כמו וולט או אמפר. הלחם אותו על arduino nano כך שהוא יהיה קטן יותר או שאתה יכול אפילו להעביר אותו עם arduino אחר לשלט הרחוק שלך. אבל בשביל זה יש הרבה הדרכות אחרות (חיפוש העברת ערכים עם ארדואינו). אני מקווה שזה עזר לך לפתור את הבעיה שלך או ליצור טלמטריה קטנה של ווסק.

מוּמלָץ: