请教!在STM32的HALL接口用在无刷电机控制上的的几点疑问:
首先说明一下现在出现的问题我用STM32的霍尔接口做无刷电机,无刷电机每运行一圈,霍尔有六个状态,在每个状态均会进入一次中断,
但是现在我测试的是在每个霍尔状态均会进入n次中断而不是1次
比如说,正常运转的时候电机是按照1,3,2,6,4,5
而现在电机的中断是这样进入的1,1,1,1,3,3,2,2,2,6,6,6,6,4,4,4,5,5
请教为何?
问题:
1.在STM32霍尔接口中有个滤波器,请教在何种场合下需要使用,具体作用?
2.TIM_PrescalerConfig(HALL_TIMER, 0xff00, TIM_PSCReloadMode_Immediate);
这个函数的作用是什么?
在实际的测试中我改变了中间的那个参数预分频值,随着参数的变小,进入霍尔中断的处理会发生改变,那就是他会进入中断,但是不会去处理任何中断只会进入更新中断,很多次之后才会处理霍尔的异或中断,但是当变大这个值的时候他也是会进入几霍尔异或中断而不是每次霍尔中断只进一次????
请教这个参数该如何处理?
3. TIM_DeInit(HALL_TIMER);//////先开时钟再关
//为什么需要这样?
在实际测试的时候我注释掉这句话却出现一个错误,那就是电机运行时,霍尔中断是间隔一次进入一次中断,也就是说正常运转的时候电机是按照1,3,2,6,4,5这个相序运转但是此时进霍尔中断的相序是3,6,5.
但是当用手转的时候,很慢的转动电机,电机可以进入每次霍尔中断,为啥呢?请教各位给解释一下这样做的意义?
请教各位给以解答,谢谢! LZ,您用的是2.0的代码库吗?我没有遇见您说的这些问题啊?我的开发板在这个帖子里面:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3617663&bbs_page_no=3&bbs_id=3020,您的第3题我倒是可以回答:这个是每个120电角度发生一次CC中断,所以中断的相序就是3,6,5. 谢谢楼上的回复,我用的是1.0电机库修改的,网上没找到ST的2.0的电机库,仅找到一个电机库的生成器,但是生成的是H文件,不知如何使用?
还有,“的第3题我倒是可以回答:这个是每个120电角度发生一次CC中断,所以中断的相序就是3,6,5. ”
再次请教:不知道这个电角度触发中断是不是可以设置?
而且为什么慢速转动的时候他能进入中断呢?
谢谢! 请注意:::120度‘电角度’,,并不是电动机轴转动120度!!!——12极的磁极有可能只需要轴转10度。。 比如说,正常运转的时候电机是按照1,3,2,6,4,5
而现在电机的中断是这样进入的1,1,1,1,3,3,2,2,2,6,6,6,6,4,4,4,5,5
我也遇到过,某些位置HALL电平没有变化但仍然触发了中断,现在也没搞清楚。 电机参数:
产品名称:直流无刷电机
产品型号:57BLF
使用材料:-
产品规格:-
所属分类:直流无刷电机
产品简介:
General Specifications(详细说明)
57BLF
绕组形式————————————————星形
传感器电角度———————————————120°
绝缘等级——————————————————B
环境温度范围 ———————————-20℃~+50℃
绝缘阻抗 ——————————100MΩ Min.500V DC
绝缘介电强度 ——————————500V AC 1minute
Electrical Specifications(技术数据)
型号
57BLF02
磁极数
8
相数
3
额定电压 VDC
24
额定转速 RPM
3000
保持力矩 N-m
0.4
输出功率 Watts
125
峰值转矩 N-m
1.2
峰值电流 Amps
18.6
线电阻 Ohms
0.3
线电感 mH
0.42
转矩常数 N-m/Amps
0.066
反电势 V/kRPM
6.3
转动惯量 g·cm2
170
机身长度 mm
69
重量 kg
1.0
*
注意:峰值转矩仅用于计算电机性能,如长期运行于峰值转矩状态,将导致电机损坏。 to三楼 caosix :谢谢回复另有问题请教:
请注意:::120度‘电角度’,,并不是电动机轴转动120度!!!——12极的磁极有可能只需要轴转10度。。
———————————————————————————————————————————————————————————
这里的进霍尔中断到底该如何处理啊?雾水中... ... to 四楼 lollipop :
我也遇到过,某些位置HALL电平没有变化但仍然触发了中断,现在也没搞清楚。
——————————————————————————————————————————————————————————
BLDC的同仁- _ - LZ的电机是采购江苏合泰生产的吗?实际上HALL在“某些位置HALL电平没有变化但仍然触发了中断”,也是可能的,因为定时器中断源不光有IC中断,也有UPdate中断啊!也就是溢出中断,如果你预分频值太小,而转速太慢,就会导致计数器多次溢出,那么就会多次触发UPFATE中断,不知道这样解释,您明白吗?我用的是ST2.0的马达库,不知道和1.0的与什么区别,以后有问题欢迎交流讨论,E-MAIL:dzlj95@tom.com, QQ:916359820 谢谢楼上回复,这个问题我考虑过了,而且在中断处理函数中也加入了判断,是否是IC中断?但是就是会有“某些位置HALL电平没有变化但仍然触发了中断”今天我改用了外部中断测试,结果还是会出现“某些位置HALL电平没有变化但仍然触发了中断”我真是无奈了。
另回复楼上:
电机的确是江苏合泰的。 LZ的电机是采购江苏合泰生产的吗?实际上HALL在“某些位置HALL电平没有变化但仍然触发了中断”,也是可能的,因为定时器中断源不光有IC中断,也有UPdate中断啊!也就是溢出中断,如果你预分频值太小,而转速太慢,就会导致计数器多次溢出,那么就会多次触发UPFATE中断,不知道这样解释,您明白吗?我用的是ST2.0的马达库,不知道和1.0的与什么区别,以后有问题欢迎交流讨论,E- MAIL:dzlj95@tom.com, QQ:916359820
溢出中断显然没有使能。
不是这种低级错误。 我现在怀疑是送PWM的相序出了问题,以前老是认为只要电机能正常运转,送的PWM就是正确的,今天仔细分析一下,当送PWM出错的时候电机的抖动也会出现这种问题,
貌似是电机的抖动导致了重复进中断,不知道我的理解是否正确???
令请教各位:
那我们该如何去确定如何送PWM的相序呢?
比如说我现在测得的霍尔输出是001,011,010,110,101,100.
我该如何去确定与之对应的UVW三相的导通顺序而确定送PWM的相序?
谢谢! 回复【11楼】James King
-----------------------------------------------------------------------
是不是 HALL信号收到了干扰?楼主检测HALL信号时有没有加滤波,整形之类的?
可否将此部分的原理图贴出来?
我之前有碰到过电机运行期间,HALL信号上实测发现有很多细小的脉冲毛刺和抖动. 我也用过这个电机,貌似转起来不是很很顺畅,可能是控制方式有问题 FOC GUI产生库中与参数配置相关的H文件,将产生的H文件覆盖原先FOC库下的同名文件,即可。
FOC GUI当前版本对应的应该是2.0的库,这个需要注意。2.0的库支持单电阻方式,1.0的库仅支持三电阻,如用到上述无法兼容。 mark mark zhouhaiyeild 发表于 2011-5-19 14:18 static/image/common/back.gif
mark
mark James_King 发表于 2009-12-14 21:01 static/image/common/back.gif
我现在怀疑是送PWM的相序出了问题,以前老是认为只要电机能正常运转,送的PWM就是正确的,今天仔细分析一下 ...
将电机断开,霍尔供电。手动转动电机,查看霍尔H1的波形和U相反电动势的波形。以U相电压最高为基准,看H1的上升沿的相位偏差。 Lavion 发表于 2012-5-29 23:24 static/image/common/back.gif
将电机断开,霍尔供电。手动转动电机,查看霍尔H1的波形和U相反电动势的波形。以U相电压最高为基准,看H1 ...
9楼正解 1楼的问题9楼正解
页:
[1]