Sommario:
- Passaggio 1: parti
- Passaggio 2: collegare le parti insieme
- Passaggio 3: caricamento e modifica del codice secondo le tue preferenze
- Passaggio 4: verificare se funziona
Video: Il monitor VESC Arduino più semplice: 4 passaggi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-10 13:47
Ciao, in questo progetto renderemo facile il monitor VESC. Questo sarebbe utile quando vuoi monitorare la tua temperatura e scoprire problemi come ho avuto con il surriscaldamento del mio Vesc (che ho scoperto proprio con questo monitor) o puoi usarlo semplicemente per attaccare il display alla tua tavola o al manubrio e guardare la tua velocità, chilometraggio, percentuale della batteria e molto altro. Quindi passiamo alla costruzione!
Passaggio 1: parti
1. - Arduino (sto usando UNO ma puoi anche usare qualsiasi altra scheda inclusa esp8266 o esp32)
2. - alcuni cavi per il collegamento (prova a trovare il connettore per il tuo connettore per Vesc perché sarà molto più facile scollegare 1 connettore grande rispetto a molti cavi piccoli)
3. - display (sto usando Oled 124 x 32 ma puoi usarne un altro cambiando libreria)
4. - opzionale - breadboard (per chi non vuole saldare o per chi vuole farlo temporaneamente)
5. - Cavo USB per il tuo arduino
Passaggio 2: collegare le parti insieme
display: Vcc a 3.3V
Gnd a Gnd
Sck (o scl) in A5
Sda in A4
VESC: 5V da Vesc a Vin su Arduino
Gnd a Gnd
RX su VESC a TX su Arduino
TX su VESC a RX su Arduino
Passaggio 3: caricamento e modifica del codice secondo le tue preferenze
CODICE:
/** Codice 2020 di Lukas Janky Monitor VESC con display Oled Se hai bisogno di chiedermi qualcosa, contattami su [email protected] o sui miei istruttori. Spero che questo ti aiuterà.
*/
#include #include #include #include #include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET 4 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Vescuart UART;
int giri/min; tensione di galleggiamento; corrente di galleggiamento; potere int; amperora galleggiante; tachimetro galleggiante; distanza di galleggiamento; velocità del galleggiante; wattora galleggiante; percentuale di galleggiante;
SimpleKalmanFilter Filtro1(2, 2, 0,01);
void setup() {
Serial.begin(115200); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.fillScreen(0); display.display();
/** Imposta la porta UART (Serial1 su Atmega32u4) */ // Serial1.begin(19200); mentre (!Serial) {;}
/** Definisce quali porte utilizzare come UART */ UART.setSerialPort(&Serial);
}
ciclo vuoto() {
////////// Leggi valori ////////// if (UART.getVescValues()) {
rpm = (UART.data.rpm)/7; // Il '7' è il numero di coppie di poli nel motore. La maggior parte dei motori ha 14 poli, quindi 7 coppie di poli tensione = (UART.data.inpVoltage); corrente = (UART.data.avgInputCurrent); potenza = tensione*corrente; amphour = (UART.data.ampHours); wattora = amperora*tensione; tach = (UART.data.tachometerAbs)/42; // Il '42' è il numero di poli del motore moltiplicato per 3 distanza = tach*3.142*(1/1609)*0.72*(16/185); // RPM motore x Pi x (1/metri in un miglio o km) x Diametro ruota x (puleggia motore/puleggia ruota) velocità = giri/min*3.142*(60/1609)*0.72*(16/185); // RPM motore x Pi x (secondi in un minuto / metri in un miglio) x Diametro ruota x (puleggia motore / puleggia) batpercentuale = ((tensione-38,4)/12)*100; // ((Tensione batteria - tensione minima) / numero di celle) x 100
}
////////// Filter ////////// // calcola il valore stimato con il filtro Kalman float powerfiltered = Filter1.updateEstimate(power);
display.fillScreen(0); display.setCursor(10, 5); display.setTextColor(1); display.setTextSize(1); display.print(tensione);
display.setCursor(10, 20); display.setTextColor(1); display.setTextSize(1); display.print(potenza);
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(corrente); display.display();
ritardo(50);
}
Puoi modificare e visualizzare qualsiasi valore dal codice che desideri
Passaggio 4: verificare se funziona
Ora, quando controlli se funziona, è il momento di saldarlo e aggiungere etichette ai tuoi valori come Volt o Ampere. Saldalo su arduino nano in modo che sia più piccolo o puoi persino trasmetterlo con altri arduino al tuo telecomando. ma per questo ci sono molti altri tutorial (ricerca trasmettendo valori con arduino). Spero che questo ti abbia aiutato a risolvere il tuo problema o a fare una bella telemetria vesc.