电机控制范文

2023-09-11

电机控制范文第1篇

摘 要:运用PLC技术、步进电机控制技术和组态监控技术,对切药机系统进行改造,设计了PLC控制的自动切药机系统。采用西门子S7-200 CPU226 PLC,输出PTO脉冲信号控制M415B步进电机驱动器,驱动步进电机42J1834-810,从而控制上、下皮带运动,把需要切削的药物送到指定位置进行切削,并利用组态王监控软件实现系统的操作监控。实践表明,改造后的系统运行更加稳定、可靠、安全,易操作,易监控。

关键词:西门子PLC;自动切药机;步进电机;组态王

一、系统总体设计

为了实现切药的安全性、可靠性以及生产的连续性,提高切药的自动化水平,达到减轻劳动强度,改善操作环境,从而实现生产的综合管理。在充分考虑本工程切药工艺特性的基础上,结合切药机工作的现状,按照具有先进技术水平的现代化系统的理念对原有系统进行改造、设计。

(一)系统设计目地及要求

自动切药机系统实施改造的目标:(1)集中管理、分散控制。整个切药系统处理工艺的控制由三级组成:第一级:就地控制,即现场电气控制的按钮等直接控制。第二级:过程控制,基于PLC的智能化现场监控系统。第三级:监控管理,实现整个系统的运行监视、质量管理和数据服务;(2)功能完善、管理有序。中央控制室实施整个系统的运行监视、数据服务和设备管理;实时显示、静态和动态运行工况。现场监控系统具有本地,远程两种操作模式。对不同的操作者,赋予不同的操作权限,保证整个系统的安全可靠运行。

(二)系统结构设计

使用PLC控制步进电机驱动器,再由驱动器来驱动防爆步进电机,防爆步进电机带动皮带的传动从而控制进料的长度;通过PLC控制两个气缸,其中一个气缸控制固定夹的夹紧与松开另外一个气缸控制切刀的起落,从而完成切料的工作;通过温度传感器来检测切刀的温度,当切刀温度达到设定值后,系统停止动作,发出警报。使用组态监控软件对系统工作的整个过程进行监控,实时显示静态和动态运行工况。

二、系统硬件设计

PLC控制的自动切药机系统的硬件主要由PLC控制模块、步进驱动模块、气动控制模块等组成。

(一)PLC控制模块

根据系统的控制要求,选用西门子S7-200 CPU 226CN PLC作为控制器,它具有24个输入点与16个输出点,而且该PLC具有高速脉冲输出PTO(Pulse Train Output,脉冲串输出)功能,可以驱动步进电机运动。当系统切药的切削速度过快时,将导致切削刀口温度过高,容易产生火花,引起炸药燃烧或者爆炸,带来安全隐患。因此,通过温度传感器进行切削刀口温度检测,并把检测温度送入PLC进行处理,并在监控软件中显示。如果温度超过系统设定温度,进行报警,并自动停机。

(二)步进驅动模块

步进驱动模块由步进电机和步进驱动器组成。自动切药机系统有两套步进驱动模块,分别控制上皮带、下皮带的运动。

步进驱动器接收PLC发出的高速脉冲信号及方向电平信号,并将这些信号转换成驱动步进电机的信号。步进电机旋转方向由方向电平控制;步进电机旋转速度由脉冲信号的频率控制;步进电机旋转角度由脉冲信号的数目控制。

选用四相步进电机42J1834-810,与之配套的驱动器选用美国IMS公司生产的M415B细分型步进电机驱动器。42J1834-810步进电机步距角为 。通过驱动器设置细分精度,最高可以达到12800个脉冲电机转一圈。步进电机驱动器M415B细分设定由拨码开关SW4、SW5、SW6设定。设置SW4=ON、SW5=OFF、SW6=ON,细分设置为800步数/圈,即800个脉冲使步进电机转一圈,此时步距角为 。

三、系统软件设计

(一)程序设计

软件采用模块化设计方法,主要由主程序、Q0.0(控制上皮带步进电机)输出脉冲子程序、Q0.1(控制下皮带步进电机)输出脉冲子程序等模块组成。

(二)主程序设计

主程序首先检测上、下皮带的运动方向,装入脉冲串值,然后调用Q0.0、Q0.1输出脉冲子程序,并判断脉冲串输出是否完成,最后判断定位是否完成。

(三)监控系统设计

系统的上位机监控软件采用组态王。组态王开发监控系统软件,是新型的工业自动控制系统,它以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统。

四、结论和建议

由于本系统被控对象的特殊性,所以系统的控制核心思想一直围绕系统的安全性进行设计。具有以下特点:(1)设备改造前的所有功能全部实现,硬件线路除控制线路外不作任何改动;(2)切刀在切药的时候,由于和药有摩擦,会使切刀表面的温度升高,当温度达到炸药的临界爆炸点时,很容易引燃或引爆炸药。所以经此考虑,采用高精度温度传感器对切刀的温度进行实时的监控,并在监控画面上显示出来,当温度达到设定值时,系统立即停机散热,在监控画面上报警,显示报警原因,提醒操作人员;(3)由于现场加工环境的特殊性,将PC机设在中央控制室,可以通过PC机操作切药机,同时在现场安装就地操作面板,方便操作员在现场进行操作;(4)切药机在工作过程中,实时监测送料电机的方向及转速并与设定值比较,如不一致驱动器将发出错误报警,并在监控画面上显示出来;(5)在生产现场安装高清防爆摄像头,对生产现场进行监控。

实践表明,改造后的切药机系统运行更加稳定、可靠、安全,易操作,易监控。

参考文献:

[1]李庭贵.基于PLC和步进电机的立体仓库存储系统精确定位控制设计[J].制造业自动化,2011(33)(11上):149-153.

[2]章国华,苏东.典型生产线原理?安装与调试(西门子PLC版本)[M].北京:北京理工大学出版社,2009.

[3]陶权,韦瑞录.PLC控制系统设计?安装与调试[M].北京:北京理工大学出版社,2009.

[4]郭新照,汪兴科.采用MCGS在焊接用材料分拣装置中的监控软件设计[J].装备制造技术,2009(03):73-74.

[5]李明钊,杨承志.基于PLC的卷烟自动分拣系统[J].工业控制计算机,2008(21):88+90.

[6]张铁异,何国金,黄振峰.基于PLC控制的混合型气动机械手的设计与实现[J].液压与气动,2008(09):6-8.

[作者简介]刘庭辉(1970.02-),男,四川泸州人,高级技师,研究方向:电气维修;刘浩然,技术员,研究方向:电气维修。

电机控制范文第2篇

摘要:针对传统发电机励磁控制系统用于感性冲击负载存在启动电流过大过载导致发电机启动失败机组焖机的缺陷,提出一种新的励磁控制方法,以实现不同负载电流、不同时间发电机组输出不同电压,并介绍了系统的结构和原理,实验结果显示此方法适合于启动较大功率的空调、水泵等感性冲击负载。

关键词:励磁控制,自动电压调节,感性冲击负载

1.引言

现有通用中小型汽油、柴油交流发电机组中,带有自动电压调节器的发电机组由于输出电压稳定,谐波含量较少而深受广大用户的偏爱。自动电压调节器作为发电机组励磁系统的重要组成部分,一直是各界研究的一个重要课题。[1]

目前市场上常见的自动电压调节器多采用输出电压闭环调节的控制方式,即根据发电机输出交流电压控制转子励磁占空比:当输出电压偏高,减小转子励磁占空比;当输出电压偏低,增大转子励磁占空比。这种控制方式对于我们日常生活中照明、加热等一些常见阻性负载适应性较好,但对于水泵、空调压缩机等感应电动机负载,由于启动瞬间电流较大或者过载情况,输出电压下降,在电压闭环调节作用下,自动电压调节装置会工作在最大占空比状态,机组瞬间输出功率远大于机组实际输出能力,常常导致启动失败,甚至机组焖机损坏。

本文介绍的一种新的发电机励磁控制方法可以有效解决上述难题,启动较大功率容量的空调、水泵等感性冲击负载。

2.励磁控制系统的组成与工作原理

本文介绍的控制方法克服了现有技术缺陷,针对感性负载启动瞬间,由于冲击电流过大导致启动失败的情况,提供一种基于负载电压、负载电流、负载持续时间自动调节励磁输出,从而控制发电机组输出功率的控制方法。一方面,将负载电流作为影响励磁输出的一个因素,实际上是将输出电流和输出电压关联起来,根据不同的输出电流控制发电机组的输出功率,防止机组因为输出功率过大而造成焖机损坏;另一方面,由于将负载持续时间作为影响励磁输出的另一个因素,实际上是利用机组惯性,瞬间输出较大的冲击功率,能使机组顶住感性负载启动瞬间的冲击,使感性负载成功启动。

发电机励磁控制系统包括电压测量电路,电流测量电路、功率转换电路和主控单元电路以及过流保护器短路控制电路等。电压测量电路测量发电机输出电压,并将所测结果输出给主控单元;电流测量电路测量发电机输出电流,并将所测结果输出给主控单元;主控单元电路根据电压测量电路和电流测量电路的输出控制功率转换电路的输出占空比。图1为本发电机励磁控制系统框图。

主控单元电路根据电压测量电路和电流测量电路的输出控制功率转换电路的输出占空比,其工作特征为:当电流测量电路输出低于设定值时,主控单元主要根据电压测量电路的输出动态调节功率转换电路输出占空比,以维持发电机输出电压稳定;当电流测量电路输出高于设定值时,主控单元电路根据电压测量电路的输出、电流测量电路的输出和负载持续时间循环改变功率转换电路的输出占空比,使发电机在极限功率输出和设定功率输出两种状态之间循环。

其中发电机工作在设定功率输出状态下且电流测量电路输出高于设定值时,主控单元根据电压测量电路的输出和电流测量电路的输出控制功率转换电路输出占空比,使得发电机工作在降电压输出模式、恒功率输出模式和恒电流输出模式。

3.控制系统的控制流程

设定输出功率模式为降电压输出模式的控制系统控制流程图如图2所示。当发电机组由发动机带动旋转到一定转速后,系统开始建压,主控单元以一恒定的频率f循环读取负载电流测量电路输出值I。如果I小于等于设定值Is,励磁输出主要根据电压测量电路输入V进行动态调节励磁输出占空比,使发电机处于稳压输出环节;如果I大于设定值Is,进一步读取系统计数器值T,如果T为0,则将T赋值为Tm,如果T大于0,则将T减1,减1后如果T还大于极限功率输出时间T0,励磁输出占空比主要根据负载电压动态调节,以实现稳压输出,此时由于电流和电压都比较大,发电机组处于输出功率开环模式,即极限功率模式;减1后如果T小于等于T0,励磁输出进一步根据I适当减小,使输出电压降低,这样发电机功率输出处于闭环控制模式,即设定功率输出模式。当下一个计时周期到达时,读取负载电流测量电路输出值I并重复上述过程。

设定输出功率模式为恒功率模式和恒电流模式与降电压模式原理类似,不再赘述。

4.实验结果

本文所述的发电机励磁控制模块实物如图3所示。其中白色线为18V交流电压采样线,蓝色线为输出负载电压采样线,红黑线为发电机碳刷线,棕色线为断路器线束,另由电流互感器负责负载电流取样。

实验基于2.5KW的汽油发电机组,负载电流、负载电压和励磁装置主控单元控制方式转换触发波形如图4所示。示波器CH1波形为负载电压波形,CH2为电流互感器输出经过整流后的信号,CH3波形为冲击电流触发波形(即系统控制模式转变触发信号),CH4波形为负载电流波形。可以看到:当系统处于设定功率输出状态时,如电流测量电路输出高于设定值(CH2),系统发出模式转换触发信号(CH3)使系统根据电压测量电路的输出和电流测量电路的输出控制功率转换电路输出占空比,使发电机输出电压适当下降(CH1),这样在机械系统惯性作用的配合下使输出电流瞬间能大幅提高(CH4)。

本励磁装置已成功应用于某型2.0kW左右的发电机组,该型发电机组可以让一台1.5匹的空调成功启动并平稳运行,即使空调在异常断电停机的情况也可以顺利启动,此时启动电流瞬间可以达到25A左右。而市场上正常的2.0kW的发电机组启动过程中会因为启动电流太大而导致机器直接熄火。

5.结语

本文提出了一种发电机励磁控制系统控制方法,根据负载电压、负载电流和负载持续时间同时控制输出励磁占空比,以实现不同负载电流、不同时间发电机组输出不同电压。该控制方法利用发电机组系统惯性可以循环实现发电机瞬间大电流冲击输出。相比于相同容量的传统发电机组,更适合于较大功率的空调、水泵等感性冲击负载。

参考文献

[1]李基成.现代同步发电机励磁系统设计和应用[M]. 北京:中国电力出版社,2006.

[2]赖广显 新型柴油发电机组. 人民邮电出版社,2004.

电机控制范文第3篇

摘要:为了适应时代的发展,培养当代机器人产业所需的优秀人才,全国大学生机器人大赛RoboMaster应运而生。本文以RoboMaster竞赛为背景,介绍了CAN总线技术在电机控制中的应用,并将CAN总线与无刷直流电机组合成性能良好的模块用于机器人的底层驱动,建立了迈克纳姆轮的运动分解模型,讨论了嵌入式的PID算法控制。

关键词:RoboMaster;CAN总线;无刷直流电机;PID控制;机器人运动控制

作为共青团中央主办的全国大学生机器人大赛中的赛事之一,全国大学生机器人大赛RoboMaster以机器人对抗射击为主体,强调机器人的对抗性和技术性,鼓励机器人自动化和智能技术的发展。同时,RoboMaster通过平衡比赛的技术难度和观赏性,在全社会普及机器人知识和工程技术之美。

RoboMaster比赛强调工程技术和团队合作能力,对青年工程师及科学家的创新意识、技术水平、沟通交流能力的培养起到了很好的作用。在赛场上,选手可以在团队中展现技术实力与创新才华,通过合作获得优异成绩;观众能够通过机器人的对抗体验刺激的竞技乐趣,感受人与科技的无缝衔接。

本文结合机器人的底盘驱动控制和两轴云台发射机构,主要介绍CAN总线在无刷直流电机控制中的应用以及PID算法控制。

● CAN总线简介

CAN(Controller Area Network)是ISO國际标准化的串行通信协议。[1]在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发出来。[2]由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为满足减少线束的数量、通过多个LAN进行大量数据的高速通信的需要,1986年德国电气商博世公司开发出面向汽车的CAN通信协议。此后,CAN通过ISO11898及ISO11519进行了标准化,在欧洲已是汽车网络的标准协议。[3]

CAN总线通信是通过数据帧、遥控帧、错误帧、过载帧和帧间隔五种类型的帧进行。数据帧是用于发送单元向接收单元传送数据的帧;遥控帧是用于接收单元向具有相同ID的发送单元请求数据的帧;错误帧是用于当检测出错误时向其他单元通知错误的帧;过载帧是用于接收单元通知其尚未做好接收准备的帧;帧间隔是用于将数据帧及遥控帧与前面的帧分离开来的帧。在本文中使用STM32F4单片机进行CAN通信,主要使用的是数据帧,一般由7个段构成,即帧起始、仲裁段、控制段、数据段、CRC段、ACK段和帧结束。

STM32F4自带的是bxCAN,即基本扩展CAN。[4]它支持CAN协议2.0A和2.0B,能以最小的CPU负荷来高效处理大量收到的报文,支持报文发送的优先级要求。对于安全需求高的应用,bxCAN提供所有支持时间触发通信模式所需的硬件功能。STM32F4的CAN发送流程包括程序选择一个空置的邮箱,设置标识符、数据长度和发送数据,设置CAN_TIxR的TXRQ位为1,请求发送,邮箱挂号,预定发送,发送和邮箱空置。

CAN接收到的有效报文,被存储在3级邮箱深度的FIFO中。FIFO完全由硬件来管理,从而节省CPU的处理负荷,简化软件并保证数据的一致性。应用程序只能通过读取FIFO输出邮箱,来读取FIFO中最先收到的报文。这里的有效报文是指那些被接收的且通过了标识符过滤的报文。

CAN接收流程包括FIFO空、收到有效报文、挂号1、收到有效报文、挂号2、收到有效报文、挂号3、收到有效报文和溢出。FIFO接收到的报文数,可以通过查询CAN_RFxR的FMP寄存器来得到,在FMP不为0时,可以从FIFO读出收到的报文。

● CAN总线电机控制

1.无刷直流电机简介

无刷直流电机被广泛地用于日常生活用具、汽车工业、航空消费电子、医学电子、工业自动化等装置。无刷直流电机不使用机械结构的换向电刷而直接使用电子换向器。无刷直流电机属于同步电机的一种,它的定子产生的磁场和转子产生的磁场具有相同的频率,所以无刷直流电机不会有普通感应电机的频差现象。[5]本文主要介绍应用最为广泛的三相无刷直流电机。

无刷直流电机的定子绕组可以分为梯形和正弦两种。绕组形式的不同将影响电机的反电动势波形,进而影响电机的性能。转子的结构主要有表面粘贴式磁极、嵌入式磁极和环形磁极。无刷直流电机常用的位置传感器有电磁式、光电式等。相对传统的有刷电机、感应电机,无刷直流电机拥有更高的转速扭矩比、良好的动态特性、高效率、长寿命、低噪声、宽转速范围、制造容易等优良特性。

2.无刷直流电机与CAN电调

本文以大疆的C620电调为例进行说明,它采用32位定制电机驱动芯片,使用磁场定向控制技术,实现对电机转矩的精确控制,与M3508无刷直流电机搭配,可以组成强大的动力套件。它支持CAN总线指令控制,最高支持20A的持续电流,支持对CAN总线上的电调快速设置ID,支持通过CAN总线获取电机温度、转子位置和转子转速等信息,切换电机时无需进行位置传感器参数校准。

如图1所示,①为7-pin电机数据端口,连接M3508直流无刷减速电机进行数据交互。②为三相动力线接头,与M3508直流无刷减速电机的三相输入接头相连。③为CAN终端电阻选择开关。④为SET按键,可对电调进行配置。⑤为电源线。⑥为指示灯。⑦为CAN信号端口。⑧为PWM信号端口。

用7-pin数据线分别插入电调和电机的7-pin数据端口、连接电调和电机。将电机的三相输入接头与电调三相动力线接头相连接,CAN信号线一头接入CAN信号端口,另一头接入目标接口。电调电源线连接至电源为电调供电,连接如图2所示。

● CAN总线在机器人底盘运动控制中的应用

机器人整个控制系统框图如下页图3所示。

机器人运动要有满足控制要求的车轮运动,实现单个电机的PID闭环控制,消除电机之间的差异,提高电机的性能。[6-7]以PID闭环控制的电机为基础的全向运动理论能使机器人更好地适应复杂的场地环境。机器人的控制需要操作手下达指令,而任何控制信息都要通过通信系统传递给机器人的各个部件,然后各个部件做出响应动作,相互结合,加上传感器以及控制算法才能最终实现机器人的灵活运动。

机器人以PID闭环控制理论为基础实现单轮转动后,开始进行全向运动分解。麦克纳姆轮[8-9]由轮毂和安装在轮毂外缘上与轮毂轴线呈一定角度的无动力辊子组成,无动力辊子不仅能绕轮毂轴公转,还能在地面摩擦力作用下绕各自的支撑芯轴自转,公转与自转的合运动速度与轮毂轴有一定夹角,使其可以全方位运动。

机器人要实现全向运动,对车轮分布有一定的要求。按照辊子轴线的分布将麦克纳姆轮分为左旋和右旋两种方式,机器人车体实际安装中,需要两对旋向不同的车轮,且要求机器人底盘斜向方向上的车轮旋向一致,右前轮和左后轮采用左旋方式,左前轮和右后轮采用右旋方式。[10-12]四个麦克纳姆轮组成的机器人底座的受力分析如图4所示,每个全向轮都由一台直流无刷电机驱动,通过四个万向轮转速适当组合即可以实现机器人在平面上三个自由度的全方位移动。[13-14]图中轮子上的斜线代表辊子轴线的方向,Fa为轮子滚动时小辊子受到轴向的摩擦力, Fr为辊子做从动滚动时受到的滚动摩擦力,为各轮转动的角速度。通过运动学分析将机器人底盘的运动分解,可实现机器人进行任意角度的全向運动。[15]

通过CAN总线可以把机器人上所有CAN电机连起来,这比传统的PWM控制更简便。如图5所示,在机器人平台CAN总线上搭载多台电机时,串接即可。CAN总线既能发信号,又能读取电机转子位置等状态信息,在单片机中以数组的方式进行发送和接受。

以CH1、CH2、CH3、CH4标记四个电机、电调位置,本文机器人底盘麦克纳姆轮的分布如下页图6所示。定义面向M3508电机轴时,电机轴逆时针旋转方向为正转。当CH1、CH3正转,CH2、CH4反转时,机器人向前移动;当CH1、CH3反转,CH2、CH4正转时,机器人向后移动;当CH1、CH3、CH2、CH4都正转时,机器人左旋转;当CH1、CH3、CH2、CH4都反转时,机器人右旋转;当CH1、CH2正转,CH3、CH4反转时,机器人向左平移;当CH1、CH2反转,CH3、CH4正转时,机器人向右平移。

● CAN总线在两轴云台控制中的应用

云台控制板通过CAN通信协议和RM6025驱动板进行通信,控制信息以一个CAN消息帧的形式传输。其中,由云台控制板到RM6025驱动板的CAN帧内容为三轴驱动电流大小。由RM6025驱动板到云台控制板的CAN帧内容包括三轴实时驱动电流大小,以及三轴当前绝对角度值,本文会用到其中两轴的相关数据。两轴云台的具体控制算法为位置式双闭环PID控制算法。[16]

1.位置式PID控制算法

PID调节器是一种线性调节器,控制偏差定义为e(n)=r(n)-(n),并对该控制偏差作比例、积分、微分等运算,并将其各步运算结果作为控制量输出,用于控制受控对象(如图7)。本文系统采用数字式PID控制算法,其输出变量的离散表达式为:

其中,kp、ki、kd分别称为比例常数、积分常数、微分常数。实际利用位置式PID控制受控系统时,常采用经验值法或试凑法来分别调整kp、ki、kd的大小,调整或改善系统控制性能。

PID运算结果u(n)直接控制执行机构,在本系统中,该值对应驱动两轴云台无刷电机的电流值大小,其缺点在于当前采样时刻的输出与过去的各个状态有关,计算时要对各个时刻的e(n)进行累加,运算量大,且由于控制器的输出u(n)对应的是直接驱动无刷电机的电流大小,因而若计算出现异常,u(n)的大幅度变化会引起云台运动的极其不稳定。其优点在于适用性广,易于实现且对于位置式控制方式的系统,系统适用性总体较强,控制效果较好。

2.增量式PID控制算法

相对于位置式PID,增量式PID控制器的输出只是控制量的增量△u(n),对于位置式PID算法的转化计算式为u(n)=u(n-1)+△u(n)。其输出变量离散表达式如下:

其中,kp、ki、kd分别称为比例常数、积分常数、微分常数,e(n)=r(n)-y(n)为目标与输出量之差,称为控制偏差。

增量式PID算法的优点在于,首先,不需要累加,输出△u(n)的值仅与最近三次的采样值有关,容易通过加权处理获得较好的控制效果。其次,控制器每次只输出控制增量,即对应执行机构的位置的变化量,所以当机器出现偶然性故障时,其影响范围相对于位置式PID较小,不会严重影响系统的整体性能。最后,增量式PID控制可以做到手动至自动切换,冲击效应小,当控制器从手动向自动切换时,可以做到无扰动切换。

3.棒棒控制算法

设定阈值,在误差较大时采用大输出控制电机,将误差在最短时间内减小到所要求的范围,这就是棒棒控制的思想,棒棒控制又称时间最优控制。棒棒控制的优点在于,其在随动系统调转控制过程中能很好地满足系统快速性的要求,达到阶跃过程最小化,并且结合其他控制方法提高系统自适应能力和控制精度,有很好的推广价值。其缺点在于,阈值选取不当,可能会出现超调或严重回摆的现象,常常需要与其他控制算法配合使用。

此外,基于遗传算法的模糊PID算法[17]计算量过大,会给系统带来较大的延时,不能满足系统对实时性的要求,故不可用。两轴云台系统的工作环境并不会有太大的波动,根据比赛场景预测,单次转动角度值应在30度以下,所以可以采用分段模式下的模糊PID算法。由于控制变量误差范围较小,分段可以满足系统适应性要求,若采用加权平均求取实时性PID参数,就会加大系统的计算任务,过分提高系统参数的灵敏度,这反而容易降低系统的抗干扰性能。最后,微分先行、阈值控制方式可以有效抑制系统的超调,且调高系统的稳定性。本文选择通过分段,微分先行、阈值控制等方式改进的PID算法作为系统最终的控制算法。

● 结语

CAN总线技术与直流无刷电机的组合非常适用于高性能的机器人平台,其体积小巧,设置简单,带有智能保护且动力强劲。它可内置多种传感器,可自动感应温度、断线等异常状况并及时报警,快速定位故障,使用更安全。在机器人平台上,CAN总线可以搭载多台电机,扩展性强,将是未来模块化机器人发展的重要技术之一。希望CAN总线、无刷直流电机模块等技术能运用到更多的机器人竞赛和实践项目中,培养更多的机器人技术人才。

参考文献:

[1]辉亚男,冷文浩,刘培林.CAN总线应用层通信协议的设计与实现[J].计算机工程与设计,2008(3):669-671.

[2]杨建军.CAN总线技术在汽车中的应用[J].上海汽车,2007(6):32-34.

[3]王小飞,向国权.车载CAN总线技术研究综述[J].汽车零部件,2009(8):64-65.

[4]陈国伟,丁学明.基于CAN总线的无刷直流电机控制系统设计[J].电子科技,2017,30(3):153-156.

[5]史鹏飞,刘景林,谢映宏.基于CAN总线的测试用无刷直流电机控制器设计[J].测控技术,2012,31(2):68-71.

[6]刘慧博,王静,吴彦合.无刷直流电机模糊自适应PID控制研究与仿真[J].控制工程,2014,21(4):583-587.

[7]石维亮,王兴松,贾茜.基于Mecanum轮的全向移动机器人的研制[J].机械工程师,2007(9):18-21.

[8]王一治,常德功.Mecanum四轮全方位系统的运动性能分析及结构形式优选[J].机械工程学报,2009,45(5):307-310.

[9]海丹.全向移动平台的设计与控制[D].长沙:国防科学技术大学,2005.

