现在遇到以下不解的问题求指点。
在看完ST的FOC2.O及AN1078_cn后我想实现输出SVPWM(不管PI部分)
我自认为了看了个大概:
clarke:把三相交流电变换成两项交流电流Ia及Ib。
park变换:把两项Ia及Ib通过旋转电角度(通过测速*时间(这个时间一般是系统时间))的变换得到Id(转子的磁通)及Iq转矩的输出。
PI:把实际的Iq与参考Iq差值比较经过PI得到Vq。实际的Id与参考Id(一般设置为0)差值经过PI得到Vd
逆park:把Vq与Vd转换成两项电压Ua,Ub。
SVPWM:Ua与Ub经过SVPWM算法转换得到PWM三相每项的占空比。而且中间还要根据Ua与Ub判断得到不同的扇区。扇区不同合成力矩所需要的公司不一样。
最终通过通过不听去触发ADC检测(系统周期)同时计算霍尔传感器的速度*时间的电角度得到了选择的磁场这个根据电机选择位置都可以得到。
不知道以上我理解的对不对。
我现在想实现单纯的旋转的SVPWM。但是没有丝毫的头绪。 如果单独执行:
void SVPWM_3ShuntCalcDutyCycles (Volt_Components Stat_Volt_Input)
这个里面的电压要怎么给,旋转的过程中他又会有什么结果。
在电机启动的SVPWM的扇区又停留在哪了。(不知道霍尔传感器的位置跟这个扇区之间有什么关系)
希望大虾指点····· 给我个思路怎么得到SVPWM波形,可以示波器测量的。 在线等··· 当然也可以有偿求指点。怎么有偿可以商量的·······
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
嗯,那个波形出来了。上下都是
.-' _..`.
/ .'_.'.'
| .' (.)`.
;' ,_ `.
.--.__________.' ; `.;-'
| ./ /
| | /
`..'`-._ _____, ..'
/ | | | |
/ /| | | |
/ / | | | |
/_/ |_| |_| \_
|__ |__ |__ |__帝行。1.现在是低速的时候抖动严重。2.我现在不知道现在这个转法对不对。3.PI的参数我也是随便改的。不知如果调节它
请问如果我有磁编码器读出绝对位置,譬如0~32767,那么能否用这些数值划分区间?
如果可以,是否就可以取消所有电流检测,直接用svpwm驱动马达转动?
闭环矢量就是用编码器反馈的脉冲数计算扇区的,电流检测去掉后你怎么做电流环?如何知道转矩输出是多少?
不用电流检测 其实还不是完整的系统,因为可能只是用了速度环还有可能连速度环都不用,实际输出转矩是不知道的,要求不高玩玩没问题,真正的产品的话肯定会有问题
一周热门 更多>