Obsah:
- Krok 1: Díly
- Krok 2: Spojení dílů dohromady
- Krok 3: Nahrání a úprava kódu podle vašich preferencí
- Krok 4: Kontrola, zda funguje
Video: Nejjednodušší monitor Arduino VESC: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Ahoj, v tomto projektu uděláme snadný monitor VESC. To by bylo užitečné, pokud chcete sledovat svoji teplotu a zjistit problémy, jaké jsem měl s přehříváním Vesc (což jsem zjistil právě u tohoto monitoru), nebo jej můžete použít jednoduše k připevnění displeje na desku nebo řídítka a sledovat rychlost, počet najetých kilometrů, procento baterie a mnoho dalších. Pojďme tedy do stavby!
Krok 1: Díly
1. - Arduino (používám UNO, ale můžete také použít jakoukoli jinou desku včetně esp8266 nebo esp32)
2. - některé kabely pro připojení (zkuste najít konektor pro váš konektor pro vesc, protože bude mnohem snazší odpojit 1 velký konektor oproti spoustě malých kabelů)
3. - displej (používám 124 x 32 Oled, ale můžete použít jakýkoli jiný změnou knihovny)
4. - volitelně - prkénko (to je pro lidi, kteří nechtějí pájet nebo pro ty, kteří to chtějí dělat dočasně)
5. - USB kabel pro vaše arduino
Krok 2: Spojení dílů dohromady
displej: Vcc až 3,3V
Gnd to Gnd
Sck (nebo scl) do A5
Sda do A4
VESC: 5V od Vesc po Vin na Arduinu
Gnd to Gnd
RX na VESC až TX na Arduinu
TX na VESC až RX na Arduinu
Krok 3: Nahrání a úprava kódu podle vašich preferencí
KÓD:
/** 2020 kód od Lukáše Jankyho Monitor VESC s Oledovým displejem Pokud se mě potřebujete na cokoli zeptat, kontaktujte mě na [email protected] nebo na mých instruktážích. Doufám, že vám to pomůže.
*/
#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; plovoucí napětí; plovoucí proud; int síla; float amphour; float tach; plovoucí vzdálenost; plovoucí rychlost; float watthour; plovoucí batpercentage;
SimpleKalmanFilter Filter1 (2, 2, 0,01);
neplatné nastavení () {
Serial.begin (115200); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.fillScreen (0); display.display ();
/ ** Nastavení portu UART (Serial1 na Atmega32u4)*/ // Serial1.begin (19200); while (! Serial) {;}
/ ** Definujte, které porty chcete použít jako UART*/ UART.setSerialPort (& Serial);
}
prázdná smyčka () {
////////// Přečíst hodnoty ////////// if (UART.getVescValues ()) {
rpm = (UART.data.rpm)/7; // '7' je počet párů pólů v motoru. Většina motorů má 14 pólů, proto 7 pólových párů napětí = (UART.data.inpVoltage); aktuální = (UART.data.avgInputCurrent); výkon = napětí*proud; amphour = (UART.data.ampHours); watthour = amphour*napětí; tach = (UART.data.tachometerAbs)/42; // '42' je počet pólů motoru vynásobený 3 vzdálenostmi = tach*3,142*(1/1609)*0,72*(16/185); // Otáčky motoru x Pi x (1/ metr v míli nebo km) x Průměr kola x (řemenice motoru/ kladka) rychlost = ot/ min*3,142*(60/1609)*0,72*(16/185); // Otáčky motoru x Pi x (sekundy za minutu / metry v míli) x Průměr kola x (kladka / kladka motoru) batpercentage = ((napětí-38,4) / 12)*100; // ((Napětí baterie - minimální napětí) / počet článků) x 100
}
////////// Filtr ////////// // vypočítat odhadovanou hodnotu pomocí Kalmanova filtru Float powerfiltered = Filter1.updateEstimate (power);
display.fillScreen (0); display.setCursor (10, 5); display.setTextColor (1); display.setTextSize (1); display.print (napětí);
display.setCursor (10, 20); display.setTextColor (1); display.setTextSize (1); display.print (napájení);
display.setCursor (10, 40); display.setTextColor (1); display.setTextSize (1); display.print (ot / min);
display.setCursor (10, 55); display.setTextColor (1); display.setTextSize (1); display.print (aktuální); display.display ();
zpoždění (50);
}
Můžete upravit a zobrazit libovolnou hodnotu z požadovaného kódu
Krok 4: Kontrola, zda funguje
Nyní, když zkontrolujete, zda funguje, je čas na jeho pájení a přidání štítků k vašim hodnotám, jako jsou volty nebo zesilovače. Pájejte ho na arduino nano, takže bude menší, nebo jej dokonce můžete přenášet s jiným arduinem na dálkový ovladač. ale k tomu je mnoho dalších návodů (vyhledávání přenášející hodnoty pomocí arduina). Doufám, že vám to pomohlo vyřešit váš problém nebo vytvořit pěknou malou telemetrii Vesc.
Doporučuje:
Nejjednodušší stojan na telefon: 4 kroky
Nejjednodušší stojan na telefon: Potřebujete stabilní a levný stojan na telefon, který můžete používat při telefonování s reproduktorem, poslechu hudby, sledování videa/filmů, používání telefonu pro autoportréty nebo jako bezpečnostní kameru atd.? Zde je stojan s minimálním úsilím a výdaji. Wa
Elektrický/EM detektor pole (nejjednodušší): 3 kroky
Elektrický/EM detektor pole (nejjednodušší): Jedná se o nejjednodušší detektor EM pole, který najdete na internetu. Navrhl jsem to sám a v dalším kroku je vysvětleno, jak to funguje. V zásadě budete potřebovat dva tranzistory, některé odpory, například anténu vyrobenou z měděného drátu
Hodiny Nixie s Arduinem - Nejjednodušší design: 4 kroky
Hodiny Nixie s Arduinem | Nejjednodušší design: Po dlouhém pracovním dni jsem konečně dosáhl úspěchu při výrobě hodin Nixie s Arduino a opto-izolačním čipem, bez potřeby ovladače Nixie, který je obtížné zakoupit
Nejjednodušší automatický podavač domácích zvířat s Arduino: 3 kroky
Nejjednodušší automatický krmítko pro domácí zvířata s Arduino: Ahoj milovníci domácích mazlíčků! Hluboko uvnitř každého z nás chce mít doma roztomilé štěně nebo kotě nebo pravděpodobně dokonce rodinu ryb. Ale kvůli našemu rušnému životu o sobě často pochybujeme: „Budu se moci postarat o svého mazlíčka?“Primární odpovědnost
NEJjednodušší způsob, jak vyrobit kompaktní světlo !! 3 JEDNODUCHÉ KROKY !!: 3 kroky
NEJjednodušší způsob, jak vyrobit kompaktní světlo !! 3 JEDNODUCHÉ KROKY !!: Co budete potřebovat - Cínová fólie 1 baterie AA (některé baterie AAA budou fungovat) 1 Mini žárovka (pro většinu svítilen se používají žárovky; viz obrázek) Pravítko (v případě potřeby)