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 static/image/common/back.gif
会不会是舵机有问题,我遇到过
我换了一个舵机,也不行,但是换另一个舵机接到PD5脚上,那电机是顺时针转到头,然后变逆时针转到头,来回循环,而且这两个舵机我都是新买的... 看看波形,可能有干扰,我试过波形稍微差一点就会这样。也有可能舵机本身问题。如果几个舵机都这样,那应该是程序的问题 cshp138 发表于 2012-8-23 09:04 static/image/common/back.gif
看看波形,可能有干扰,我试过波形稍微差一点就会这样。也有可能舵机本身问题。如果几个舵机都这样,那应该 ...
现在不能帮我看看程序有没有问题么... 芯片主频有没有设置好? BBC 发表于 2012-8-23 20:52 static/image/common/back.gif
芯片主频有没有设置好?
哎 我看了AVRSTDUIO里的频率设置了 我用的8M 设置的是8000000啊 没问题....我就无奈了....{:mad:} 建议楼主换电源式下
我遇到的跟着差不多搞了我一个多星期
最后换了个电源
(在波形没用错的情况下)ok了
还有就是问下LZ的舵机是模拟的还是数字的
可别看着模拟舵机的文档写数字舵机的程序 haolei432370 发表于 2012-8-24 13:59 static/image/common/back.gif
建议楼主换电源式下
我遇到的跟着差不多搞了我一个多星期
最后换了个电源
哎 上示波器看了一下 频率不对....好奇怪啊....明明按照视频教程一摸一样 人家行 我就不行.... 本帖最后由 haolei432370 于 2012-8-26 09:41 编辑
lzzoo 发表于 2012-8-25 22:22 static/image/common/back.gif
哎 上示波器看了一下 频率不对....好奇怪啊....明明按照视频教程一摸一样 人家行 我就不行.... ...
我只是简单玩了下AVR
没怎么具体玩
现在差不多忘光了
楼主要是想学就别看着视频照搬
这样以后你会发现很基础的你都不是很明白
不知道你示波器是不是和我的一样
我每次用示波器之前会较准下
上示波器看了下频率不对??
是主频率不对(配置时钟问题)
还是PWM频率不对(PWM设置问题) haolei432370 发表于 2012-8-26 09:39 static/image/common/back.gif
我只是简单玩了下AVR
没怎么具体玩
现在差不多忘光了
哈哈 多谢指点 那有推荐的教材么 还是看16的说明书呢 写的时候就看数据手册
和一个寄存器列表
其它的偶尔上网随便看看
收据手册估计你有
我就给你传个寄存器列表吧 我可以很负责地告诉你,舵机买错了!这种舵机脉宽是控制转速和转向的,可由标准舵机改装而来。标准的舵机是脉宽控制输出转角(位置),你买的应该是航模用的那种小舵机,买的时候要问清楚最大行程角。 haolei432370 发表于 2012-8-26 11:14 static/image/common/back.gif
写的时候就看数据手册
和一个寄存器列表
其它的偶尔上网随便看看
哈哈 找到原因了....是我SB....熔丝位没弄对 用的内部晶振1M.... lzzoo 发表于 2012-8-26 13:01 static/image/common/back.gif
哈哈 找到原因了....是我SB....熔丝位没弄对 用的内部晶振1M....
下次做的时候
出现问题想之前我说的那样
把它分解成一块一块的
看那块有问题
就很容易找出来了{:smile:} lzzoo 发表于 2012-8-26 13:01 static/image/common/back.gif
哈哈 找到原因了....是我SB....熔丝位没弄对 用的内部晶振1M....
{:sad:} 上面的回复不是告诉你了嘛... 20ms一周期,是不是延时没调好?
注意模拟舵机与数字舵机的区别。 BBC 发表于 2012-8-27 01:40 static/image/common/back.gif
上面的回复不是告诉你了嘛...
哈哈,我错了。。。。我当时没明白你说的话,我以前学的51,不知道avr要熔丝位设置频率,以为晶振插上就是呢。。。。谢谢你啦 xiaoha_abc 发表于 2012-8-27 08:17 static/image/common/back.gif
20ms一周期,是不是延时没调好?
注意模拟舵机与数字舵机的区别。
问题找到了,是我频率没设置对,我想向您请教一下,模拟舵机控制有什么区别么,不是20m的pwm控制了么,我接上一个模拟,发现总是来回乱摆动,不知道是舵机有问题还是控制程序写错了 lzzoo 发表于 2012-8-27 10:23 static/image/common/back.gif
问题找到了,是我频率没设置对,我想向您请教一下,模拟舵机控制有什么区别么,不是20m的pwm控制了么,我 ...
模拟舵机需要发送控制信号直到动作完成,数字舵机只要发送一次信号,就是一个20ms为周期的信号就能自主完成动作。 xiaoha_abc 发表于 2012-8-27 14:12 static/image/common/back.gif
模拟舵机需要发送控制信号直到动作完成,数字舵机只要发送一次信号,就是一个20ms为周期的信号就能自主完 ...
哦 明白了 谢谢!{:lol:} 你给的PWM要停留一段时间,舵机才有反应时间
页:
[1]