一、FOC基礎知識學習
使用simpleFOC控制無刷電機前,需要大概了解一下相關知識,包括力矩控制、速度控制、位置控制的原理和它們之間的聯系。
推薦學習資料:
教你寫一個比SimpleFOC更好的電機庫_嗶哩嗶哩_bilibili
《燈哥手把手教你寫FOC算法》課程講義及庫的官方文檔網站:http://dengfoc.com
SimpleFOC、ODrive和VESC 教程鏈接匯總_odrive和simplefoc哪個好-CSDN博客
SimpleFOC學習筆記匯總(2025.02.09更新)_simple foc-CSDN博客
二、環境安裝
1、開發工具
由于simpleFOC實現基于arduino,單片機的開發環境需要支持arduino。可選擇兩種方式:
(1)arduinoIDE
安裝方法可參考如下鏈接:
Arduino開發環境配置 - Dapenson - 博客園
https://zhuanlan.zhihu.com/p/591784392
(2)VScode+platformIO
這種方式可以基于我們常用的VScode來開發單片機程序,查看庫代碼很方便。
安裝方法可參考如下鏈接:
SimpleFOC—VSCode下載及PlatformIO安裝SimpleFOC庫-CSDN博客
【公開課】VSCode+PlatformIO開發環境的搭建_嗶哩嗶哩_bilibili
2、調試工具
可使用VOFA調試查看電壓、電流等波形
【VOFA+速成】半小時入門VOFA+簡明教程(快速上手一款強力的串口助手)-CSDN博客
三、硬件搭建
硬件環境可根據自己的項目需求選擇單片機主控板和電機。以下是我選用測試的硬件。
主控板:STM32F103C8T6/ESP32
電機:2804無刷電機,扭矩僅有0.02Nm,扭矩太小了,只能學習用。
編碼器:AS5600,用于測量電機旋轉角度和方向。
驅動板:電機驅動芯片選用DRV8313,電流傳感器選用INA240,這種電流傳感器采用在線電流檢測(不要用INA199之類的,這種是低側電流采樣,精度差,控制也很麻煩,需要PWM和采樣ADC同步,但是有些商家為了降低成本沒有告知,注意避坑)
電源:12V/2A直流電源
四、軟件測試
可以用simpleFOC的庫中的例程進行測試。測試時,根據選用的主控板改代碼中的引腳。
可參考:
https://zhuanlan.zhihu.com/p/390682580
Document
DengFOC官方文檔
需要注意的是,STM32測試串口通信的時候,arduino中需要將Serial改為Serial1(如果用的是第一路串口,其他的類推),否則跑不通。
5、相關功能或項目
【simpleFOC】一個電機如何模擬不同旋鈕的手感反饋?