完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
speed1.BaseRpm = 120*(BASE_FREQ/P);
speed1.SpeedScaler = (Uint32)(ISR_FREQUENCY/(1*BASE_FREQ*0.001)); 按照SPEED威廉希尔官方网站 背景计算时SPeedScaler=60/(T*K*n*BaseRpm) 这样计算的话,怎么也得不出例程所给的结果啊,还请各位老师指导。谢谢!! |
|
相关推荐
2 个讨论
|
|
“
speed1.BaseRpm = 120*(BASE_FREQ/P); speed1.SpeedScaler = (Uint32)(ISR_FREQUENCY/(1*BASE_FREQ*0.001)); 按照SPEED威廉希尔官方网站 背景计算时SPeedScaler=60/(T*K*n*BaseRpm) ” ERIC: 我们来先看看例程里面是如何计算转速的,再反过来看看这个参数是如何变成这个值的。 这个是关于速度的相关参数初始化: // Initialize the SPEED_PR module speed1.InputSelect = 0; speed1.BaseRpm = 120*(BASE_FREQ/POLES); speed1.SpeedScaler = (Uint32)(ISR_FREQUENCY/(1*BASE_FREQ*0.001)); 这个是中断里面对转速计算的调用,即每转一圈,记录下当前的VitrualTimer的计数值 if ((pwm1.CmtnPointer==5)&&(PreviousState==4)&&(hall1.CmtnTrigHall==0x7FFF)) [ speed1.TimeStamp = VirtualTimer; SPEED_PR_MACRO(speed1); ] 而计数器是在中断函数里面进行累加的,计数器的计数累加的频率是中断的频率 // ------------------------------------------------------------------------------ // Increase virtual timer and force 15 bit wrap around // ------------------------------------------------------------------------------ VirtualTimer++; VirtualTimer &= 0x00007FFF; 那么我们正常计算转速是这样的: 转速频率 = 中断频率/两次VitrualTimer计数值之差, 即Fisr/Δt , Fisr 为中断频率(ISR_FREQUENCY/0.001), Δt为两次vitual timer 计数值之差 如果换算成RPM, 转速RPM = Fisr *60*2/(Δt*P), P为电机极数 其中BaseRPM的定义为120*(BASE_FREQ/POLES); 那么转速RPM = Fisr *60*2/(Δt*P) = (Fisr * BaseRPM)/(BASE_FREQ*Δt) = BaseRPM * SpeedScaler /Δt 这也是SPEED_PR_MACRO(speed1) 去计算的: v.EventPeriod = v.NewTimeStamp - v.OldTimeStamp; if (v.EventPeriod < 0) v.EventPeriod += 32767; /* 0x7FFF = 32767*/ ] v.Speed = _IQdiv(v.SpeedScaler,v.EventPeriod); v.SpeedRpm = _IQmpy(v.BaseRpm,v.Speed); 而 按照SPEED威廉希尔官方网站 背景计算时SPeedScaler=60/(T*K*n*BaseRpm) 里面的算法我也有点奇怪,所以建议还是按照实际的例程去算吧。 转速频率 = 1/(T*K*n*Δt) 同理换算成转速 = 60*2/(T*K*n*Δt*P) - ERIC |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
587 浏览 1 评论
430 浏览 1 评论
623 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
914 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
709 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
196浏览 29评论
1158浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
324浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
286浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
138浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-5 07:59 , Processed in 0.803082 second(s), Total 49, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号