Mündəricat:

Ən asan Arduino VESC Monitoru: 4 addım
Ən asan Arduino VESC Monitoru: 4 addım

Video: Ən asan Arduino VESC Monitoru: 4 addım

Video: Ən asan Arduino VESC Monitoru: 4 addım
Video: Amazing arduino project 2024, Noyabr
Anonim
Ən asan Arduino VESC Monitoru
Ən asan Arduino VESC Monitoru

Salam

Bu layihədə VESC monitorunu asanlaşdıracağıq. İstiliyinizi izləmək və Vesc -in həddindən artıq istiləşməsindəki kimi problemləri öyrənmək istədikdə (bu monitorda bunu öyrəndim) faydalı olardı və ya sadəcə ekranı lövhəyə və ya sükana bağlamaq və sürətinizi izləmək üçün istifadə edə bilərsiniz., yürüş, batareya faizi və daha çox. Beləliklə, binaya girək!

Addım 1: hissələr

Hissələri
Hissələri
Hissələri
Hissələri

1. - Arduino (UNO istifadə edirəm, ancaq esp8266 və ya esp32 daxil olmaqla hər hansı digər lövhədən də istifadə edə bilərsiniz)

2. - birləşdirmək üçün bir neçə kabel

3. - ekran (124 x 32 Oled istifadə edirəm, ancaq kitabxananı dəyişərək hər hansı digərini istifadə edə bilərsiniz)

4. - isteğe bağlı - çörək taxtası (bu, lehimləmək istəməyən insanlar və ya müvəqqəti olaraq etmək istəyənlər üçündür)

5. - Arduino üçün USB kabeli

Addım 2: Parçaları bir -birinə bağlayın

Parçaları Bir -birinə Bağlamaq
Parçaları Bir -birinə Bağlamaq
Parçaları Bir -birinə Bağlamaq
Parçaları Bir -birinə Bağlamaq
Parçaları Bir -birinə Bağlamaq
Parçaları Bir -birinə Bağlamaq

Ekran: VC -dən 3.3V -ə qədər

Gnd - Gnd

A5 -ə yoxlayın (və ya scl)

Sda -A4

VESC: Arduinoda Vesc -dən Vin -ə 5V

Gnd - Gnd

VESC üzərindəki RX, Arduino üzərindəki TX

VESC -dən TX, Arduino -dan RX -ə

Addım 3: Kodun Tercihinizə uyğun olaraq yüklənməsi və dəyişdirilməsi

KOD:

/** 2020 kodu Lukas Janky tərəfindən OLE ekranlı VESC monitoru Məndən bir şey soruşmaq istəsəniz, [email protected] ünvanından və ya göstərişlərimlə əlaqə saxlayın. Ümid edirəm bu sizə kömək edəcək.

*/

#daxil edin #daxil edin #daxil edin #daxil edin #daxil edin #daxil edin #EKRAN_GENİŞLİYİNİ 128 təyin edin #EKRAN_YÜKSEKLİYİNİ 64 təyin edin #OLED_RESET 4 Adafruit_SSD1306 displeyini (SCREEN_WIDTH, SCREEN_HEIGHT, & EIGHT)

VescUart UART;

int rpm; üzmə gərginliyi; üzən cərəyan; int gücü; üzən amfur; üzən taxta; üzmə məsafəsi; üzmə sürəti; üzmək; float batpercentcent;

SimpleKalmanFilter Filter1 (2, 2, 0.01);

boş quraşdırma () {

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

/ ** UART portunu qurun (Atmega32u4 -də Serial1)*/ // Serial1.begin (19200); while (! Serial) {;}

/ ** Hansı limanların UART olaraq istifadə ediləcəyini təyin edin*/ UART.setSerialPort (& Serial);

}

boşluq döngəsi () {

////////// Dəyərləri oxuyun ///////// if (UART.getVescValues ()) {

rpm = (UART.data.rpm)/7; // '7', motordakı dirək cütlərinin sayıdır. Əksər mühərriklərdə 14 qütb var, buna görə 7 qütb cütü gərginlik = (UART.data.inpVoltage); cari = (UART.data.avgInputCurrent); güc = gərginlik*cərəyan; amphour = (UART.data.ampHours); watthour = amphour*gərginlik; tach = (UART.data.tachometerAbs)/42; // '42', 3 məsafə = tach*3.142*(1/1609)*0.72*(16/185) ilə vurulan motor dirəklərinin sayıdır; // Motor RPM x Pi x (1 mil/ km) x Təkər diametri x (motor kasnağı/ təkərli təkər) sürəti = rpm*3.142*(60/1609)*0.72*(16/185); // Motor RPM x Pi x (mil / saniyə / saniyə) x Təkər diametri x (motor kasnağı / təkərli təkər) batpercentcent = ((gərginlik-38.4) / 12)*100; // ((Batareya gərginliyi - minimum gərginlik) / hüceyrə sayı) x 100

}

////////// Filter ////////// // Kalman Filter float powerfiltered = Filter1.updateEstimate (güc) ilə təxmin edilən dəyəri hesablayın;

display.fillScreen (0); display.setCursor (10, 5); display.setTextColor (1); display.setTextSize (1); ekran. çap (gərginlik);

display.setCursor (10, 20); display.setTextColor (1); display.setTextSize (1); ekran. çap (güc);

display.setCursor (10, 40); display.setTextColor (1); display.setTextSize (1); ekran çapı (rpm);

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

gecikmə (50);

}

İstədiyiniz koddan hər hansı bir dəyəri dəyişdirə və göstərə bilərsiniz

Addım 4: İşlədiyini yoxlayın

İşlədiyini yoxlayın
İşlədiyini yoxlayın
İşlədiyini yoxlayın
İşlədiyini yoxlayın
İşlədiyini yoxlayın
İşlədiyini yoxlayın

İndi işlədiyini yoxladığınızda, onu lehimləmək və Volt və ya Amper kimi dəyərlərinizə etiket əlavə etmək vaxtıdır. Arduino nano'ya lehimləyin, beləliklə daha kiçik olacaq və ya digər arduino ilə uzaqdan idarəedicinizə ötürə bilərsiniz. lakin bunun üçün bir çox digər dərsliklər var (arduino ilə dəyərlərin ötürülməsi). Ümid edirəm ki, bu, probleminizi həll etməyinizə və ya gözəl bir az vesc telemetri yaratmağınıza kömək etdi.

Tövsiyə: