5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: 请大家给点建议 [打印本页]

作者: ququbin    时间: 2008-6-2 13:30
标题: 请大家给点建议
我用单片机的PWM功能产生的脉冲效果不好,请大家提点意见
6位精度,就是64阶了,就是64个档了,线性就不好了,你们买来的接收的PWM 是这样吗?
1MS平分64份,每份15.625微秒,这就是分辨率了,商品接收是这样吗?
我用这个接收去遥控飞机,感觉油门有跳变,就是突大突小的变化,不爽
各位高手有好的意见吗?
还有就是商品电调是怎样识别一个脉冲的,我好久了都没想通
周期5--20MS,高电平1--2MS,对上升沿和下降沿记数?用8位定时器?
作者: 321whl123    时间: 2008-6-2 22:10
标题: 回复 #1 ququbin 的帖子
商品电调前级,应该有数摸转换!
作者: ququbin    时间: 2008-6-3 04:40
标题: 怎么转换?
是把PWM 加一RC变成平稳的电压,电调用ad去采?是不是这样啊/
作者: timer    时间: 2008-6-9 09:45
哈喽! 个人见解,欢迎纠正!
1.一般地,用单片机的PWM模块来生成模拟舵机信号会有一些特别的限制,若能使用单片机中所拥有的比较输出方式会比较好,也可以用定时器中断的方式来生成.
2.对于无刷电调中的脉宽测量功能,一般也是用单片机中所拥有的输入捕捉功能实现的.
作者: ququbin    时间: 2008-6-9 21:50
标题: 回复 #4 timer 的帖子
无刷电调中的脉宽测量功
我也认为是用输入捕捉,不是DAC,不知道怎么实现
单片机的PWM 已经完成,可以控制舵机和商品电调了
作者: timer    时间: 2008-6-9 23:06
第一次上论坛能够得到回复,很高兴!
我不知道你用的是何种单片机,我喜欢用PIC和C8051,但我想原理是一样的.一般在单片机中会有所谓的输入捕捉功能,它有一个自由运行的定时器和一个同样宽度的寄存器,在输入脉冲的跳变沿触发下,会将此时定时器中的计数值"瞬时"保存到上述的那个寄存器中.那么我们在用输入捕捉功能测量PWM正脉宽时,首先会设定用正跳沿触发中断,在此ISR中用一个变量保存寄存器中的值v_p,然后设定为负跳沿;接着当PWM信号为下跳沿触发中断时,在此ISR中用另一个变量保存寄存器中的值v_n,则pulse_width = v_n - v_p,然后又设定为正跳沿触发中断即可.当然,也可在没有正负跳变沿选择时,在跳变引发的ISR中读取PWM脉冲高低电平做判断即可,一样的.
注意:
1.PWM脉冲宽度一般在20ms左右,要注意定时器的最大计时范围.
2.可以加入一个简单的抗干扰功能于程序中.

这样解释不知可不可以,若有错误,请一定告之,共同学习,让我们在有一个共同爱好的地方能得解惑,能有提高!




欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://wz.5imx.com/) Powered by Discuz! X3.3