[10]卢浩文,谢佳洽,李澤寰,等.基于三维软件的麦克纳姆轮移动平台悬架系统研究[J].数字技术与应用,2016(11).

[11]陈博翁,范传康,贺骥.基于麦克纳姆轮的全方位移动平台关键技术研究[J].东方电气评论,2013,27(4):7-11.

[12]Diegel O,Potgieter J,Badve A,et al.Tlale,Improved Mecanum Wheel Design for Omni-directional Robots[C].2012:117-121.

[13]Mohd Salih J E,Rizon M,Yaacob S,et al.Designing omni-directional mobile robot with mecanum wheel.[J].American Journal of Applied Sciences,2006,3(5).

[14]Peng T,Qian J,Zi B,et al.Mechanical Design and Control System of an Omni-directional Mobile Robot for Material Conveying [J]. Procedia Cirp,2016(56):412-415.

[15]胡桐.四轮独立驱动和转向移动机器人的设计与控制[D].合肥:合肥工业大学,2015.

[16]方炜,张辉,刘晓东.无刷直流电机双闭环控制系统的设计[J].电源学报,2014(2):35-42.

[17]曹建秋,徐凯.遗传算法优化的模糊+变论域自适应模糊PID复合控制策略[J].信息与控制,2011,40(1):44-49+60.

电机控制范文第4篇

目录

摘要................................................................................................................................ 1 1设计任务与要求......................................................................................................... 2 1.1设计目的 ............................................................................................................. 2 1.2设计要求和设计指标 ......................................................................................... 2 2方案分析..................................................................................................................... 3 3系统硬件部分............................................................................................................. 4 3.1主控模块 ............................................................................................................. 4 3.2键盘输入模块 ..................................................................................................... 7 3.3电机模块 ............................................................................................................. 8 3.4显示模块 ........................................................................................................... 11 4系统软件部分........................................................................................................... 13 4.1整体流程图及主程序 ....................................................................................... 13 4.2按键流程图及程序 ........................................................................................... 14 4.3显示模块程序 ................................................................................................... 19 4.4电动机模块流程图及程序 ............................................................................... 20 4.5中断程序 ........................................................................................................... 22 5仿真运行................................................................................................................... 24 6心得体会................................................................................................................... 25 参考文献...................................................................................................................... 26 附录一:Protues硬件仿真图................................................................................... 27 附录二:系统程序...................................................................................................... 28

武汉理工大学《计算机控制技术》课程设计说明书

摘要

步进电机在控制系统中具有很广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器或角位移发生器等。

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

此次设计使用C语言作为编程语言。C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件、三维、二维图形和动画,具体应用例如单片机以及嵌入式系统开发。

硬件部分使用89C51作为主控芯片,并使用ULN2003A将单片机的信号放大以控制步进电机,同时使用4位数码管显示转动角度及次数。

关键词:步进电机

C语言

AT89C51 ULN2003A 转动角度

武汉理工大学《计算机控制技术》课程设计说明书

1设计任务与要求

1.1设计目的

设计制作和调试一个由8086组成步进电机角度测控系统。通过这个过程学习熟悉键盘控制和七段数码管的使用,掌握步进电机的角度控制和角度显示方法。

1.2设计要求和设计指标

1.在显示器上显示任意四位十进制数

2.将8个键定义键值为0~7,按任意键在显示器上显示对应键值 3.实现:

(1)定义键盘按键:5个为数字键1~5;3个功能键:设置SET、清零 CLR、开始START;

(2)显示器上第一位显示次数,后三位显示每次行走的角度;

(3)通过键盘的按键,设置步进电机各次的角度值;第一位设置次数,后三位设置角度值。

(4)按START键启动步进电机开始转动,按SET键停止;按CLR键清零。

武汉理工大学《计算机控制技术》课程设计说明书

2方案分析

课程设计要求设计一个直流电机微型计算机角度控制系统,定义8个键盘按键:5个为数字键1~5;3个功能键:设置SET、清零 CLR、开始START;显示器上的四位可显示转动次数和每次转动角度;通过键盘的按键,设置步进电机转动次数和每次转动角度;按START键启动电机开始转动,按SET键停止;按CLR键清零。

综合分析之后,我们应该将电路实现利用键盘按键通过89C51的P3口实现输入功能,并通过89C51的P0口和P1口实现对数码管显示的控制。同时我们可以通过P2口控制ULN2003A驱动电动机运行。

我们可以将整体电路设计成几个相对独立而又有机结合的模块,来逐一进行分析。

通过分析我们可以画出系统图,如图2-1所示。

键 盘 模 块显示模块主控模块电机模块 图2-1 系统图

武汉理工大学《计算机控制技术》课程设计说明书

3系统硬件部分

3.1主控模块

3.1.1 AT89C51芯片

本次设计是使用AT89C51作为主控芯片,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51的40个引脚主要有一下几种 (1)VCC:供电电压。 (2)GND:接地。

