搜索
bottom↓
回复: 21

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

[复制链接]

出0入0汤圆

发表于 2012-8-23 08:52:54 | 显示全部楼层 |阅读模式
学习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);
}         
        

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2012-8-23 08:58:31 | 显示全部楼层
会不会是舵机有问题,我遇到过

出0入0汤圆

 楼主| 发表于 2012-8-23 09:03:16 | 显示全部楼层
semonpic 发表于 2012-8-23 08:58
会不会是舵机有问题,我遇到过

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

出0入0汤圆

发表于 2012-8-23 09:04:53 | 显示全部楼层
看看波形,可能有干扰,我试过波形稍微差一点就会这样。也有可能舵机本身问题。如果几个舵机都这样,那应该是程序的问题

出0入0汤圆

 楼主| 发表于 2012-8-23 20:19:42 | 显示全部楼层
cshp138 发表于 2012-8-23 09:04
看看波形,可能有干扰,我试过波形稍微差一点就会这样。也有可能舵机本身问题。如果几个舵机都这样,那应该 ...

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

出0入0汤圆

发表于 2012-8-23 20:52:48 | 显示全部楼层
芯片主频有没有设置好?

出0入0汤圆

 楼主| 发表于 2012-8-23 22:15:30 | 显示全部楼层
BBC 发表于 2012-8-23 20:52
芯片主频有没有设置好?

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

出0入0汤圆

发表于 2012-8-24 13:59:19 | 显示全部楼层
建议楼主换电源式下
我遇到的跟着差不多搞了我一个多星期
最后换了个电源
(在波形没用错的情况下)ok了


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

出0入0汤圆

 楼主| 发表于 2012-8-25 22:22:58 | 显示全部楼层
haolei432370 发表于 2012-8-24 13:59
建议楼主换电源式下
我遇到的跟着差不多搞了我一个多星期
最后换了个电源

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

出0入0汤圆

发表于 2012-8-26 09:39:41 | 显示全部楼层
本帖最后由 haolei432370 于 2012-8-26 09:41 编辑
lzzoo 发表于 2012-8-25 22:22
哎 上示波器看了一下 频率不对....好奇怪啊....明明按照视频教程一摸一样 人家行 我就不行.... ...


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


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

出0入0汤圆

 楼主| 发表于 2012-8-26 09:42:10 | 显示全部楼层
haolei432370 发表于 2012-8-26 09:39
我只是简单玩了下AVR
没怎么具体玩
现在差不多忘光了

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

出0入0汤圆

发表于 2012-8-26 11:14:26 | 显示全部楼层
写的时候就看数据手册
和一个寄存器列表
其它的偶尔上网随便看看
收据手册估计你有  
我就给你传个寄存器列表吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-8-26 12:32:03 | 显示全部楼层
我可以很负责地告诉你,舵机买错了!这种舵机脉宽是控制转速和转向的,可由标准舵机改装而来。标准的舵机是脉宽控制输出转角(位置),你买的应该是航模用的那种小舵机,买的时候要问清楚最大行程角。

出0入0汤圆

 楼主| 发表于 2012-8-26 13:01:38 | 显示全部楼层
haolei432370 发表于 2012-8-26 11:14
写的时候就看数据手册
和一个寄存器列表
其它的偶尔上网随便看看

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

出0入0汤圆

发表于 2012-8-26 14:49:27 | 显示全部楼层
lzzoo 发表于 2012-8-26 13:01
哈哈 找到原因了....是我SB....熔丝位没弄对 用的内部晶振1M....

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

出0入0汤圆

发表于 2012-8-27 01:40:57 | 显示全部楼层
lzzoo 发表于 2012-8-26 13:01
哈哈 找到原因了....是我SB....熔丝位没弄对 用的内部晶振1M....

上面的回复不是告诉你了嘛...

出0入0汤圆

发表于 2012-8-27 08:17:41 | 显示全部楼层
20ms一周期,是不是延时没调好?
注意模拟舵机与数字舵机的区别。

出0入0汤圆

 楼主| 发表于 2012-8-27 10:20:29 | 显示全部楼层
BBC 发表于 2012-8-27 01:40
上面的回复不是告诉你了嘛...

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

出0入0汤圆

 楼主| 发表于 2012-8-27 10:23:25 | 显示全部楼层
xiaoha_abc 发表于 2012-8-27 08:17
20ms一周期,是不是延时没调好?
注意模拟舵机与数字舵机的区别。

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

出0入0汤圆

发表于 2012-8-27 14:12:16 | 显示全部楼层
lzzoo 发表于 2012-8-27 10:23
问题找到了,是我频率没设置对,我想向您请教一下,模拟舵机控制有什么区别么,不是20m的pwm控制了么,我 ...

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

出0入0汤圆

 楼主| 发表于 2012-8-27 15:04:07 | 显示全部楼层
xiaoha_abc 发表于 2012-8-27 14:12
模拟舵机需要发送控制信号直到动作完成,数字舵机只要发送一次信号,就是一个20ms为周期的信号就能自主完 ...

哦 明白了 谢谢!

出0入0汤圆

发表于 2012-9-3 17:27:42 | 显示全部楼层
你给的PWM要停留一段时间,舵机才有反应时间
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-16 10:55

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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