0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Arduino的DIY電動(dòng)滑板

笑過(guò)就走 ? 來(lái)源:羅姆 ? 作者:羅姆 ? 2023-02-23 11:05 ? 次閱讀

這篇文章來(lái)源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。pYYBAGPzEVWAJXohAAFn4w0o1DQ238.jpg

教程將全面地介紹如何構(gòu)建屬于您自己的DIY電動(dòng)滑板。在這里我將向您展示的滑板是一個(gè)炫酷而有趣的交通工具,并且易于制作和使用!制作滑板所使用的是一些現(xiàn)成的電子電氣組件,基于Arduino微控制器進(jìn)行設(shè)計(jì),這意味著其功能還能擴(kuò)展延伸到其他項(xiàng)目中。如果您在開(kāi)始之前要了解有關(guān)Arduino微控制器的一些基礎(chǔ)知識(shí),請(qǐng)查看此教程!

在本指南中,我將向您展示如何以較低的成本對(duì)自己的DIY電動(dòng)滑板進(jìn)行構(gòu)建和編程,并討論我計(jì)劃在未來(lái)的滑板迭代中對(duì)功能進(jìn)行改進(jìn)和擴(kuò)展的一些方法。

硬件

1x Arduino Uno R3微控制器(任何Arduino微控制器都可以!)

1x 至少36英寸長(zhǎng)的木制長(zhǎng)板(板面越長(zhǎng)意味著安裝電子設(shè)備的空間越大),和至少10英寸寬的滑板橋(安裝電機(jī)組件時(shí),越長(zhǎng)的橋就能提供越大的工作表面)。在本項(xiàng)目中,我使用的是36英寸的長(zhǎng)板和10英寸寬的滑板橋。

○ 使用沒(méi)有翹起的平板(翹起的平板下方用于安裝電子設(shè)備的空間較?。?/p>

○ 四個(gè)75mm的長(zhǎng)板輪子(輪子直徑不必精確為75mm,但范圍必須在70-75mm之間)

跳線和電阻器(用于將速度控制器和雙手柄連接到Arduino)

12號(hào)絞線

1x FVT 120-Amp 電子速度控制器

1x Nyko Kama 無(wú)線 Wii 雙手柄 (應(yīng)配備配對(duì)的無(wú)線接收器

1x Wii雙手柄延長(zhǎng)線纜

1x Turnigy Aerodrive SK3 或類似的無(wú)刷電機(jī)

2x 3S LiPo 電池, 如Zippy Flightmax 5000mAh

○LiPo電池規(guī)格中的3s表示該電池中包含三個(gè)串聯(lián)的LiPo電池。

.1 英寸公排針

2x 4.7k?電阻

與電池上的連接器適配的連接器(我使用的是子彈頭連接器)

與電機(jī)上的連接器適配的連接器(我使用的是子彈頭連接器)

1x 16齒,5mm HTD節(jié)距,9mm寬同步帶輪

○https://shop.sdp-si.com/catalog/product/?id=A_6A55M016DF0906

1x 55齒,5mm HTD節(jié)距,9mm寬同步帶

○https://shop.sdp-si.com/catalog/product/?id=A%206R25M055090

軟件

Arduino IDE

“Arduino雙手柄” Arduino庫(kù)

Autodesk Inventor 或類似的計(jì)算機(jī)輔助設(shè)計(jì)(CAD) 軟件

Slic3r, ReplicatorG, 或類似的3D打印/切片軟件

工具

擰緊硬件的工具(螺絲起子、螺母起子、扳手等)

3D打印機(jī)(用于制造電子設(shè)備的外殼)

○3D打印機(jī)在該項(xiàng)目中不是必需的。電子部件的外殼也可以由木材或其它類似的更容易被加工的材料制成,或者使用小塑料容器來(lái)封裝。

CNC銑床,用于加工安裝電機(jī)的鋁制部件

鉆床/手鉆

烙鐵

鉗子和剪鉗

剝線鉗

文件和相關(guān)鏈接

CAD 模型: https://sourceforge.net/p/electricskateboard/code

可供下載的公用長(zhǎng)板模型: https://grabcad.com/library/longboard-slipstream-1

代碼: https://github.com/RahulIyerK/ElectricSkateboard

術(shù)語(yǔ):

滑板部件:

板面:通常用于騎手站立的木制長(zhǎng)形板面

滑板橋:安裝在板面上的T形組件,用作安裝滑板輪的軸。一個(gè)滑板上有兩個(gè)滑板橋。

電動(dòng)滑板術(shù)語(yǔ):

減速比:電機(jī)轉(zhuǎn)速與驅(qū)動(dòng)組件輸出級(jí)速度之比。減速比通常以“A:B”的形式表示,并且分?jǐn)?shù)值通常大于1,表示電機(jī)通過(guò)比輸出級(jí)更高的速度旋轉(zhuǎn)。

