Sisällysluettelo:

Helpoin Arduino VESC -monitori: 4 vaihetta
Helpoin Arduino VESC -monitori: 4 vaihetta

Video: Helpoin Arduino VESC -monitori: 4 vaihetta

Video: Helpoin Arduino VESC -monitori: 4 vaihetta
Video: Clock Shield для Arduino, собери себе часы, пятничный DIY 2024, Heinäkuu
Anonim
Helpoin Arduino VESC -monitori
Helpoin Arduino VESC -monitori

Hei, tässä projektissa teemme helpon VESC -näytön. Tämä olisi hyödyllistä, kun haluat seurata lämpötilaa ja selvittää ongelmia, joita minulla oli Vesc -ylikuumenemiseni aikana (jonka huomasin juuri tällä näytöllä), tai voit käyttää sitä yksinkertaisesti näytön kiinnittämiseen levyyn tai ohjaustankoon ja nopeuden tarkkailuun, kilometrimäärä, akun prosenttiosuus ja paljon muuta. Aloitetaan siis rakentaminen!

Vaihe 1: Osat

Osat
Osat
Osat
Osat

1. - Arduino (käytän UNO: ta, mutta voit käyttää myös mitä tahansa muuta levyä, mukaan lukien esp8266 tai esp32)

2. - joitakin liitäntäkaapeleita (yritä löytää liitin vesc -liittimelle, koska on paljon helpompaa irrottaa 1 iso liitin vs. paljon pieniä kaapeleita)

3. - näyttö (käytän 124 x 32 Oledia, mutta voit käyttää mitä tahansa muuta vaihtamalla kirjastoa)

4. - valinnainen - leipälauta (tämä on tarkoitettu ihmisille, jotka eivät halua juottaa tai jotka haluavat tehdä sen tilapäisesti)

5. - USB -kaapeli arduinoosi

Vaihe 2: Osien liittäminen yhteen

Osien yhdistäminen yhteen
Osien yhdistäminen yhteen
Osien yhdistäminen yhteen
Osien yhdistäminen yhteen
Osien yhdistäminen yhteen
Osien yhdistäminen yhteen

näyttö: Vcc - 3.3V

Gnd to Gnd

Sck (tai scl) kohtaan A5

Sda - A4

VESC: 5V Vescistä Arduinon Viniin

Gnd to Gnd

RX VESC: stä TX: iin Arduinolla

Lähetys VESC: stä RX: ksi Arduinolla

Vaihe 3: Koodin lataaminen ja muokkaaminen haluamallasi tavalla

KOODI:

/** 2020 -koodi Lukas Janky VESC -monitori Oled -näytöllä Jos haluat kysyä minulta jotain, ota yhteyttä [email protected] tai ohjeistani. Toivon, että tämä auttaa sinua.

*/

#include #include #include #include #include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET 4 Adafruit_SSD1306 -näyttö (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);

VescUart UART;

int rpm; kelluva jännite; kelluva virta; int teho; kelluva amfuuri; kelluva tach; kelluva etäisyys; kellumisnopeus; kelluva wattitunti; kelluva paristoprosentti;

SimpleKalman -suodatinsuodatin1 (2, 2, 0,01);

void setup () {

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

/ ** Asenna UART -portti (Serial1 Atmega32u4: llä)*/ // Serial1.begin (19200); samalla (! Sarja) {;}

/ ** Määritä UART -portit*/ UART.setSerialPort (& Serial);

}

void loop () {

////////// Lue arvot ////////// if (UART.getVescValues ()) {

rpm = (UART.data.rpm)/7; // 7 on moottorin napaparien lukumäärä. Useimmissa moottoreissa on 14 napaa, joten 7 napaparin jännite = (UART.data.inpVoltage); nykyinen = (UART.data.avgInputCurrent); teho = jännite*virta; amphour = (UART.data.ampHours); watthour = amph*jännite; tach = (UART.data.tachometerAbs)/42; // "42" on moottorinapojen lukumäärä kerrottuna kolmella etäisyydellä = tach*3,142*(1/1609)*0,72*(16/185); // Moottorin kierrosluku x Pi x (1/ metri mailissa tai km) x Pyörän halkaisija x (moottoripyörä/ pyöräpyörä) nopeus = rpm*3,142*(60/1609)*0,72*(16/185); // Moottorin kierrosluku x Pi x (sekuntia minuutissa / metriä mailissa) x Pyörän halkaisija x (moottoripyörä / pyöräpyörä) paristoprosentti = ((jännite-38,4) / 12)*100; // ((Akun jännite - vähimmäisjännite) / kennojen määrä) x 100

}

////////// Suodatin ////////// // laskee arvioidun arvon Kalman Filter float powerfiltered = Filter1.updateEstimate (teho);

display.fillScreen (0); display.setCursor (10, 5); display.setTextColor (1); display.setTextSize (1); näyttö. tulostus (jännite);

display.setCursor (10, 20); display.setTextColor (1); display.setTextSize (1); näyttö. tulostus (teho);

display.setCursor (10, 40); display.setTextColor (1); display.setTextSize (1); näyttö. tulostus (rpm);

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

viive (50);

}

Voit muokata ja näyttää mitä tahansa arvoa haluamastasi koodista

Vaihe 4: Tarkista, toimiiko se

Tarkistetaan toimiiko
Tarkistetaan toimiiko
Tarkistetaan toimiiko se
Tarkistetaan toimiiko se
Tarkistetaan toimiiko
Tarkistetaan toimiiko

Nyt kun tarkistat, toimiiko se, on aika juottaa se ja lisätä arvoja, kuten volttia tai ampeeria. Juota se arduino nanolle, joten se on pienempi tai voit jopa lähettää sen muiden arduino -laitteiden kanssa kaukosäätimeesi. mutta sitä varten on monia muita opetusohjelmia (etsi lähettävät arvot arduinolla). Toivottavasti tämä auttoi sinua ratkaisemaan ongelmasi tai tekemään mukavan pienen vesc -telemetrian.

Suositeltava: