Sadržaj:

Najlakši Arduino VESC monitor: 4 koraka
Najlakši Arduino VESC monitor: 4 koraka

Video: Najlakši Arduino VESC monitor: 4 koraka

Video: Najlakši Arduino VESC monitor: 4 koraka
Video: Arduino 101 // Techno Trach 2024, Novembar
Anonim
Najlakši Arduino VESC monitor
Najlakši Arduino VESC monitor

Zdravo, u ovom projektu ćemo olakšati VESC monitor. Ovo bi bilo korisno kada želite pratiti svoju temperaturu i otkriti probleme kao što sam ja imao s pregrijavanjem Vesca (što sam otkrio upravo s ovim monitorom) ili ga možete koristiti jednostavno za pričvršćivanje zaslona na ploču ili upravljač i paziti na brzinu, kilometraža, postotak baterije i još mnogo toga. Pa idemo u zgradu!

Korak 1: Dijelovi

Delovi
Delovi
Delovi
Delovi

1. - Arduino (koristim UNO, ali možete koristiti i bilo koju drugu ploču, uključujući esp8266 ili esp32)

2. - neki kabeli za povezivanje (pokušajte pronaći konektor za vaš konektor za vesc jer će biti mnogo lakše odspojiti 1 veliki konektor u odnosu na puno malih kabela)

3. - ekran (koristim 124 x 32 Oled, ali možete koristiti bilo koji drugi promjenom biblioteke)

4. - opcionalno - matična ploča (ovo je za ljude koji ne žele lemljenje ili za one koji to žele privremeno)

5. - USB kabel za vaš arduino

Korak 2: Povežite dijelove zajedno

Povezivanje delova zajedno
Povezivanje delova zajedno
Povezivanje delova zajedno
Povezivanje delova zajedno
Povezivanje delova zajedno
Povezivanje delova zajedno

displej: Vcc do 3.3V

Gnd do Gnd

Sck (ili scl) prema A5

Sda do A4

VESC: 5V od Vesca do Vina na Arduinu

Gnd do Gnd

RX na VESC -u na TX na Arduinu

TX na VESC u RX na Arduinu

Korak 3: Otpremanje i izmjena koda prema vašim željama

KOD:

/** 2020 kod od Lukasa Jankyja VESC monitor sa Oled ekranom Ako me želite pitati bilo šta, kontaktirajte me na [email protected] ili na moje instrukcije. Nadam se da će vam ovo pomoći.

*/

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

VescUart UART;

int rpm; plivajući napon; plovna struja; int power; plutajući amfur; float tach; float distance; brzina plovka; float watthour; postotak koncentracije plovka;

SimpleKalmanFilter Filter1 (2, 2, 0.01);

void setup () {

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

/ ** Postavljanje UART porta (Serial1 na Atmega32u4)*/ // Serial1.begin (19200); while (! Serijski) {;}

/ ** Definirajte koje portove ćete koristiti kao UART*/ UART.setSerialPort (& Serial);

}

void loop () {{100} {101}

//////////// Pročitajte vrijednosti ////////// if (UART.getVescValues ()) {

rpm = (UART.data.rpm)/7; // '7' je broj parova polova u motoru. Većina motora ima 14 polova, stoga je napon 7 parova polova = (UART.data.inpVoltage); trenutna = (UART.data.avgInputCurrent); snaga = napon*struja; amphour = (UART.data.ampHours); vat = amfur*napon; tach = (UART.data.tachometerAbs)/42; // '42' je broj polova motora pomnožen sa 3 udaljenost = tach*3.142*(1/1609)*0.72*(16/185); // Obrtaji motora x Pi x (1/ metara u milji ili km) x Promjer kotača x (remenica motora/ remenica) brzina = o/ min*3,142*(60/1609)*0,72*(16/185); // Obrtaji motora x Pi x (sekunde u minuti / metri u milji) x Promjer kotača x (remenica motora / remenica) postotak snage = ((napon-38,4) / 12)*100; // ((Napon baterije - minimalni napon) / broj ćelija) x 100

}

//////////// Filter ////////// // izračunajte procijenjenu vrijednost pomoću Kalman Filter float powerfiltered = Filter1.updateEstimate (power);

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

display.setCursor (10, 20); display.setTextColor (1); display.setTextSize (1); display.print (napajanje);

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 (trenutno); display.display ();

kašnjenje (50);

}

Možete promijeniti i prikazati bilo koju vrijednost iz koda koji želite

Korak 4: Provjerite radi li

Provjera radi li
Provjera radi li
Provjera radi li
Provjera radi li
Provjera radi li
Provjera radi li

Sada kada provjerite radi li vrijeme je za njegovo lemljenje i dodavanje oznaka vašim vrijednostima poput volti ili pojačala. Lemite ga na arduino nano tako da će biti manji ili ga čak možete prenijeti s drugim arduinom na daljinski upravljač. ali za to postoje mnogi drugi vodiči (pretražujte vrijednosti prenošenja pomoću arduina). Nadam se da vam je ovo pomoglo u rješavanju vašeg problema ili u izradi lijepe male Vesc telemetrije.

Preporučuje se: