基于STM32和SimpleFOC的EasyFOC矢量控制器

基于STM32和SimpleFOC的EasyFOC矢量控制器

基于STM32F401的迷你FOC矢量控制驱动器,巨小而且五脏俱全😆

Author:@kkl


EasyFOC

写在前面

本项目基于:SimpleFOC & Ctrl-FOC-Lite

Github关联仓库:https://github.com/ZhangKeLiang0627/EasyFOC
立创硬件开源:https://oshwhub.com/hugego/easyfoc

本项目EasyFOC旨意用于学习FOC时对SimpleFOC算法的验证,感谢@loop222提供的系列移植教程:戳这里:)


开始

Hardware

硬件配置

    1. 主控:STM32F401RET6
    1. 屏幕:SSD1312 Oled 0.96inch IIC接口 128x64分辨率
    1. 电机驱动:DRV8313
    1. 电流采样:INA240A2
    1. 蓝牙通信:KT6368A
    1. 串口通信:CH340N
    1. 外壳:3D打印

Snapshots

PCB-Front
PCB-Back
PCB-Front
PCB-Back

3D-Shell

Firmware

软件功能

  • 目前已经实现小功率无刷电机的位置、角度开闭环控制,适配了电流环的代码,可以正常运行。
  • 支持使用串口进行有线调试或者使用蓝牙进行无线调试。
  • 支持3S航模锂电池接入(12.6V / XT60接口).
  • 板载Oled、两颗实体按钮以及蜂鸣器方便于人机交互。
  • 引出一路IIC接口和一路SPI接口。
  • 引出SWD烧录口,方便使用ST-LinkorDAP-Link进行程序烧录。

Showcases

  • 力矩测试 - Torque
    torque

  • 速度测试 - Velocity
    velocity

  • 角度测试 - Angle
    Angle

  • 速度迅速转向测试 - Velocity hard test
    Velocity hard test

待改进

  • 该款MCU并不支持CAN通信(sad:(
  • STM32F401计算速度有限,驱动电机的同时驱动Oled稍显吃力,更换为STM32F405可能会更好,而且解决了没有CAN的问题。

写在后面

相关文章参考:


基于STM32和SimpleFOC的EasyFOC矢量控制器
https://zhangkeliang0627.github.io/2024/12/27/基于STM32和SimpleFOC的EasyFOC矢量控制器/README/
Author
Zhang-keliang
Posted on
December 27, 2024
Licensed under