Orodha ya maudhui:

Ufuatiliaji rahisi zaidi wa Arduino VESC: Hatua 4
Ufuatiliaji rahisi zaidi wa Arduino VESC: Hatua 4

Video: Ufuatiliaji rahisi zaidi wa Arduino VESC: Hatua 4

Video: Ufuatiliaji rahisi zaidi wa Arduino VESC: Hatua 4
Video: Как управлять приводом с помощью Arduino - Robojax 2024, Novemba
Anonim
Ufuatiliaji rahisi zaidi wa Arduino VESC
Ufuatiliaji rahisi zaidi wa Arduino VESC

Halo, katika mradi huu tutafanya mfuatiliaji rahisi wa VESC. Hii itakuwa muhimu wakati unataka kufuatilia hali yako ya joto na kujua shida kama vile nilivyokuwa na kupindukia kwa Vesc (ambayo nimegundua tu na mfuatiliaji huu) au unaweza kuitumia kwa kushikamana na onyesho kwenye bodi yako au vipini na angalia kasi yako, mileage, asilimia ya betri na mengi zaidi. Basi hebu tuingie kwenye ujenzi!

Hatua ya 1: Sehemu

Sehemu
Sehemu
Sehemu
Sehemu

1. - Arduino (ninatumia UNO lakini unaweza pia kutumia bodi nyingine yoyote pamoja na esp8266 au esp32)

2. - nyaya zingine za kuunganisha (jaribu kutafuta kontakt ya kontakt yako kwa vesc kwa sababu itakuwa rahisi sana kufungua kiunganishi 1 kikubwa dhidi ya nyaya ndogo ndogo)

3. - onyesho (ninatumia 124 x 32 Oled lakini unaweza kutumia nyingine yoyote kwa kubadilisha maktaba)

4. - hiari - ubao wa mkate (hii ni kwa watu ambao hawataki kuuza au kwa wale ambao wanataka kuifanya kwa muda)

5. - kebo ya USB kwa arduino yako

Hatua ya 2: Kuunganisha Sehemu Pamoja

Kuunganisha Sehemu Pamoja
Kuunganisha Sehemu Pamoja
Kuunganisha Sehemu Pamoja
Kuunganisha Sehemu Pamoja
Kuunganisha Sehemu Pamoja
Kuunganisha Sehemu Pamoja

onyesha: Vcc hadi 3.3V

Gnd kwa Gnd

Sck (au scl) hadi A5

Sda hadi A4

VESC: 5V kutoka Vesc hadi Vin kwenye Arduino

Gnd kwa Gnd

RX kwenye VESC hadi TX kwenye Arduino

TX kwenye VESC hadi RX kwenye Arduino

Hatua ya 3: Kupakia na Kubadilisha Nambari kwa Upendeleo Wako

CODE:

/ ** nambari ya 2020 na Lukas Janky VESC inafuatilia na Oled kuonyesha Ikiwa unahitaji kuniuliza chochote, wasiliana nami kwenye [email protected] au kwa maelekezo yangu. Natumahi kuwa hii itakusaidia.

*/

#jumuisha # pamoja na # pamoja #picha # pamoja # #jumlisha #jumuisha #fafanua SCREEN_WIDTH 128 #fasili SCREEN_HEIGHT 64 #fasili OLED_RESET 4 Adafruit_SSD1306 onyesho (FUNUA_UWILI, KUFUNGA_UREFU, & Waya, OLED_RESET);

VescUart UART;

int rpm; voltage ya kuelea; kuelea sasa; int nguvu; kuelea amphour; kuelea tach; umbali wa kuelea; kasi ya kuelea; kuelea maji; kuelea batpercentage;

Kichujio rahisi cha KalmanFilter1 (2, 2, 0.01);

usanidi batili () {

Serial. Kuanza (115200); onyesha. kuanza (SSD1306_SWITCHCAPVCC, 0x3C); onyesha.fillScreen (0); onyesha.display ();

/ ** Sanidi bandari ya UART (Serial1 kwenye Atmega32u4) * / // Serial1.begin (19200); wakati (! Serial) {;}

/ ** Fafanua bandari zipi utumie kama UART * / UART.setSerialPort (& Serial);

}

kitanzi batili () {

////////// Soma maadili ////////// ikiwa (UART.getVescValues ()) {

rpm = (UART.data.rpm) / 7; // '7' ni idadi ya jozi za pole kwenye gari. Motors nyingi zina nguzo 14, kwa hivyo jozi 7 za pole voltage = (UART.data.inpVoltage); sasa = (UART.data.avgInputCurrent); nguvu = voltage * ya sasa; amphour = (UART.data.ampHours); mto = voltage ya amphour *; tach = (UART.data.tachometerAbs) / 42; // '42' ni idadi ya nguzo za magari zilizoongezwa kwa umbali 3 = tach * 3.142 * (1/1609) * 0.72 * (16/185); // Motor RPM x Pi x (1 / mita kwa maili au km) x Gurudumu x (motor pulley / wheelpulley) kasi = rpm * 3.142 * (60/1609) * 0.72 * (16/185); // Motor RPM x Pi x (sekunde kwa dakika / mita kwa maili) x Kipenyo cha gurudumu x (motor pulley / wheelpulley) batpercentage = ((voltage-38.4) / 12) * 100; // ((Voltage ya betri - kiwango cha chini cha voltage) / idadi ya seli) x 100

}

/ /

onyesha.fillScreen (0); Onyesha Mshale (10, 5); onyesha.setTextColor (1); onyesha.setTextSize (1); onyesha.print (voltage);

Kuweka Mshale (10, 20); onyesha.setTextColor (1); onyesha.setTextSize (1); onyesho.print (nguvu);

Onyesha Mshale (10, 40); onyesha.setTextColor (1); onyesha.setTextSize (1); onyesho.print (rpm);

Onyesha Mshale (10, 55); onyesha.setTextColor (1); onyesha.setTextSize (1); onyesho.print (sasa); onyesha.display ();

kuchelewesha (50);

}

Unaweza kurekebisha na kuonyesha thamani yoyote kutoka kwa nambari ambayo unataka

Hatua ya 4: Kuangalia Ikiwa Inafanya Kazi

Kuangalia Ikiwa Inafanya Kazi
Kuangalia Ikiwa Inafanya Kazi
Kuangalia Ikiwa Inafanya Kazi
Kuangalia Ikiwa Inafanya Kazi
Kuangalia Ikiwa Inafanya Kazi
Kuangalia Ikiwa Inafanya Kazi

Sasa unapoangalia ikiwa inafanya kazi ni wakati wa kuiunganisha na kuongeza lebo kwenye maadili yako kama Volts au Amps. Solder juu ya arduino nano kwa hivyo itakuwa ndogo au unaweza hata kuipeleka na arduino nyingine kwa kidhibiti chako cha mbali. lakini kwa hiyo kuna mafunzo mengine mengi (tafuta kusambaza maadili na arduino). Natumahi kuwa hii ilikusaidia kutatua shida yako au kutengeneza telemetry nzuri ya vesc.

Ilipendekeza: