Taula de continguts:
- Pas 1: parts
- Pas 2: connectar peces juntes
- Pas 3: penjar i modificar el codi a la vostra preferència
- Pas 4: comproveu si funciona
Vídeo: Monitor Arduino VESC més fàcil: 4 passos
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-10 13:46
Hola, en aquest projecte facilitarem el monitor VESC. Això seria útil si voleu controlar la vostra temperatura i esbrinar problemes com el que he tingut amb el sobrecalentament de Vesc (que he descobert només amb aquest monitor) o podeu utilitzar-lo simplement per connectar la pantalla al tauler o al manillar i veure la vostra velocitat., quilometratge, percentatge de bateria i molts més. Així que comencem a construir!
Pas 1: parts
1. - Arduino (estic fent servir UNO, però també podeu fer servir qualsevol altra placa inclosa esp8266 o esp32)
2. - Alguns cables per connectar (intenteu trobar el connector per al vostre connector per a vesc perquè serà molt més fàcil desconnectar 1 connector gran en comparació amb molts cables petits)
3. - pantalla (estic fent servir 124 x 32 Oled, però podeu fer servir qualsevol altre canviant la biblioteca)
4. - opcional - tauler de suport (és per a persones que no volen soldar o per a persones que vulguin fer-ho temporalment)
5. - Cable USB per al vostre arduino
Pas 2: connectar peces juntes
pantalla: Vcc a 3,3V
Gnd a Gnd
Sck (o scl) a A5
Sda a A4
VESC: 5V de Vesc a Vin a Arduino
Gnd a Gnd
RX a VESC a TX a Arduino
TX a VESC a RX a Arduino
Pas 3: penjar i modificar el codi a la vostra preferència
CODI:
/ ** Codi 2020 del monitor VESC de Lukas Janky amb pantalla Oled Si necessiteu alguna pregunta, poseu-vos en contacte amb mi a [email protected] o als meus instruccions. Espero que això us ajudi.
*/
#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 rpm; tensió flotant; corrent flotant; int power; amfora flotant; tach flotant; distància de flotació; velocitat de flotació; flotador watthour; percentatge de flotador;
SimpleKalmanFilter Filter1 (2, 2, 0,01);
configuració nul·la () {
Serial.begin (115200); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.fillScreen (0); display.display ();
/ ** Configuració del port UART (Serial1 a Atmega32u4) * / // Serial1.begin (19200); while (! Serial) {;}
/ ** Definiu quins ports s'utilitzaran com a UART * / UART.setSerialPort (& Serial);
}
bucle buit () {
////////// Llegiu valors ////////// if (UART.getVescValues ()) {
rpm = (UART.data.rpm) / 7; // El '7' és el nombre de parells de pols del motor. La majoria dels motors tenen 14 pols, per tant tensió de 7 parells de pols = (UART.data.inpVoltage); current = (UART.data.avgInputCurrent); potència = tensió * corrent; àmfora = (UART.data.ampHours); watthour = amfora * voltatge; tach = (UART.data.tachometerAbs) / 42; // El "42" és el nombre de pols del motor multiplicat per 3 distància = tach * 3,142 * (1/1609) * 0,72 * (16/185); // RPM del motor x Pi x (1 / metres en una milla o km) x Diàmetre de la roda x (politja / roda del motor) velocitat = rpm * 3,142 * (60/1609) * 0,72 * (16/185); // RPM del motor x Pi x (segons en un minut / metres en una milla) x Diàmetre de la roda x (politja del motor / polea de roda) percentatge de batper = ((voltatge-38,4) / 12) * 100; // ((Tensió de la bateria: tensió mínima) / nombre de cel·les) x 100
}
////////// Filtre ////////// // calcula el valor estimat amb Kalman Filter float powerfiltered = Filter1.updateEstimate (power);
display.fillScreen (0); display.setCursor (10, 5); display.setTextColor (1); display.setTextSize (1); display.print (voltatge);
display.setCursor (10, 20); display.setTextColor (1); display.setTextSize (1); display.print (alimentació);
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 (actual); display.display ();
retard (50);
}
Podeu modificar i mostrar qualsevol valor del codi que vulgueu
Pas 4: comproveu si funciona
Ara, quan comproveu si funciona, és hora de soldar-lo i afegir etiquetes als vostres valors, com ara volts o amplificadors. Soldeu-lo amb arduino nano perquè sigui més petit o fins i tot el pugueu transmetre amb un altre arduino al controlador remot. però per a això hi ha molts altres tutorials (cerca de transmissió de valors amb arduino). Espero que això us hagi ajudat a resoldre el vostre problema o a fer una petita telemetria vesc.