西莫电机圈

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

楼主: cj_212121

[求助] 【顶】TI例程PMSM3_1 level4 调试

  [复制链接]

该用户从未签到

 楼主| 发表于 2011-9-9 10:55 | 显示全部楼层
可别让这个帖沉了啊 !@@@
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-13 09:24 | 显示全部楼层
回复 21# lyftcl
lyftcl  怎么样了?帮我看了吗?等着你回复呢?
注意一下:
1、旋变出来的A/B/Z三相脉冲电压为12V,为此我已经在自己的板子上做电平转换了
2、SVPWM:由于自己的驱动板上采用的1/3/5低有效,2/4/6高有效的 与书本上的刚好相反。
请你知悉,希望你能尽快给我答复!
你收到邮箱了吗?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-9-13 11:00 | 显示全部楼层
回复 40# cj_212121


    我登邮箱。。。
周五没看邮箱。。。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-9-13 11:06 | 显示全部楼层
呃。。。怪不得我那天没收到。。。给放垃圾邮件箱了。。。抱歉,我马上弄下。。。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-13 13:27 | 显示全部楼层
哈哈~谢谢你~如果调试的话,你最好要将12VA/B/Z脉冲电压转为3V以内,不然的话 会烧板子
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-9-13 13:58 | 显示全部楼层
回复 45# cj_212121


   这个没问题的。因为已经是3V的了。
刚才随便找了个平台,测试了下,发现SPEED模块是没有问题的,那个控制器是并口输入的,没有ABZ,我待会儿找个有ABZ的系统再验证下是否QEP配置的问题。

我验证SPEED是这样验证的,把rg1.Out直接送给SPEED1,结果算出来速度是1189转左右,还行,给定的是1200 (0.4 PU of 3000)。还是有一些误差的,但是原理正确。
所以,要专心看QEP方面的问题。待会儿测试完了我再回复。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-13 14:35 | 显示全部楼层
是不是 直接将rg1.out赋给speed1.ElecThetra 但是QEP.Directionqep 是不是得设置为常1或者常0.
然后再调用speed1.calc(&speed1);
看反馈出来的speed是否能跟上转速参考值。这些数据你是用串口发出去的吧!
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-9-13 15:03 | 显示全部楼层
回复 47# cj_212121

已经找到问题了,是QEP设置的问题。
EvaRegs.T2CON.all要由0x9832改为0x9872
关键是要更改TIMER ENABLE位

QEP.Directionqep这个量没有意义,可以忽略。
数据我直接用JTAG调试看的,这样最快。

因为改动只有这一位,所以程序就不给你重新发过去了,我测试过了,仅改这一个位就行了,转速检测就正常了,正负都正常,我是用一个两对极的在测功机上的电机验证的,检测到的转速是实际转速的两倍,吻合。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-13 15:35 | 显示全部楼层
没有 这个定时器2使能 我是故意的 我现在qep初始化里面先禁止  然后再主函数只能了~
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-13 15:35 | 显示全部楼层
在主函数使能了!!!你看一下~
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-13 15:36 | 显示全部楼层
就用CCS的变量窗口看吗?这个不能实时看吧?怎么用JTAG看的?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-13 15:39 | 显示全部楼层
您说的QEP.Directionqep这个量没有意义,可以忽略。是不是可以在程序中注释掉啊 不用运行吗?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-13 15:55 | 显示全部楼层
就是有个问题,我给定转速是正的,为什么QEP.Directionqep在变量窗口会在0~1之间变化呢?
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-9-13 16:04 | 显示全部楼层
回复 49# cj_212121


    但是很显然,
EvaRegs.T2CON.bit.TENABLE = 1;
这句话没有起作用。
因为在看变量数值的时候是0x9832,而不是0x9872。
待会儿我再验证一下这句话为什么没有起作用吧。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-9-13 16:08 | 显示全部楼层
回复 51# cj_212121

直接用CCS的在线调试看的。
你是烧写到RAM还是FLASH,我用你的程序直接下到RAM调的。
load program,然后F5运行,另外要设置成RealTime模式
这样点单次刷新Watch window就可以看一些变量了。

因为我们判断转速是根据T2CNT的计数变化来计算的。程序会自动判断出转速来,所以没必要使用这个QEP模块判断出来的结果了。可以注释掉,也可以留那不用。

因为TIMER ENABLE的原因,检测到脉冲了,但是并没有计数,但QEP模块可以检测到计数的方向,因此在静止的时候,那个可能是跳的,电机转起来就不会跳了。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-13 16:11 | 显示全部楼层
哦,好的,麻烦你了,我看看,
就是有个问题,我给定转速是正的,为什么QEP.Directionqep在变量窗口会在0~1之间变化呢?
还有您说的QEP.Directionqep这个量没有意义,可以忽略。是不是可以在程序中注释掉啊 不用运行吗?
还有为什么电机每转一周就要使 p->index_sync_flag = 0x00F0; 为什么是0x00f0呢?
谢谢了!
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-9-13 16:54 | 显示全部楼层
回复 56# cj_212121

重新解压缩了一个你发来未经任何改动的程序,上电一试,确实是0x9872,也就是那句话是起作用了的。
转了转电机,发现测试转速是实际转速的4倍,旋变是2对极,这里还差个两倍的关系,不过好解决,等你的板子好了,很容易就可以找出来为啥差两倍了,但是数值都是对的,只是差两倍。

因此,你发来的程序,在转速判断方面没有任何问题。所以,你还是可以看下你硬件环境,或者仿真设置的问题,譬如程序并没有真正很好的运行,有些区域的RAM或者FLASH无法工作之类的。

因为TIMER ENABLE的原因,检测到脉冲了,但是并没有计数,但QEP模块可以检测到计数的方向,因此在静止的时候,电机可能有抖动,就导致这个方向在跳,其实这时候转速可能也在正负一转之间跳动了,只是没采到,电机转起来DirectionQep就不会跳了。
   
因为我们判断转速是根据T2CNT的计数变化来计算的。程序会自动判断出转速来,所以没必要使用这个QEP模块判断出来的结果了。可以注释掉DirectionQEP,也可以留那不用。

index_sync_flag这个是一个表示已经同步过的flag信号,其实TI本身并没有用这个变量,可以注释掉。。。
为啥是0x00F0.。。他随便定的,也可以叫0x1234,无非就是说明这个变量的时候,说明本次已经同步过了。


使用CCS的watch window的步骤就是TI的PMSM3_1手册里面说的最基本的方法,没有特殊的地方。
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-13 19:21 | 显示全部楼层
恩好的 谢谢你!真的很谢谢你!
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

发表于 2011-9-14 09:34 | 显示全部楼层
回复 58# cj_212121


    不客气,问题解决了就行了。相互学习嘛
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-9-14 09:40 | 显示全部楼层
还是得谢谢你!一般旋变输出都是并行模式吧,将输出的数字量先放在总线缓存器上,然后DSP每隔一段时间读取它 是吧
西莫电机论坛微信公众平台正式上线!★详情请点击★ 西莫电机论坛会员交流专用群欢迎您西莫电机论坛加群请注明论坛用户名及所从事专业,否则不予通过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|西莫电机圈 ( 浙ICP备10025899号-3 浙公网安备:33028202000436号

GMT+8, 2024-11-22 16:44 , Processed in 0.134457 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表