搜索
bottom↓
回复: 30

关于51驱动舵机,有波形输出舵机却不转动

[复制链接]

出0入0汤圆

发表于 2014-4-27 21:44:21 | 显示全部楼层 |阅读模式
我是用中断写的,11.0592的晶振,然后用示波器测试波形的时候发现伯茨那个正常,20MS一个周期,高电平时间为1ms,接下来是程序
#include <reg52.h>
unsigned int a,b;
sbit c=P0^0;         
void timer0 (void) interrupt 1
{
                c=!c;
                b=20000-b;
                TH0=-(b/256);
                TL0=-(b%256);
                if(b>=500&&b<=2500)
                b=a;
                else
                b=20000-a;
}

void main(void)
{
                TMOD |=0x01;               
                c=1;
                a=1500;
                b=a;
                TH0=-(a/256);              
                TL0=-(a%256);
                EA=1;        
                ET0=1;        
                TR0=1;      
                TR1=1;           
                PT0=1;           
                while(1);
}

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2014-4-27 22:04:12 | 显示全部楼层
求大神啊

出0入0汤圆

发表于 2014-4-27 22:06:08 | 显示全部楼层
io要设置成推挽输出

出0入0汤圆

发表于 2014-4-27 22:08:22 | 显示全部楼层
如果你的舵机初始位置刚好对应1ms脉冲的位置,当然不会动了     通电前把舵机转到其他位置看看

出0入0汤圆

 楼主| 发表于 2014-4-27 22:16:26 | 显示全部楼层
not_at_all 发表于 2014-4-27 22:08
如果你的舵机初始位置刚好对应1ms脉冲的位置,当然不会动了     通电前把舵机转到其他位置看看 ...

有试过,但是不能用

出0入0汤圆

 楼主| 发表于 2014-4-27 22:16:52 | 显示全部楼层
jqbkl007 发表于 2014-4-27 22:06
io要设置成推挽输出

没设置推挽,但是P0口驱动加了上拉

出0入0汤圆

发表于 2014-4-27 22:24:39 | 显示全部楼层
你测波形是接舵机测的吗?
还有,你确保没有接错线(虽然看起来可能性不大,但是还是复核一下)?

出0入0汤圆

发表于 2014-4-27 22:25:08 | 显示全部楼层
是不是没有共地

出0入0汤圆

发表于 2014-4-27 22:25:58 | 显示全部楼层
你换成其他口用推挽的就可以的,舵机控制好像要大电流的

出0入0汤圆

 楼主| 发表于 2014-4-27 22:37:51 | 显示全部楼层
C:\Users\Lyw\Desktop\QQ图片20140427223651.jpg

出0入0汤圆

 楼主| 发表于 2014-4-27 22:38:12 | 显示全部楼层

有接地的

出0入0汤圆

 楼主| 发表于 2014-4-27 22:44:33 | 显示全部楼层
not_at_all 发表于 2014-4-27 22:24
你测波形是接舵机测的吗?
还有,你确保没有接错线(虽然看起来可能性不大,但是还是复核一下)? ...

确保没有接错啊

出0入0汤圆

 楼主| 发表于 2014-4-27 22:46:58 | 显示全部楼层
jqbkl007 发表于 2014-4-27 22:25
你换成其他口用推挽的就可以的,舵机控制好像要大电流的

有在输出口
加上拉,应该是一个性质的吧

出0入0汤圆

发表于 2014-4-27 22:49:06 | 显示全部楼层

我的意思是同一个电源吗

出0入0汤圆

发表于 2014-4-27 22:49:59 来自手机 | 显示全部楼层
看不懂,正在学习单片机中

出0入0汤圆

发表于 2014-4-27 22:50:41 | 显示全部楼层
墨逸、 发表于 2014-4-27 22:46
有在输出口加上拉,应该是一个性质的吧

单片机输出不需要大电流吧,只是输出一个电压与舵机内部的电压比较器比较

出0入0汤圆

发表于 2014-4-27 22:51:23 | 显示全部楼层
舵机如果不带锁尾必须持续给方波
电源可以不是同一个   但是必须共地  

出0入0汤圆

发表于 2014-4-27 22:59:12 | 显示全部楼层
墨逸、 发表于 2014-4-27 22:46
有在输出口加上拉,应该是一个性质的吧

不清楚,我都是用推挽的都可以控制。

出0入0汤圆

发表于 2014-4-28 03:38:37 来自手机 | 显示全部楼层
最好检查一下舵机是不是坏的,我以前也用51驱动舵机搞了好几天都没成功,结果换了一个舵机就行了,崩溃死了…

出0入0汤圆

发表于 2014-4-28 14:35:09 来自手机 | 显示全部楼层
请教一下,在给定时器赋值的时候前面加-是什么意思

出0入0汤圆

发表于 2014-4-28 15:53:32 来自手机 | 显示全部楼层
你这个程序逻辑太复杂了,看了半天才理顺。实际上你中断里的最后一个if判断根本就没有必要加。直接删掉,也能实现相同的功能,你试试看呢。

出0入0汤圆

发表于 2014-4-28 15:56:54 来自手机 | 显示全部楼层
小黑@电子 发表于 2014-4-28 14:35
请教一下,在给定时器赋值的时候前面加-是什么意思

赋值时添加“-”是利用了uint型数据最大为65536的特点,相当于65536-(b%256)的意思

出0入0汤圆

发表于 2014-4-28 19:29:38 | 显示全部楼层
longwu537 发表于 2014-4-28 15:56
赋值时添加“-”是利用了uint型数据最大为65536的特点,相当于65536-(b%256)的意思 ...

受教了,多谢大神

出0入0汤圆

发表于 2014-4-28 21:01:11 | 显示全部楼层
这程序真心不好理解。

出0入0汤圆

 楼主| 发表于 2014-5-1 22:22:18 | 显示全部楼层
a752109494 发表于 2014-4-27 22:49
我的意思是同一个电源吗

是的,使用的同一个五伏电源

出0入0汤圆

发表于 2014-5-1 23:32:35 | 显示全部楼层
占空比改成其它的呢

出0入0汤圆

发表于 2014-5-6 15:00:16 | 显示全部楼层
mark                                

出0入0汤圆

发表于 2014-10-4 16:02:54 | 显示全部楼层
??结果呢??错哪了

出0入0汤圆

发表于 2015-1-15 01:42:39 | 显示全部楼层
同求 结果   51+mg995舵机   示波器测试有波形输出 2940做驱动  

出0入0汤圆

发表于 2015-8-12 21:19:02 | 显示全部楼层
这直接是寄存器操作,不太懂

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-6-9 10:52

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

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