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: Clock Shield для Arduino, собери себе часы, пятничный DIY 2024, Srpanj
Anonim
Najlakši Arduino VESC monitor
Najlakši Arduino VESC monitor

Bok, u ovom projektu olakšat ćemo 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 krenimo u gradnju!

Korak 1: Dijelovi

Dijelovi
Dijelovi
Dijelovi
Dijelovi

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

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

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

4. - izborno - ploča (ovo je za ljude koji ne žele lemiti ili za one koji to žele učiniti privremeno)

5. - USB kabel za vaš arduino

Korak 2: Povežite dijelove zajedno

Povezivanje dijelova zajedno
Povezivanje dijelova zajedno
Povezivanje dijelova zajedno
Povezivanje dijelova zajedno
Povezivanje dijelova zajedno
Povezivanje dijelova zajedno

zaslon: 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: Prijenos i izmjena koda prema vašim željama

KODIRATI:

/** 2020 kôd Lukas Janky VESC monitora s Oled zaslonom Ako me želite bilo što pitati, kontaktirajte me na [email protected] ili na moje upute. 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 zaslon Adafruit_SSD1306 (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED, & Wire;

VescUart UART;

int o / min; plivajući napon; plutajuća struja; int snaga; plutajući amfur; plutajući tach; plutajuća udaljenost; brzina plovka; float watthour; postotak float batpercentage;

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 portove koje ćete koristiti kao UART*/ UART.setSerialPort (& Serial);

}

void loop () {{100} {101}

////////// Read vrijednosti ////////// if (UART.getVescValues ()) {

o/min = (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); struja = (UART.data.avgInputCurrent); snaga = napon*struja; amphour = (UART.data.ampHours); watthour = amfur*napon; tach = (UART.data.tachometerAbs)/42; // '42' je broj polova motora pomnožen s 3 udaljenosti = 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 namota = ((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 (snaga);

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

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

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

display.setCursor (10, 55); display.setTextColor (1); display.setTextSize (1); display.print (trenutni); 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 kako bi bio manji ili ga čak možete prenijeti s drugim arduinom na daljinski upravljač. ali za to postoje mnogi drugi vodiči (traženje vrijednosti prijenosa s arduinom). Nadam se da vam je ovo pomoglo u rješavanju vašeg problema ili izradi lijepe male Vesc telemetrije.

Preporučeni: