1悬挂运动控制系统(E题)设计与总结报告摘要:该系统以单片机78E52为核心,采用了混合式四相步进电机作为主要驱动机构,参考数控技术中的差补原理,运用解方程的方法来实现此悬挂运动控制系统.由于这个悬挂运动控制系统需要单片机完成大量的数学运算,该设计采用了具有丰富运算功能的C语言来编程,从而在简化了程序的同时提高了运算精度.整个系统功能齐全,步进电机运转平稳,画笔所画出的轨迹清晰平滑,且精度较高;反射式红外线寻迹探测器反应灵敏,运行可靠。系统运用软件编程设计出的计时器更是方便了系统的调试和使用。简明而友好的操作界面很好的实现了人机对话,充分体现了以人为本的设计理念.关键词:单片机(78E52),步进电机,红外线探测器Abstract:Themonitoringsystem,basedonthe78E52,consistsoftwosteppermotors.Thedesignadoptsarithmetictorealizeamovingsubjectcanbecontrolledontheboard.Asthecontrolassignmentmustcompletelotsofmathcalculation.ThedesignuseCtofinishtheprocedureinordertosimplifytheprocedureandincreasestheoperationprecisionsimultaneously.Afterthetest,theentiresystem’sfunctionisgreat.Thesteppermotorsrunssteadily.Theinfraredphotoelectricsensorsresponsequickly,itsmovementisalsoreliable.Andthelinesdrewbythepaintisclearandsmooth,alsothesystem’sprecisionishigh.Thetimerwhichdesignedbythesoftwareishelpfulandusefultothesystemdebugging.Theconciseandfriendlyoperationsurfacemakesexchangebetweenpersonandmachinesverywell,fullymanifestedthepeople-orienteddesignidea.Keywords:78E52,stepmotor,Infraredphotoelectricsensor2目录1.系统设计……………………………………………………………………………………31.1设计要求…………………………………………………………………………………31.1.1总体要求………………………………………………………………………………31.1.2基本部分………………………………………………………………………………31.1.3发挥部分…………………………………………………………………………………31.2方案比较与论证…………………………………………………………………………31.2.1驱动机构的选择………………………………………………………………………31.2.2编程语言的选择…………………………………………………………………………41.2.3显示模块的选择…………………………………………………………………………41.3系统的总体设计……………………………………………………………………………42.硬件单元电路设计……………………………………………………………………………52.1键盘与显示电路设计……………………………………………………………………52.2步进电机的驱动电路设计………………………………………………………………72.3反射式红外线传感器模块设计……………………………………………………………83.系统的软件设计……………………………………………………………………………83.1控制系统软件的总体设计……………………………………………………………83.2画任意设定的线段………………………………………………………………………93.3画圆………………………………………………………………………………………103.4画设定终点坐标的线段…………………………………………………………………133.5步进电机的软件控制………………………………………………………………………133.6红外寻迹…………………………………………………………………………………154.系统调试……………………………………………………………………………………164.1测试使用的仪器…………………………………………………………………………164.2步进电机驱动电路的调试……………………………………………………………174.3画直设定坐标线段的测试………………………………………………………………174.4.画圆程序的测试………………………………………………………………………184.4.1第一次画圆……………………………………………………………………………184.4.2首次改进………………………………………………………………………………184.4.2第二次改进……………………………………………………………………………184.4.3第三次改进………………………………………………………………………………195.结论与总结…………………………………………………………………………………19参考文献………………………………………………………………………………………20附录1主要元器件清单………………………………………………………………………21附录2系统使用说明…………………………………………………………………………2231.系统设计1.1设计要求1.1.1总体要求设计一电机控制系统,控制物体在倾斜(仰角≤100度)的板上运动。在一白色底板上固定两个滑轮,两只电机(固定在板上)通过穿过滑轮的吊绳控制一物体在板上运动,运动范围为80cm×100cm。物体的形状不限,质量大于100克。物体上固定有浅色画笔,以便运动时能在板上画出运动轨迹。板上标有间距为1cm的浅色坐标线(不同于画笔颜色),左下角为直角坐标原点。1.1.2基本部分(1)控制系统能够通过键盘或其他方式任意设定坐标点参数;(2)控制物体在80cm×100cm的范围内作自行设定的运动,运动轨迹长度不小于100cm,物体在运动时能够在板上画出运动轨迹,限300秒内完成;(3)控制物体作圆心可任意设定、直径为50cm的圆周运动,限300秒内完成;(4)物体从左下角坐标原点出发,在150秒内到达设定的一个坐标点(两点间直线距离不小于40cm)。1.1.3发挥部分(1)能够显示物体中画笔所在位置的坐标;(2)控制物体沿板上标出的任意曲线运动(见示意图),曲线在测试时现场标出,线宽1.5cm~1.8cm,总长度约50cm,颜色为黑色;曲线的前一部分是连续的,长约30cm;后一部分是两段总长约20cm的间断线段,间断距离不大于1cm;沿连续曲线运动限定在200秒内完成,沿间断曲线运动限定在300秒内完成;(3)其他1.2方案比较与论证1.2.1驱动机构的选择根据题目要求,要用小型电机来控制图板两边的细线进行收放来调节物体在斜板上的运动。小型电机我们可以选用直流电机或步进电机。下面是对两种电机的分析和比较。方案一:采用直流电机作为系统的主要动力机构.直流电机是日常生活中比较常用的电机类型.直流电机可以采用由小功率三极管8050和8550组成的简单H型PWM电路作为直流电机的驱动.虽然,只需要D/A转换芯TLC5615、脉宽调制芯片TL494、光隔离芯片TLP521等就能够完成单片机对直流电机的控制,其调速也比较平滑.但是本次设计中用到两个电机相互配合来调节物体的升降,要求很高的精度,直流电机较难实现。4方案二:采用步进电机作为系统的主要动力机构.步进电机是一种用脉冲信号进行控制,并将电脉冲转换成的角位移或线位移的控制电机.它可以看作是一种特殊运行方式的同步电机.它由专用电源供给电脉冲,每输入一个脉冲,步进电机就移进一步.这种电机的运动方式与普通匀速旋转的电动机有一定的差别,它是步进式运动的,由于步进电机是受脉冲信号控制的,所以它适合于作为数字控制系统的伺服元件.这就可以用单片机给它送脉冲的次序和频率的变化来达到较为精确的控制步进电机的转向和转速.这就能基本能够满足题目的要求——通过调节电机的转向和转速来更为精确的调节两条细线的收放,来控制物体在板上的运动.通过分析、比较和论证,最后结合题目的实际要求,采用了转速和转向都容易达到较为精确控制的混合式步进电机.1.2.2编程语言的选择方案一:采用汇编语言来进行程序的编写.汇编语言是低级语言,因此设计人员对单片机的硬件结构要有较详细的了解,编程时对数据的存放、寄存器和工作单元的使用等要由设计者安排,一但程序较长,功能较复杂时,其程序就显得不够条理化。而且汇编语言对数学计算显得较弱,精度也不太理想。方案二:采用C语言进行程序的编写,C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,即具有高级语言的优点,又具有低级语言的许多特点.因此,C语言特别适合于编写系统软件.C语言简洁、紧凑,使用方便、灵活;运算符丰富;数据结构丰富;具有结构化的控制语句,用函数作为程序的模块单位,便于实现程序的模块化;生成目标代码质量高,程序执行效率高。其中的运算功能强大非常有实用价值的。通过分析、比较和论证,最后结合题目的实际要求,采用了C语言来实现数学运算较为复杂的此次设计。1.2.3显示模块的选择显示界面能很好的让使用者了解系统的运行状态和操作结果。显示界面的显示效果和显示的信息能够充分反映出的设计者的设计理念和编程技术。方案一:采用点阵式液晶显示器(LCD)显示.虽然其功能强大,可显示各种字体的子数、汉字、图象,还可以自定义显示内容,但是编程复杂,需要完成大量的显示编程工作。而且它也得占用单片机很多的接口。会影响其他的功能模块的实现。方案二:采用八段数码显示管(LED)显示。虽然只能显示很有限的符号和数码字,但完全可以满足本设计数字显示的要求,且编程很简单。用串行显示其占用单片机的I/O口也很少。通过分析、比较、和论证,最后根据题目的实际要求,考虑到两者的价格,采用了后者。1.3系统的总体设计系统方框图如图1—1所示5图1—1本系统可通过键盘输入来选择工作模式和设定具体坐标,LED显示模块实时显示操作者所选择的工作模式、具体的输入参数和物体中画笔所在位置的坐标。单片机根据输入的工作模式和设定的具体坐标参数,从I/O中口的P0口的低四位和P2口的低四位给左右两个步进电机发送相应频率和数量的脉冲,脉冲经过步进电机的驱动电路后,从而达到对步进电机的正反转和加减速控制,最终实现对物体的运动控制。2.硬件单元电路设计硬件电路的设计是整个系统功能实现的必要条件,是设计成功的基础。因此硬件单元电路的设计也马虎不得,认真地做好准备。2.1键盘与显示电路本设计中为了尽量节省单片机的I/O口,采用了具有128段LED显示及64键键盘控制芯片BC7281A,其特点是可驱动8位或16位数码管显示或64/128只独立LED,具有64键键盘接口,内含有去抖动功能。这给设计键盘和LED显示电路带来很大的方便。另外,我们键盘与显示电路是串行方式的,因此,所占用的单片机I/O口才三个。为系统以后的功能扩展流下了较大的空间。的方框图如图2—2所示。单片机(78E52)最小系统键盘输入模块LED显示模块步进电机驱动电路左边步进电机右边步进电机滑轮细线物体等组成的执行机构反射式红外线探测传感器6图2—272.2步进电机的驱动电路设计由于系统中采用的步进电机为混合式,所以我们采用了日本东芝公司生产的MP4020驱动芯片,该芯片的内部电路图如图2—3所示。图2—