ዝርዝር ሁኔታ:

በጣም ቀላሉ Arduino VESC ማሳያ 4 ደረጃዎች
በጣም ቀላሉ Arduino VESC ማሳያ 4 ደረጃዎች

ቪዲዮ: በጣም ቀላሉ Arduino VESC ማሳያ 4 ደረጃዎች

ቪዲዮ: በጣም ቀላሉ Arduino VESC ማሳያ 4 ደረጃዎች
ቪዲዮ: {695} Timer Using Arduino Uno, Arduino Programming 2024, ህዳር
Anonim
በጣም ቀላሉ የአርዱዲኖ VESC መቆጣጠሪያ
በጣም ቀላሉ የአርዱዲኖ VESC መቆጣጠሪያ

ሃይ, በዚህ ፕሮጀክት ውስጥ ቀላል የ VESC መቆጣጠሪያን እናደርጋለን። በ Vesc overheating (እንደ እኔ በዚህ ሞኒተር ያገኘሁት) ያሉብዎትን ችግሮች ለማወቅ ሲፈልጉ ወይም እርስዎ ሲፈልጉ ይህ ጠቃሚ ይሆናል ወይም ማሳያዎን ከቦርድዎ ወይም ከእጀታዎ ጋር ለማያያዝ እና ፍጥነትዎን ለመመልከት በቀላሉ ሊጠቀሙበት ይችላሉ። ፣ ርቀት ፣ የባትሪ መቶኛ እና ብዙ ተጨማሪ። ስለዚህ ወደ ግንባታ እንግባ!

ደረጃ 1: ክፍሎች

ክፍሎች
ክፍሎች
ክፍሎች
ክፍሎች

1. - አርዱinoኖ (እኔ UNO ን እጠቀማለሁ ፣ ግን esp8266 ወይም esp32 ን ጨምሮ ማንኛውንም ሌላ ቦርድ መጠቀም ይችላሉ)

2. - ለማገናኘት አንዳንድ ኬብሎች (ለ ‹vesc› ለአገናኝዎ አገናኝ ለማግኘት ይሞክሩ ምክንያቱም ብዙ ትናንሽ ኬብሎችን እና ብዙ ትናንሽ ኬብሎችን ማላቀቅ በጣም ቀላል ይሆናል)

3. - ማሳያ (እኔ 124 x 32 Oled ን እየተጠቀምኩ ነው ነገር ግን ቤተ -መጽሐፍትን በመለወጥ ሌላ ማንኛውንም መጠቀም ይችላሉ)

4. - አማራጭ - የዳቦ ሰሌዳ (ይህ ለመሸጥ ለማይፈልጉ ሰዎች ወይም ለጊዜው ማድረግ ለሚፈልጉ ነው)

5. - ለአርዱዲኖዎ የዩኤስቢ ገመድ

ደረጃ 2 - ክፍሎችን በጋራ ማገናኘት

ክፍሎችን በአንድ ላይ ማገናኘት
ክፍሎችን በአንድ ላይ ማገናኘት
ክፍሎችን በአንድ ላይ ማገናኘት
ክፍሎችን በአንድ ላይ ማገናኘት
ክፍሎችን በአንድ ላይ ማገናኘት
ክፍሎችን በአንድ ላይ ማገናኘት

ማሳያ: ቪሲሲ ወደ 3.3 ቪ

Gnd to Gnd

Sck (ወይም scl) ወደ A5

ኤስዳ ወደ A4

VESC: 5V ከቬስክ እስከ ቪን በአርዱዲኖ

Gnd to Gnd

RX በ VESC ወደ TX በአርዱዲኖ

TX በ VESC ላይ ወደ አርኤክስ አር አርዲኖ ላይ

ደረጃ 3 - ኮዱን ወደ ምርጫዎ በመስቀል እና በማሻሻል ላይ

ኮድ ፦

/** የ 2020 ኮድ በሉካስ ጃንኪ የ VESC መቆጣጠሪያ ከኦይድ ማሳያ ጋር ማንኛውንም ነገር መጠየቅ ከፈለጉ በ [email protected] ወይም በትምህርቶቼ ላይ ያነጋግሩኝ። ይህ ይረዳዎታል ብዬ ተስፋ አደርጋለሁ።

*/

