这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 51单片机伺服小车求救

共6条 1/1 1 跳转至

51单片机伺服小车求救

助工
2013-07-12 22:45:04     打赏

今天我调小车,要的是小车的前进功能,但最终,小车只是在原地不停地大转,求各位帮忙

源程序如下:

#include
#define uint unsigned int
sbit zuo=P1^1;
sbit you=P1^0;
uint n=0,m=0;
void init()
{
TMOD=0x10;
TH1=0xff;
TL1=0xd2;
ET1=1;
EA=1;
TR1=1;
}
void main() //伺服小车前进程序
{
init();
zuo=0;
you=0;
while(1)
{
if(n<17)   //左轮逆时针转动
zuo=1;
else
 zuo=0;
if(m<13)  //右轮顺时针旋转程序
 you=1; 
else
 you=0;
}   
}
void t1() interrupt 3
{
TH1=0xff;
TL1=0xd2;
n++;
m++;
if(n==217)
n=0;
if(m==213)
m=0;


}

工具上面的情况,实际出来的是:左右轮都是顺时针旋转

最终左右轮分开调,并分别控制左右轮顺时针旋转或逆时针旋转,但情况却是:两个轮都只是顺时针旋转,无论我控制它逆时针旋转!求搭救!

(用的是AT89S52单片机,求大神搭救,万分感谢)

伺服小车转动原理:

机器人伺服电机控制信号




关键词: 单片机     伺服     小车     求救    

院士
2013-07-12 23:16:01     打赏
2楼

查查是不是线反序了。

转圈 肯定就是方向相反了。



高工
2013-07-13 09:52:05     打赏
3楼
楼主的程序中,n,m变量是213,217还是13,17,似乎两个地方不一致,应该是笔误吧

高工
2013-07-14 10:04:16     打赏
4楼
转动方向不一致,可能是电机接线反了。

专家
2013-07-14 20:02:24     打赏
5楼
楼上说的对,把电机的电源线换换。

助工
2013-07-15 02:14:59     打赏
6楼
线没接错,我按照20MS的周期输出脉冲就没问题了,用的是一样的思路,但结果就是不同,不知道为什么!谢谢各位的回答!我不知道为什么无法一一回复,只能回复帖子,谢谢了!

共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]