lzzoo 发表于 2012-8-23 08:52:54

PWM控制舵机出现舵机一直转求教

学习PWM控制舵机,程序在下边,查了各种书,和网上的视频,按照例子写了程序,但是一上电,电机就往一个方向一直转,到头了还不停,请各位高手帮忙指点一下...

#include <avr/io.h>

int main(void)
{
      DDRD|=0X30;                            //PD4 PD5输出
      TCCR1A=0XA2;
        TCCR1B=0X1A;                        //8分频 WGM工作在ICR1为TOP值
        ICR1=19999;                           //50hz 20ms为周期
        OCR1A=600;                           //0.6ms
        OCR1B=1000;                         //1ms
        while(1);
}         
      

semonpic 发表于 2012-8-23 08:58:31

会不会是舵机有问题,我遇到过

lzzoo 发表于 2012-8-23 09:03:16

semonpic 发表于 2012-8-23 08:58 static/image/common/back.gif
会不会是舵机有问题,我遇到过

我换了一个舵机,也不行,但是换另一个舵机接到PD5脚上,那电机是顺时针转到头,然后变逆时针转到头,来回循环,而且这两个舵机我都是新买的...

cshp138 发表于 2012-8-23 09:04:53

看看波形,可能有干扰,我试过波形稍微差一点就会这样。也有可能舵机本身问题。如果几个舵机都这样,那应该是程序的问题

lzzoo 发表于 2012-8-23 20:19:42

cshp138 发表于 2012-8-23 09:04 static/image/common/back.gif
看看波形,可能有干扰,我试过波形稍微差一点就会这样。也有可能舵机本身问题。如果几个舵机都这样,那应该 ...

现在不能帮我看看程序有没有问题么...

BBC 发表于 2012-8-23 20:52:48

芯片主频有没有设置好?

lzzoo 发表于 2012-8-23 22:15:30

BBC 发表于 2012-8-23 20:52 static/image/common/back.gif
芯片主频有没有设置好?

哎 我看了AVRSTDUIO里的频率设置了 我用的8M 设置的是8000000啊 没问题....我就无奈了....{:mad:}

haolei432370 发表于 2012-8-24 13:59:19

建议楼主换电源式下
我遇到的跟着差不多搞了我一个多星期
最后换了个电源
(在波形没用错的情况下)ok了


还有就是问下LZ的舵机是模拟的还是数字的
可别看着模拟舵机的文档写数字舵机的程序

lzzoo 发表于 2012-8-25 22:22:58

haolei432370 发表于 2012-8-24 13:59 static/image/common/back.gif
建议楼主换电源式下
我遇到的跟着差不多搞了我一个多星期
最后换了个电源


哎 上示波器看了一下 频率不对....好奇怪啊....明明按照视频教程一摸一样 人家行 我就不行....

haolei432370 发表于 2012-8-26 09:39:41

本帖最后由 haolei432370 于 2012-8-26 09:41 编辑

lzzoo 发表于 2012-8-25 22:22 static/image/common/back.gif
哎 上示波器看了一下 频率不对....好奇怪啊....明明按照视频教程一摸一样 人家行 我就不行.... ...

我只是简单玩了下AVR
没怎么具体玩
现在差不多忘光了
楼主要是想学就别看着视频照搬
这样以后你会发现很基础的你都不是很明白


不知道你示波器是不是和我的一样
我每次用示波器之前会较准下
上示波器看了下频率不对??
是主频率不对(配置时钟问题)
还是PWM频率不对(PWM设置问题)

lzzoo 发表于 2012-8-26 09:42:10

haolei432370 发表于 2012-8-26 09:39 static/image/common/back.gif
我只是简单玩了下AVR
没怎么具体玩
现在差不多忘光了


哈哈 多谢指点 那有推荐的教材么 还是看16的说明书呢

haolei432370 发表于 2012-8-26 11:14:26

写的时候就看数据手册
和一个寄存器列表
其它的偶尔上网随便看看
收据手册估计你有
我就给你传个寄存器列表吧

lbblsws 发表于 2012-8-26 12:32:03

我可以很负责地告诉你,舵机买错了!这种舵机脉宽是控制转速和转向的,可由标准舵机改装而来。标准的舵机是脉宽控制输出转角(位置),你买的应该是航模用的那种小舵机,买的时候要问清楚最大行程角。

lzzoo 发表于 2012-8-26 13:01:38

haolei432370 发表于 2012-8-26 11:14 static/image/common/back.gif
写的时候就看数据手册
和一个寄存器列表
其它的偶尔上网随便看看


哈哈 找到原因了....是我SB....熔丝位没弄对 用的内部晶振1M....

haolei432370 发表于 2012-8-26 14:49:27

lzzoo 发表于 2012-8-26 13:01 static/image/common/back.gif
哈哈 找到原因了....是我SB....熔丝位没弄对 用的内部晶振1M....

下次做的时候
出现问题想之前我说的那样
把它分解成一块一块的
看那块有问题
就很容易找出来了{:smile:}

BBC 发表于 2012-8-27 01:40:57

lzzoo 发表于 2012-8-26 13:01 static/image/common/back.gif
哈哈 找到原因了....是我SB....熔丝位没弄对 用的内部晶振1M....

{:sad:} 上面的回复不是告诉你了嘛...

xiaoha_abc 发表于 2012-8-27 08:17:41

20ms一周期,是不是延时没调好?
注意模拟舵机与数字舵机的区别。

lzzoo 发表于 2012-8-27 10:20:29

BBC 发表于 2012-8-27 01:40 static/image/common/back.gif
上面的回复不是告诉你了嘛...

哈哈,我错了。。。。我当时没明白你说的话,我以前学的51,不知道avr要熔丝位设置频率,以为晶振插上就是呢。。。。谢谢你啦

lzzoo 发表于 2012-8-27 10:23:25

xiaoha_abc 发表于 2012-8-27 08:17 static/image/common/back.gif
20ms一周期,是不是延时没调好?
注意模拟舵机与数字舵机的区别。

问题找到了,是我频率没设置对,我想向您请教一下,模拟舵机控制有什么区别么,不是20m的pwm控制了么,我接上一个模拟,发现总是来回乱摆动,不知道是舵机有问题还是控制程序写错了

xiaoha_abc 发表于 2012-8-27 14:12:16

lzzoo 发表于 2012-8-27 10:23 static/image/common/back.gif
问题找到了,是我频率没设置对,我想向您请教一下,模拟舵机控制有什么区别么,不是20m的pwm控制了么,我 ...

模拟舵机需要发送控制信号直到动作完成,数字舵机只要发送一次信号,就是一个20ms为周期的信号就能自主完成动作。

lzzoo 发表于 2012-8-27 15:04:07

xiaoha_abc 发表于 2012-8-27 14:12 static/image/common/back.gif
模拟舵机需要发送控制信号直到动作完成,数字舵机只要发送一次信号,就是一个20ms为周期的信号就能自主完 ...

哦 明白了 谢谢!{:lol:}

司马朝阳007 发表于 2012-9-3 17:27:42

你给的PWM要停留一段时间,舵机才有反应时间
页: [1]
查看完整版本: PWM控制舵机出现舵机一直转求教