步驟1 – 使用計(jì)算機(jī)輔助設(shè)計(jì)(CAD)軟件設(shè)計(jì)滑板的驅(qū)動(dòng)組件

DIY電動(dòng)滑板由無(wú)刷直流電機(jī)驅(qū)動(dòng),該電機(jī)通過(guò)同步帶連接到四個(gè)滑板輪子中的一個(gè)。同步帶在兩個(gè)同步帶輪之間運(yùn)行,減速比為2.5:1。從SDP-SI購(gòu)買(mǎi)的16齒鋁制帶輪是這對(duì)帶輪中較小的一個(gè),可安裝到電機(jī)的軸上,而40齒的帶輪則是帶輪減速的輸出級(jí),根據(jù)用戶的滑板輪凹槽進(jìn)行自定義設(shè)計(jì)。我在CAD軟件中所設(shè)計(jì)的自定義鋁零件可將電機(jī)固定在適當(dāng)位置,并使同步帶保持張緊狀態(tài)。您可以自行設(shè)計(jì)將電機(jī)連接到滑板輪上的同步帶組件。點(diǎn)擊此處,您可以在SourceForge庫(kù)中找到我的驅(qū)動(dòng)組件的CAD模型。

pYYBAGPzEViAPSusAACD28ylPHE308.jpg

圖1:滑板驅(qū)動(dòng)組件的CAD模型。右邊的無(wú)刷電機(jī)(藍(lán)色所示)通過(guò)同步帶連接到左邊的一個(gè)滑板輪子(綠色所示)上

為了創(chuàng)建用于將電機(jī)安裝到滑板橋上的自定義零件,我首先下載并修改了一個(gè)線上的長(zhǎng)板模型,例如GrabCAD的一個(gè)模型,該模型與我所使用的長(zhǎng)板非常相似,精度很高。為了對(duì)模型進(jìn)行修改,我測(cè)量了長(zhǎng)板的一些重要尺寸(板面的長(zhǎng)度和寬度,滑板橋的高度和寬度,以及輪子的尺寸),并將其與計(jì)算機(jī)模型進(jìn)行比較,然后在需要的地方進(jìn)行更改。

請(qǐng)注意,不必以100%的精度為滑板建模。相比于滑板的還原度,我更關(guān)注于上述的那些尺寸是否可以準(zhǔn)確地表示出所添加零件與原始滑板零件之間的間隙。經(jīng)過(guò)修改之后的模型效果很好!

poYBAGPzEVuAOsJAAABfBeJKN5I507.jpg

圖2:完整的滑板CAD模型??梢钥吹津?qū)動(dòng)組件安裝在右下角的軸上

我在距輸出級(jí)不同距離的零件上添加了用于安裝電機(jī)的孔,以調(diào)整同步帶的張緊程度。因?yàn)閺耐綆в?jì)算器(類似于這種)計(jì)算得到的兩中心距離不能確保同步帶處于理想的張緊狀態(tài),所以在零件上具有這種可調(diào)節(jié)性是一種很好的安全措施,也是保證在最終產(chǎn)品上的同步帶有理想張力的好方法。

同時(shí),我必須對(duì)DIY電動(dòng)滑板最初使用的滑板橋中的一個(gè)進(jìn)行修改,以便將電機(jī)支撐模塊安裝到該滑板橋上。原始零件具有逐漸變細(xì)的形狀,并且在其表面有嵌入物,這會(huì)使安裝過(guò)程變得困難。

poYBAGPzEV6AKx3DAAF57xlmTlo923.jpg

圖3:現(xiàn)有的滑板橋有兩個(gè)特征:有一個(gè)凹槽且具有一個(gè)長(zhǎng)錐度,我會(huì)將其移除,以使電機(jī)支撐模塊能夠與滑板橋相連接

我在CAD軟件中直接從表面切掉了材料,在滑板橋這部分創(chuàng)建了一個(gè)圓柱體,即一種更易于模塊安裝的形狀。經(jīng)過(guò)機(jī)加工的部分和所連接的支撐模塊如圖4所示:

pYYBAGPzEWKAbrYlAAFp73fFSfk980.jpg

圖4:圖中所示的電機(jī)支撐模塊已經(jīng)夾緊在機(jī)加工后的滑板橋上。通過(guò)將橋軸直徑調(diào)低到一個(gè)固定大小,其表面的錐度和凹槽都被移除

該圓柱體是原始滑板橋經(jīng)過(guò)車(chē)床加工得到的。

為了確保40齒輸出級(jí)帶輪牢固地安裝到驅(qū)動(dòng)輪上,我對(duì)一個(gè)現(xiàn)有的CAD同步帶輪進(jìn)行了修改,添加了一些功能,例如添加了用于將帶輪固定到輪子的螺釘孔,以及在與輪子的凹槽適配的帶輪的一個(gè)表面添加了一個(gè)輪轂。

poYBAGPzEWSAFV31AABCOUXxhe4180.jpg

圖5:自定義40齒帶輪的CAD模型

帶輪頂部的圓錐形形狀使其可以更加緊密地插入滑板輪子的凹槽中。將螺釘擰入帶輪表面的六個(gè)通孔中,以將帶輪固定在輪子上。

poYBAGPzEWmACfoGAACdTbq4bL4698.jpg

圖6:用螺釘將打印得到的帶輪安裝到其中一個(gè)滑板輪子上。自定義打印平板(如圖頂部所示)用作鎖緊螺母的大墊圈

我打印了一個(gè)很小的“平板”片,放置在輪子與帶輪相對(duì)的表面上(圖片中鎖緊螺母下方的紅色部分)。該平板有助于消除將兩部分固定在一起并擰緊鎖緊螺母時(shí)所產(chǎn)生的應(yīng)力。與擰緊鎖緊螺母時(shí)用軟橡膠作為與輪子之間的墊圈相比,該平板可以提供更加平坦和堅(jiān)固的支撐。

可以在一個(gè)標(biāo)準(zhǔn)臺(tái)式3D打印機(jī)上打印此自定義帶輪。為了將帶輪固定在滑板輪子上,我需要對(duì)滑板輪子進(jìn)行修改,以使其在安裝位置具有與帶輪相同的通孔。我使用了一個(gè)迷你磨機(jī)來(lái)完成這項(xiàng)工作!同時(shí),我還為輪子的外側(cè)打印了一塊小平板(包含在該項(xiàng)目的模型中),作為將帶輪和輪子連接在一起的螺釘上所使用擰緊螺母的墊圈。

pYYBAGPzEW2AcaLJAAH07UmKUjE458.jpg

圖7:機(jī)加工后連接在一起的驅(qū)動(dòng)組件

我設(shè)計(jì)了自己的電機(jī)支撐模塊,使其頂部具有垂直的螺釘,如圖7所示。該螺釘擰緊后可以將支撐模塊夾緊到滑板橋上。

最后,我設(shè)計(jì)的安裝到滑板上的最后一個(gè)組件是用于控制電子設(shè)備和電池的外殼。您可以點(diǎn)擊此處在SourceForge庫(kù)中找到我所設(shè)計(jì)外殼的CAD模型。我設(shè)計(jì)的外殼上打印有足夠多的孔。Arduino用小螺釘固定在外殼上,其余的電子器件用扎線帶固定。電池的外殼要經(jīng)過(guò)精心設(shè)計(jì),以使其可以緊貼并牢固地固定電池,同時(shí)在必要時(shí)便于取出電池。

您可以自行設(shè)計(jì)自己的外殼,以使其更適合于您的開(kāi)發(fā)板。除了像我這樣將電子設(shè)備安裝在滑板面下方,您也可以選擇經(jīng)過(guò)仔細(xì)的設(shè)計(jì)和布線后將電子設(shè)備放在板面前部或后部的上方。

poYBAGPzEXKAIZVeAAEPIp-suY0774.jpg

圖8:滑板硬件的分解圖

紅色的外殼(如圖8左上方所示)中裝有控制電子設(shè)備:Arduino微控制器、電子速度控制器(ESC)和無(wú)線Wii雙手柄接收器。白色的外殼(如圖8右上方所示)裝有兩個(gè)“3S”鋰聚合物(LiPo)電池。

步驟 2 – 制造部件

完成驅(qū)動(dòng)組件和外殼的設(shè)計(jì)后,下一步就是把這些部件制造出來(lái)。我選擇用鋁來(lái)制造支撐模塊,以保證滑板驅(qū)動(dòng)所產(chǎn)生壓力下的強(qiáng)度和剛度。考慮到不同的使用情況,例如道路上小物塊的撞擊,我通過(guò)CNC銑床將一個(gè)現(xiàn)有的鋁棒制成零件。

如果您身邊沒(méi)有可用的CNC銑床,請(qǐng)嘗試通過(guò)當(dāng)?shù)氐闹圃鞆S或者公用的車(chē)間獲取該設(shè)備!諸如TechShop之類的組織允許其成員在接受了有關(guān)安全操作機(jī)器的基礎(chǔ)培訓(xùn)之后使用他們的加工設(shè)備。CNC銑床是制造此類鋁制零件的最佳選擇,因?yàn)檫@種零件具有復(fù)雜的三維特征,用等離子體加工或者水刀切割無(wú)法完成。

最后,想要制造您所設(shè)計(jì)或下載的自定義外殼和帶輪,您需要使用3D打印機(jī)。任何臺(tái)式3D打印機(jī)都能夠滿足該項(xiàng)目的要求—我使用Flashforge Creator Pro 和ABS filament打印了我所設(shè)計(jì)的所有塑料零部件。

以下是ReplicatorG環(huán)境中的打印設(shè)置示例:

pYYBAGPzEXWAI2bOAAC0DjElXME829.jpg

圖9:在ReplicatorG環(huán)境中設(shè)置電池盒子打印件。必須將盒子小心地放置在打印床上,以使其處于3D打印機(jī)的最大打印范圍內(nèi)(圖中白線所示)

pYYBAGPzEXeAUgZMAACqPmQv6bI472.jpg

圖10:打印40齒帶輪比較簡(jiǎn)單,因?yàn)樗叽巛^小。我在帶輪上設(shè)置了較高的填充密度,以便它能夠承受驅(qū)動(dòng)滑板時(shí)所產(chǎn)生的壓力

我最近改用了Slic3r(作為我的打印設(shè)置/切片軟件),因?yàn)樗軌蛱峁└嗟拇蛴」δ?,并且通過(guò)一些特定的打印設(shè)置增加用戶對(duì)滑板的控制模式。

步驟 3 – 連接電氣和電子系統(tǒng)

DIY電動(dòng)滑板上的電源和控制硬件分為電氣系統(tǒng) 和 控制電子設(shè)備。電氣系統(tǒng)由向控制電子設(shè)備和電機(jī)提供電流的電池,以及將電池和電機(jī)連接到控制電子設(shè)備的電線組成??刂齐娮釉O(shè)備包括電子速度控制器(ESC)、Arduino微控制器(滑板的“大腦”)和無(wú)線雙手柄遙控接收器。

滑板的電氣系統(tǒng)接線非常簡(jiǎn)單。但是,在開(kāi)始之前,最好在長(zhǎng)板上布置好不同的物理部件,這樣就能很清楚地看到在哪里進(jìn)行緊固件連接和接線,同時(shí)還能幫助您確定用于電池連接到電子設(shè)備的電線的長(zhǎng)度。

按照下圖將組件放置在滑板上,并在它們之間進(jìn)行電氣連接。

poYBAGPzEXqAPKMlAABEVNebl8U019.jpg

圖11:滑板的電氣布局。串聯(lián)的兩節(jié)LiPo電池連接到ESC,ESC可以與無(wú)刷電機(jī)和Arduino連接供電

首先,使用12 AWG導(dǎo)線和一些與電池上的連接器適配的連接器,從電池的端子進(jìn)行連接。我們將兩個(gè)電池串聯(lián)起來(lái),為滑板提供22伏的電源。

pYYBAGPzEX2AAm3dAAHOzRrhczM418.jpg

圖12:由于我購(gòu)買(mǎi)的電池帶有子彈頭連接器,所以我創(chuàng)建了一個(gè)互補(bǔ)型連接器,將它們串聯(lián)起來(lái)

一個(gè)子彈頭連接器外殼的“薄”側(cè)連接到另一個(gè)子彈頭連接器外殼的“厚”側(cè)。通過(guò)將一個(gè)電池的正極引線與另一個(gè)電池的負(fù)極引線連接,我們可以通過(guò)兩塊3S電池創(chuàng)建出一個(gè)“6S”或6節(jié)串聯(lián)的電池。

將電池的電源線和地線連接到ESC的電源線和地線。ESC將依次為電機(jī)和Arduino供電。如果電機(jī)的電線長(zhǎng)度不足以插進(jìn)ESC的三相電線,請(qǐng)使用相同的12號(hào)線來(lái)構(gòu)造跳線,以連接ESC和電機(jī)。

將控制電子設(shè)備連接在一起會(huì)更復(fù)雜一些。Arduino直接從ESC的內(nèi)置電池消除器電路(BEC)獲取電源,BEC是ESC的內(nèi)置電路,可將輸入電池的電壓轉(zhuǎn)換為運(yùn)行連接到ESC的控制器和接收器的較低電壓。

按照下圖連接所有電子設(shè)備!

pYYBAGPzEYGADfKUAAFQtiFCSvE641.jpg

圖13:Arduino的完整接線示意圖。請(qǐng)注意連接到雙手柄 I2C引腳的兩個(gè)4.7k?上拉電阻

從ESC的外殼中伸出的伺服電纜為三根不同顏色的電線:紅色為來(lái)自BEC的電源線,約為5伏;白色為來(lái)自速度控制器的信號(hào)線,Arduino將通過(guò)該信號(hào)線將脈沖寬度調(diào)制(PWM)信號(hào)發(fā)送到速度控制器以調(diào)節(jié)電機(jī)轉(zhuǎn)速;黑色為BEC的接地線。

首先,將紅色電源線連接到Arduino的 Vin引腳。您可以通過(guò)將一根跳線插入Arduino的母頭中或通過(guò)將跳線直接焊接到Vin引腳孔進(jìn)行連接。可能您已經(jīng)想到了,對(duì)地線要進(jìn)行類似的連接操作。

將BEC的接地線連接到Arduino上的任何接地引腳。這兩個(gè)連接完成后會(huì)形成一個(gè)閉合回路,為Arduino供電。

Arduino和ESC之間最后需要連接的是信號(hào)線。信號(hào)線是Arduino 和ESC之間的PWM控制通道。Arduino調(diào)制由ESC解調(diào)的脈沖信號(hào),以實(shí)現(xiàn)對(duì)提供給電機(jī)的電源的快速轉(zhuǎn)換。只能將Arduino上標(biāo)有“~”的特定數(shù)字輸出用于PWM控制。我選擇使用數(shù)字引腳9,將ESC伺服電纜的白色信號(hào)線連接到該引腳。

現(xiàn)在,您已經(jīng)完成了ESC 和Arduino之間的所有連接,接下來(lái)我們可以把注意力放在Arduino和Wii雙手柄(騎手用來(lái)控制滑板的手持式遙控器)的接口連接上。雙手柄旨在與Wii遙控器連接并與之通信,所以我們必須對(duì)其進(jìn)行破解以作為滑板的控制器。如果您仔細(xì)看一下無(wú)線雙手柄隨附的接收器,您會(huì)發(fā)現(xiàn)其公連接器內(nèi)部有六個(gè)引腳。下圖是連接器的引腳排布:

pYYBAGPzEYOAVJLzAAA7svMMZHQ476.jpg

我們將使用延長(zhǎng)線纜來(lái)對(duì)每個(gè)引腳進(jìn)行連接:

首先,對(duì)延長(zhǎng)線纜進(jìn)行剪切,剩下的線纜長(zhǎng)度足夠與母端相連。將線纜剪切一半左右即可。

剝?nèi)ゴ蠹s2英寸長(zhǎng)的外部白色絕緣層,您會(huì)發(fā)現(xiàn)內(nèi)部有五條不同顏色的被一些防護(hù)層包裹的電線。小心地對(duì)防護(hù)層進(jìn)行剪切,直到只剩下五根電線:

poYBAGPzEYaAGIJ3AAFYaWwCPds318.jpg

圖14:剝離后的延長(zhǎng)線纜,其中五根內(nèi)部電線上焊接了跳線。在延長(zhǎng)線纜中較小的電線根據(jù)其用途進(jìn)行了顏色編碼,但是所有延長(zhǎng)線纜的顏色標(biāo)識(shí)方式都不相同!

由于所有的雙手柄延長(zhǎng)線纜的內(nèi)部接線都沒(méi)有使用相同的顏色,因此您必須使用萬(wàn)用表確定線纜中的哪根線與母連接器上的哪個(gè)引腳相對(duì)應(yīng)。非常重要的一點(diǎn)是,母連接器的引腳排列是公連接器的引腳排列的鏡像。這意味著頂行的外側(cè)引腳排列將被交換,底行的外側(cè)引腳也將被交換,而這兩行中間的兩個(gè)引腳保持不變。

確定了引腳對(duì)應(yīng)的電線后,您需要將電源線、接地線、數(shù)據(jù)線和時(shí)鐘線分開(kāi)并分別連接到Arduino上。第五個(gè)引腳將不會(huì)在本項(xiàng)目中使用。

電源線和接地線可以分別連接到Arduino的5V和接地引腳。

由于Arduino通過(guò)I2C與雙手柄接收器進(jìn)行通信,我們需要通過(guò)將延長(zhǎng)線纜連接到Arduino的I2C引腳、模擬引腳0和模擬引腳1來(lái)建立數(shù)據(jù)和時(shí)鐘的連接。想要了解更多有關(guān)I2C通信的知識(shí),請(qǐng)查看本教程。

將數(shù)據(jù)(SDA)線連接至Arduino的模擬引腳4,將時(shí)鐘(SCL)線連接至Arduino的模擬引腳5。

