Satura rādītājs:
- 1. darbība: detaļas
- 2. darbība: detaļu savienošana kopā
- 3. darbība: koda augšupielāde un modificēšana pēc jūsu izvēles
- 4. darbība: pārbaudiet, vai tas darbojas
Video: Vienkāršākais Arduino VESC monitors: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Sveiki, šajā projektā mēs izgatavosim vienkāršu VESC monitoru. Tas būtu noderīgi, ja vēlaties kontrolēt savu temperatūru un noskaidrot tādas problēmas kā man ar Vesc pārkaršanu (ko es uzzināju tikai ar šo monitoru), vai arī varat to izmantot, vienkārši pievienojot displeju pie tāfeles vai stūres un skatoties ātrumu, nobraukumu, akumulatora procentuālo daudzumu un daudz ko citu. Tāpēc ķersimies pie celtniecības!
1. darbība: detaļas
1. - Arduino (es izmantoju UNO, bet jūs varat izmantot arī jebkuru citu dēli, ieskaitot esp8266 vai esp32)
2. - daži kabeļi savienošanai (mēģiniet atrast savienotāju savam savienotājam, jo būs daudz vieglāk atvienot 1 lielu savienotāju no daudziem maziem kabeļiem)
3. - displejs (es izmantoju 124 x 32 Oled, bet jūs varat izmantot jebkuru citu, mainot bibliotēku)
4. - pēc izvēles - maizes dēlis (tas ir paredzēts cilvēkiem, kuri nevēlas lodēt, vai tiem, kas to vēlas darīt īslaicīgi)
5. - USB kabelis jūsu arduino
2. darbība: detaļu savienošana kopā
displejs: Vcc līdz 3.3V
Gnd uz Gnd
Sck (vai scl) līdz A5
Sda līdz A4
VESC: 5V no Vesc līdz Vin uz Arduino
Gnd uz Gnd
RX no VESC līdz TX uz Arduino
TX no VESC līdz RX uz Arduino
3. darbība: koda augšupielāde un modificēšana pēc jūsu izvēles
KODS:
/** 2020. gada kods, ko izveidojis Lukas Janky VESC monitors ar Oled displeju Es ceru, ka tas jums palīdzēs.
*/
#include #include #include #include #include #include #include #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET 4 Adafruit_SSD1306 displejs (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);
VescUart UART;
int rpm; pludiņa spriegums; pludiņa strāva; int jauda; pludiņa amfūra; pludiņa tach; pludiņa attālums; peldēšanas ātrums; pludiņa vatstunda; pludiņa batpercentage;
SimpleKalmanFilter Filter1 (2, 2, 0,01);
void setup () {
Serial.begin (115200); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.fillScreen (0); display.display ();
/ ** Iestatiet UART portu (Serial1 uz Atmega32u4)*/ // Serial1.begin (19200); kamēr (! Seriāls) {;}
/ ** Nosakiet, kurus portus izmantot kā UART*/ UART.setSerialPort (& Serial);
}
void loop () {
////////// Lasiet vērtības ////////// if (UART.getVescValues ()) {
rpm = (UART.data.rpm)/7; // “7” ir motora pāru skaits. Lielākajai daļai motoru ir 14 stabi, tāpēc 7 polu pāru spriegums = (UART.data.inpVoltage); pašreizējais = (UART.data.avgInputCurrent); jauda = spriegums*strāva; amphour = (UART.data.ampHours); vatstundas = ampērs*spriegums; tach = (UART.data.tachometerAbs)/42; // “42” ir motora polu skaits, kas reizināts ar 3 attālumiem = tah**3,142*(1/1609)*0,72*(16/185); // Motora apgriezieni x Pi x (1/ metri jūdzē vai km) x Riteņa diametrs x (motora skriemelis/ riteņa skriemelis) ātrums = apgr./min*3,142*(60/1609)*0,72*(16/185); // Motora apgriezieni x Pi x (sekundes minūtē / metri jūdzē) x Riteņa diametrs x (motora skriemelis / riteņa skriemelis) batpercentage = ((spriegums-38,4) / 12)*100; // ((Akumulatora spriegums - minimālais spriegums) / šūnu skaits) x 100
}
////////// Filter ////////// // aprēķiniet paredzamo vērtību, izmantojot Kalman Filter pludiņu powerfiltered = Filter1.updateEstimate (jauda);
display.fillScreen (0); display.setCursor (10, 5); display.setTextColor (1); display.setTextSize (1); displejs.druka (spriegums);
display.setCursor (10, 20); display.setTextColor (1); display.setTextSize (1); displejs.druka (jauda);
display.setCursor (10, 40); display.setTextColor (1); display.setTextSize (1); displejs.druka (apgr./min);
display.setCursor (10, 55); display.setTextColor (1); display.setTextSize (1); display.print (pašreizējais); display.display ();
kavēšanās (50);
}
Jūs varat mainīt un parādīt jebkuru vēlamā koda vērtību
4. darbība: pārbaudiet, vai tas darbojas
Tagad, kad pārbaudāt, vai tas darbojas, ir pienācis laiks to lodēt un pievienot vērtībām etiķetes, piemēram, volti vai ampēri. Lodējiet to arduino nano, lai tas būtu mazāks, vai arī jūs pat varat to pārraidīt ar citu arduino uz tālvadības pulti. bet tam ir daudz citu pamācību (meklēšana, kas pārraida vērtības, izmantojot arduino). Es ceru, ka tas palīdzēja jums atrisināt jūsu problēmu vai izveidot jauku mazu telemetriju.
Ieteicams:
LED snapper: iespējams, vienkāršākais testa aprīkojums, ko varat veikt: 3 soļi
LED snaiperis: iespējams, vienkāršākais testa aprīkojuma elements, ko varat izgatavot: ļaujiet man iepazīstināt jūs ar LED snapper. Vienkāršs, bet ļoti noderīgs testa aprīkojums, ko varat izveidot, lai palīdzētu atkļūdot elektronikas projektus. LED Snapper ir atvērtā koda iespiedshēmas plate, kas ļauj ērti pievienot
Nixie pulkstenis ar Arduino - Vienkāršākais dizains: 4 soļi
Nixie pulkstenis ar Arduino | Vienkāršākais dizains: pēc garas darba dienas beidzot man izdevās izgatavot Nixie pulksteni ar Arduino un optoizolācijas mikroshēmu, nav nepieciešams Nixie draiveris, kuru ir grūti iegādāties
DIY Vienkāršākais automātiskais mājdzīvnieku barotājs ar Arduino: 3 soļi
DIY Vienkāršākais automātiskais dzīvnieku barotājs ar Arduino: Sveiki mājdzīvnieku mīļotāji! Dziļi iekšā mēs visi vēlamies, lai mūsu mājās būtu mīļš kucēns vai kaķēns vai, iespējams, pat zivju ģimene. Bet, ņemot vērā mūsu aizņemto dzīvi, mēs bieži šaubāmies par sevi: "Vai es varēšu rūpēties par savu mājdzīvnieku?" Galvenā atbildība
Vienkāršākais Arduino kalkulators: 5 soļi
Vienkāršākais Arduino kalkulators: Šeit ir mana visu laiku vienkāršākā arduino kalkulatora versija. Labākais iesācējiem kā projekts arduino iesācējiem. Ne tikai vienkāršs šis projekts ir daudz lētāks par 40 $ s
Vienkāršākais veids, kā padarīt kompaktu gaismu !! 3 VIENKĀRŠI soļi !!: 3 soļi
Vienkāršākais veids, kā padarīt kompaktu gaismu !! 3 VIENKĀRŠI soļi !!: Kas jums būs nepieciešams - alvas folija 1 AA baterija (dažas AAA baterijas darbosies)