View Code? Open in Web Editor
NEW
FPGA-based Field Oriented Control (FOC) for driving BLDC/PMSM motor. 基于FPGA的FOC控制器,用于驱动BLDC/PMSM电机。
Home Page: https://gitee.com/wangxuan95/FPGA-FOC
License: GNU General Public License v3.0
Batchfile 0.11%
Verilog 99.89%
fpga-foc's People
Contributors
fpga-foc's Issues
作者您好! 能加个联系方式吗?很紧急,需要modelsim仿真测试代码,请问您有仿真代码吗?谢谢!
请问作者电流采样为什么选取三电阻,二电阻采样不是更方便吗,在已知偏置电压和放大倍数的情况下,ia,ib不就和ADC一一对应了吗
作者您好!我有个问题想问您,第一,相电流低压侧三电阻采样需要运放放大电流信号才能作为AD输入吧,但您的PCB图并没有运放放大,请问您是如何处理的? 第二,三电阻采样您电流重构的那部分代码如何理解呢?为什么ia= ADCb + ADCc - 2*ADCa。方便的话可以加个联系方式嘛?微信号:ZYH336614215。期待您的回复!
在ipark处理完输出导SVPWM的模块中会有一个角度的输出,我在使用您的程序尝试进行控制BLDC时,由于我的编码器是1000脉冲,因此在输出的电角度时,我采用您的公式 psi <= {4'h0, POLE_PAIR} * (phi - init_phi ); 无法将电机转动,但我发现电机已经转动了180度,此时我将 输出改为 psi <= {4'h0, POLE_PAIR} * ((phi - init_phi) << 1 ); 这时,电机便能转动起来了;我想请教下,输出到SVPWM的电角度是否需要进行放缩处理;
同时,我希望能和前辈沟通下相关的FPGA控制的内容
我对sincos模块写了个tb测试,输入是512时,发现sin cos的输出数据是一样的,这是不是不符合三角函数的运算?
您好,我最近在做有关PMSM的foc课题,需要用FPGA来控制。看了您的项目非常受益,但是还有些问题需要请教。本人微信yichaotian123,希望可以加我一下
pid_control里的赋值语句
assign o_value = value[31:16];
这里为什么需要除以2的16次方哈?
第二个疑问:您积分项计算采用了之前所有时刻累积的误差,也就是采用绝对PID控制的公式,但是输出的结果加在了上一时刻的输出结果,也就是代码默认的是增量式PID,但是增量式PID采用的是近三个周期的误差即可,感觉有点前后矛盾。
您好,我在进行电流环闭环调试时,PID部分遇到一些问题,首先我看您最新修改了PID的公式,我先按照您原程序(将最终结果值累加)进行测试,首先我将VQ等于0,让ID跟随目标值进行变换,只使用P项进行调节,遍历P值后,依然没有得到想要的曲线,我自己也编写了一个增量式的程序,结果也不尽人意,希望得到一些指点。
您好,我学习您的工程,受益匪浅,但是有个疑问:为什么kp,ki直接在程序中固定呢?谢谢!