#አካትት #አካት #አካት #አካት #አካት #አካት #ጨምር #ገላጭ_ውርድ 128 #ገላጭ SCREEN_HEIGHT 64 #ገላጭ OLED_RESET 4 Adafruit_SSD1306 ማሳያ (SCREEN_WIDTH ፣ SCREEN_HEIGHT ፣ & Wire, OLED_RESET);

VescUart UART;

int rpm; ተንሳፋፊ ቮልቴጅ; ተንሳፋፊ የአሁኑ; int ኃይል; ተንሳፋፊ አምhoር; ተንሳፋፊ ታክ; የመንሳፈፍ ርቀት; የመንሳፈፍ ፍጥነት; ተንሳፋፊ ዋተር; ተንሳፋፊ batpercentage;

SimpleKalmanFilter ማጣሪያ 1 (2, 2, 0.01);

ባዶነት ማዋቀር () {

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

/ ** የ UART ወደብ ያዋቅሩ (Serme1 በ Atmega32u4 ላይ)*/ // Serial1.begin (19200); ሳለ (! ተከታታይ) {;}

/ ** የትኞቹ ወደቦች እንደ UART*/ UART.setSerialPort (& Serial) እንደሚጠቀሙ ይግለጹ ፤

}

ባዶነት loop () {

////////// እሴቶችን ያንብቡ ////////// ከሆነ (UART.getVescValues ()) {

rpm = (UART.data.rpm)/7; // ‹7› በሞተር ውስጥ የፖሊ ጥንድ ብዛት ነው። አብዛኛዎቹ ሞተሮች 14 ምሰሶዎች አሏቸው ፣ ስለሆነም 7 ምሰሶ ጥንዶች ቮልቴጅ = (UART.data.inpVoltage); የአሁኑ = (UART.data.avgInputCurrent); ኃይል = ቮልቴጅ*የአሁኑ; አምፎር = (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 (የሞተር መዘዋወሪያ/ ዊልፔልሌይ) ፍጥነት = ራፒኤም*3.142*(60/1609)*0.72*(16/185); // የሞተር RPM x Pi x (በሰከንድ በሰከንድ / ሜትር በአንድ ማይል) x የጎማ ዲያሜትር x (የሞተር መዘዋወሪያ / ዊልፔልሌይ) batpercentage = ((voltage-38.4) / 12)*100; // ((የባትሪ ቮልቴጅ - ዝቅተኛ ቮልቴጅ) / የሕዋሶች ብዛት) x 100

}

////////// ማጣሪያ ////////// // የተገመተው እሴት በካልማን ማጣሪያ ተንሳፋፊ ኃይል ተጣርቶ = ማጣሪያ 1.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.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 - የሚሰራ ከሆነ ማረጋገጥ

የሚሰራ ከሆነ ማጣራት
የሚሰራ ከሆነ ማጣራት
የሚሰራ ከሆነ ማጣራት
የሚሰራ ከሆነ ማጣራት
የሚሰራ ከሆነ ማጣራት
የሚሰራ ከሆነ ማጣራት

አሁን እየሰራ መሆኑን ሲፈትሹ እሱን ለመሸጥ እና እንደ ቮልት ወይም አምፕስ ባሉ እሴቶችዎ ላይ መሰየሚያዎችን ለመጨመር ጊዜው አሁን ነው። ያነሱ እንዲሆኑ በአርዱዲኖ ናኖ ላይ ይሽጡት ወይም እርስዎ ከሌላ አርዱዲኖ ጋር እንኳን ለርቀት መቆጣጠሪያዎ ሊያስተላልፉት ይችላሉ። ግን ለዚያ ብዙ ሌሎች ትምህርቶች (የፍለጋ ማስተላለፊያ እሴቶችን ከአርዱዲኖ ጋር) አሉ። ይህ ችግርዎን ለመፍታት ወይም ጥሩ ትንሽ vesc ቴሌሜትሪ እንዲሰሩ እንደረዳዎት ተስፋ አደርጋለሁ።

የሚመከር: