完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人是个刚刚入门的小硕,目前在看一段基于ti例程修改而来的PMSM例程。有几个概念不懂想咨询各位大神。
1.在SPEED_FR.H中有这三个SpeedRpm、BaseRpm、Speed速度。对每个的物理意义以及他们之间的关系不是很懂,肯请前辈解答。 2.这是F2803XQEP.H 中的一段代码: /* Compute the mechanical angle in Q24 */ v.MechTheta = __qmpy32by16(v.MechScaler,(int16)v.RawTheta,31); /* Q15 = Q30*Q0 */ v.MechTheta &= 0x7FFF; /* Wrap around 0x07FFF*/ 上面的最后一行,这样与运算不会导致MechTheta中整数部分丢失吗? 下面附上我在看的程序,备注是我个人加的,可能会有错误。 |
|
相关推荐
8 个讨论
|
|
你好,baserpm是电机的额定速度,如电机4对极,额定频率200hz,那baserpm就是60*200/4=3000,这个公式相信你在程序中也看到了。
SpeedRpm为程序中计算出的实时转速。Speed没记错的话应该是实时转速(标幺值)。看ti的例程 你要理解标幺值这个概念,你会看到程序里好多IQ(A)这样的式子,那么这个具体对应实际物理量中的什么值你要搞清楚。举例来说,我把电机额定值3000转看作单位1,那么任何一个转速都可以与这个值相比得出一个标幺值。如IQ(1)代表额定转速3000,IQ(0.5)就代表1500转,IQ(-1)代表-1500转。 v.MechTheta &= 0x7FFF; 这里做个与运算就是为了只得到15位数 |
|
|
|
|
|
jacksonqwj 发表于 2020-7-20 09:00 首先十分感谢您的解答。我的电机额定转速就是3000,您一语中的啊。对于最后一个问题我还是疑惑,v.MechTheta是一个int32,我的程序里面是这样定义的; int32 MechTheta; // Output: Motor Mechanical Angle (Q24) 。结合下面这句话我的理解是: v.MechTheta = __qmpy32by16(v.MechScaler,(int16)v.RawTheta,31); /* Q15 = Q30*Q0 */ MechTheta是一个32位int,经过上面的赋值,变成了Q15,这样它就有15位代表小数,16位代表整数(这个理解是我个人的理解,不一定对,因为在定义后面的注释里还有个Q24,我不知道怎么理解)。这样的话经过v.MechTheta &= 0x7FFF 这样一个与运算,如果整数部分有值的话,那就被丢掉了。很疑惑,希望前辈可以不吝赐教啊。 再次感谢您之前的解答。 |
|
|
|
|
|
uwufjwer 发表于 2020-7-20 09:16 这样理解也可以的,v.MechTheta是指机械角度 范围是可以认为是0~360度,此时如果计算出一个380度,那与运算后就变成了20度。相当于把整数部分去掉了。 ti这个处理方法确实有点绕,要仔细品味。 此外,在角度处理部分你也可以不按照ti的这个方法,你就按照自己的思路来写也是ok的。 如果你用的是普通增量式编码器,计算速度其实就是计算单位时间内编码器转过的码数增量,然后除以时间。只不过电机控制还要用到电角度,所以ti就用的电角度增量去计算速度的。 你在看例程过程中有什么问题都可以在这个帖子上问,大家互相交流。我也是从你那个阶段过来的,很多东西不要被ti的一些写法绕晕了,要有些自己的思考哈,加油。 |
|
|
|
|
|
jacksonqwj 发表于 2020-7-20 09:22 您好,我又来提问题啦。我现在用28035的控制板加DRV8301的驱动板,控制一个带有增量式光栅的PMSM,但是我没有相对完善的程序。我手里还有一个28335的开发版。我找了好久,不知道是我找的方式不对还是什么原因,始终没有找到TI关于28335,或者28035有感的PMSM的例程。笨小白真的很痛苦啊。不知道您能否帮忙找一下呢?谢谢啦。 |
|
|
|
|
|
uwufjwer 发表于 2020-7-20 09:40 建议你装一个controlsuit软件 然后在下面图中的路径找一下 肯定有的。 当然,这里面的程序是不可能和你的板子完全对的上,主要是对你起一个借鉴的作用,毕竟这么多种电机类型这么多种电机控制方式,ti不可能在每个板子上都写出一套例程来。你在看的过程中有什么问题直接发帖问就行了。另外,一定要多思考哈。 |
|
|
|
|
|
jacksonqwj 发表于 2020-7-20 09:58 感谢您的回答,我下载过controlsuite,之前都是在软件里找的,没找到。刚刚去到它的安装目录里找了,发现真的好多啊。谢谢了。提个问题,我对比过28335和28035,主要区别在于FPU。我在想是不是28035的例程基本都能在28335上跑呢? |
|
|
|
|
|
uwufjwer 发表于 2020-7-20 10:09 你可以认为28035是28335的一个精简版。28335运行速度和空间比28035快一点。其实,28系列的dsp,内核都是一样的,所以各个外设用起来基本没有什么差别,(除去比较老的2407,2808,2812).而且你看ti的一些电机控制例程,也基本一个套路。 两个芯片之间的差别主要就是外设,对于程序来说基本上就是换换cmd文件,头文件的区别。一些外设的配置都是相通的 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
351 浏览 1 评论
546 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
790 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
660 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1140 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
85浏览 29评论
316浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
262浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
210浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
69浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 22:17 , Processed in 0.961609 second(s), Total 56, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号