电机控制pid_1.FPGA运动控制:BLDC整体控制思路

03e8aa320a402dcada3d2d89b45fdc18.png

对于BLDC电机,只要明确霍尔输入信号与开关管的对应关系,至少开环转起来是没问题的。这是FPGA控制电机最简单的方式,一个case语句,六种开关管选择方式。

稍微复杂点的闭环控制,比如电流闭环、速度闭环甚至位置闭环,那就可以参考传统的电机控制方式,增加位置、速度、电流采样,在控制环采用PID控制,最终生成调制电压就可以驱动电机了。

而由于FPGA是并行运行方式,所以采样的优势就在这里体现出来了。像DSP串行运行方式,采样的时候必须先采一个再采另一个,都采集完再统一进行运算。如果对采样的要求比较高,那就得采用DSP+FPGA的硬件组成方式,让FPGA负责所有采样,然后通过DSP和FPGA之间的总线,让DSP像访问内存一样访问FPGA内部采样数据,DSP只负责计算,这种控制方法也是目前最常用最成熟的方法,算是各取所长。因此,这样看来,实现BLDC的闭环控制,采样肯定是没问题的,那问题就出在PID控制上。

对于PID控制来说,实际调试发现需要注意以下几个方面的问题:

1)PID的阻塞赋值与非阻塞赋值问题;

2)PID计算的符号数与无符号数问题;

3)PID计算数据长度与溢出问题;

4)PID计算的P、I、D参数赋值问题;

5)PID计算结果送调制需要注意的问题;

6)数据计算的同步与异步问题。

对于在FPGA内实现BLDC的闭环控制,可以将位置采样、速度计算、电流采样、给定、PID、调制写成一个个的功能块。这些功能块在FPGA内部是并行运行的,所以可以把整个控制看成是一个流水线,每个功能块在时钟激励下完成各自功能,整个数据流按照控制顺序依次传送到下一级功能块参与计算。虽然内部各个功能块是并行计算的,但从数据流的角度看,数据仍然是串行的。

后面将会分成几部分分别介绍PID内需要注意的细节。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值