電子設(shè)備組裝的最后一步是在數(shù)據(jù)和時(shí)鐘線上添加一些4.7k?的上拉電阻。這些上拉電阻能夠使數(shù)據(jù)線和時(shí)鐘線保持在有效邏輯電平上,從而防止“浮動(dòng)引腳”干擾Arduino與接收器之間的通信。

我們已經(jīng)完成了所有DIY電動(dòng)滑板電子設(shè)備的組裝工作!為了使電子設(shè)備更加緊湊、整潔,我使用了一個(gè)小塊穿孔板來(lái)固定外圍電子設(shè)備(ESC和雙手柄接收器)與Arduino之間的所有連接:

poYBAGPzEYmANeE2AAHPkQZrlRw287.jpg

圖15:一個(gè)用來(lái)使Arduino的引腳連接更緊湊的小穿孔板。跳線直接焊接到Arduino的引腳上,而不是將跳線連接到其母頭上

poYBAGPzEYyAbS2OAAGmuoNX5_E042.jpg

圖16:滑板的電子設(shè)備盒子中裝有ESC、Arduino和雙手柄的無(wú)線接收器

現(xiàn)在,我們要進(jìn)行在Arduino上運(yùn)行的軟件設(shè)計(jì)了,該軟件將雙手柄的輸入轉(zhuǎn)換為電機(jī)轉(zhuǎn)速,從而對(duì)滑板進(jìn)行驅(qū)動(dòng)。

步驟 4 – 編寫(xiě)代碼并上傳至Arduino

對(duì)滑板進(jìn)行組裝和測(cè)試前的最后一步是編寫(xiě)控制軟件并上傳至Arduino。在將Arduino連接到您的筆記本電腦之前,請(qǐng)確保沒(méi)有通過(guò)BEC由滑板電池供電。在由BEC供電的情況下將Arduino連接到計(jì)算機(jī)的USB端口可能會(huì)損壞計(jì)算機(jī)的USB端口或者Arduino,也有可能兩個(gè)同時(shí)受到損壞!

您可以點(diǎn)擊此處獲取我在github上編寫(xiě)的Arduino控制軟件!現(xiàn)在,該軟件還只是一個(gè)非常簡(jiǎn)單的代碼草圖,能夠?qū)崿F(xiàn)將雙手柄的輸入轉(zhuǎn)換為電機(jī)轉(zhuǎn)速,并傳送給ESC。我希望在不久之后能夠?qū)懗龈呒?jí)的控制軟件,以提升滑板的性能。您可以根據(jù)自己的喜好調(diào)整和改進(jìn)代碼,并與我分享您的見(jiàn)解!

滑板控制Arduino草圖:

/*  
      * Rahul Iyer
      */

    
      #include 
      #include 
      #include 


      #define BAUDRATE 19200


      #define CHUCK_ZERO 133
      #define CHUCK_MAX 255
      #define ESC_ZERO 90
      #define SPEED_MAX 130

      ArduinoNunchuk nunchuk = ArduinoNunchuk();


      int escOutputValue = ESC_ZERO;
      float currentOutputValue = ESC_ZERO;


      int resetCounter = 0;
      Servo ESC;


      void setup()
      {
      ESC.attach(9);
      Serial.begin(BAUDRATE);


      nunchuk.init();
      delay(100);
      }


      void loop()
      {

      resetCounter++;



      if (resetCounter==40)
      {
         resetCounter=0;
         nunchuk.init();
         delay(100);
      }


      nunchuk.update();


      // Serial.print(nunchuk.analogX, DEC);
      // Serial.print(' ');
      // Serial.print(nunchuk.analogY, DEC);
      // Serial.print(' ');
      // Serial.print(nunchuk.accelX, DEC);
      // Serial.print(' ');
      // Serial.print(nunchuk.accelY, DEC);
      // Serial.print(' ');
      // Serial.print(nunchuk.accelZ, DEC);
      // Serial.print(' ');
      // Serial.print(nunchuk.zButton, DEC);
      // Serial.print(' ');
      // Serial.print(nunchuk.cButton, DEC);
      // Serial.print(' ');


      int yValue = nunchuk.analogY;

      if (yValue maxPossibleSpeed)
         {
           escOutputValue = maxPossibleSpeed;
         }
         else
         {
           float increment = (1.0 * (yValue - CHUCK_ZERO)) / (CHUCK_MAX - CHUCK_ZERO);



           currentOutputValue += increment;
           escOutputValue = (int) currentOutputValue;

           if (escOutputValue > maxPossibleSpeed)
           {
             escOutputValue = maxPossibleSpeed;
           }
         }
      }


      ESC.write(escOutputValue);
      Serial.println(escOutputValue); //for debugging
      }

結(jié)論

