Talaan ng mga Nilalaman:

Pinakamadaling Arduino VESC Monitor: 4 na Hakbang
Pinakamadaling Arduino VESC Monitor: 4 na Hakbang

Video: Pinakamadaling Arduino VESC Monitor: 4 na Hakbang

Video: Pinakamadaling Arduino VESC Monitor: 4 na Hakbang
Video: Lesson 02 Arduino IDE Software | Robojax Arduino Step By Step Course 2024, Hulyo
Anonim
Pinakamadaling Arduino VESC Monitor
Pinakamadaling Arduino VESC Monitor

Kumusta, sa proyektong ito gagawa kami ng madaling monitor ng VESC. Ito ay magiging kapaki-pakinabang kapag nais mong subaybayan ang iyong temperatura at alamin ang mga problema tulad ng mayroon ako sa aking sobrang pag-init ng Vesc (na nalaman ko lamang sa monitor na ito) o maaari mo itong gamitin nang simple para sa paglakip ng display sa iyong board o handlebars at panoorin ang iyong bilis, mileage, porsyento ng baterya at marami pa. Kaya't magtayo tayo!

Hakbang 1: Mga Bahagi

Mga Bahagi
Mga Bahagi
Mga Bahagi
Mga Bahagi

1. - Arduino (Gumagamit ako ng UNO ngunit maaari mo ring gamitin ang anumang iba pang board kabilang ang esp8266 o esp32)

2. - ilang mga cable para sa pagkonekta (subukang maghanap ng konektor para sa iyong konektor para sa vesc sapagkat mas madaling i-unplug ang 1 malaking konektor kumpara sa maraming maliliit na kable)

3. - display (Gumagamit ako ng 124 x 32 Oled ngunit maaari mong gamitin ang anumang iba pa sa pamamagitan ng pagbabago ng library)

4. - opsyonal - breadboard (ito ay para sa mga taong ayaw maghinang o para sa mga nais na gawin ito pansamantala)

5. - USB cable para sa iyong arduino

Hakbang 2: Pagkonekta ng Mga Bahaging Magkasama

Pagkonekta ng Mga Bahaging Magkasama
Pagkonekta ng Mga Bahaging Magkasama
Pagkonekta ng Mga Bahaging Magkasama
Pagkonekta ng Mga Bahaging Magkasama
Pagkonekta ng Mga Bahaging Magkasama
Pagkonekta ng Mga Bahaging Magkasama

display: Vcc hanggang 3.3V

Gnd kay Gnd

Sck (o scl) hanggang A5

Sda hanggang A4

VESC: 5V mula sa Vesc hanggang Vin sa Arduino

Gnd kay Gnd

RX sa VESC hanggang TX sa Arduino

TX sa VESC hanggang RX sa Arduino

Hakbang 3: Pag-upload at Pagbabago ng Code sa Iyong Kagustuhan

CODE:

/ ** 2020 code ni Lukas Janky VESC monitor na may display na Oled Kung kailangan mong magtanong sa akin ng anumang bagay, makipag-ugnay sa akin sa [email protected] o sa aking mga itinuturo. Inaasahan kong makakatulong ito sa iyo.

*/

#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_

VescUart UART;

int rpm; float boltahe; float kasalukuyang; int lakas; lumutang amphour; float tach; distansya ng float; lumutang bilis; lumutang watthour; float batpercentage;

Filter ng SimpleKalmanFilter1 (2, 2, 0.01);

walang bisa ang pag-setup () {

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

/ ** I-setup ang UART port (Serial1 sa Atmega32u4) * / // Serial1.begin (19200); habang (! Serial) {;}

/ ** Tukuyin kung aling mga port ang gagamitin bilang UART * / UART.setSerialPort (& Serial);

}

void loop () {

// ///

rpm = (UART.data.rpm) / 7; // Ang '7' ay ang bilang ng mga pares ng poste sa motor. Karamihan sa mga motor ay may 14 na poste, samakatuwid 7 boltahe ng pares ng poste = (UART.data.inpVoltage); kasalukuyang = (UART.data.avgInputCurrent); lakas = boltahe * kasalukuyang; amphour = (UART.data.ampHours); watthour = amphour * boltahe; tach = (UART.data.tachometerAbs) / 42; // Ang '42' ay ang bilang ng mga poste ng motor na pinarami ng 3 distansya = tach * 3.142 * (1/1609) * 0.72 * (16/185); // Motor RPM x Pi x (1 / metro sa isang milya o km) x Wheel diameter x (motor pulley / wheelpulley) bilis = rpm * 3.142 * (60/1609) * 0.72 * (16/185); // Motor RPM x Pi x (segundo sa isang minuto / metro sa isang milya) x Wheel diameter x (motor pulley / wheelpulley) batpercentage = ((boltahe-38.4) / 12) * 100; // ((Boltahe ng baterya - minimum na boltahe) / bilang ng mga cell) x 100

}

// ///.

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

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

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

antala (50);

}

Maaari mong baguhin at ipakita ang anumang halaga mula sa code na gusto mo

Hakbang 4: Sinusuri Kung Gumagana Ito

Sinusuri Kung Gumagana Ito
Sinusuri Kung Gumagana Ito
Sinusuri Kung Gumagana Ito
Sinusuri Kung Gumagana Ito
Sinusuri Kung Gumagana Ito
Sinusuri Kung Gumagana Ito

Ngayon kapag tiningnan mo kung gumagana ito ay oras na para sa paghihinang nito at pagdaragdag ng mga label sa iyong mga halaga tulad ng Volts o Amps. Ihihinang ito sa arduino nano kaya't ito ay magiging mas maliit o maaari mo ring ipadala ito sa iba pang arduino sa iyong remote control. ngunit para diyan ay maraming iba pang mga tutorial (paghahanap sa paghahatid ng mga halaga na may arduino). Inaasahan kong nakatulong ito sa iyo na malutas ang iyong problema o gumawa ng magandang maliit na telemetry ng vesc.

Inirerekumendang: