舵机的角度控制.docx
- 文档编号:8498370
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:11
- 大小:99.29KB
舵机的角度控制.docx
《舵机的角度控制.docx》由会员分享,可在线阅读,更多相关《舵机的角度控制.docx(11页珍藏版)》请在冰豆网上搜索。
舵机的角度控制
计算机控制实验报告
题目:
舵机的角度控制
院(系):
电子工程与自动化学院
专业:
智能科学与技术
学生姓名:
学号:
指导教师:
赵学军
2016年7月02日
一、实验题目
舵机的角度控制
2、实验内容
在PROTEUS软件下用MOTOR-PWMSERVO作为控制对象,单片机发送PWM信号给舵机实现转角控制,4*4键盘给定,参数LCD显示;
三、实验要求
1、根据给定题目设计Proteus仿真原理图;
2、根据给定题目设计有关的C语言源程序,并编译成可执行文件;
3、在Proteus仿真界面下运行程序实现给定的功能
4、实验设计
(1)实验思路
1.14*4矩阵键盘概述
1.2舵机的基本概述
舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。
其工作原理是:
控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。
它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。
最后,电压差的正负输出到电机驱动芯片决定电机的正反转。
当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。
舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置;
5、具体设计思路
例如想让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为20ms-2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在2ms后发生中断,中断发生后,在中断程序里将控制口改为低电平,并将中断时间改为18ms,再过18ms进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现PWM信号输出到舵机。
用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使伺服机灵活运动。
5、心得体会
本次实验中,通过实际动手自己设计并实现在PROTEUS软件下用MOTOR-PWMSERVO作为控制对象,单片机发送PWM信号给舵机实现转角控制,4*4键盘给定,参数LCD显示,不仅加深了我对计算机控制课程理论知识的理解,同时也进一步认识到了计算机的广泛应用。
在本次实验设计过程中,从一开始的毫无头绪到慢慢思索并最终实现,过程是艰辛的,谢谢老师和同学帮助额解决了一些不明白的问题。
在以后的学习和生活中,我定会更加努力提高自己!
附录一实验仿真图
图1仿真电路图
附录二实验程序清单
#include
sbitPWM0=P1^0;
#defineSCAN_IOP0
sbitLCD_E=P1^7;//使能
sbitLCD_RS=P1^5;//选择发送命令
sbitLCD_RW=P1^6;//选择接收数据
sbitADD=P3^6;
sbitSUB=P3^7;
#defineLCD_DATAPINSP2
#defineucharunsignedchar
#defineuintunsignedint
#include
#include
uintt_up0=1500;//舵机PWM高电平时间1000~2000表示1ms到2ms
uintt_change=63036;//换路周期2.5ms8路
uintt0_h;
uintt0_l;
intA,A1,A2,A3,C1,C2,key;
intB1,B2;
voiddelayms(uintms)
{
unsignedchara,b,c;
while(ms--)
{
for(c=1;c>0;c--)
for(b=142;b>0;b--)
for(a=2;a>0;a--);
}
}
voidtimer_init()
{
EA=1;?
/总中断打开
ET0=1;//定时器中断打开
PT0=1;
TMOD=0x11;
TH0=(65536-t_up0)/256;//给定初值,这里使定时器从0开始计数一直到65536溢出
TL0=(65536-t_up0)%256;
}
uchart0_flag=0;
uintnum_max=65535;//直接用65535-t_up不用变量-t_up时,误差较大,原因暂时不明【注:
65536不能存到uint类型变量中】
ucharerror0=45;
ucharerror1=45;
voidtimer0()interrupt1
{
if(t0_flag==0)
{
PWM0=1;
TH0=(num_max-t_up0+error0)/256;//+?
是为了抵消执行语句花的时间
TL0=(num_max-t_up0+error0)%256;
t0_flag=1;
}
elseif(t0_flag==1)
{
PWM0=0;
TH0=(t_change+t_up0+error1)/256;
TL0=(t_change+t_up0+error1)%256;
t0_flag=0;
}
}
voidLCDdisplay(intA)
{
A1=A/1000;//个位
A2=A/100%10;//小数点后第一位
A3=A/10%10;//小数点后第二位
if(A>=1500)
B1=((A-1500)*36)/200;
else
B1=((1500-A)*36)/200;
C1=B1/10;
C2=B1%10;
//B2=B1*10%10;
LcdWriteCom(0x80);//第一行地址
LcdWriteData('T');
LcdWriteData('=');
LcdWriteData('0'+2);
LcdWriteData('0');
LcdWriteData('m');
LcdWriteData('s');
LcdWriteData('');
LcdWriteData('a');
LcdWriteData('n');
LcdWriteData('g');
LcdWriteData('=');
if(A<1500)
LcdWriteData('-');
else
LcdWriteData('+');
LcdWriteData('0'+C1);
LcdWriteData('0'+C2);
//LcdWriteData('.');
//LcdWriteData('0'+B2);
LcdWriteCom(0xc0);
LcdWriteData('t');
LcdWriteData('=');
LcdWriteData('0'+A1);
LcdWriteData('.');
LcdWriteData('0'+A2);
LcdWriteData('0'+A3);
LcdWriteData('m');
LcdWriteData('s');
}
voidmain()
{inty,f,g;
uintt_while;
timer_init();
TR0=1;
LcdInit();
key=0;
y=0;
while
(1)
{
scankey(&key);
if(key==11)
{y=1;}//为正
if(key==12)
y=0;//为fu
if(key==10)
{
f=1;
g=f;
}
if(key==0)
{
t_up0=1500;
}
if(key==1)
{
if(y==0)
{
t_up0=1440;}//-10du
else
{
t_up0=1559;
}//10du
}
if(key==2)
{
if(y==0)
{t_up0=1385;}//-20du
else
{t_up0=1615;}
}
if(key==3)
{
if(y==0)
{t_up0=1333;}//-30du
else
{t_up0=1667;}
}
if(key==4)
{if(y==0)
{t_up0=1274;}//-40du
else
{t_up0=1725;}
}
if(key==5)
{
if(y==0)
{t_up0=1222;}//-50du
else
{t_up0=1778;}
}
if(key==6)
{
if(y==0)
{t_up0=1163;}//-60du
else
{t_up0=1838;
}
}
if(key==7)
{
if(y==0)
{t_up0=1111;}//-70du
else
{t_up0=1889;}
}
if(key==8)
{
if(y==0)
{t_up0=1055;}//-80du
else
{t_up0=1948;}
}
if(key==9)
{
if(y==0)
{t_up0=1000;}//-90du
else
{t_up0=2000;}
}
if(g)
{
if(ADD==0)
{
delayms
(2);
if(ADD==0)
{
if(t_up0<=1950)
{
t_up0=t_up0+10;//
}
t_while=50000;
while(t_while--)
{
if(ADD==1)
break;
}
}
}
if(SUB==0)
{
delayms
(2);
if(SUB==0)
{
if(t_up0>=1050)
{
t_up0=t_up0-10;//
}
t_while=50000;
while(t_while--)
{
if(SUB==1)
break;
}
}
}
}
LCDdisplay(t_up0);
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 舵机 角度 控制