Sisukord:

Lihtsaim Arduino VESC -monitor: 4 sammu
Lihtsaim Arduino VESC -monitor: 4 sammu

Video: Lihtsaim Arduino VESC -monitor: 4 sammu

Video: Lihtsaim Arduino VESC -monitor: 4 sammu
Video: Lihtne Robot. Osa 1 Koostamine 2024, Juuli
Anonim
Lihtsaim Arduino VESC monitor
Lihtsaim Arduino VESC monitor

Tere, selles projektis valmistame lihtsa VESC monitori. See oleks kasulik, kui soovite oma temperatuuri jälgida ja välja selgitada sellised probleemid nagu mul Vesc'i ülekuumenemisel (mille ma just selle monitoriga avastasin) või saate seda kasutada lihtsalt ekraani kinnitamiseks lauale või lenksule ja kiiruse jälgimiseks., läbisõit, aku protsent ja palju muud. Nii et hakkame ehitama!

Samm: osad

Osad
Osad
Osad
Osad

1. - Arduino (ma kasutan UNO -d, kuid võite kasutada ka mis tahes muud tahvlit, sealhulgas esp8266 või esp32)

2. - mõned ühenduskaablid (proovige leida pistik vesc -i pistiku jaoks, sest 1 suurt pistikut on palju lihtsam lahti ühendada kui palju väikeseid kaableid)

3. - ekraan (kasutan 124 x 32 Oled, kuid teeki vahetades saate kasutada mis tahes muud)

4. - valikuline - leivalaud (see on mõeldud inimestele, kes ei taha jootma või neile, kes soovivad seda ajutiselt teha)

5. - USB -kaabel teie arduino jaoks

Samm: osade ühendamine

Osade ühendamine
Osade ühendamine
Osade ühendamine
Osade ühendamine
Osade ühendamine
Osade ühendamine

ekraan: Vcc kuni 3.3V

Gnd kuni Gnd

Sck (või scl) kuni A5

Sda kuni A4

VESC: 5V Vescist Arduino Vinini

Gnd kuni Gnd

RX VESC -lt TX -le Arduino kaudu

TX VESC -lt RX -le Arduino kaudu

Samm: koodi üleslaadimine ja muutmine vastavalt teie eelistustele

KOOD:

/** 2020 kood Lukas Janky Oled -ekraaniga VESC -monitor Kui teil on minult midagi küsida, võtke minuga ühendust aadressil [email protected] või minu juhenditel. Loodan, et see aitab teid.

*/

#include #include #include #include #include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET 4 Adafruit_SSD1306 ekraan (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);

VescUart UART;

int rpm; ujukpinge; ujuvvool; int võim; ujukamfoor; float tach; ujuki kaugus; ujuki kiirus; ujuvvatt; ujukiprotsent;

SimpleKalmanFilter Filter1 (2, 2, 0,01);

tühine seadistus () {

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

/ ** Seadista UART -port (Serial1 Atmega32u4 -l)*/ // Serial1.begin (19200); samas (! Seeria) {;}

/ ** Määrake, milliseid porte kasutada UART -na*/ UART.setSerialPort (& Serial);

}

void loop () {

////////// Loe väärtusi ////////// if (UART.getVescValues ()) {

p/min = (UART.andmed.rpm)/7; // "7" on mootori pooluste arv. Enamikul mootoritel on 14 poolust, seega 7 poolusega pinge = (UART.data.inpVoltage); praegune = (UART.data.avgInputCurrent); võimsus = pinge*vool; amphour = (UART.andmed.ampHours); vatt tund = amf*pinge; tach = (UART.data.tachometerAbs)/42; // "42" on mootoripostide arv korrutatuna 3 vahemaaga = tach*3,142*(1/1609)*0,72*(16/185); // Mootori pöörlemiskiirus x Pi x (1/ meetrit miilis või km) x Ratta läbimõõt x (mootorratta/ rattaratta) kiirus = p/ min*3,142*(60/1609)*0,72*(16/185); // Mootori pöörlemiskiirus x Pi x (sekundit minutis / meetrit miilides) x Ratta läbimõõt x (mootori rihmaratas / ratasratas) batpercentage = ((pinge-38,4) / 12)*100; // ((Aku pinge - minimaalne pinge) / elementide arv) x 100

}

////////// Filter ////////// // arvutage hinnanguline väärtus Kalman Filter float powerfiltered = Filter1.updateEstimate (võimsus);

display.fillScreen (0); display.setCursor (10, 5); display.setTextColor (1); display.setTextSize (1); kuva.print (pinge);

display.setCursor (10, 20); display.setTextColor (1); display.setTextSize (1); kuva.print (võimsus);

display.setCursor (10, 40); display.setTextColor (1); display.setTextSize (1); display.print (p / min);

display.setCursor (10, 55); display.setTextColor (1); display.setTextSize (1); display.print (praegune); display.display ();

viivitus (50);

}

Saate muuta ja kuvada soovitud koodi väärtusi

Samm: kontrollige, kas see töötab

Kontrollimine, kas see töötab
Kontrollimine, kas see töötab
Kontrollimine, kas see töötab
Kontrollimine, kas see töötab
Kontrollimine, kas see töötab
Kontrollimine, kas see töötab

Nüüd, kui kontrollite, kas see töötab, on aeg see jootma hakata ja lisada väärtustele sildid, näiteks voltid või võimendid. Jootke see arduino nano peal, nii et see on väiksem või saate selle isegi teiste arduinoga kaugjuhtimispuldile edastada. kuid selleks on palju muid õpetusi (otsige väärtusi arduino abil). Loodan, et see aitas teil oma probleemi lahendada või kena väikese vesc -telemeetria teha.

Soovitan: