关于FU6832电机程序

FU6832:

这个芯片把放大器啥的都集成了,对于我们用STM写程序作用不大

准备照着Fortior的程序理出来个运行流程图,不然自己写一头雾水,其实直接下载开源程序更容易实现BLDC转动的目的,但是…
Fortior使用的是专门的电机驱动芯片,FU6832,该芯片集成电机控制引擎(ME)和 8051 内核的高性能电机驱动专用芯片,ME 集成FOC、MDU、LPF、PI、SVPWM/SPWM 等诸多硬件模块,可硬件自动完成电机 FOC/BLDC 运算控制; 8051 内核用于参数配置和日常事务处理,双核并行工作实现各种高性能电机控制。

介绍部分摘自FU6832规格书

BLDC需要实现的参数:

1、运行时风机运行平稳,无异常抖动;
2、运行时风机电流正常,无异常发热;
3、最低转速不大于3000RPM,最高速度不小于32000RPM
风机的最高转速与MOS的过电流能力和风机本身参数有很大关系
4、定速运行时,速度稳态误差不超过200RMP
别说200转了,能实现1500转内误差也是相当不错的程序了?
5、从10000RPM加速到30000RPM,变速时间不大于150ms;从30000RPM减速到10000RPM,变速时间不大于120ms;
对于刚入行电机的小白来说,这个参数看似不太容易实现的,其实是电机的基础参数

程序中采用的方法:
  • 单电阻采样方式(无需AMP1与AMP2计算电角度,只用AMP0得到相电流和母线电流采样)
  • 七段式SVPWM
  • 速度环采用PI调节(addfunction.c
  • 由FOC矢量控制 两次转换得到的dq 进行PI控制 后由SVPWM驱动MOS
  • 启动时采用的是高频信号注入法,给予一定加速度的信号,强迫电机启动
搞不懂的问题:
  • 频繁提到的顺风逆风到底怎么检测和运行的?
    –不需要特别注意,根据客户要求不同增加的,此次项目不需要。
  • 程序中没用到的流程太多了,需要一个精简流程和程序
  • 定义的结构体变量或者数组 地址在哪里?初始值在哪里?保存在哪个寄存器里面?
  • 功能块太多了,经常看着看着就跳到别的功能块去了又不记得
  • 搞清楚电机旋转的规律 及SVPWM的方式也很重要
  • 时间长了忘了寄存器是什么样的存在了
    –寄存器
  • 地址和位数也相当重要
程序流程图:

FOC工作流程图

上图摘自FOC控制调制手册中FOC工作流程图

在程序中MotorControl.h中找到如下描述以上mc状态的枚举变量:

typedef enum
{
    mcReady     = 0, //准备状态
    mcInit      = 1, //电机参数初始化
    mcCharge    = 2, //预充电,指单独验证MOS是否有问题,依次对U\V\W三相充电
    mcTailWind  = 3, //顺逆风判断
    mcPosiCheck = 4, //初始位置检测
    mcAlign     = 5, //预定位
    mcStart     = 6, //启动
    mcRun       = 7, //电机运行
    mcStop      = 8, //对应Motor_stop,先初始化,后停有关电机的流程
    mcFault     = 9, //电机出现故障后,对应FaultProcess
    mcPllTect   = 10,//是对应顺逆风检测模块,没找到具体作用
    mcBrake     = 11 //可以理解为急停程序,先将参数初始化,后将寄存器和计数器初始化
}MotStaType;
MotStaType mcstate; 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值