毕业设计(论文)基于PWM的直流电机控制

上传人:1888****888 文档编号:39318007 上传时间:2021-11-10 格式:DOC 页数:64 大小:1.64MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于PWM的直流电机控制_第1页
第1页 / 共64页
毕业设计(论文)基于PWM的直流电机控制_第2页
第2页 / 共64页
毕业设计(论文)基于PWM的直流电机控制_第3页
第3页 / 共64页
资源描述:

《毕业设计(论文)基于PWM的直流电机控制》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于PWM的直流电机控制(64页珍藏版)》请在装配图网上搜索。

1、 1论文一:基于 PWM 技术的直流电机控制 摘摘 要要: 在运动控制系统中,电机转速控制占有至关重要的作用,其控制算法和手段有很多,模拟 PID 控制是最早发展起来的控制策略之一,长期以来形成了典型的结构,并且参数整定方便,能够满足一般控制的要求,但由于在模拟 PID 控制系统中,参数一旦整定好后,在整个控制过程中都是固定不变的,而在实际中,由于现场的系统参数、温度等条件发生变化,使系统很难达到最佳的控制效果,因此采用模拟 PID 控制器难以获得满意的控制效果。随着计算机技术与智能控制理论的发展,数字 PID 技术渐渐发展起来,它不仅能够实现模拟 PID 所完成的控制任务,而且具备控制算法灵

2、活、可靠性高等优点,应用面越来越广。关键词:数字 PID;PWM 脉冲;占空比;无静差调节 The control of the DC motor based on PWM modulation techniqueAbstract: In the motion control system, the control of electromotors rotate speed is of great importance, there are a lot of speed control arithmetic and methods ,the analog PID control is one

3、of the earliest developed control policies which has formed typical structure ,its parametric setting is convenient and its easy to meet normal controls demand, but as the whole control process is fixed once the parameter has been set while practically the changes of those conditions like the system

4、 parameters and temperature of the environment prohibit the system from reaching its best control effect, so the analog PID controller barely has satisfied effect. With the development of computer technology and 2intelligent control theory, the digital PID technology is thriving which can achieve th

5、e analog PIDs control tasks and consists of many advantages like flexible control arithmetic and high reliability, it is widely used now. Keywords: digital PID;PWM;dutyfactor;astatic modulation 目前,PID 控制及其控制器或智能 PID 控制器已经很多,产品已在工程实际中得到了广泛的应用。本次设计主要是利用 PID 控制技术对直流电机转速的控制。其设计思路为:以 AT89S51 单片机为控制核心,产生占

6、空比受 PID 算法控制的 PWM 脉冲实现对直流电机转速的控制。同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,构成转速闭环控制系统,达到转速无静差调节的目的。在系统中采 12864LCD显示器作为显示部件,通过 44 键盘设置 P、I、D、V 四个参数和正反转控制,启动后通过显示部件了解电机当前的转速和运行时间。因此该系统在硬件方面包括:电源模块、电机驱动模块、控制模块、速度检测模块、人机交互模块。软件部分采用 C 语言进行程序设计,其优点为:可移植性强、算法容易实现、修改及调试方便、易读等。1 PID 算法及 PWM 控制技术简介1.1 PID 算法控制算法是微机化控制系统的一