(3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。

(5)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

(6)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出

4武汉理工大学《计算机控制技术》课程设计说明书

个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口还有其他一些特殊功能,本事设计没有使用,故在此不做叙述。 (7)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

(8)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

(9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

(10)/EA/VPP:当/EA保持低电平时,则在此期间为外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器读取外部ROM数据。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,单片机读取内部程序存储器。(扩展有外部ROM时读取完内部ROM后自动读取外部ROM)。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

(11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 (12)XTAL2:来自反向振荡器的输出

武汉理工大学《计算机控制技术》课程设计说明书

图3-1 AT89C51芯片

3.1.2时钟电路及复位电路

在本次课程设计中,我们用到AT89C51单片机。而他需要一些特定的控制电路的控制才能更好地工作。具体到本次课设中,我们需要时钟电路、防抖电路、复位电路等。

如图3-2所示是我们的时钟电路,由电容C

1、C2以及晶振组成。

图3-2 时钟电路

如图3-3所示是我们的复位电路。

图3-3 复位电路

武汉理工大学《计算机控制技术》课程设计说明书

3.2键盘输入模块

在微机化仪器仪表中,键盘是最常用的一种输入设备,用于输入数据和命令。键盘的每一个按键都被赋予一个代码,称为键码。键盘系统的主要工作包括及时发现有键闭合,求闭合键的键码。根据这一过程的不同,键盘可以分为两种,即全编码键盘和非编码键盘。全编码键盘多是商品化的计算机输入设备,自动提供对应于被安检的ASCII码,且能同时产生一个控制信号通知微处理器。此外,这种键盘具有处理抖动和多键串键的保护电路,具有使用方便、价格较贵、体积较大、按键较多等特点。非编码键盘恰如一组开关,一般组成行和列矩阵。其全部工作过程,如按键的识别、键的代码获取、防止串键及消抖等问题,都靠程序完成。因此,它所需要的硬件少,价格便宜,一般作为单板机、智能仪表等简单的输入设备。

键盘电路常用的有两种,一种是独立式键盘电路,另一种是矩阵式键盘。独立式键盘每个按键独占一根I/O线。因此键识别软件非常简单。对于只有几个按键的系统,常采用这种电路。对于多按键系统来讲,这种电路忧郁将占用更多的I/O线而变得无法实用。

矩阵式键盘电路将I/O口线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,这就构成了行列式键盘。行列式键盘中按键的数量可达行线数n乘以列线数m。由此可以看到行列式键盘在按键较多时,可以节省I/O线。按键开关的两端分别接在行线和列线上。行线通过一个电阻接到+5V电源上,在没有键按下时,行线处于高电平状态。

判断是否有键按下的方法是:向所有的列线I/O口输出低电平,然后将行线的电平状态读入累加器中,若无键按下,行线仍保持高电平状态,若有键按下,行线至少应有一条为低电平。当确定有键按下后,即可进行求键码的过程。其方法是:依次从一条列线上输出低电平,然后检查各行线的状态,若全为高电平,说明闭合键不在该列;若不全为1,则说明闭合键在该列,且在变为低电平的行的交点上。

在键盘处理程序中,每个键都被赋予了一个键号,由从列线I/O口输出的数据和从行线I/O口读入的数据可以求出闭合键的键号。

武汉理工大学《计算机控制技术》课程设计说明书

图3-4键盘模块原理图

3.3电机模块

3.3.1步进电机结构及工作原理

步进电机又叫脉冲电机,它是一种将电脉冲信号转换为角位移的机电式数模转换器。在开环数字程序控制系统中,输出控制部分常采用步进电机作为驱动元件。步进电机控制线路接受计算机发来的指令脉冲,控制步进电机作为驱动元件。步进电机控制线路接收计算机发来的指令脉冲,控制步进电机做相应的转动。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

步进电机的驱动电路根据控制信号工作,控制信号由8086通过8255A产生。 此次设计采用四相式步进电机。

武汉理工大学《计算机控制技术》课程设计说明书

图3-5步进电机励磁线圈

(1) 步进电机工作原理说明

步进电机由转子和定子组成。转子由一个永久磁铁构成,定子分别由四组绕组组成。步进电机组成和电气连接分别如图3-6和3-7所示。

图3-6 转子和定子示意图图3-7 电气连接示意图

当S1连通电源后,定子磁场将产生一个靠近转子为N极,远离转子为S极才磁场,这样的定子磁场和转子的固有磁场发生作用,转子就会转动,正确地S

1、S4的送电次序,就能控制转子旋转的方向。

例如:若送电的顺序为S1闭合断开S4闭合

断开

S2闭合

断开

S3闭合

断开,周而复始的循环,在定子和转子共同作用下,电机就瞬时针旋转:

若送电的顺序为S4闭合开 S1闭合

断开

S3闭合

断开

S2闭合

断断开,周而复始的循环,则电机就逆时针旋转,原理同理。

武汉理工大学《计算机控制技术》课程设计说明书

3.3.2 电机驱动ULN2003A简介

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A管脚如图3-8所示。

图3-8 ULN2003A管脚图

ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。 ULN2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许

通过电流为200mA,饱和压降VCE约1V左右,耐压BVCEO约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350mA,9脚可以悬空。

由于ULN2003有这些特点,所以经常作为显示驱动、继电器驱动、照明灯

武汉理工大学《计算机控制技术》课程设计说明书

驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。

ULN2003A内部结构如图3-9所示。

图3-9 ULN2003A内部结构图

图3-10 电机模块原理图

3.4显示模块

数码管是数码显示器的俗称。常用的数码显示器有半导体数码管,荧光数码管,辉光数码管和液晶显示器等。译码和数码显示电路是将数字钟和计时状态直观清晰的反映出来,被人们的视觉器官所接受。显示器件采用七段数码管。在译码显示电路输出的驱动下,显示出直观、清晰的数字符号。本设计所采用的是半导体数码管,是用发光二极管(简称LED)组成的字形来显示数字,七个条形发光二极管排列成七段组合字形,便构成了半导体数码管。半导体数码管有共阳极和共阴极两种类型,共阳极数码管的七个发光二极管的阳极连在一起,而七个阴极则是独立的。共阴极数码管与共阳极数码管相反,七个发光二极管的阴极连在一起,而阳极是独立的。

当共阳极数码管的某一阴极接低电平时,相应的二极管发光,可根据字形使

武汉理工大学《计算机控制技术》课程设计说明书

某几段二极管发光,所以共阳极数码管需要输出低电平有效的译码器去驱动。共阴极数码管则需要输出高电平有效的译码器去驱动。七段显示数码管的外部引线排列如图3-11,共阳极数码管结构示意图如图3-12所示。

图3-11 数码管外引线排列

图3-12 共阳极数码管结构示意图

在多位LED显示时,为了节省I/O口线,简化电路,降低成本,一般采用动态显示方式。动态显示方式是一位一位地分时轮流各位显示器,对每一位显示器来说,每隔一段时间轮流点亮一次,形成动态显示。

图3.13 显示模块原理图

武汉理工大学《计算机控制技术》课程设计说明书

4系统软件部分

4.1整体流程图及主程序

系统的整体软件流程图如图4-1所示

开始按下某一数字键数码管显示转动次数和转动角度按下开始键电机按数码管显示的数字开始运行停止键是否被按下是电机停止运行否电机完成指定运行次数后停止清零键是否被按下否是数码管清零

图4-1 系统流程图

武汉理工大学《计算机控制技术》课程设计说明书

主程序如下: void main() {

TMOD=0x01; TH0=0xd8;

//T0工作方式1

//主函数

//设初值,0.01秒触发一次

TL0=0xf0;

TR0=0;

ET0=1;

EA=1;

P2=0x03; while(1) {

scan();

show();

if(num1==0)

{

TR0=0;

status=0;

} } } 4.2按键流程图及程序

按键流程图如图4-2所示

//关闭T0定时器

//允许T0定时器中断

//开启总中断允许

//若电机运行次数已达到设定值,则关时器

//并将状态位置0

武汉理工大学《计算机控制技术》课程设计说明书

开始某一数字键被按下,则寄存器被赋予相应值开始键被按下,寄存器将值传给电机模块,电机开始转动停止键被按下,则寄存器被清零,电机停止转动结束

图4-2 按键模块流程图

按键模块程序如下: void scan() { if(START==0&&status==0)

//开始键:只有当电机不运行时才有效,

//按键扫描

且将状态位置1;

{

//并开启定时器(电机重新开始转动)。

delay(10); if(START==0&&status==0) { status=1; TR0=1;

//开定时器0

武汉理工大学《计算机控制技术》课程设计说明书

num1=num;

} } if(SET==0&&status==1) 态位置0;

{

delay(10);

if(SET==0&&status==1)

{

status=0;

TR0=0;

} }

if(CLR==0&&status==0)

才有效

{

delay(10);

if(CLR==0&&status==0)

{

P1=0;

P0=0xff;

sh=0;

} } if(k1==0&&status==0)

运行时,数字键才有效

//停止键:只有当电机运行是有效,将状

//并关闭定时器(电机停止转动)。

//关定时器0

//清零键:只有当电机不运行时,清零键

//数字键1:设置为3 045。只有当电机不

武汉理工大学《计算机控制技术》课程设计说明书

{ delay(10); if(k1==0&&status==0) {

num=3;

num1=3;

bai=0;

shi=4;

ge=5;

sh=1;

key=1; } } if(k2==0&&status==0) { delay(10); if(k2==0&&status==0) {

num=4;

num1=4;

bai=0;

shi=9;

ge=0;

sh=1;

key=2; } }

//数字键2:设置为4 090

武汉理工大学《计算机控制技术》课程设计说明书

if(k3==0&&status==0) { delay(10); if(k3==0&&status==0) {

num=5;

num1=5;

bai=0;

shi=9;

ge=0;

sh=1;

key=2; } } if(k4==0&&status==0) { delay(10); if(k4==0&&status==0) {

num=6;

num1=6;

bai=0;

shi=4;

ge=5;

sh=1;

key=1; } }

//数字键3:设置为5 090

//数字键4:设置为6 045

武汉理工大学《计算机控制技术》课程设计说明书

} if(k5==0&&status==0) {

} delay(10); if(k5==0&&status==0) {

} num=7; num1=7; bai=0; shi=9; ge=0; sh=1; key=2;

//数字键5:设置为7 090 4.3显示模块程序

由于使用的是4为数码管,每一位需要显示不同的数字,故让各位数码管按照一定的顺序轮流显示,只要扫描频率足够高,由于人眼的“视觉暂留”现象,就能连续稳定的显示。

程序如下: void show() {

//数码管显示

if(sh==1) {

P1=0x01;

//显示第一位

P0=smg[num]; P0=0xff;

武汉理工大学《计算机控制技术》课程设计说明书

}

P1=0x02;

//显示第二位

P0=smg[bai]; P0=0xff;

P1=0x04;

//显示第三位

P0=smg[shi]; P0=0xff;

} P1=0x08; P0=smg[ge]; P0=0xff;

//显示第四位

4.4电动机模块流程图及程序

要是步进电机模块按一定方向转动,需要轮流给P2.0~P2.3口脉冲,故采用移位的方法实现,流程图如图4-3所示。(X初始值为0x01,Y初始值为0x02)

武汉理工大学《计算机控制技术》课程设计说明书

开始45度判断所需 90度角度为45度还是90度奇判断此次转动是为奇或偶偶X、Y均左移一位X左移一位Y左移一位X、Y进行或运算并将值送到P2口运行次数寄存器减一运行次数寄存器是否为0是停止电机否结束

图4-3电机模块流程图

电机模块程序如下:

21

武汉理工大学《计算机控制技术》课程设计说明书

void motor() {

} if(key==1) {

} if(key==2) {

}

//电机运行

//每次转动角度为45度时

if(c%2==0) {

} else {

} c=c+1; P2=x|y; y=_crol_(y,1); y=y|_crol_(y,4); x=_crol_(x,1); x=x|_crol_(x,4);

//每次转动角度为90度时

x=_crol_(x,1); x=x|_crol_(x,4); y=_crol_(y,1); y=y|_crol_(y,4); P2=x|y; 4.5中断程序

每次设计采用定时器来完成步进电机的转动速度,每次中断便是计数存储器加一,当计数存储器达到设定值时便使电机转动一次。

22

武汉理工大学《计算机控制技术》课程设计说明书

中断程序如下:

void time0(void) interrupt 1

//中断处理程序

{ TR0=0; TH0=0xd8; TL0=0xf0; clk++; if(clk==100) {

clk=0;

num1--;

motor(); } TR0=1; }

//每一秒电机运转一次

//调用电机运行程序

23

武汉理工大学《计算机控制技术》课程设计说明书

5仿真运行

(1)按下数字键后数码管显示数字

图5-1 数码管显示

(2)按下开始键后,电机开始运行

图5-2 电机运行图

(3)按下停止键后,电机停止运行 (4)按下清零键后,数码管被清零。

图5-3 电机停止运转

24

武汉理工大学《计算机控制技术》课程设计说明书

6心得体会

在我们的大三即将结束的时候,我进行了《步进电机微型计算机角度控制系统的设计》。总体来说,本次训练主要是针对《计算机控制技术》所学理论知识的检测以及对protues软件的学习和使用。

随着不断深入的学习,我感受到了这个软件的强大。以前我们学习《计算机控制技术》,需要绞尽脑汁的计算分析各电路。而使用这种方法,不但计算量大、分析不太准确、结果准确性差、费时费力,通过学习protues,并通过使用protues,非常方便准确的得到了仿真电路的正确连线方法以及最优化电路。分析起来又快又准确。大大促进了我们的学习效率。

这次课程设计不仅锻炼了我们的自学能力以及我自己的耐力。而且我也深切的感受到了计算机控制技术在日常生活中的广泛应用,作为工科生我们更要加强理论联系实际,为以后成为一名技术人才奠定坚实的理论实践基础。

25

武汉理工大学《计算机控制技术》课程设计说明书

参考文献

[1] 郭天祥.新概念51单片机C语言教程.北京:电子工业出版社,2009 [2] 周润景.基于PROTEUS 的电路及单片机系统设计与仿真.北京:北京航空航天出版社,2006 [3] 陈伯石.电力拖动自动控制系统.北京:机械工业出版社,2003. [4] 李光飞.单片机课程设计实例指导.北京:北京航空航天出版社,2004 [5] 陈光东.单片微型计算机原理与接口技术(第二版).武汉:华中科技大学出版社,1999

26

武汉理工大学《计算机控制技术》课程设计说明书

附录一:Protues硬件仿真图

27

武汉理工大学《计算机控制技术》课程设计说明书

附录二:系统程序

#include"reg51.h" #include"intrins.h"

sbit k1=P3^0; sbit k2=P3^1; sbit k3=P3^2; sbit k4=P3^3; sbit k5=P3^4; sbit START=P3^5; sbit SET=P3^6; sbit CLR=P3^7;

intsmg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; int status=0,sh=0; int num,bai,shi,ge,num1,key=0; intclk=0; int c=0,x=0x1,y=0x2;

void delay(int a); void scan(); void show(); void motor();

void delay(int a) { inti,j; for(i=a;i>0;i--)

28

//延时程序

武汉理工大学《计算机控制技术》课程设计说明书

} for(j=1000;j>0;j--); void scan() {

//按键扫描

if(START==0&&status==0)

//开始键:只有当电机不运行时才有效,且将状态位置1;

{

delay(10);

if(START==0&&status==0)

{

status=1;

TR0=1;

num1=num;

} } if(SET==0&&status==1)

态位置0;

{

delay(10);

if(SET==0&&status==1)

{

status=0;

TR0=0;

} } if(CLR==0&&status==0)

//并开启定时器(电机重新开始转动)。

//开定时器0

//停止键:只有当电机运行是有效,将状

//并关闭定时器(电机停止转动)。

//关定时器0

//清零键:只有当电机不运行时,清零键

29

武汉理工大学《计算机控制技术》课程设计说明书

才有效

{

delay(10);

if(CLR==0&&status==0)

{

P1=0;

P0=0xff;

sh=0;

} } if(k1==0&&status==0)

运行时,数字键才有效

{

delay(10);

if(k1==0&&status==0)

{

num=3;

num1=3;

bai=0;

shi=4;

ge=5;

sh=1;

key=1;

} }

if(k2==0&&status==0) {

//数字键1:设置为3 045。只有当电机不

//数字键2:设置为4 090

30

武汉理工大学《计算机控制技术》课程设计说明书

delay(10); if(k2==0&&status==0) {

num=4;

num1=4;

bai=0;

shi=9;

ge=0;

sh=1;

key=2; } } if(k3==0&&status==0) { delay(10); if(k3==0&&status==0) {

num=5;

num1=5;

bai=0;

shi=9;

ge=0;

sh=1;

key=2; } } if(k4==0&&status==0) //数字键3:设置为5 090

//数字键4:设置为6 045

31

武汉理工大学《计算机控制技术》课程设计说明书

{

delay(10);

if(k4==0&&status==0)

{

num=6;

num1=6;

bai=0;

shi=4;

ge=5;

sh=1;

key=1;

} }

if(k5==0&&status==0)

{

delay(10);

if(k5==0&&status==0)

{

num=7;

num1=7;

bai=0;

shi=9;

ge=0;

sh=1;

key=2;

} } }

//数字键5:设置为7 090

32

武汉理工大学《计算机控制技术》课程设计说明书

void show()

//数码管显示

{ if(sh==1) {

P1=0x01;

P0=smg[num]; P0=0xff;

P1=0x02;

P0=smg[bai]; P0=0xff;

P1=0x04;

P0=smg[shi]; P0=0xff;

P1=0x08;

P0=smg[ge];

P0=0xff; } }

void motor()

{ if(key==1)

{

if(c%2==0) {

//电机运行

//每次转动角度为45度时33

武汉理工大学《计算机控制技术》课程设计说明书

x=_crol_(x,1);

x=x|_crol_(x,4);

}

else

{

y=_crol_(y,1);

y=y|_crol_(y,4);

}

c=c+1;

P2=x|y; } if(key==2)

{

x=_crol_(x,1);

x=x|_crol_(x,4);

y=_crol_(y,1);

y=y|_crol_(y,4);

P2=x|y; } }

void main()

{ TMOD=0x01;

TH0=0xd8;

TL0=0xf0;

TR0=0;

ET0=1;

EA=1;

//每次转动角度为90度时

//主函数

//T0工作方式1

//设初值,0.01秒触发一次

//关闭T0定时器

//允许T0定时器中断

//开启总中断允许

34

武汉理工大学《计算机控制技术》课程设计说明书

P2=0x03; while(1) {

scan(); show(); if(num1==0)

//若电机运行次数已达到设定值,则关定时器

{

TR0=0;

status=0;

} } }

void time0(void) interrupt 1

{ TR0=0; TH0=0xd8; TL0=0xf0; clk++; if(clk==100)

{

clk=0;

num1--;

motor();

} TR0=1; }

//并将状态位置0

//中断处理程序

//每一秒电机运转一次

//调用电机运行程序

电机控制范文第5篇

2、专家PID控制器在农用无刷直流电机控制系统中的应用

3、纯电动汽车驱动电机及控制系统的研究

4、无刷直流电机双闭环控制系统的建模与仿真

5、基于MATLAB的无刷直流电机控制系统建模与仿真

6、PWM调速风机电机优化制冰机控制系统

7、DSP精准控制步进电机的研究

8、三相PFC在电机控制系统中的研究及应用

9、PLC控制的综合实训屏系统设计实例分析

10、高温恶劣环境下基于PIC单片机的直流电机控制系统

11、交流电机变频调速控制系统分析

12、基于模糊PID的多电机全闭环同步控制系统

13、关于DSP的无刷直流电机控制系统的硬件设计

14、浅谈纯电动汽车驱动电机及控制系统

15、浅析单机片的步进电机控制系统的研制

16、基于XC866的步进电机阀门控制系统

17、基于神经元自适应PID船舶电力推进电机控制系统研究

18、基于神经网络模糊PID控制的无刷直流电机控制系统研究

19、基于ATMEGA128单片机的步进电机加减速控制系统的设计

20、电动车用的无刷直流电机控制系统仿真

21、轮椅直流无刷电机的单片机控制电路设计①

22、交流电机变频调速控制系统的比较

23、螺杆泵用无刷直流电机控制系统的设计

24、基于模糊神经网络的无刷直流电机控制系统

25、基于LABWINDOWS/CVI的直流电机控制系统的研究

26、新能源背景下“电机学与运动控制系统”课程教学改革与探索

27、基于LM3S811的太阳能电池用太阳光跟踪系统

28、步进电机在电焊机控制系统中的应用

29、先进的电机驱动解决方案,加速高效电机系统创新

30、开关磁阻电机控制系统在电动汽车中的应用

31、基于MSP430的定时器自动老化试验台设计与实现

32、基于PLC的折纸机自动控制系统设计

33、高压变频器在传送电机控制系统中的应用研究

34、“电器控制”课程理论联系实际的教学思考

35、特色专业建设的探索与实践

36、船用大功率柴油发电机充电控制系统研究

37、电子技术中单片机的应用研究

38、基于YL—236步进电机控制系统的设计

39、开关磁阻电机控制系统软件设计

40、PLC和变频器的电机控制系统设计研究

41、“电机拖动控制系统运行与维护”课程“五结合”考核模式的实践与探索

42、基于DSP的感应电机矢量控制系统的研究

43、浅议混合动力电动汽车整车匹配与电机控制系统

44、基于PLC的步进电机控制系统初探

45、基于嵌入式单片机的步进电机控制系统设计的分析

46、开关磁阻电机的控制系统研究

47、无轴承异步电机控制系统实验平台设计

48、电机数字化控制系统的电源设计

49、基于PLC与变频器的交流电机调速控制系统

上一篇:过程控制系统下一篇:存货内部控制