毕业论文舵机控制设计硬件设计范本模板.docx
《毕业论文舵机控制设计硬件设计范本模板.docx》由会员分享,可在线阅读,更多相关《毕业论文舵机控制设计硬件设计范本模板.docx(24页珍藏版)》请在冰豆网上搜索。
毕业论文舵机控制设计硬件设计范本模板
本科生毕业设计(论文)
题目:
基于MCU的遥控小车
—---————-舵机部分
Topic:
RemotecontrolcarbasedonMCU
-——-——Rudderpart
教学单位__电气信息工程学院___
姓名__仲书民____
学号___201031006106
年级___2010级________
专业___自动化__________
指导教师___汪华章
职称___副教授
2014年3月20日
摘要
本文是无线遥控现车舵机控制部分研究,舵机其实是一种位置伺服的驱动器
(角度伺服),适用于一些需要角度不断变化并可以保持的控制系统。
目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型;遥控机器人中已经使用得比较普遍。
舵机也是一种俗称,其实是一种伺服马达。
与其他电机相比,舵机有着精度高,性能高,抗过敏能力强,输出功率高,稳定性好,及时性强,噪声低等优点。
本设计中我们采用单片机来驱动舵机工作,以STC89C51单片机作为核心控制器,单片机是通过改变输出的PWM信号占空比来控制舵机的转角与转速,这样舵机可以实现正转反转自转旋转等功能。
利用proteus软件进行仿真调试,依照原理图进行焊接,下载hex文件到单片机来驱动舵机完成相应的动作。
正文将着重介绍硬件选择,工作原理,硬件设计,仿真以及具体实现效果。
关键词:
舵机;STC89C51;单片机;
ABSTRACT
Thispaper is part of thewirelessremotecontrol car steeringgear control,Thesteeringgear isakindof positionservo drive(angleservo),Applicationof controlsystem in some anglechanging.Apresent, inthehigh-end remotecontroltoys, suchas themodel, includingthe modelofaircraft, submarinemodel;Remotecontrol robot hasbeenused morewidely。
Thesteeringgear isa commonlyknownas, infact, isakindofservo motor。
Comparedwithother motor, steeringgear with highprecision,highperformance, antiallergic ability, highoutputpower, goodstability, timeliness strong, hastheadvantagesoflow noise.
Weusedinthedesignofthesinglechipmicrocomputertopowersteeringgear,theSTC89C51microcontrollerasthecorecontroller,singlechipmicrocomputerisbychangingtheoutputPWMsignaldutyratiocontrolsteeringAngleandspeed,thesteeringgearcanberotatedtoturnpositivereverserotation,andotherfunctions。
Useofproteussimulationsoftwaredebugging,inaccordancewiththeprinciplediagramofwelding,downloadthehexfiletothemicrocontrollertodrivethesteeringgeartocompletethecorrespondingaction。
Textwillfocusonthehardwareselection,workingprinciple,hardwaredesign,simulationandimplementationeffect.
。
Keywords:
Steeringgear; STC89C51; singlechipmicrocomputer;
1引言
1.1课题背景
舵机又称微伺服电机,其主要组成部分为伺服电机,包含伺服电机控制电路以及减速齿轮组。
早期在模型上使用最多,主要用于控制模型的舵面,所以俗称舵机。
伺服电机是指在伺服系统中控制机械元件运转的发动机,是一种补助马达间接变速装置。
舵机是机电系统的重要执行机构,其早期是应用在航模中控制方向的,在航空模型中,飞行器的飞行姿态是通过调整发动机和各个控制多面来实现的,后来舵机的体积小、重量轻、扭矩大、精度高等优点,舵机在航模、船模、车模、机器人等领域得到广泛应用。
在航天方面,导弹姿态变换的俯仰、偏航、滚转运动都是靠舵机相互配合完成的;在机器人领域,舵机很适合做机器人关节驱动;在智能车中,舵机主要用于转弯控制,同时也可用于传感器的摇头控制、刹车控制。
1。
2、现状研究
随着社会生产力的不断发展和科学技术水平的不断提高,舵机技术也必将得到进一步的发展。
传统的舵机为模拟舵机,主要由马达、减速齿轮、控制电路等组成,但模拟舵机对于发射机的细小动作,反应非常迟钝,或者根本就没有反应。
而且容易受干扰。
在模拟舵机的基础上,数字舵机的控制电路比模拟舵机的多了微处理器和晶振。
这使得数字舵机在以下两点与模拟舵机不同:
1。
处理接收机的输入信号的方式;2。
控制舵机马达初始电流的方式,减少无反应区(对小量信号无反应的控制区域),增加分辨率以及产生更大的固定力量。
数字舵机能够适应不同的功能要求,并优化性能,“无反应区"变小;反应变得更快;加速和减速时也更迅速、更柔和;能够提供更高的精度和更好的固定力量。
总的来看,舵机的发展可以归纳为以下三个方面:
从性能上看,向高精度、高效率、高可靠性、高适应性方向发展;从功能上看,向小型化、轻型化、多功能方向发展;从层次上看,向系统化、复合集成化方向发展.以现代控制理论为控制规律,实现全数字化、智能化、综合化是未来舵机发展的总趋势.
1。
3、研究内容与设计任务
一、研究内容
本设计重点研究以下几个方面:
(1)舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。
其控制信号是PWM信号,利用占空比的变化改变舵机的位置。
其工作原理与工作方式,这是我们研究的主要内容.
(2)单片机又称为微控制器,它是一种面向控制的大规模集成电路芯片。
我们主要通过单片机输出信号来控制舵机进行工作.所以很好地学会使用单片机是不可或缺的。
(3)无线电遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低的通信方式。
我们采用无线电遥控来控制舵机,需要了解其编码、解码的原理来实现收发信息。
(4)串口是计算机上一种非常通用的设备通信协议。
我们采用串口通信来与计算机上位机进行通信.需要研究串口通信的原理与执行方式。
二、设计任务
通过对以上各项目的研究,本设计使用S1123舵机,其控制信号是PWM信号,利用占空比的变化改变舵机的位置.
主要工作如下:
1.舵机转动角度范围:
0度—180度。
2.转动方式:
左转右转。
3。
无线电遥控控制舵机转动方式。
4。
舵机通过串口模块与单片机机实现通信.
第2章系统总体方案设计
2。
1、系统概述
系统主要包括单片机控制系统,电机驱动模块,舵机模块以及无线遥控模块;通过各个模块的协同配合来完成整个系统的运行。
设计的系统概况:
通过无线遥控发射发出指令,当小车的接受模块接收指令传达给单片机系统,再驱动电机模块和舵机模块协调工作,达到控制小车的目的。
仿真图如下1—1:
图1—1仿真图
2.2、功能说明
2.2。
1、PWM信号输出
使用单片机系统实现对舵机输出转角的控制,首先完成两个任务:
一是产生基本的PWM周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比.
当系统中需要实现对一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将20ms分为两次中断执行,一次短定时中断和一次长定时中断。
短中断输出高电平,长中断输出低电平.这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。
2.3、器件与模块选型
2。
3。
1、主控芯片方案选择
51系列单片机相对于其他单片机(PIC、AVR等),它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器。
其次具有乘法和除法指令,这给编程也带来了便利.而且其I/O脚的设置和使用非常简单,当引脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。
另外一个重要原因是使用该芯片的人很多,网上的资料也很丰富,方便我们学习与研究.
因此选择51系列作为系统控制芯片AT89C51有128byteRAM,4KROM。
它有T0、T1两个16位定时器。
2。
3。
2、晶振方案选择
11。
0592MHz无源晶振
该晶振在计算时钟、串口通信波特率等运算中能够得到一个整数,使通信波特率更精确、串口通信的可靠性更高、计算的结果更加精确与方便。
例如波特率为9600BPS,振动频率为11.0592MHz的单片机每个机器周期为(12/11.0592)us.,每位间隔机器周期个数为(1/9600)/(12/11。
0592*10)=96(即个数=波特率位/机器周期),结果正好为整数。
2。
3。
3、舵机方案选择
数字舵机
数字舵机电子电路中带MCU微控制器,其内部直流伺服电机控制芯片处理接收机的输入信号的方式.然后控制舵机马达初始电流的方式,减少无反应区(对小量信号无反应的控制区域),增加分辨率以及产生更大的固定力量。
有着反应速度更快,无反应区范围小,定位精度高,抗干扰能力强等优势。
但价格昂贵,需要消耗更多的动力。
2.3.4、无线控制模块方案选择
无线电遥控
2.3。
5、最终选型方案
单片机:
stc89c51
晶振:
11.0592MHz无源晶振
舵机:
数字舵机
1、舵机的结构
舵机简单的说就是集成了直流电机、电机控制器和减速器等,并封装在一个便于安装的外壳里的伺服单元。
能够利用简单的输入信号比较精确的转动给定角度的电机系统.
舵机安装了一个电位器(或其它角度传感器)检测输出轴转动角度,控制板根据电位器的信息能比较精确的控制和保持输出轴的角度。
这样的直流电机控制方式叫闭环控制,所以舵机更准确的说是伺服马达,英文servo。
舵机的主体结构如下图所示,主要有几个部分:
外壳、减速齿轮组、电机、电位器、控制电路。
简单的工作原理是控制电路接收信号源的控制信号,并驱动电机转动;齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。
图2-8舵机结构图
2、技术规格
当今使用的舵机有模拟舵机和数字舵机之分,不过数字舵机还是相对较少。
下面的技术规格同时适用与两种舵机。
舵机的规格主要有几个方面:
转速、转矩、电压、尺寸、重量、材料等.我们在做舵机的选型时要对以上几个方面进行综合考虑.
(1)、转速
转速由舵机无负载的情况下转过60°角所需时间来衡量,常见舵机的速度一般在0.11/60°~0。
21S/60°之间。
图2—9舵机转速
(2)、转矩
舵机扭矩的单位是KG·CM,这是一个扭矩单位。
可以理解为在舵盘上距舵机轴中心水平距离1CM处,舵机能够带动的物体重量。
图2—10舵机转矩
(3)、电压
速度、转矩数据和测试电压有关,在4。
8V和6V两种测试电压下这两个参数有比较大的差别.如FutabaS—9001在4。
8V时扭力为3.9kg、速度为0.22秒,在6.0V时扭力为5.2kg、速度为0。
18秒。
若无特别注明,JR的舵机都是以4.8V为测试电压,Futaba则是以6.0V作为测试电压。
舵机的工作电压对性能有重大的影响,舵机推荐的电压一般都是4。
8V或6V。
较高的电压可以提高电机的速度和扭矩。
(4)、尺寸、重量和材质
舵机的功率(速度×转矩)和舵机的尺寸比值可以理解为该舵机的功率密度,一般同样品牌的舵机,功率密度大的价格高。
塑料齿轮的舵机在超出极限负荷的条件下使用可能会崩齿,金属齿轮的舵机则可能会电机过热损毁或外壳变形。
所以材质的选择并没有绝对的倾向,关键是将舵机使用在设计规格之内。
金属齿轮箱在长时间过载下也不会损毁,最后确是电机过热损坏或外壳变形,而这样的损坏是致命的,不可修复的。
塑料出轴的舵机如果使用金属舵盘是很危险的,舵盘和舵机轴在相互扭转过程中,金属舵盘不会磨损,舵机轴会在一段时间后变得光秃,导致舵机完全不能使用。
综上,选择舵机需要在考虑所需扭矩和速度,并确定使用电压的条件下,选择有150%左右甚至更大扭矩富余的舵机。
3、工作原理
以FUTABA—S3003型舵机为例,下图是FUFABA-S3003型舵机的内部电路.
图2-11FUTABA-S3003内部电路图
舵机的工作原理是:
PWM信号由接收通道进入信号解调电路BA66881的12脚进行解调,获得一个直流偏置电压。
该直流偏置电压与电位器的电压比较,获得电压差由BA6688的3脚输出。
该输出送人电机驱动集成电路BA6686,以驱动电机正反转。
当电机转速一定时,通过级联减速齿轮带动电位器旋转,直到电压差为O,电机停止转动.舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。
4、舵机的控制方法
标准的舵机有3条导线,分别是:
电源线、地线、控制线,如下图所示.
图3-8舵机模块
电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源.电压通常介于4~6V,一般取5V。
注意,给舵机供电电源应能提供足够的功率。
控制线的输入是一个宽度可调的周期性方波脉冲信号,方波脉冲信号的周期为20ms(即频率为50Hz).当方波的脉冲宽度改变时,舵机转轴的角度发生改变,角度变化与脉冲宽度的变化成正比。
某型舵机的输出轴转角与输入信号的脉冲宽度之间的关系可用下图来表示。
图2-13舵机输出转角与输入信号脉冲宽度的关系
舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统
其工作原理是:
控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压
它内部有一个基准电路,产生周期为20ms,宽度为1。
5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出
最后,电压差的正负输出到电机驱动芯片决定电机的正反转
当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动
舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置
一般舵机的控制要求如图1所示
图1舵机的控制要求
单片机实现舵机转角控制
可以使用FPGA、模拟电路、单片机来产生舵机的控制信号,但FPGA成本高且电路复杂
对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用
5mV以上的控制电压的变化就会引起舵机的抖动,对于机载的测控系统而言,电源和其他器件的信号噪声都远大于5mV,所以滤波电路的精度难以达到舵机的控制精度要求
也可以用单片机作为舵机的控制单元,使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度
单片机完成控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠
单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:
首先是产生基本的PWM周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比
当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将20ms分为两次中断执行,一次短定时中断和一次长定时中断
这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高
具体的设计过程:
例如想让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为20ms—2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在2ms后发生中断,中断发生后,在中断程序里将控制口改为低电平,并将中断时间改为18ms,再过18ms进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现PWM信号输出到舵机
用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使伺服机灵活运动
为保证软件在定时中断里采集其他信号,并且使发生PWM信号的程序不影响中断程序的运行(如果这些程序所占用时间过长,有可能会发生中断程序还未结束,下次中断又到来的后果),所以需要将采集信号的函数放在长定时中断过程中执行,也就是说每经过两次中断执行一次这些程序,执行的周期还是20ms
软件流程如图2所示
图2产生PWM信号的软件流程
如果系统中需要控制几个舵机的准确转动,可以用单片机和计数器进行脉冲计数产生PWM信号
脉冲计数可以利用51单片机的内部计数器来实现,具体代码如下:
当系统的主要工作任务就是控制多舵机的工作,并且使用的舵机工作周期均为20ms时,要求硬件产生的多路PWM波的周期也相同
使用51单片机的内部定时器产生脉冲计数,一般工作正脉冲宽度小于周期的1/8,这样可以在1个周期内分时启动各路PWM波的上升沿,再利用定时器中断T0确定各路PWM波的输出宽度,定时器中断T1控制20ms的基准时间
第1次定时器中断T0按20ms的1/8设置初值,并设置输出I/O口,第1次T0定时中断响应后,将当前输出I/O口对应的引脚输出置高电平,设置该路输出正脉冲宽度,并启动第2次定时器中断,输出I/O口指向下一个输出口
第2次定时器定时时间结束后,将当前输出引脚置低电平,设置此中断周期为20ms的1/8减去正脉冲的时间,此路PWM信号在该周期中输出完毕,往复输出
在每次循环的第16次(2×8=16)中断实行关定时中断T0的操作,最后就可以实现8路舵机控制信号的输出
也可以采用外部计数器进行多路舵机的控制,但是因为常见的8253、8254芯片都只有3个计数器,所以当系统需要产生多路PWM信号时,使用上述方法可以减少电路,降低成本,也可以达到较高的精度
调试时注意到由于程序中脉冲宽度的调整是靠调整定时器的初值,中断程序也被分成了8个状态周期,并且需要严格的周期循环,而且运行其他中断程序代码的时间需要严格把握
在实际应用中,采用51单片机简单方便地实现了舵机控制需要的PWM信号
对机器人舵机控制的测试表明,舵机控制系统工作稳定,PWM占空比(0.5~2。
5ms的正脉冲宽度)和舵机的转角(-90°~90°)线性度较好
第5章硬件实现
5。
1、硬件实物
以下是焊接好的硬物实物图:
图5—1硬件实物图
第6章总结与展望
本设计主要研究了舵机的结构、工作方式与控制原理,研究了通过改变PWM信号占空比来控制舵机的运行。
基于STC89C51片机输出PWM信号。
PWM信号由舵机接收通道进入舵机后获得一个直流偏置电压,该直流偏置电压与电位器的电压比较,获得电压差来驱动电机正反转。
当电机转速一定时,通过级联减速齿轮带动电位器旋转,当电压差为O时,电机停止转动.
本次设计,我们小组四人,我主要负责舵机部分程。
在充分理解下位机程序的情况下,依照其对应的端口,研究元件特性,合理布局,安排线路,小心焊接,耐心调试,最终得到硬件成品.硬件线路清晰整洁,能够很好地完成我们的设计任务。
但是由于时间较紧、知识面有限等原因,设计不可避免地有部分不足:
1、串口通信协议相对简单,没有合理利用八位数据的传输以完成更复杂的功能、传送更丰富的数据;2、舵机转动方式有些少,能够在此基础上,实现更复杂的运动方式;3、51单片机资源有限,无法拓展更多功能.如果时间上更加宽限,通过查询资料、询问导师等方式,本设计一写能够纠正以上不足,使设计的功能进一步完善,更上一层楼。
通过这几个月的不懈努力,终于完成了本次设计,得到了不错的成果,但是我觉得这个过程是更重要的、更难忘的。
为了很好地完成设计,我不仅将已有的知识运用于实践,而且还通过查询资料等方式学会了新的知识;既考验自己考虑问题的能力,又锻炼了自己的动手能力。
在这过程,我们小组成员共同解决问题,克服一个又一个难关.我们相互鼓舞、相互学习、相互指导。
让我明白了良好的团队协作往往能起到事半功倍的效果.
致谢
在本次设计中,要特别感谢老师给我们的耐心细致的指导与帮助。
对于我们的严格要求,让我们在整个过程中,不至于懈怠与放弃.在每周上报的周报所涉及的问题,都会给我们很细心的指拨与引导,使我们能够拨开迷雾,看到正确的方向。
每当我们遇到难题,无法解决的时候,都能够给予我们很大的帮助。
在老师身上,学到了很多,让我受益匪浅。
在此特向老师表达我的敬意与感谢。
同时也感谢我们的组员,正因为我们的相互合作、相互配合、相互学习、相互鼓励,克服重重困难,我们才能完成本次设计。
设计的成果,是我们共同的汗水与努力的成果.
最后要感谢大学四年培养我的母校-西南民族大学大学,这四年里我学到了很多有用的知识,能够运用到实践当中。
所学到的知识,会使我受用一生。
参考文献
[1]郭天祥编著。
新概念51单片机C语言教程[M].电子工业出版社。
2009
[2]陈忠平编著.基于Proteus的51系列单片机设计与仿真(第2版)[M].电子工业出版社.2012
[3]何宏.单片机原理及应用:
基于Proteus单片机系统设计及应用[M]。
清华大学出版社.2012
[5]张秀关.单片机与计算机串口通信[M].电子工业出版.2013
[6]蔡睿妍。
基于Arduino的舵机控制系统设计[J].电脑知识与技术.2012
[7]gunpole。
舵机知识汇总[EB].果壳网.2011
[8]伺服电机的调试方法[EB]。
电气自动化技术网。
2012
[10]时玮.利用单片机PWM信号进行舵机控制。
北京交通大学。
2005
[11]扈啸,周旭升编著。
单片机数据通信技术从入门到精通[M]。
西安:
西安电子科技大学出版社,2002
[13]宋庆环,才卫国,高志等编著.89C51单片机在直流电动机调速系统中的应用[M].唐山学院,2008
[14]刘昌华,易逵编著。
8051单片机的C语言应用程序设计与实践[M]。
国防工业出版社2007
附录
附录:
程序源代码
#include 〈reg52.h〉
#include #define uchar u