這次的工程,不論是新手,還是單純想練練手的大佬,都可以參考著做。 畢竟是在10*10以內(nèi)免費PCB打板的基礎(chǔ)上做出來的…… 也不費錢包
自平衡的萊洛三角簡介:ESP32作為主控,5V充3串鋰電池,可實現(xiàn)搖擺自平衡。
左:使用燈哥開源FOC2.0板測試 中:13*13cm嘉立創(chuàng)紫PCB 右:10*10cm最終版本
工程介紹主控芯片使用ESP32,并配置了調(diào)參上位機,可以很方便的通過wifi無線調(diào)參。 無刷控制使用燈哥開源FOC。 制作出一個方便復(fù)刻的自平衡萊洛三角形,在桌面上作為一個擺件還是非常不錯的。
一、 軟件架構(gòu)在原作者的自平衡控制電壓算法上進行修改,將電壓控制改為速度控制。使得對模型的控制在物理上更加容易理解。 并且代碼的調(diào)參都可以通過連接ESP32的wifi調(diào)整。 具體特性如下: - [size=0.882em]基于 Arduino:運行在 ESP32 Arduino 上
- [size=0.882em]控制模式豐富:電壓控制和速度控制
二、硬件特性
三、使用說明1.下載完項目git所有文件后,打開arduino文件夾,解壓arduino.7z完成之后雙擊運行esp32_package_1.0.6.exe安裝esp32庫環(huán)境。 注意:若之前有安裝過arduino,請將路徑“C:\Users\用戶名\AppData\Local\”的Arduino15文件夾和“此電腦\文檔”內(nèi)的Arduino 刪除。 也可自行下載Arduino并安裝SimpleFOC,但是可能會版本不對電機不動。
2.打開解壓后的arduino文件夾內(nèi)的arduino.exe,導(dǎo)航欄-文件-打開。選擇arduino\main里面的main.ino
3.燒錄程序到ESP32:選擇工具-開發(fā)板-esp32 Arduino-ESP32 Dev module,然后連接USB口選擇對應(yīng)的com口,編譯上傳。 如:無法正常編譯 (1)可能與原有arduino沖突,請查看使用說明第一條; (2)文件夾路徑含有非法字符,可以把Arduino移動到硬盤根目錄下,如D:\Arduino。
4.打開本項目內(nèi)的python_gui內(nèi)的可執(zhí)行文件_main內(nèi)的main.exe并連接上WIFI:ESP32 密碼:12345678。點擊設(shè)置開始調(diào)參。
5.連接成功后,點擊disable,然后逆時針撥動動量輪,查看上位機中V參數(shù)是否為正值。 注意!如果 逆時針轉(zhuǎn)為為負(fù)值 那么需要將電機線任。
6.如果電機不能正常運行,可以點擊上位機中最下方的測試部分 ,打開電壓或者速度測試,滑動滑條,查看電機能否正常運行。 還不能,建議檢測硬件電路部分。
7.如果不能搖擺直立,推薦調(diào)整的參數(shù)為TA、SA、SV
8.K值可以用滑塊調(diào)整,拖動滑塊就會發(fā)送參數(shù)命令,但是調(diào)整到合適值之后需要自行在Arduino的main中修改再燒錄一次。
9.滑條:最左邊輸入框為滑塊下限,右邊是滑塊上限,滑條等分成200份,命令是字符串,滑動滑塊發(fā)送字符串 + 數(shù)值。 比如讓平衡角度為90度,則輸入:TA90,并且會存入eeprom的位置0中。 注:wifi發(fā)送命令不能過快,因為每次都會保存進eeprom,K參數(shù)沒有保存到EEPROM所以可以使用滑條調(diào)整。
四、硬件設(shè)計使用嘉立創(chuàng)EDA繪制電路原理圖,LaserMaker繪制萊洛三角形和動量輪(有激光切割機可以事先切割結(jié)構(gòu)作為參考)。 將繪制完的圖形導(dǎo)入到嘉立創(chuàng)EDA中可作為PCB的外框。絲印圖案分別是Gawr Gura、ouro kronii。
五、有用的地方- [size=0.882em]Arduino的程序中的command.h、command.cpp可以支持任意的字符串輸入。在其他項目中一樣可以用,無論是wifi接收到的字符串?dāng)?shù)據(jù)或者是串口的字符串?dāng)?shù)據(jù)。
- [size=0.882em]GUI上位機可以在其他wifi項目中繼續(xù)使用,用來調(diào)參還是很方便。
六、設(shè)計圖
原理圖
PCB
3D預(yù)覽圖
動量輪8*8cm
七、工程附件相關(guān)附件可從原工程下載查看。 如有其他問題,可在原工程底部留言作者。 原工程點我
好啦,你還有什么想了解的嗎?歡迎在評論區(qū)滴滴 如果你認(rèn)為有用,就點贊、關(guān)注或轉(zhuǎn)發(fā)一下吧!
|