這是我第一次開(kāi)發(fā)“電動(dòng)交通工具”,并且對(duì)基于Arduino的DIY電動(dòng)滑板組裝配合的方式感到很滿意。我將繼續(xù)開(kāi)發(fā)滑板的硬件和軟件,以進(jìn)一步探索電動(dòng)交通工具在電子和控制軟件方面的創(chuàng)新。

Arduino是此類項(xiàng)目中非常便于使用的微控制器,因?yàn)樗子谂c外部的電子設(shè)備連接,并且便于通過(guò)修改其中運(yùn)行的軟件代碼來(lái)實(shí)現(xiàn)項(xiàng)目的改進(jìn)。

在該DIY電動(dòng)滑板未來(lái)的迭代版本中,我希望繼續(xù)開(kāi)發(fā)滑板的控制軟件,這是能夠提升滑板的控制性、效率和整體實(shí)用性的一種非常簡(jiǎn)單的方式。目前我對(duì)這種改進(jìn)方式有這樣一個(gè)想法,即通過(guò)使用編碼器或類似的傳感器來(lái)實(shí)現(xiàn)閉環(huán)控制,從而在平穩(wěn)行駛時(shí)進(jìn)行啟動(dòng)或變速。我還想在長(zhǎng)板上添加讀數(shù)設(shè)備,以顯示電池電量百分比和按鈕控件,使騎手可以在加速、制動(dòng)或最大速度等方面進(jìn)行調(diào)整。請(qǐng)繼續(xù)關(guān)注該項(xiàng)目的進(jìn)一步發(fā)展,并隨時(shí)與我分享您的見(jiàn)解!

poYBAGPzDoyAVmHgAAAjEJsiUjQ529.png

Rahul Iyer

