注册 登录
查看: 712|回复: 27

关于电机初始化函数的修改占空比的问题,麻烦山外大哥看一下,谢谢!

[复制链接]
发表于 2014-11-2 17:04:50 | 显示全部楼层 |阅读模式
本帖最后由 快乐的味道92 于 2014-11-2 17:14 编辑

我写的程序,在PIT中断里,每5MS控制电机一次,每次通过调用电机初始化函数来修改占空比,但是问题出现了,FTM_PWM_init竟然没有执行(这个函数执行了,但是执行了没有占空比输出)。

  1.   if(FLY_ENABLE)//
  2.   {
  3.     FTM_PWM_init(FTM0,FTM_CH3,50,motor1);// FTM0_CH3     PTA6
  4.     FTM_PWM_init(FTM0,FTM_CH4,50,motor2);// FTM0_CH4     PTA7
  5.     FTM_PWM_init(FTM2,FTM_CH0,50,motor3);// FTM2_CH0     PTA10
  6.     FTM_PWM_init(FTM2,FTM_CH1,50,motor4);// FTM2_CH1     PTA11
  7.     printf("%d %d %d %d\n",motor1,motor2,motor3,motor4);
  8.   }
  9.   else
  10.   {
  11.     FTM_PWM_init(FTM0,FTM_CH3,50,38400);// FTM0_CH3     PTA6     
  12.     FTM_PWM_init(FTM0,FTM_CH4,50,38400);// FTM0_CH4     PTA7     
  13.     FTM_PWM_init(FTM2,FTM_CH0,50,38400);// FTM2_CH0     PTA10   
  14.     FTM_PWM_init(FTM2,FTM_CH1,50,38400);// FTM2_CH1     PTA11   
  15.   }


     我在程序定义了一个可以通过上位机修改的全局变量FLY_ENABLE,motor1 ,motor2 ,motor3 ,motor4 是经过PID计算后得到的值,
当我把FLY_ENABLE置1时,printf一直打印四个电机的值(说明FTM_PWM_init已经执行过了)。
当我把FLY_ENABLE置0时,printf没有执行,串口无数据输出。
四个电机变量motor1 ,motor2 ,motor3 ,motor4 的取值范围,如下:

motor1 = [35061 38280]
motor2 = [35019 37608]
motor3 = [35065 37628]
motor4 = [35041 37618]

PWM精度为:
  1. #define FTM0_PRECISON 40000u     //定义占空比精度,100即精度为1%,1000u则精度为0.1%,用于占空比 duty 形参传入,即占空比为 duty/FTM_PRECISON
  2. #define FTM1_PRECISON 40000u     //定义占空比精度,100即精度为1%,1000u则精度为0.1%,用于占空比 duty 形参传入,即占空比为 duty/FTM_PRECISON
  3. #define FTM2_PRECISON 40000u     //定义占空比精度,100即精度为1%,1000u则精度为0.1%,用于占空比 duty 形参传入,即占空比为 duty/FTM_PRECISON


出现FTM_PWM_init竟然没有执行(这个函数执行了,但是执行了没有占空比输出),直接导致我之前的一堆的数据计算得到的电机值,没有作用,电机没法运行。

是不是占空比过小的原因?(占空比实际就是很小,没办法改变硬件)当我把定时时间改为25MS控制一次(25MS控制一次不能满足实际需求),电机就会转,以上的函数都在PIT中断里执行。该怎样解决这一问题?
回复

使用道具 举报

发表于 2014-11-2 17:07:44 | 显示全部楼层
哥们,最起码来点在线调试的信息吧。

既然你怀疑:FTM_PWM_init竟然没有执行,设断点,看看有没有执行到,还是卡死在断言失败,或者默认中断函数。

用的是 5.1 版本的代码吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 17:11:56 | 显示全部楼层
仰逸致 发表于 2014-11-2 17:07
哥们,最起码来点在线调试的信息吧。

既然你怀疑:FTM_PWM_init竟然没有执行,设断点,看看有没有执行到 ...

是的,野火最新的库,printf函数已经证明了,没有断言失败,要不然串口会输出,断言失败。
回复 支持 反对

使用道具 举报

发表于 2014-11-2 17:14:43 | 显示全部楼层
快乐的味道92 发表于 2014-11-2 17:11
是的,野火最新的库,printf函数已经证明了,没有断言失败,要不然串口会输出,断言失败。

在线调试吧,卡死在哪里都不知道,程序执行了没有都不知道。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 17:20:39 | 显示全部楼层
sestpqwnkm 发表于 2014-11-2 17:14
在线调试吧,卡死在哪里都不知道,程序执行了没有都不知道。

大哥你仔细看下我写的说明,程序死机printf能够一直输出数据?我的程序定义了一个1HZ闪烁的系统运行指示灯,一直正常闪烁。FTM_PWM_init这个函数执行了,只是没有输出占空比
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 17:22:28 | 显示全部楼层
sestpqwnkm 发表于 2014-11-2 17:14
在线调试吧,卡死在哪里都不知道,程序执行了没有都不知道。

函数都在中断里,程序里有两个中断,调试有点困难吧
回复 支持 反对

使用道具 举报

发表于 2014-11-2 17:23:22 | 显示全部楼层
该占空比,为啥不用专门的函数接口?

你先用简单的测试例程,测试一下吧,一个个排除法排除问题。

5.0版本,FTM 的PWM输出是有bug,5.1已经修复了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 17:26:29 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-2 17:23
该占空比,为啥不用专门的函数接口?

你先用简单的测试例程,测试一下吧,一个个排除法排除问题。

FTM_PWM_Duty调用这个函数直接修改占空比,占空比为 uint32 duty。而我的数据通过转换后,占空比很小,且是浮点型的数据。山外大哥有没有5.1的K60代码,链接?
回复 支持 反对

使用道具 举报

发表于 2014-11-2 17:28:14 | 显示全部楼层
快乐的味道92 发表于 2014-11-2 17:26
FTM_PWM_Duty调用这个函数直接修改占空比,占空比为 uint32 duty。而我的数据通过转换后,占空比很小,且 ...

我们的资料一般都在资料专辑——山外资料下载 里面找到。也可以用搜索功能来找。

【山外K60】一天攻破K60 代码 V5.1 - 智能车资料区 - 山外论坛 http://www.vcan123.com/forum.php ... id=6193&ctid=26
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 17:30:27 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-2 17:28
我们的资料一般都在资料专辑——山外资料下载 里面找到。也可以用搜索功能来找。

【山外K60】一天攻破 ...

我用的是5.0的版本,V5.1兼容V5.0吗?我把FTM 的C文件,和头文件直接覆盖过去行不?
回复 支持 反对

使用道具 举报

发表于 2014-11-2 17:32:15 | 显示全部楼层
快乐的味道92 发表于 2014-11-2 17:30
我用的是5.0的版本,V5.1兼容V5.0吗?我把FTM 的C文件,和头文件直接覆盖过去行不?

应该是兼容的,你替换一下看看吧。5.1的多了一些输入捕捉测脉冲的功能。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 17:44:17 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-2 17:32
应该是兼容的,你替换一下看看吧。5.1的多了一些输入捕捉测脉冲的功能。

我对比下,FTM_PWM_init这个函数V5.1和我用的这个版本一模一样,但是我用5MS控制一次FTM_PWM_init执行后电机不转,但当我把PIT定时时间改长点,电机就会转,这可能是什么原因造成的
回复 支持 反对

使用道具 举报

发表于 2014-11-2 17:45:39 | 显示全部楼层
快乐的味道92 发表于 2014-11-2 17:44
我对比下,FTM_PWM_init这个函数V5.1和我用的这个版本一模一样,但是我用5MS控制一次FTM_PWM_init执行后 ...

不可能一模一样啊,一个是单边计数,一个是双边计数的。
回复 支持 反对

使用道具 举报

发表于 2014-11-2 17:46:20 | 显示全部楼层
快乐的味道92 发表于 2014-11-2 17:44
我对比下,FTM_PWM_init这个函数V5.1和我用的这个版本一模一样,但是我用5MS控制一次FTM_PWM_init执行后 ...

原因我也不清楚,你用示波器看看波形吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 17:49:30 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-2 17:46
原因我也不清楚,你用示波器看看波形吧。

奥,那我试试
回复 支持 反对

使用道具 举报

发表于 2014-11-4 00:48:10 | 显示全部楼层
楼主我想问下定义占空比精度是怎么实现的呢?
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-6 08:21:06 | 显示全部楼层
六步上篮 发表于 2014-11-4 00:48
楼主我想问下定义占空比精度是怎么实现的呢?

修改我上面程序里的40000
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-8 10:44:27 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-2 17:46
原因我也不清楚,你用示波器看看波形吧。

山外大哥的程序例程里有,大液晶的触摸屏例程吗?找个半天没找到
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-8 10:45:53 | 显示全部楼层
快乐的味道92 发表于 1415414667
山外大哥的程序例程里有,大液晶的触摸屏例程吗?找个半天没找到
有的,不过还没上传,最近太多事情处理。

我今天上传一下。
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-8 10:48:14 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-8 10:45
有的,不过还没上传,最近太多事情处理。

我今天上传一下。

那太及时了,准备做个GUI界面,但找不到函数接口,那我就等着山外大哥的资料了
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-8 10:52:44 | 显示全部楼层
快乐的味道92 发表于 2014-11-8 10:48
那太及时了,准备做个GUI界面,但找不到函数接口,那我就等着山外大哥的资料了

哈哈,那你做好后,来点GUI界面给大伙欣赏咯。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-8 10:53:42 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-8 10:52
哈哈,那你做好后,来点GUI界面给大伙欣赏咯。

一定,一定
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-8 15:30:54 | 显示全部楼层
快乐的味道92 发表于 2014-11-8 10:48
那太及时了,准备做个GUI界面,但找不到函数接口,那我就等着山外大哥的资料了

已经发布了。

【山外K60】触摸屏_画板例程 - 智能车资料区 - 山外论坛 http://vcan123.com/thread-6548-1-1.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-8 16:51:00 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-8 15:30
已经发布了。

【山外K60】触摸屏_画板例程 - 智能车资料区 - 山外论坛 http://vcan123.com/thread-6 ...

嗯,知道了
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-8 20:53:58 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-8 15:30
已经发布了。

【山外K60】触摸屏_画板例程 - 智能车资料区 - 山外论坛 http://vcan123.com/thread-6 ...

山外论坛怎么了,验证输入几十次了,还是提醒验证码错误。
随便点开一个帖子,浏览器提醒
NOT FOUND
The requested URL/thread-6548-1-1.html was not found on this service.
论坛在维护吗?还是我浏览器的问题。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-8 21:18:00 | 显示全部楼层
快乐的味道92 发表于 1415451238
山外论坛怎么了,验证输入几十次了,还是提醒验证码错误。
随便点开一个帖子,浏览器提醒
NOT FOUND
The requested URL/thread-6548-1-1.html was not found on this service.
论坛在维护吗?还是我浏览器的问题。
不会吧?我这边没这问题啊。
你是IP访问还是域名访问?试下用PC客户端登录看看
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-8 21:19:40 | 显示全部楼层
山外メ雲ジ 发表于 2014-11-8 21:18
不会吧?我这边没这问题啊。
你是IP访问还是域名访问?试下用PC客户端登录看看

你给我发个连接吧,pc客户端
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2014-11-8 21:31:41 | 显示全部楼层
快乐的味道92 发表于 1415452780
你给我发个连接吧,pc客户端
我给个百度云链接吧:
山外PC客户端
http://pan.baidu.com/share/link?shareid=405334599&uk=235751603
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

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

本版积分规则

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