7、个重要组成部分,整个系统的控制功能主要由控制算法来实现。目前提出的控制算法有很多。根据偏差的比例(P)、积分(I)、微分(D)进行的控制,称为 PID 控制。实际经验和理论分析都表明,PID 控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法之一。下面分别介绍模拟 PID、数字 PID及其参数整定方法。1.2 数字 PID 3)()(neKnuPp在 DDC 系统中,用计算机取代了模拟器件,控制规律的实现是由计算机软件来完成的。因此,系统中数字控制的设计,实际上是计算机算法的设计。由于计算机只能识别数字量,不能对连续的控制算式直接进行运算,故在计算机控制系统中,首先必须对

8、控制规律进行离散化的算法设计。为将模拟 PID 控制规律按式(1.2)离散化,我们把图 1.1 中)(tr、)(te、)( c) t (tu、 n 次采样的数据分别用)()()()(ncnunenr、表示,于是式(1.1)变为 :)(ne=)(nr)(nc (1.1)当采样周期 T 很小时dt可以用 T 近似代替,)(tde可用) 1()(nene近似代替,“积分”用“求和”近似代替,即可作如下近似 Tnenedttde)1()()( (1.2) tniTiedtte01)()( (1.3)这样,式(1.2)便可离散化以下差分方程 01)1()()()()(uneneTTneTTneKnuni

9、DIP (1.4)上式中0u是偏差为零时的初值,上式中的第一项起比例控制作用,称为比例(P)项)(nup,即 (1.5) 4011)2() 1()() 1() 1(uneneTTneTTneKnuniDIP0)()()()(ununununuDIP0)()()(unununuDP0)()()(unununuIP0)()(ununuP第二项起积分控制作用,称为积分(I)项)(nUI即 niIPIieTTKnu1)()( (1.6)第三项起微分控制作用,称为微分(D)项)(nUd即)1()()(neneTTKnuDPD (1.7)这三种作用可单独使用(微分作用一般不单独使用)或合并使用,常用的组合

10、有:P 控制: (1.8)PI 控制: (1.9) PD 控制: (1.10)PID 控制: (1.11) 式(1.7)的输出量)(nu为全量输出,它对于被控对象的执行机构每次采样时刻应达到的位置。因此,式(1.7)又称为位置型 PID 算式。 由(1.7)可看出,位置型控制算式不够方便,这是因为要累加偏差)(te,不仅要占用较多的存储单元,而且不便于编写程序,为此对式(1.7)进行改进。根据式(1.7)不难看出 u(n-1)的表达式,即 (1.12) 5TTKKDPDIPITTKK0)2()1(2)()()1()(uneneneKneKneneKDIP)(nu)2()1(2)()()1()(

11、neneneKneKneneKDIPPID位置算法控制器被控对象r(t)+-e(t)uc(t)PID增量算法控制器被控对象r(t)+-e(t)uc(t)将式(1.7)和式(1.15)相减,即得数字 PID 增量型控制算式为)1()()(nununu (1.13) 从上式可得数字 PID 位置型控制算式为 (1.14)式中: pk称为比例增益; 称为积分系数; 称为微分系数1。数字 PID 位置型示意图和数字 PID 增量型示意图分别如图 1 和 2 所示:图 1 数字 PID 位置型控制示意图图 2 数字 PID 增量型控制示意图1.3 数字 PID 参数整定方法如何选择控制算法的参数,要根据

12、具体过程的要求来考虑。一般来说,要求被控过程是稳定的,能迅速和准确地跟踪给定值的变化,超调量小, 6UU0U(t)0tTt0U在不同干扰下系统输出应能保持在给定值,操作变量不宜过大,在系统和环境参数发生变化时控制应保持稳定。显然,要同时满足上述各项要求是很困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。PID 调节器的参数整定方法有很多,但可归结为理论计算法和工程整定法两种。用理论计算法设计调节器的前提是能获得被控对象准确的数学模型,这在工业过程中一般较难做到。因此,实际用得较多的还是工程整定法。这种方法最大优点就是整定参数时不依赖对象的数学模型,简单易行。当然,这是一种近似的方

13、法,有时可能略嫌粗糙,但相当适用,可解决一般实际问题。1.4 直流电机的 PWM 控制技术根据 PWM 控制的基本原理可知,一段时间内加在惯性负载两端的 PWM脉冲与相等时间内冲量相等的直流电加在负载上的电压等效,那么如果在短时间 T 内脉冲宽度为0t,幅值为 U,由图 3 可求得此时间内脉冲的等效直流电压为: ,若令 ,即为占空比,则上式可化为: (U 为脉冲幅值) (1.15) 图 3 PWM 脉冲若 PWM 脉冲为如图 4 所示周期性矩形脉冲,那么与此脉冲等效的直流电压的计算方法与上述相同,即TUtU00Tt0 7UTUtnTUntU000键盘模块控制器模块显示模块电机驱动模块直流电机速

14、度检测模块PWM脉冲U(t)0tTt0U2T2t03T3t04t0nT (n+1)t0 (为矩形脉冲占空比) (1.16) 图 4 周期性 PWM 矩形脉冲由式 1.20 可知,要改变等效直流电压的大小,可以通过改变脉冲幅值 U 和占空比来实现,因为在实际系统设计中脉冲幅值一般是恒定的,所以通常通过控制占空比的大小实现等效直流电压在 0U 之间任意调节,从而达到利用 PWM 控制技术实现对直流电机转速进行调节的目的。2 设计方案与论证2.1 系统设计方案 根据系统设计的任务和要求,设计系统方框图如图 5 所示。图中控制器模块为系统的核心部件,键盘和显示器用来实现人机交互功能,其中通过键盘将需要

15、设置的参数和状态输入到单片机中,并且通过控制器显示到显示器上。在运行过程中控制器产生 PWM 脉冲送到电机驱动电路中,经过放大后控制直流电机转速,同时利用速度检测模块将当前转速反馈到控制器中,控制器经过数字 PID 运算后改变 PWM 脉冲的占空比,实现电机转速实时控制的目的。 8图 5 系统方案框图 3 单元电路设计3.13.1 硬件资源分配本系统电路连接及硬件资源分配见图 6 所示。采用 AT89S51 单片机作为核心器件,转速检测模块作为电机转速测量装置,通过 AT89S51 的P3.3 口将电脉冲信号送入单片机处理,L298 作为直流电机的驱动模块,利用 12864LCD 显示器和 4

16、4 键盘作为人机接口。图 6 系统电路连接及硬件资源分配图3.2 电机速度采集电路设计 在本系统中由于要将电机本次采样的速度与上次采样的速度进行比较,通过偏差进行 PID 运算,因此速度采集电路是整个系统不可缺少的部分。本次设计中应用了比较常见的光电测速方法来实现,其具体做法是将电机轴上固定一圆盘,且其边缘上有 N 个等分凹槽如图 7(a)所示,在圆盘的一侧固定一个发光二极管,其位置对准凹槽处,在另一侧和发光二极光平行的位置上固定一光敏三极管,如果电动机转到凹槽处时,发光二极管P0.0P0.712864LCD显示模块P2.7P2.6电机驱动模块P2.0P0.5544键盘P1.0P1.3P1.4

17、P1.744L0L3H0H3P3.2/INT0AT89S51P3.3/INT1电机转速检测四输入与门 9通过缝隙将光照射到光敏三极管上,三极管导通,反之三极管截止,电路如图 7(b)所示,从图中可以得出电机每转一圈在 P3.3 的输出端就会产生 N 个低电平。这样就可根据低电平的数量来计算电机此时转速了。例如当电机以一定的转速运行时,P3.3 将输出如图 8 所示的脉冲,若知道一段时间 t 内传感器输出的低脉冲数为 n,则电机转速 v=r/s。 (a) (b)图 7 电机速度采集方案 图 8 传感器输出脉冲波形4 软件设计4.1 PID 算法本系统设计的核心算法为 PID 算法,它根据本次采样

18、的数据与设定值进行比较得出偏差)(ne,对偏差进行P、I、D 运算最终利用运算结果控制 PWM 脉冲的占空比来实圆盘 光敏三极管发光二极管+5VP3.3470200R1R2计算e(n)计算KIe(n)计算KP(e(n)-e(n-1)计算KD(e(n)-2e(n-1)+e(n-2) 计算u(n)计算u(n)u(n-1)e(n-1)e(n-2)e(n)e(n-1)u(n)u(n-1)返回 图9 PID程序流程 10开始初始化调用清屏子程序开始界面显示设置键按下?调用清屏子程序设置界面显示根据设置计算参数启动键按下?调用清屏子程序电机运行状态显示PWM脉冲输出YNYN0)2()1(2)()()1()

19、(uneneneKneKneneKDIP现对加在电机两端电压的调节10,进而控制电机转速。其运算公式为:)(nu因此要想实现 PID 控制在单片机就必须存在上述算法,其程序流程如图 9 所示。 4.2 程序流程主流程图在一个完整的系统中,只有硬件部分是不能完成相应设计任务的,所以在该系统中软件部分是非常重要的,按照要求和系统运行过程设计出主程序流程如图 10 所示 图 10 主程序流程 115 系统测试与分析为了确定系统与设计要求的符合程度,需要进行系统测试与分析,但是由于试验调节的制约和时间的限制,不能完成此次制作,只能通过软件仿真进行验证,在这里使用的是英国的 Proteus 软件进行测试

20、,对于电机速度采集可根据设定的电机速度计算出 P3.3 口输入的方波脉冲的频率和占空比,来改变等效直流电压的大小,给 P3.3 输入此脉冲来实现电机速度采集。并允许误差存在。下面以 PID 调节器为例,具体说明经验法的整定步骤:让调节器参数积分系数Ik=0,实际微分系数Dk=0,控制系统投入闭环运行,由小到大改变比例系数pk,让扰动信号作阶跃变化,观察控制过程,直到获得满意的控制过程为止。取比例系数pk为当前的值乘以 0.83,由小到大增加积分系数Ik,同样让扰动信号作阶跃变化,直至求得满意的控制过程。积分系数Ik保持不变,改变比例系数pk,观察控制过程有无改善,如有改善则继续调整,直到满意为

21、止。否则,将原比例系数pk增大一些,再调整积分系数Ik,力求改善控制过程。如此反复试凑,直到找到满意的比例系数pk和积分系数Ik为止。引入适当的实际微分系数Dk和实际微分时间DT,此时可适当增大比例系数pk和积分系数Ik。和前述步骤相同,微分时间的整定也需反复调整,直到控制过程满意为止。PID 参数是根据控制对象的惯量来确定的。大惯量如:大烘房的温度控制,一般 P 可在 10 以上,I 在(3、10)之间,D 在 1 左右。小惯量如:一个小电机闭环控制,一般 P 在(1、10)之间,I 在(0、5)之间,D 在(0.1、1)之间,具体参数要在现场调试时进行修正。 12根据上诉方法,通过软件仿真

22、系统得出数据如表 1 所示,通过观察得出该系统比较合适的 P、I、D 三者的参数值为: pk=2, Ik=2.2, Dk=0.2。并且可以反映表 1 测试数据表次数设定pk设定Ik设定Dk设定(r/min)超调量调节时间(s)误差122.20.210084%1232.20.2100155%2342.20.21002211%5412.20.210056%3502.20.2100112%6621.10.210068%27200.21002%15%9823.30.210085%1924.40.210097%21022.20.110086%11122.201006%5%51222.20.31007%5

23、%11322.20.41006%7%4 13通过上诉的数据分析可知,该系统完成了设计的任务及要求,证实了设计方案的可行性和设计方法的正确性。6 结论本课题的目的在于利用单片机实现 PID 算法产生 PWM 脉冲来控制电机转速。到目前为止通过对控制器模块、电机驱动模块、LCD 显示模块、键盘模块、数字 PID 算法等进行深入的研究。完成了硬件电路的系统设计,并且利用Protel99se 软件绘制出 PCB 图纸,但由于实验条件不足没能做出 PCB 板。软件方面利用 C 语言进行编程,增强了程序的可移植性和灵活性,并且利用 Proteus 软件进行仿真更加保证了程序的准确性。7 参考文献1 ST.

24、 L298N 数据手册DB/OL. http:/.2000-7-1/2008-5-9.2 沙占友. 单片机外围电路设计M. 北京:电子工业出版社, 2003:21.3 何立民. MCS-51 系列单片机应用系统设计系统配置与接口技术M. 北京:北京航空航天大学出版社,1990:83-87.4 Behzad Razavi.Design of Analog CMOS and Integrated CircuitsM.McGraw-Hill Companies,2001:28-36.5 Tao Wu,Ykang Yang,Yongxuan Huang,etal. H-PID Controller P

25、arameters Tuning via Genetic AlgorithmsC .Intelligent Controland Automation.Proceedings of the 3rd World Congress on,2000,1:586-589. 6 Cominos P,Munro N.PID controllers:Recent Tuning Methods and Designto Specifi- cationM.Control Theory and Applications,IEE Proceedings,January,2002,149:46. 14附录附录 部分源

26、程序部分源程序一、主程序:main( ) zf=0; flag1=0; EA=1; IT0=1; EX0=1; count=0; en=0; en1=0; en2=0; U0=200; Un=0; cc=0; zanting=0; pwm1=0; pwm2=0; P1=0 xF0; Init_lcd(); /设置液晶显示器 Clr_Scr(); /清屏 left();Disp_Chinese(0,0,dan); /单 left();Disp_Chinese(0,16,pian); /片 left();Disp_Chinese(0,32,ji); /机 left();Disp_Chinese(0

27、,48,de); /的 right();Disp_Chinese(0,0,shu); /数 right();Disp_Chinese(0,16,zi); /字 right();Disp_Digit(0,32,dp); /P right();Disp_Chinese(0,40,di); /I right();Disp_Digit(0,56,dd); /D left();Disp_Chinese(3,16,dian); /电 15 left();Disp_Chinese(3,32,ji); /机 left();Disp_Chinese(3,48,tiao); /调 right();Disp_Chi

28、nese(3,0,shu0); /速 right();Disp_Chinese(3,16,xi); /系 right();Disp_Chinese(3,32,tong); /统 left();Disp_Chinese(6,48,heng); /横线 right();Disp_Chinese(6,0,heng); /横线 right();Disp_Chinese(6,16,jia); right();Disp_Chinese(6,32,xiao); right();Disp_Chinese(6,48,wei); flag0=0; for( ; ; ) /等待设置键按下 if(flag0=1) b

29、reak; Clr_Scr(); /清屏 left();Disp_Chinese(0,32,can); left();Disp_Chinese(0,48,shu); right();Disp_Chinese(0,0,she); right();Disp_Chinese(0,16,zhi); left();Disp_Chinese(2,4,Kp); left();Disp_Digit(2,20,maohao); left();Disp_Digit(2,28,s0); left();Disp_Digit(2,36,s0); left();Disp_Digit(2,44,dian0); left()

30、;Disp_Digit(2,52,s0); right();Disp_Chinese(2,4,Ki); right();Disp_Digit(2,20,maohao); right();Disp_Digit(2,28,s0); right();Disp_Digit(2,36,s0); right();Disp_Digit(2,44,dian0); right();Disp_Digit(2,52,s0); left();Disp_Chinese(4,4,Kd); left();Disp_Digit(4,20,maohao); left();Disp_Digit(4,28,s0); left();

31、Disp_Digit(4,36,s0); left();Disp_Digit(4,44,dian0); left();Disp_Digit(4,52,s0); 16 right();Disp_Chinese(4,4,V); right();Disp_Digit(4,20,maohao); right();Disp_Digit(4,28,s0); right();Disp_Digit(4,36,s0); right();Disp_Digit(4,44,s0); left();Disp_Chinese(6,4,zhuan); left();Disp_Chinese(6,20,xiang); lef

32、t();Disp_Digit(6,36,maohao); left();Disp_Chinese(6,44,zheng); flag1=0; for(set=0;) /等待启动键按下 switch(set) case 0:break; case 1: left();Disp_Digit(2,28,s0); left();Disp_Digit(2,36,s0); left();Disp_Digit(2,52,s0); Kpp=0; for(flag=0,n=0;) left();Disp_Digit(2,28,kong); Delay12864(1000); left();Disp_Digit(

33、2,28,sn); Delay12864(2500); if(flag=1) break; left();Disp_Digit(2,28,sn); Kpp+=10*n; for(flag=0,n=0;) left();Disp_Digit(2,36,kong); Delay12864(1000); left();Disp_Digit(2,36,sn); Delay12864(2500); if(flag=1) break; 17 left();Disp_Digit(2,36,sn); Kpp+=n; for(flag=0,n=0;) left();Disp_Digit(2,52,kong);

34、Delay12864(1000); left();Disp_Digit(2,52,sn); Delay12864(2500); if(flag=1) break; left();Disp_Digit(2,52,sn); Kpp+=0.1*n; set=0; break; case 2:right();Disp_Digit(2,28,s0); right();Disp_Digit(2,36,s0); right();Disp_Digit(2,52,s0); Kii=0; for(flag=0,n=0;) right();Disp_Digit(2,28,kong); Delay12864(1000

35、); right();Disp_Digit(2,28,sn); Delay12864(2500); if(flag=1) break; right();Disp_Digit(2,28,sn); Kii+=10*n; for(flag=0,n=0;) right();Disp_Digit(2,36,kong); Delay12864(1000); right();Disp_Digit(2,36,sn); Delay12864(2500); 18 if(flag=1) break; right();Disp_Digit(2,36,sn); Kii+=n; for(flag=0,n=0;) righ

36、t();Disp_Digit(2,52,kong); Delay12864(1000); right();Disp_Digit(2,52,sn); Delay12864(2500); if(flag=1) break; right();Disp_Digit(2,52,sn); Kii+=0.1*n; set=0; break; case 3:left();Disp_Digit(4,28,s0); left();Disp_Digit(4,36,s0); left();Disp_Digit(4,52,s0); Kdd=0; for(flag=0,n=0;) left();Disp_Digit(4,

37、28,kong); Delay12864(1000); left();Disp_Digit(4,28,sn); Delay12864(2500); if(flag=1) break; left();Disp_Digit(4,28,sn); Kdd+=10*n; for(flag=0,n=0;) left();Disp_Digit(4,36,kong); Delay12864(1000); 19 left();Disp_Digit(4,36,sn); Delay12864(2500); if(flag=1) break; left();Disp_Digit(4,36,sn); Kdd+=n; f

38、or(flag=0,n=0;) left();Disp_Digit(4,52,kong); Delay12864(1000); left();Disp_Digit(4,52,sn); Delay12864(2500); if(flag=1) break; left();Disp_Digit(4,52,sn); Kdd+=0.1*n; set=0; break; case 4:right();Disp_Digit(4,28,s0); right();Disp_Digit(4,36,s0); right();Disp_Digit(4,44,s0); V0=0; for(flag=0,n=0;) r

39、ight();Disp_Digit(4,28,kong); Delay12864(1000); right();Disp_Digit(4,28,sn); Delay12864(2500); if(flag=1) break; right();Disp_Digit(4,28,sn); V0+=100*n; for(flag=0,n=0;) 20 right();Disp_Digit(4,36,kong); Delay12864(1000); right();Disp_Digit(4,36,sn); Delay12864(2500); if(flag=1) break; right();Disp_

40、Digit(4,36,sn); V0+=10*n; for(flag=0,n=0;) right();Disp_Digit(4,44,kong); Delay12864(1000); right();Disp_Digit(4,44,sn); Delay12864(2500); if(flag=1) break; right();Disp_Digit(4,44,sn); V0+=n; set=0; break; if(flag1=1) break; Clr_Scr(); /清屏 left();Disp_Chinese(0,32,dian); /电 left();Disp_Chinese(0,48

41、,ji); /机 right();Disp_Chinese(0,0,zhuang); /状 right();Disp_Chinese(0,16,tai); /态 left();Disp_Chinese(3,0,dang); left();Disp_Chinese(3,16,qian); left();Disp_Chinese(3,32,zhuan); left();Disp_Chinese(3,48,shu0); right();Disp_Digit(3,0,maohao); if(zf=0) 21 right();Disp_Chinese(3,8,zhenghao); else right(

42、);Disp_Chinese(3,8,fuhao); right();Disp_Digit(3,24,s0); right();Disp_Digit(3,32,s0); right();Disp_Digit(3,40,s0); left();Disp_Chinese(6,0,yun); left();Disp_Chinese(6,16,xing); left();Disp_Chinese(6,32,shi); left();Disp_Chinese(6,48,jian); right();Disp_Digit(6,0,maohao); right();Disp_Digit(6,8,s0); r

43、ight();Disp_Digit(6,16,maohao); right();Disp_Digit(6,24,s0); right();Disp_Digit(6,32,s0); right();Disp_Digit(6,40,maohao); right();Disp_Digit(6,48,s0); right();Disp_Digit(6,56,s0); EX1=1; IT1=1; TMOD=0 x11; ET0=1; TL0=0 xb0; TH0=0 x3c; TR0=1; Un=0; if(zf=0) for(;) if(zanting=1) pwm1=0; else pwm1=1;

44、Delay12864(Un); pwm1=0; Delay12864(500-Un); if(zf=1) 22 for(;) if(zanting=1) pwm2=0; else pwm2=1; Delay12864(Un); pwm2=0; Delay12864(500-Un); 23论文二:基于论文二:基于 PWM 技术控制直流电机控制技术控制直流电机控制摘 要本系统采用单片机 C8051F005 作为核心器件对小汽车行驶的自动控制。控制过程是利用反射型光电传感器识别路面黑线信息,保证小车能够有效的寻迹和停止。采用角度传感器测量坡度,通过数据采集系统的处理,完成电动小汽车在跷跷板处于任何角

45、度时的速度及方向控制。利用 PWM (脉宽调制)技术控制直流电机的转速,时间用数码管显示。本设计共使用五支反射型光电传感器,其中利用四支控制车轮的转向,一支控制前进、停止。整个系统较好的实现了题目的要求,达到了较高的性能指标。 关键词:单片机 C8051F005,反射型光电传感器,角度传感器,PWM 技术 24一、 方案的论证与选择根据题目的基本要求,分别对系统各模块进行论证。1、 单片机的选择单片机的选择方案一: 采用传统的 89C51 芯片作为小车的控制中心。51单片机具有价格低廉使用简单等特点,但其运算速度较低。功能比较单一,内部资源比较少,在对小车进行控制时必须外扩芯片, 且本系统需要

46、 A/D、D/A 转换模块但 89C51 中没有,需要外加,控制过程相对比较繁琐。方案二: 采用单片机 C8051F005 作为控制中心。C8051F系列单片机的指令系统与传统的 80C51 单片机完全兼容,且单片机 C8051F005 具有丰富的内部资源,并且包含 12 位精度的A/D、D/A 转换模块,方便了模拟、数字信号的转换,不需要再外加 A/D、D/A 转换模块,并且由于采用流水线技术,比标准51 系列单片机快约 12 倍,除此之外 C8051F 系列单片机还具有操作简单,在线下载易于调试等优点,完全适合于对小车的控制。尤其是其具有丰富的中断源为接收传感器的信息提供了很大的方便。基于

47、上述分析,所以选择方案二。2、 电动机驱动调速模块的选择电动机驱动调速模块的选择方案一: 采用步进电机作为驱动源,此种方案可以轻松地达到调速的目的,但是在原有的小车结构上找到合适的步进电机比较困难,同时也加大了系统的复杂程度,更提高了硬件改造的困难程度,而且步进电机的价格也比较高。方案二: 采用由达林顿管组成的 H 型 PWM 电路。PWM电路由四个大功率晶体管组成 H 桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入控制脉冲的占空比,精确调整电动机转速。这种电路由于管子只工作在饱和和截止状态下,效率非常高。H型电路使实现转速和方向的控制简化

48、,且电子开关的速度很快,稳定性极强,是一种广泛采用的 PWM 调速技术。基于上述分析,拟采用方案二。3、 路面黑线探测模块的选择路面黑线探测模块的选择 25探测路面黑线的工作原理是:光线照射到路面并反射,由于黑线和白纸的反射系数不同,可根据接收到的反射光强弱判断是否到达黑线方案一: 不调制的反射式红外发射接收器。由于采用红外管代替普通可见光管,可以降低环境干扰;但如果直接用直流电压对管子进行供电,限于管子的平均功率要求,工作电流只能在 10mA 左右,仍然容易受到干扰。方案二: 采用电光开关(E3F-DS0C4) ,此电光开关默认为低电平,当检测到黑线时会输出高电平给单片机,从而产生中断。此电

49、路有助于降低输入阻抗且硬件电路简单易于软件控制,还可以有效将光电检测结果送入单片机处理。基于上述考虑,拟采用方案二。4、 显示选择显示选择方案一:采用静态驱动法。输出一次显示数据后,所有数码管可以一直保持显示,只需要改变显示内容时才重新发送一次显示数据,但实时性差,不宜采用。方案二:采用动态驱动法原理。每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时间间隔小于 1/16S 时人眼感觉不到闪烁,看到的是每只数码管常亮。以上两种方案综合考虑,采用方案二。5、 电源的选择电源的选择方案一:双电源供电。用两个电源分别给控制系统和电机系统供电将两个系统完全隔离,利用光电耦合传

50、输信号,这样做虽然可以将电动机驱动所造成的干扰大大降低但操作复杂不如单电源方便灵活。方案二:采用单一电源(6 节 AA 电池)供电方案,并在单片机与电机驱动电路间采用了光电耦合器进行连接,这样既能简化电路,提高了电源的可靠性,从而提高系统的稳定性。基于上述分析,拟采用方案二。二、系统框图及工作原理 图2-1给出了系统组成框图,数据采集通过反射型光电传感器完成对黑线的检测,并以电信号脉冲的形式送入单片机的中断源,五支反射型光电传感器依图由上至下顺序分别与单片机的 26P1.6、P1.7、P0.2、P1.5、P1.4相接,单片机对送来的信号进行分析、处理,角度传感器将采集的信息通过A/D模块进行采

51、集,经处理后发出指令对小车实施控制,使电动车在行驶中速度得以调整。另外,单片机通过内部时钟对行驶时间进行记录并显示。图 1 系统组成框图三、系统的硬件设计1、电机驱动电路模块、电机驱动电路模块电动机 PWM 驱动模块的电路见附图 2。本电路采用的是基于 PWM 原理的 H 型驱动电路。该电路采用 TIP122 和 TIP127大功率达林顿管,以保证电动机启动瞬间的电流要求。电路工作过程:当 40106 的 1 脚为高电平,5 脚为低电平时,Q1、Q4 管截止,电动机正转。当 40106 的 1 脚为低电平,5 脚为高电平时,Q2、Q3 管截止,Q1、Q4 管导通,电动机反转。控制系统电压统一为

52、 5V 电源,因此若达林顿管基极由控制系统直接控制,则控制电压最高为 5V,再加上三极管本身的压降,加到电动机两端的电压就只有 4V 左右,减弱了电动机的驱动力。基于上述考虑,我们运用了 4N25 光耦集成块,将控制部分与电动机的驱动部分隔离开来,这样不仅增加了各系统模块之间的隔离度,也使驱动电流得到了大大的增强。单片机前左传感器前右传感器中传感器后左传感器后右传感器角度传感器驱动电机LED 显示 27至于 40106 的 1 脚与 5 脚这对控制电压,我们采用了200KHz 的周期信号控制,通过对其占空比的调整,对车速进行调整。最小脉冲为 0.2ms,可以满足车速调整的精度要求。同时,可以通

53、过 40106 的 1 脚与 5 脚的切换来控制电动机的正转与反转。2、传感器模块、传感器模块2.1 反射型光电传感器光电传感器在受到可见光照射后即产生光电效应,将光信号转换成电信号输出。它除能测量光强之外,还能利用光线的透射、遮挡、反射、干涉等测量多种物理量,如尺寸、位移、速度、温度等,因而是一种应用极广泛的重要敏感器件。本系统采用了反射型光电传感器,利用黑色寻迹线对光反射很弱,使传感器输出低电平传给单片机。单片机输出相应的指令从而控制小车的转向。本设计共使用五支反射型光电传感器,前左、前右传感器安装在两前轮中间位置并分别与单片机 P1.6、P1.7 口相接,控制小车前轮的转向,后左、后右传

54、感器安装在两后轮中央,与P1.5、P1.4 口相连,控制小车的前进、后退,中传感器安装在车体中间一侧位置并与单片机 P2.0 口连接,用于检测横向黑线,控制小车的行驶、停止。当传感器检测到信号后,传给单片机产生中断,并发出相应指令调速。保证小车能够有效的寻迹和停止。2.2 角度传感器角度传感器经常用于系统的水平测量,从工作原理上可分为“固体摆”式、 “液体摆”式、 “气体摆”三种倾角传感器,本系统采用的是固体摆式角度传感器 AME-B001,其输出为模拟量,转角范围是 0360 度,输出电压范围是 0.54.5V ,平衡位置电压约为 1.7V。此传感器具有磁钢位置未对准自动补偿;故障检测功能;

55、非接触位置检测功能,是满足苛刻环境应用需求的理想选择三个优点。根据坡度的不同,单片机通过 A/D 模块采集到不同的电压,再根据电压值的不同控制小车上下坡的速度,从而防止小车上坡时因为速度小而不能爬上及下坡时因为速度过大而冲下跷跷板,保证了小车在上下坡时的正常行驶。小车在跷跷板上行驶受重力 G、支持力 N、电机的拉力 F拉和与行驶方向相反的摩擦力 f,跷跷板与地面夹角为 。受力情况分析如下图所示。 28图 2 小车受力分析若使小车在跷跷板上保持匀速行驶,则应受力平衡,故水平方向应满足: NSinCosFfSinL经受力分析可知:f=Ug; N=Gcos.经推倒可得出拉力与 的关系为:SinuFG

56、L1根据拉力与电机扭力的关系:F 拉= X%*F 扭即可得出倾角 与电机扭力的关系: .%)(XSinuGFn3、显示电路模块、显示电路模块动态驱动法对数码管的笔画端与公共端都加有驱动电路。将数码管的笔画端连接在一起,驱动电路将显示字形码(段码)同时加在每只数码管上。各个数码管的公共端分别使用驱动器件驱动。任意一个时刻只有一只数码管的公共端被驱动(位码) ,故只有该数码管能显示。其他数码管由于公共端未被驱动,即使笔画端加有段码驱动也不会显示。位驱动电路不停地轮流驱动每一只数码管,段驱动同时输出被驱动的数码管的段码,这样每只数码管轮流显示各自的字符。由于人眼具有视觉暂留特性,当每只数码管显示的时

57、间间隔小于 1/16S 时人眼感觉不到闪动,看到的是每只数码管常亮。电路原理图见附图 3 所示。 4、电源电路模块、电源电路模块F拉GNf 29本设计采用单电源供电,具体电路见附图 4 所示。四、系统的软件设计采用两根跳线通过三次切换,实现题目要求的功能。1、基本要求基本要求 1、2 程序流程图程序流程图 由于基本要求部分的实现功能基本相似,只是跷跷板的状态不同,故基本部分采用一个流程图,见附图 6。先将跷跷板固定在水平状态,电动车从起始端 A 位置出发,行驶跷跷板的全程(全程的含义:电动车从起始端 A 出发至车头到达跷跷板顶端 B 位置) 。停止 5 秒后,电动车再从跷跷板的B 端倒退回至跷

58、跷板的起始端 A,电动车能分别显示前进和倒退所用的时间。前进行驶在 1 分钟内、倒退行驶在 1.5 分钟内完成。跷跷板处在图 1 所示的状态下(配重物体位置不限制) ,电动车从起始端 A 出发,行驶跷跷板的全程。停止 5 秒后,电动车再从跷跷板的 B 端倒退回至跷跷板的起始端 A,电动车能分别显示前进和倒退所用的时间。前进行驶在 1.5 分钟内、倒退行驶在 2 分钟内完成。流程图见附图 6。2、发挥部分发挥部分 1 程序流程图程序流程图发挥部分和基础部分的情况相同,均可以采用一个流程图,见附图 7。由参赛队员将配重物体设定在可移动范围中的某位置,电动车从起始端 A 出发,当跷跷板达到平衡时,保

59、持时间不小于 5秒,同时发出声光提示,电动车显示所用的时间。全过程要求在2 分钟内完成。此要求能够完成的好坏主要依赖于1预先测绘的精度;2停止位置的准确度。3、发挥部分发挥部分 2 程序流程图程序流程图在可移动范围内任意设定配重物体的位置(由测试人员指定),电动车从起始端 A 出发,当跷跷板达到平衡时,保持时间不小于 5 秒,同时发出声光提示,电动车显示所用的时间。全过程 30要求在 2 分钟内完成。流程图见附图 7。五、实际测试1. 测量设备测量设备模拟跑道(跷跷板):总长 160mm,A、B 两点至跷跷板中心转轴各长 80mm 卷尺:精度 mm 秒表:精度秒2. 时间测试时间测试 可以在规

60、定时间内完成任务。测试次数第一次第二次第三次前进时间(S)6后退时间(S)4.2六、 结论1. 实现了小车在水平跷跷板上自动检测黑线、往返基本功能。 2. 精确显示出小车在前进、倒退过程中所用的时间。3. 实现了小车在跷跷板有一定坡度状态时速度的控制,保证小车正常行驶,并准确显示时间。参考文献1 何宏单片机原理及接口技术北京:国防工业出版社,20062 李忠国、陈刚单片机应用技能实训北京:人民邮电出版社,2006 3 袁秀英、李珍单片机原理与实验教程北京: 航空航天大学出版社,2006 4 李珍袁秀英单片机习题与应用教程北京: 航空航天大学出版社,20065 黄智伟全国大学生电子设计竞赛系统设

61、计北京: 航空航天大学 31出版社, 2006 6 黄智伟全国大学生电子设计竞赛电路设计北京: 航空航天大学出版社, 2006 32附 录附图 1、电动车原理图 33MV CCC4R11MC5C620pCRY2CP1-1CP1+2CP0-3CP0+4AGND5VREF6AIN 07AIN 18AIN 29AIN 310AIN 411AIN 512AIN 613AIN 714AGND15AV+16AV+17XT118XT219/RST20TMS21TCK22P3.323P3.224P3.125P3.026P2.127TDI28TD029DGND30VDD31P1.532P2.033P1.434P

62、1.335P1.236P1.137P1.038P0.039VDD40DGND41P0.142P2.743P2.644P3.745P3.646P0.247P0.348P0.449P0.550P2.551P2.452P2.353P2.254P0.655P0.756P3.557P3.458P1.759P1.660DGND61VDD62DAC163DAC064IC2SZV CCD7D6D5D4D3D2D1D0WR/RD/C/DR10R12R16R17SZV CCRSTP3.1P3.3P3.0P3.2P3.7P3.6P3.5P3.4+5V12345678910JTA G110PINSZV CCP1.7P

63、0.1P0.2P0.0P0.3P0.4P1.0P1.1P1.2P1.3P1.4P1.5P1.6P0.5P0.6P0.7C7CA PC9C12 10UC140.1R56 200RW1C13 10UC150.1七112DL1DAC1DAC0CP1-CP1+AIN 0AIN 1AIN 2AIN 3AIN 4AIN 5AIN 6AIN 7CP0-CP0+12345678TL1R31R32R33R34R36R37R38R39R40R41R42 R43 R44 R45 R46 R47R48 R49 R50 R51 R52 R53 R54 R55+5V+5V 34RP710kRP610kE3R194.7k1

64、2345678910111213141516171819202122七七七七七WR/RD /C/DD0D1D2D3D4D5D6D7-15V+5V+5V+5V+5V七3七1七2七3+5V七4七2七112345678910111213141516七七七1MV CCSZVCC 351234567891011121314151617181920J1七七七七七七+5VP3.1P3.3P3.0P3.2P3.7P3.6P3.5P3.4D7D6D5D4D3D2D1D012345678910111213141516七七七16PINRS T+5VSZVCCK1K2K3K4INT0 1234567891011121

65、3141516RP116PINAIN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7DAC1DAC0CP1-CP1+CP0-CP0+12345678910310PINTXDRST+5VRXD 36P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.712345678910111213141516171819202122232425262728293031323334353637383940B140PINP3.1P3.3P3.0P3.2P3.7P3.6P3.5P3.4D7D6D5D4D3D2D1D0P1.1P1.3P1.0P1.2P1.7P1.6P1.5P1.4SZVCC+5

66、VSZVCC+5VT 2in10R2out9R2in8T 2out7V-6C2-5C2+4C1-3V+2C1+1T 1in11R1out12R1in13T 1out14GN D15VCC16U2232C19C20C21C22+5V+5VC11CPU-TCPU-RRX DT XD 37附图 2 电机驱动电路123456J4C ON 6VCC M IPM 1FBM 2PM 2FBR 71KR 62KIC 2COPTO4VCCM IPQ5TIP127MVCCC 20.1uF 12IC IA40106IC 2BOPTO4R 51KIC 2AOPTO4R 41KVCCVCCQ1TIP127Q3TIP12212J1M O TO R 1R 11KC 10.1uFQ2TIP127Q4TIP122R 22KR 32KM1VCC M 1BM 1FM 1BM 1FIC 3AOPTO2R 121KIC 2DOPTO4R 111KVCCVCCQ6TIP127Q8TIP12212J2M O TO R 2R 81KC 10.1uFQ7TIP127Q9TIP122R 92KR 202KM2VCC M 2BM 2FM

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!