該版本為2022/3/3制作的版本,無刷驅動使用EG2133可以成功使用esp32-arduino的simplefoc驅動。但是特殊情況下會mos管擊穿冒煙,請使用帶保護的鋰電池,以防發生意外
(2202/3/3更新)中間為立創smt版本,左為鐵板燒,右為風槍。均可以搖擺平衡,使用2715電機(動量輪每個孔上了四個螺母,一共48個螺母+12個12mm長的螺絲)情況搖擺平衡效果非常好。
(2022/3/15更新,動量輪增加了M5螺絲孔,可以只上一個M5螺帽就可以替代M3上4個螺帽的效果。打板可以自行選擇M3或者M5的動量輪,但物料清單里面給出的是M5的)
程序附件都在
giteehttps://gitee.com/coll45/foc 一定要使用gitee-V2文件夾下的BOM進行下單購買,分為淘寶購買和立創購買
圖片中間為立創smt版本,左為加熱焊臺一次焊成,右為使用熱風槍分區域焊成。均可以搖擺平衡,使用2715電機
mos管可以全部換成AP2300(更便宜一些),立創商城有售,測試過可以實現foc控制(原理圖用AO3400只是因為它是SMT基礎庫)
cn3300充電部分設計充電截至電壓12.9V(考慮到電池內阻,最終充滿電壓為12.43V),充電電流0.5A,電感電流1.5A。充電功率為7.5W(充電會電感部分會燙,但不至于燒毀電路)
電機可以適配GB2204和2715無刷電機(2715的平衡成功率高,因為KV值小)
原理圖以及PCB圖鏈接
在編輯器中打開
,進入EDA頁面,雙擊對應的PCB,上方導航欄找到-制造-PCB制板文件(gerber)-生成gerber-一鍵PCB/SMT下單。(一定要進編輯器!!!有遇到過開源鏈接的bom和真實bom對不上的情況)淘寶購買
的表格是SMT和普通空板都要購買的BOM_萊洛三角V2
可以直接從立創商城bom導入里面導入SMT注意:
EDA頁面
-萊洛三角形PCB-制造-(物料清單BOM和坐標文件)中導出。也可以刪除AO3400這樣可以便宜15元
(費用做5貼2只需要90元左右)BOM_SMT購買專用_萊洛三角V2
,同樣是從立創商城bom導入BOM_SMT購買專用_萊洛三角V2
中給出的MOS管將AO3400替換成了AP2300說明 | 參數 |
---|---|
萊洛三角形尺寸 | 100*100 mm |
動量輪尺寸 | 80*80 mm |
電池*3 | 厚x長x寬:7.9mmx25mmx40mm 規格內均可 |
輸入電壓 | 3.7v鋰電池*3 |
充電電壓 | 5V 從Type-C口輸入 |
充電芯片CN3300 | 5V輸入,最大1.5A充電電流 |
均衡芯片CM1010-A | 電池電壓超過4.25V之后開始放電 |
主控芯片 | ESP-WROOM-32 |
電機驅動芯片EG2133 | 引腳:32, 33, 25 |
穩壓芯片TPS54331DR | 設置電池電壓低于9V不工作,輸出5.22V |
AS5600 編碼器 | SDA-23 SCL-5 芯片要離磁鐵有 2mm以上高度 |
MPU6050六軸傳感器 | SDA-19 SCL-18 |
RGB燈-WS2812 | 使用GPIO16控制 |
LED指示燈 | 功能 |
---|---|
LED1 | 串口指示燈,ESP32發送串口數據時會亮起 |
LED2 | 充電完成指示燈,亮起表示充電完成,充到亮起可能需要2-3小時 |
LED30 | 充電指示燈,亮起表示正在充電 |
LED3 | typec的5V輸入指示燈 接typec一定亮 |
LED4 | 3.3v指示燈 電池輸入12v輸出3.3V |
LED5 | 由GPIO4控制,電池電壓低于9.5V時以1HZ頻率閃爍 |
LED27\28\29 | 均衡指示燈,亮起表示該電池電壓高于4.25V正在通過22歐姆電阻放電中 |
觸摸盤 | 功能 |
---|---|
單擊時長 | 100ms以上 |
長按時長 | 800ms以上 |
點贊觸摸盤 | GPOI13-Touch4-單擊:開關RGB燈;長按:開關wifi和電機 |
投幣觸摸盤 | GPOI15-Touch3-單擊:增加RGB燈亮度;長按:下一個RGB燈效 |
收藏觸摸盤 | GPOI2-Touch2-單擊:減少RGB燈亮度;長按:上一個RGB燈效 |
下載完本git所有文件后,打開arduino文件夾,解壓arduino.7z完成之后雙擊運行esp32_package_1.0.6.exe安裝esp32庫環境。注意:若之前有安裝過arduino,請將路徑C:\Users\用戶名\AppData\Local\
的Arduino15文件夾和此電腦\文檔
內的Arduino 刪除 (也可自行下載Arduino并安裝SimpleFOC)(但是可能會版本不對電機不動)
打開解壓后的arduino文件夾內的arduino.exe,導航欄-文件-打開。選擇v2\main里面的main.ino
使用CH340下載器,將下載器的TXD\RXD\GND用杜邦線引出,對準PCB的ESP32正上方的GND\RXD\TXD,接法為TXD-TXD\RXD-RXD\GND-GND
燒錄程序到ESP32:選擇工具-開發板-esp32 Arduino-ESP32 Dev module,然后連接USB口選擇對應的com口,編譯上傳。
如需修改參數,長按點贊觸摸盤,可以打開wifi并停止電機。
打開本項目內的python_gui
內的可執行文件_main
內的main.exe并連接上WIFI:ESP32 。點擊設置開始調參。
連接成功后,點擊disable,然后逆時針撥動動量輪,查看上位機中V參數是否為正值。注意!如果 逆時針轉為為負值 那么需要將電機線任意兩線互換。
如果電機不能正常運行可以,點擊上位機中最下方的 測試部分 ,打開電壓或者速度測試,滑動滑條,查看電機能否正常運行。如還不能請檢測硬件電路部分。
如果不能搖擺直立,推薦調整的參數為TA、SA、SV
K值可以用滑塊調整,拖動滑塊就會發送參數命令,但是調整到合適值之后需要自行在Arduino的main中修改再燒錄一次
滑條:最左邊輸入框為滑塊下限,右邊是滑塊上限,滑條等分成200份,命令是字符串,滑動滑塊發送字符串 + 數值
比如讓平衡角度為90度,則輸入:TA90,并且會存入eeprom的位置0中 注:wifi發送命令不能過快,因為每次都會保存進eeprom,K參數沒有保存到EEPROM所以可以使用滑條調整。
參數命令 | 說明 |
---|---|
TA | target_angle平衡角度 例如TA89.3 設置平衡角度89.3 |
SV | swing_up_voltage搖擺電壓 左右搖擺的電壓,越大越快到平衡態,但是過大會翻過頭 |
SA | swing_up_angle搖擺角度 離平衡角度還有幾度時候,切換到自平衡控制 |
VP1 | 速度環的PID的P,1是穩定在平衡角度之前的P值 |
VI1 | 速度環的PID的I,1是穩定在平衡角度之前的I值 |
VP2 | 速度環的PID的P,2是穩定后的P值 |
VI2 | 速度環的PID的I,2是穩定后的I值 |
K為LQR參數 | 3和4是速度控制穩定前和后 |
K31 | LQR的參數1:穩定前的角度差值 |
K32 | LQR的參數2:穩定前的左右傾倒加速度 |
K33 | LQR的參數3:穩定前的當前速度 |
K41 | LQR的參數1:穩定后的角度差值 |
K42 | LQR的參數2:穩定后的左右傾倒加速度 |
K43 | LQR的參數3:穩定后的當前速度 |
LQR算法解釋:當三角形向←傾斜時,需要產生向→的力回正。
在電壓控制下:回正力F直接和輸出電壓值掛鉤,向←傾斜,電機提供正電壓V動量輪向左加速轉動,產生向右的力F。
期望電壓 = 角度差值x參數1 + 左右傾倒加速度x參數2 + 當前速度x參數3
在速度控制下:回正力F和動量輪轉速加速度a有關,F = ma,向←傾斜,電機需要向左加速轉動,產生向右的力F。
期望速度 = 角度差值x參數1 + 左右傾倒加速度x參數2 + 當前速度x參數3
兩者區別:電壓和速度控制都可以實現平衡,但因為使用simpleFOC控制電機轉速無法無限加速,本電機實驗最高轉速180轉,電壓到上限12v。
使用電壓控制會遇到,電機一下子就到了轉速上限,就不能提供穩定的力F,參數調起來比較困難。
速度控制可以在偏差變大的時候,根據期望速度產生最大電壓12v,并且不會超過電機最高轉速。
使用立創EDA繪制電路原理圖,LaserMaker繪制萊洛三角形和動量輪(有激光切割機可以事先切割結構作為參考)。將繪制完的圖形導入到立創EDA中可作為PCB的外框。絲印圖案分別是Gawr Gura、ouro kronii helicopter
LaserMaker繪制的plt在萊洛三角結構文件夾內,需要重新繪制電路圖可以使用
感謝嘉立創的PCB制板,使DIY電路制作變得非常便利,點擊下方超鏈接可以前往嘉立創進行PCB制板
萊洛三角形V2PCB
Arduino上的控制算法是原作者的LQR,無刷驅動為立創開源的EG2133方案。
Python的GUI是以SimpleFOC的SimpleFOCStudio為基礎,添加wifi功能。
V2的充電電路是在立創廣場開源的《CN3300 4串電池組板》方案基礎上改的3串鋰電池
PCB以及原理圖技術支持——muyan
wifi效果以及按鍵面修復代碼作者——muyan
Arduino的程序中的command.h、command.cpp可以支持任意的字符串輸入。在其他項目中一樣可以用,無論是wifi接收到的字符串數據或者是串口的字符串數據。
GUI上位機可以在其他wifi項目中可以繼續使用,用來調參還是很方便。
!注意:請使用瀏覽器自帶下載,迅雷等下載軟件可能無法下載到有效資源。
歡迎加入EEWorld參考設計群,也許能碰到搞同一個設計的小伙伴,群聊設計經驗和難點。 入群方式:微信搜索“helloeeworld”或者掃描二維碼,備注:參考設計,即可被拉入群。 另外,如您在下載此設計遇到問題,也可以微信添加“helloeeworld”及時溝通。
EEWorld Datasheet 技術支持