فهرست مطالب:
- مرحله 1: قطعات
- مرحله 2: اتصال قطعات با هم
- مرحله 3: بارگذاری و اصلاح کد به دلخواه شما
- مرحله 4: بررسی کنید آیا کار می کند یا خیر
تصویری: ساده ترین مانیتور Arduino VESC: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
سلام،
در این پروژه ما مانیتور VESC آسان ایجاد می کنیم. این می تواند مفید باشد هنگامی که می خواهید درجه حرارت خود را کنترل کرده و مشکلاتی مانند من با گرم شدن بیش از حد Vesc (که من فقط با این مانیتور متوجه شدم) را پیدا کنید یا می توانید از آن برای اتصال صفحه نمایش به برد یا فرمان و مشاهده سرعت استفاده کنید. ، مسافت پیموده شده ، درصد باتری و موارد دیگر. بنابراین بیایید وارد ساختمان شویم!
مرحله 1: قطعات
1. - آردوینو (من از UNO استفاده می کنم اما شما همچنین می توانید از هر برد دیگری از جمله esp8266 یا esp32 استفاده کنید)
2. - برخی از کابل ها برای اتصال (سعی کنید کانکتور اتصال خود را برای vesc پیدا کنید زیرا جدا کردن 1 کانکتور بزرگ در مقابل بسیاری از کابل های کوچک بسیار ساده تر خواهد بود)
3. - صفحه نمایش (من از 124 x 32 Oled استفاده می کنم اما با تغییر کتابخانه می توانید از هر دستگاه دیگری استفاده کنید)
4- - اختیاری - تخته نان (این مورد برای افرادی است که نمی خواهند لحیم کنند یا برای کسانی است که می خواهند به طور موقت این کار را انجام دهند)
5. - کابل USB برای آردوینو شما
مرحله 2: اتصال قطعات با هم
صفحه نمایش: Vcc تا 3.3V
Gnd به Gnd
Sck (یا scl) تا A5
Sda به A4
VESC: 5 ولت از Vesc تا Vin در آردوینو
Gnd به Gnd
RX در VESC تا TX در آردوینو
TX در VESC تا RX در آردوینو
مرحله 3: بارگذاری و اصلاح کد به دلخواه شما
کد:
/** کد 2020 توسط مانیتور Lukas Janky VESC با صفحه نمایش Oled اگر نیاز دارید از من چیزی بخواهید ، با من در [email protected] یا دستورالعمل های راهنمای من تماس بگیرید. امیدوارم این به شما کمک کند.
*/
#شامل #شامل #شامل # #شامل #شامل #
VescUart UART ؛
rpm int ؛ ولتاژ شناور ؛ جریان شناور ؛ قدرت داخلی ؛ شناور آمفور ؛ شناور شناور ؛ فاصله شناور ؛ سرعت شناور ؛ شناور watthour؛ درصد شناور شناور ؛
SimpleKalmanFilter Filter1 (2 ، 2 ، 0.01) ؛
void setup () {
Serial.begin (115200) ؛ display.begin (SSD1306_SWITCHCAPVCC ، 0x3C) ؛ display.fillScreen (0) ؛ display.display ()؛
/ ** راه اندازی پورت UART (Serial1 در Atmega32u4)*/ // Serial1.begin (19200) ؛ در حالی که (! سریال) {؛}
/ ** تعریف کدام پورت ها به عنوان UART*/ UART.setSerialPort (& Serial) ؛
}
حلقه خالی () {
////////// خواندن مقادیر /////////// اگر (UART.getVescValues ()) {
rpm = (UART.data.rpm)/7 ؛ // '7' تعداد جفت های قطبی در موتور است. اکثر موتورها 14 قطب دارند ، بنابراین 7 جفت قطب ولتاژ = (UART.data.inpVoltage)؛ current = (UART.data.avgInputCurrent) ؛ قدرت = ولتاژ*جریان ؛ amphour = (UART.data.ampHours) ؛ watthour = amphour*voltage؛ tach = (UART.data.tachometerAbs)/42 ؛ // '42' تعداد قطب های موتور ضرب در 3 فاصله = tach*3.142*(1/1609)*0.72*(16/185) است ؛ // RPM موتور x Pi x (1/ متر در مایل یا کیلومتر) x قطر چرخ x (قرقره/ چرخ دستی) سرعت = دور در دقیقه*3.142*(60/1609)*0.72*(16/185) ؛ // RPM موتور x Pi x (ثانیه در دقیقه / متر در مایل) x قطر چرخ x (قرقره / چرخ دستی) batpercentage = ((ولتاژ -38.4) / 12)*100 ؛ // ((ولتاژ باتری - حداقل ولتاژ) / تعداد سلول) x 100
}
////////// Filter ////////// // محاسبه مقدار برآورد شده با Kalman Filter float powerfiltered = Filter1.updateEstimate (power)؛
display.fillScreen (0) ؛ display.setCursor (10 ، 5) ؛ display.setTextColor (1) ؛ display.setTextSize (1) ؛ display.print (ولتاژ) ؛
display.setCursor (10 ، 20) ؛ display.setTextColor (1) ؛ display.setTextSize (1) ؛ display.print (قدرت) ؛
display.setCursor (10 ، 40) ؛ display.setTextColor (1) ؛ display.setTextSize (1) ؛ display.print (دور در دقیقه) ؛
display.setCursor (10 ، 55) ؛ display.setTextColor (1) ؛ display.setTextSize (1) ؛ display.print (جاری) ؛ display.display ()؛
تأخیر (50) ؛
}
می توانید هر مقدار را از کد مورد نظر خود تغییر داده و نمایش دهید
مرحله 4: بررسی کنید آیا کار می کند یا خیر
حالا وقتی بررسی می کنید که آیا کار می کند زمان لحیم کاری و افزودن برچسب به مقادیر خود مانند ولت یا آمپر است. آن را روی arduino nano لحیم کنید تا کوچکتر شود یا حتی می توانید آن را با arduino دیگر به کنترل از راه دور خود منتقل کنید. اما برای آن بسیاری از آموزش های دیگر وجود دارد (جستجو برای انتقال مقادیر با آردوینو). امیدوارم این کار به شما در حل مشکل شما کمک کرده یا تله متری کوچک زیبایی ایجاد کرده باشد.
توصیه شده:
باریک ترین و باریک ترین NES قابل حمل؟: 14 مرحله (همراه با تصاویر)
باریک ترین و باریک ترین NES قابل حمل؟: این یک پرینت سه بعدی NES است که با استفاده از NES بر روی تراشه NES retrobit ساخته شده است. 129*40*200 میلی متر است. دارای عمر باتری 8 ساعته ، کنترل صدای دیجیتالی و قاب سبز شیک (شاید). شبیه سازی نشده است ، سخت افزاری است که از کارتریج اصلی استفاده می کند ، بنابراین شما
ساده ترین فرمان USB مقوایی: 6 مرحله (همراه با تصاویر)
ساده ترین فرمان USB مقوایی: از آنجا که قرنطینه است و ما در خانه گیر کرده ایم ، تمایل داریم بازی های ویدیویی زیادی انجام دهیم. بازی های مسابقه ای یکی از بهترین بازی ها هستند ، اما استفاده از صفحه کلید خسته کننده می شود و استفاده از آن بسیار سخت تر از کنترلر Xbox یا PS است. به همین دلیل تصمیم گرفتم
ساده ترین متر دما و رطوبت اینترنت اشیا: 5 مرحله (همراه با تصاویر)
ساده ترین دماسنج و رطوبت IoT: ساده ترین دماسنج و رطوبت سنج IoT به شما امکان می دهد دما ، رطوبت و شاخص حرارت را جمع آوری کنید. سپس آنها را به Adofruit IO ارسال کنید
ساده ترین راه برای ایجاد ربات کنترل حرکت: 7 مرحله (همراه با تصاویر)
ساده ترین راه برای ایجاد یک ربات کنترل اشاره: اسباب بازی ها را مانند یک ابرقهرمان کنترل کنید. بیاموزید که چگونه می توانید یک ماشین کنترل شده با اشاره بسازید. این در مورد چگونگی ساخت یک اتومبیل با کنترل حرکت است. در اصل این یک برنامه ساده از ژیروسکوپ 3 محور MPU-6050 ، شتاب سنج است. شما می توانید کارهای بیشتری انجام دهید
برق/آشکارساز میدان EM (ساده ترین): 3 مرحله
برق/آشکارساز میدان EM (ساده ترین): این ساده ترین آشکارساز میدان EM است که می توانید در اینترنت پیدا کنید. من خودم آن را طراحی کردم و نحوه عملکرد آن در مرحله بعدی توضیح داده شده است. اساساً آنچه شما نیاز دارید ، دو ترانزیستور برخی از مقاومت ها هستند ، مثلاً آنتن ساخته شده از سیم مسی لی