Rahul在UCLA學(xué)習(xí)電氣工程,業(yè)余時(shí)間喜歡創(chuàng)建電子和機(jī)器人相關(guān)的項(xiàng)目,尤其對(duì)電動(dòng)汽車(chē)技術(shù)和輔助機(jī)器人技術(shù)感興趣。

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6458

    瀏覽量

    186504
  • 電動(dòng)滑板
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    6887
  • 電池
    +關(guān)注

    關(guān)注

    84

    文章

    10405

    瀏覽量

    128668
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MCU在電動(dòng)滑板車(chē)硬件實(shí)物的設(shè)計(jì)技巧

    電動(dòng)滑板車(chē)最常見(jiàn)的造型就是L型了,一體式的車(chē)架結(jié)構(gòu),使用了極簡(jiǎn)主義風(fēng)格進(jìn)行設(shè)計(jì)。車(chē)把手可設(shè)計(jì)成彎曲形、也可設(shè)計(jì)成直線形,轉(zhuǎn)向柱與車(chē)把手一般呈70°左右,可展現(xiàn)出組合裝配的曲線美。 而在折疊后,電動(dòng)
    發(fā)表于 12-28 14:10

    MCU在電動(dòng)滑板車(chē)硬件實(shí)物的設(shè)計(jì)技巧分享

    MCU在電動(dòng)滑板車(chē)硬件實(shí)物的設(shè)計(jì)技巧
    發(fā)表于 01-26 07:14

    如何DIY一個(gè)四輪電動(dòng)滑板?

    1. 動(dòng)力改裝最容易的方式就是基于現(xiàn)有的滑板進(jìn)行動(dòng)力改裝。先在某寶上買(mǎi)一個(gè)滑板吧。2. 電機(jī)與橋架的連接如何如何連接橋架和電機(jī) 是我最頭疼的問(wèn)題。傳動(dòng)方案1:選擇航模電機(jī)+鏈輪(同步帶輪)減速方案?jìng)鲃?dòng)方案2:輪轂電機(jī)直驅(qū) 對(duì)比方案1方案2 加工零件個(gè)數(shù)修改橋架(車(chē)床)..
    發(fā)表于 08-30 08:47

    DIY電動(dòng)滑板車(chē)的相關(guān)資料分享

    年輕人都會(huì)有一個(gè)豪車(chē)組裝夢(mèng)。當(dāng)然,組裝豪車(chē)的夢(mèng)想還是有點(diǎn)距離,SO~~我們可以先邁出夢(mèng)想的第一步:組裝一輛電動(dòng)滑板車(chē)。其實(shí)要組裝也非常簡(jiǎn)單,百度上一搜早有很多DIY大神發(fā)出各種組裝帖子。不過(guò)大多都是言簡(jiǎn)意...
    發(fā)表于 12-03 06:56

    MCU在電動(dòng)滑板車(chē)中有何應(yīng)用呢

    電動(dòng)滑板車(chē)有哪些優(yōu)勢(shì)呢?MCU在電動(dòng)滑板車(chē)中有何應(yīng)用呢?
    發(fā)表于 02-10 07:20

    自制電動(dòng)滑板diy圖解

    電動(dòng)滑板到處閑逛是個(gè)不錯(cuò)的法子。它制作容易、重量輕巧,還有相對(duì)其它交通工具來(lái)說(shuō),充電快速。(當(dāng)然要用合適的充電器)
    的頭像 發(fā)表于 09-10 16:05 ?2.5w次閱讀

    電動(dòng)滑板車(chē)電機(jī)控制器的作用是什么

    電動(dòng)滑板車(chē)電機(jī)控制器是用來(lái)控制電動(dòng)滑板車(chē)電機(jī)的啟動(dòng)、運(yùn)行、進(jìn)退、速度、停止以及電動(dòng)滑板車(chē)的其它電
    發(fā)表于 06-12 10:12 ?5968次閱讀

    基于使用手機(jī)上的應(yīng)用程序構(gòu)建電動(dòng)滑板

    該項(xiàng)目將從頭開(kāi)始構(gòu)建電動(dòng)滑板,并使用手機(jī)上應(yīng)用程序中的滑塊控制電動(dòng)滑板
    的頭像 發(fā)表于 05-19 15:17 ?2477次閱讀
    基于使用手機(jī)上的應(yīng)用程序構(gòu)建<b class='flag-5'>電動(dòng)</b><b class='flag-5'>滑板</b>

    DIY年輕人的第一輛電動(dòng)滑板車(chē)

    年輕人都會(huì)有一個(gè)豪車(chē)組裝夢(mèng)。當(dāng)然,組裝豪車(chē)的夢(mèng)想還是有點(diǎn)距離,SO~~我們可以先邁出夢(mèng)想的第一步:組裝一輛電動(dòng)滑板車(chē)。其實(shí)要組裝也非常簡(jiǎn)單,百度上一搜早有很多DIY大神發(fā)出各種組裝帖子。不過(guò)大多都是言簡(jiǎn)意...
    發(fā)表于 11-23 17:51 ?17次下載
    <b class='flag-5'>DIY</b>年輕人的第一輛<b class='flag-5'>電動(dòng)</b><b class='flag-5'>滑板</b>車(chē)

    是什么讓電動(dòng)滑板車(chē)成為短程代步利器?

    如何便捷的解決短距離的出行難題呢?共享單車(chē)?電動(dòng)車(chē)?汽車(chē)?還是新型的電動(dòng)滑板車(chē)?細(xì)心的朋友會(huì)發(fā)現(xiàn)小巧便攜的電動(dòng)滑板車(chē)已經(jīng)成為很多年輕人的優(yōu)選
    發(fā)表于 02-09 09:33 ?7次下載
    是什么讓<b class='flag-5'>電動(dòng)</b><b class='flag-5'>滑板</b>車(chē)成為短程代步利器?

    UNGOVERNED電動(dòng)滑板可穿越崎嶇不平的各種路面

    履帶式電動(dòng)滑板 我們對(duì)電動(dòng)滑板并不陌生,但所見(jiàn)到或使用過(guò)的和UNGOVERNED電動(dòng)滑板相比則黯
    發(fā)表于 04-08 10:44 ?524次閱讀

    DIY Arduino示波器

    電子發(fā)燒友網(wǎng)站提供《DIY Arduino示波器.zip》資料免費(fèi)下載
    發(fā)表于 11-11 11:06 ?5次下載
    <b class='flag-5'>DIY</b> <b class='flag-5'>Arduino</b>示波器

    Arduino供電的電子滑板照明

    電子發(fā)燒友網(wǎng)站提供《Arduino供電的電子滑板照明.zip》資料免費(fèi)下載
    發(fā)表于 11-16 10:17 ?0次下載
    <b class='flag-5'>Arduino</b>供電的電子<b class='flag-5'>滑板</b>照明

    基于Arduino平臺(tái)的DIY示波器

    電子發(fā)燒友網(wǎng)站提供《基于Arduino平臺(tái)的DIY示波器.zip》資料免費(fèi)下載
    發(fā)表于 11-30 14:23 ?6次下載
    基于<b class='flag-5'>Arduino</b>平臺(tái)的<b class='flag-5'>DIY</b>示波器

    DIY Arduino電子沙漏

    電子發(fā)燒友網(wǎng)站提供《DIY Arduino電子沙漏.zip》資料免費(fèi)下載
    發(fā)表于 02-06 11:09 ?10次下載
    <b class='flag-5'>DIY</b> <b class='flag-5'>Arduino</b>電子沙漏