设计基于单片机的多电机同步控制器

摘 要

随着工业技术的不停发展,越来越多的场合下我们需要对多台电机进行控制,特别是在冶炼金属、建材、造纸、纺织工业等领域,多台电机的同步性能直接影响到产品的质量是好是坏。因此,很有必要进行对多电机同步控制的研究。
本文先简要介绍了多电机同步控制技术的几个比较典型的同步控制策略,分析了各同步控制策略的具体内容,比较了不同同步控制策略的优点和缺点。其中本次设计所应用的控制策略是偏差耦合控制策略。接着针对设计需求设计了以AT89S52单片机为控制核心的硬件电路,其中包括了A/D转换模块、D/A转换模块,键盘和显示模块、储存模块、开关量输入输出模块、串行通讯模块等电路。本次设计的多电机同步控制器最终能够实现四台电机的同步控制,它不仅操作简单,而且还有系统结构简单,控制算法易实现,成本低廉等优点。

关键词:多电机;同步控制;偏差耦合控制;单片机;硬件电路

Design of Multi-motor Synchronous Controller Based on Microcomputer

Abstract
With the continuous development of industrial technology, various types of machine performance and product quality continues to improve in the industrial production, only for a motor control has been slowly unable to meet the needs and now more than one motor to control has gradually become mainstream. And now synchronization exists in our lives in large numbers. Synchronous control has penetrated into various fields, in many cases, multiple motor synchronization performance directly affects the quality of the product. Therefore, it is necessary to carry out the study of multi-motor synchronous control.
In this paper, the research background and significance of multi-motor synchronous control are expounded in detail, and the design status of multi-motor synchronous control is analyzed. Then, the multi-motor synchronous control technology is introduced systematically, which includes the definition and classification of multi-motor synchronous control. Then we introduce some typical synchronous control strategies, analyze the specific contents of each synchronization control strategy, and compare the advantages and disadvantages of different synchronization control strategies. The control strategy applied in this design is the deviation coupling control strategy. Finally, we design to 51 single-chip for the core of the hardware circuit, which includes the A / D and D / A conversion module, keyboard and screen modules and other circuits. Finally we write the program according to the deviation of the control strategy and the actual circuit of the specific requirements. After the design is completed, according to the experimental analysis, verify the design of the control strategy, hardware circuit and program design is correct and effective.
Finally, we summed up the work of this design study, review the problems encountered in the study and solutions, but also reflect the design of the inadequacies of the place, and finally thank the instructor’s hard work.

Key Words:Multi-motor; Synchronous Control; Deviation Coupling Control; Single-chip; Hardware Circuit

目 录

摘 要 I
Abstract II
1 绪论 1
1.1 课题的研究背景以及研究意义 1
1.2 国内外研究现状 2
1.3 本文主要内容 3
2 多电机同步控制系统的控制算法及设计方案 4
2.1 多电机同步控制算法 4
2.1.1 机械方式 4
2.1.2 并行控制 4
2.1.3 主从控制 5
2.1.4 交叉耦合控制方式 6
2.1.5 电子虚拟总轴控制 6
2.1.6 偏差耦合控制方式 7
2.2 主要设计要求和设计方案 9
2.2.1 主要设计要求 9
2.2.2 设计方案 9
3 多电机同步控制器硬件电路设计 11
3.1 系统整体结构 11
3.2 晶振和复位电路 11
3.3 A/D转换模块 13
3.4 D/A转换模块 15
3.5 屏幕与键盘模块 17
3.6 储存模块 20
3.7 开关量输入输出模块 21
3.8 串行通讯模块 22
3.9 电源模块 23
4 多电机同步控制器的软件设计 25
设 计 总 结 28
参 考 文 献 29
附录A 硬件总电路图 30
致 谢 31

1 绪论

1.1 课题的研究背景以及研究意义
随着工业技术的不断发展,在工业生产中对各类机器性能以及产品质量的要求不停提高。仅仅对于一台电机进行控制在很多场合中已经慢慢无法满足现代工业生产的需要,在现代的工业生产过程中,特别是在冶炼金属、建材、造纸、纺织工业等领域,常常需要许多台电机同时运行进行传送和卷取产品。为了避免产品出现损坏或者产生堆积,提高产品质量和运送效率,这就要求电机与电机之间保持协调同步地运行,因此人们就有必要同时地对多台电机加以控制,让其能更好地同步运行[1]。因此,多电机同步控制技术应运而生。
多电机同步控制是一门多门学科相互交叉并且综合性很强的研究课题,它涉及电力电子技术、机械、控制科学以及计算机技术等多门学科。控制多电机同步运行通常分成以下两大类:一是传统的机械方式,即采用链条,皮带,齿轮,轴等传动器械,由于这些传动器械的物理结构相对复杂、工作时灵活性差、噪声大、易磨损机械等缺点,因此机械方式的应用场合越来越少,尤其是在许多对电机的同步性有很高要求的控制场合,几乎不能获得很好的控制效果;另一种是电方式,也就是通过控制多台电机的位移和转速等参数,从而实现多电机之间的同步运行。
在多电机同步控制系统中,由于机械传动机构自身的特点很多,因此影响系统各电机同步运行的因素有很多。从机械结构方面开始考虑,由于机械系统给各电机分配到的负载不平等,这样会使每台电机自身的运行状态都不一样。从电机及驱动器角度上考虑,电网的波动、随环境参数变化而变化的电气参数以及各类电磁干扰等都可能将破坏多电机之间的同步运行。因此,要使多台电机能够同步运行,必须选择有效合理的控制算法,减少系统中的由于各类不确定干扰而产生的影响。
非耦合控制是早期的多电机同步控制最喜欢采用的控制方式。当时提出的控制方法大多都是是针对每一电机,各电机的运动控制均是由各自的控制器实现。当某电机的运行状态发生改变时,就不会反映到其他电机上,从而使系统降低同步性。对于非耦合控制,减少各电机的实际输出速度和给定速度的差值就是控制各电机的目的。对于多电机同步控制的系统,控制的目的就是使多电机之间速度、位移等参数的差值减少。因此,当利用非耦合控制时,虽然能使单台电机的稳态误差减少,却不一定能够减少系统中各电机之间的同步差值。
因此,在实际的多电机同步控制中,一种非常重要的设计原则就是使各电机控制器的特性相互匹配。但是,因为多电机同步系统涉及到的环节有很多,比如机电、控制等一些环节,还有环境影响的各种扰动较多,所以很难真正让各电机完全匹配。所以,有些学者就自然而然地想到在双电机协调控制系统中引入了交叉耦合控制思想,即不仅在每一个电机的控制回路中减少稳态误差的值,同时还将其他电机的反馈信息反馈到这台电机上,从而使各电机的运行状态与其他电机的运行状态相互关联,使其能够协调起来。自20世纪80年代开始,国内外的许多学者都在研究双电机同步,双电机跟踪的交叉耦合控制,其中以Koren、Kul Kami和Srinivasan等人为代表,先后发表了十多篇研究论文,这些论文都是关于交叉耦合控制的,从而为多电机耦合控制的研究与应用奠定了基础。后来,Hua YiChuang、Tomizuka等为了提高系统的动态响应和抗干扰能力,把自适应前馈控制策略应用到交叉耦合控制、双电机同步控制中。
近年来,越来越多的智能控制算法相继被提出及对其不断深入的研究,许多学者也还奋斗在探索应用智能控制算法的技术来实现双电机同步控制的道路上。
基于以上的设计背景,本文提出了一种基于单片机的多电机同步控制系统的设计方案,通过对变频器的控制从而对电机进行控制。变频调速是电机调速[2,3]其中的一种。它不仅具有故障率低,操作方便等优点,而且变频调速的节能效果明显,优于调压调速、滑差调速、变级调速、整流子调速、串级调速和液力偶合器调速等。
1.2 国内外研究现状
早些时候的多电机控制系统都喜欢机械控制的控制方式,即电机通过皮带、轴、齿轮、链式传送等方式进行物理连接。但是机械控制方式的缺点就是使用一台电机作为动力源,这样各单元分配到的功率小,其次由于其物理结构十分复杂,因此维修也不方便,传动范围受限,而且由于采用皮带,链,齿轮,轴等链接机构过多,多处误差较大而且不断积累,机械之间由于长时间的摩擦使机器很容易受损,经常需要维修,大大减少了机器的使用寿命,影响系统的精度。由于电力电子技术和控制技术的飞速发展,电控制方式以其性能好、可靠性高、控制简单、成本低等优点,使其在多电机同步控制系统中占据了最主要位置,在最开始的电控制方式中较多采用了非交叉耦合控制,这种非交叉耦合控制主要包括主令参考方式等。由于这种控制方法的控制精度不高,逐渐地不能达到生产上的要求,后来就因此出现了新的控制方式,即是耦合控制结构。主从控制结构是最开始使用的耦合控制结构,但是主从控制结构有其局限性,只有在系统稳定时才能达到很好的同步性能,而在突变和启动停止时就不适合进行同步控制,因此在这种场合下,系统的同步性能差,误差较大。由于技术的不断发展,Koren又提出了一种新的控制方式,这就是交叉耦合控制策略,但交叉耦合控制策略只适用于系统中只有两台电机的场合。而在多台电机的系统中速度补偿信号难以获得,这种场合交叉耦合控制就不适用[4-6]:2002年Shih等人针对交叉耦合控制策略只能控制两台电机的问题,提出了相邻交叉耦合控制策略,这种方式是不管系统内有多少台电机,我们只考虑这台电机和与其相邻电机的状态,这两台相邻的电机进行耦合,当某台电机受到干扰时,这种就通过相邻电机逐个传递给系统内其它电机,但是正是由于这个特点,控制时间被极大地延长了,从而造成同步误差。不同的场合下对同步控制都有不同要求,为了适应不同的场合,近年来出现了许多控制策略,比如电子虚拟总轴控制,并且被广泛推广,应用到不同的同步控制系统中[7]。
在最近几年中,随着智能控制算法不断被提出,在工业控制领域中智能控制算法应用越来越广泛,很多研究人员都在研究如何在多电机控制领域中应用智能控制算法与技术。已经有专家利用人工神经网络的自适应、自组织和自学习等功能,成功地在多台电机同步控制中应用了人工神经网络,达到了良好的控制效果,其原理是通过不断学习和替代使得双电机同步误差的补偿量随着系统不断学习和替代,最终达到系统设计要求的合理值,从而实现最佳同步控制效果[8]。在2010年大连理工大学的刘然等人就提出了环形耦合控制策略[9]。该控制策略采用了环形耦合补偿与同一给定控制相结合的控制方案。采用环形耦合的方式,对电机的转速差在两两电机之间实现补偿,可大大改善电机的同步协调性能[10]。
多电机同步控制技术已经研究了许多年,国内外的学者都进行了许多理论上的分析设计和实验,针对不同的场合下提出了不同的控制方法,在各自的场合中,这些控制方法都已经在实践中得到了应用。
1.3 本文主要内容
第一章主要讲了多电机同步控制的研究背景,介绍了多电机同步的定义及其分类。同时叙述了多电机同步控制的发展历程,多电机同步的发展是从机械传动到电控制,再到智能控制算法的应用。然后还介绍了目前的研究现状,现在除了不断完善的电控制方式,还研究如何将一些智能算法应用到多电机同步控制中。
第二章主要介绍了多电机同步控制系统的控制算法和设计方案。多电机同步控制系统的基本算法包括了机械控制,并行控制,主从控制,交叉耦合控制,电机虚拟总轴控制,偏差耦合控制。并且介绍了各自的基本内容以及优缺点。设计方案中给出了主要的设计要求,控制策略的选择,硬件电路元件的选择等。
第三章主要给出了多电机同步控制器的硬件结构,其中包括了晶振和复位电路,A/D转换电路,D/A转换电路,显示与键盘电路,储存模块电路,开关量输入输出电路,串行通讯模块和电源模块。
第四章是介绍了多电机同步控制器的软件结构,其中给出了控制器的主程序的基本流程图,中断服务程序的流程图。阐述了多电机同步控制器的一些功能的实现。

2 多电机同步控制系统的控制算法及设计方案

多电机同步控制顾名思义就是指在多电机同步系统中各个电机的的运行状态都与系统内的其他电机相互协调,保持一定的并且不变的关系,这种不变的关系一般有以下三种[11]:
(1)多电机同步系统中的每台电机的速度或者是位移等保持一个恒定的值。比如织布工艺中用于传送布料的两台电机就需要保持一样的速度,否则会使织物发生堆积折叠或者使织物发生撕裂。
(2)多电机同步系统中的每台电机的速度或者是位移等保持一个恒定的比例。比如在纺织中,有一个拉伸加捻的工艺,其主要的功能就是使一个粗长且易断的棉条通过两端的牵伸速度不一样从而实现拉伸,而实现这个功能的就是两台速度保持一定比例的电机。
(3)多电机同步系统中的每台电机的速度或者是位移都保持一定的差值。
2.1 多电机同步控制算法
目前现有的同步控制结构可以分成两大类,分别是机械方法和电方法。而电方法也包括了许多控制方法,其中最普遍的有并行控制,主从控制,交叉耦合控制,电子虚拟总轴控制,偏差耦合控制等[12]。
2.1.1 机械方式
机械方式就是以一台主电机作为动力源,通过链条、皮带、轴、齿轮等方式将功率分散至各个部分。这是最早期使用的控制方式。这种方式存在严重的耦合,各电机之前相互影响,而且由于链条、皮带、轴、齿轮等中存在咬合的因素,系统中的误差会很大并且不断积累,降低同步性。而且系统由于长时间的存在摩擦,会损坏器械,降低寿命。
2.1.2 并行控制
并行控制[13]是基于同样的设定值的并行运行方式,这种同步控制方式非常简单。控制系统采用同样的设定值同时给多台电机,其控制结构图如图2.1所示:

图2.1 并行同步控制系统结构图

采用并行方式的同步控制的优点是在系统的启动,停止阶段能够实现很好同步性能,不同的电机没有被距离限制,可以满足要求较低的同步控制场合的需求。但是由于电机之间没有任何电气连接,整个系统就是一个开环系统,当运行时其中某台电机收到干扰时,不会影响到其他电机的运行状态,所以电机之间会出现同步误差,同步性能变差。
2.1.3 主从控制
以两台电机为例,主从控制方式[14]的控制结构图如图2.2所示:

图2.2 主从同步控制系统结构图

在主从方式的同步控制系统中,给定值输入给主电机,再把主电机的输出速度值作为从电机的速度给定输入参考值。因此,从控制系统结构图中可以看出,改变速度给定或者主电机收到干扰时,从电机都能反应并跟随主电机,但是从电机受到干扰时,主电机却不能收到反馈。另外主从方式在电机启动过程时,从电机的转速会出现滞后的现象。因此主从方式的同步控制策略适用于只有在主电机可能出现较大扰动,而从电机不会收到干扰的和对同步精度要求不是很高的场合中。
2.1.4 交叉耦合控制方式
交叉耦合控制方式[15]是在1980年由Kome提出的。其控制原理图如图2.3所示:

图2.3 交叉耦合控制系统结构图

同前面的控制方法相比,交叉耦合控制系统的最大特点是除了将速度输出值作为自身的反馈信号,还将两台电机的速度输出值进行比较,再将这个差值作为附加的反馈信号。通过这个信号,该系统就能调整系统内的每台电机。这样,系统就能响应每一台电机的状态,从而得到很好的控制精度,提高系统的同步性。但是这种控制方式只适用于只有两台电机的场合。
2.1.5 电子虚拟总轴控制
最早是在1999年由Lorenz和Meyer提出电子虚拟总轴控制[16]方式,然后由Valenzuela和Loerznl将其进一步发展,在这里以两台电机为例,其控制原理图如图2.4所示:

图2.4 双电机虚拟主轴系统结构图

电子虚拟总轴控制模拟了机械总轴的物理特性,因而具有与机械总轴相似的物理特性。电子虚拟总轴控制方式的同步系统输入信号经过虚拟总轴的作用后,得到单元驱动器的参考信号,即参考输入角速度。也即单元驱动器同步的是参考输入信号而非系统的输入信号。由于该信号是经过总轴作用后得到的、经过过滤后的信号,因此该信号更易于为单元驱动器所跟踪,从而提高同步性能。
但是虚拟总轴控制系统在负载发生变化,启动和停机的过程中,各轴的给定值和实际值之间会有差值,会出现不同步的现象,并且在主参考值和每个轴之间会保持一个不变的差值。
2.1.6 偏差耦合控制方式
由于交叉耦合控制方式只实用于两台电机的场合,而在实际生产中往往需要两台以上电机实现同步,因此为了对交叉耦合控制方式进行改进,偏差耦合控制方式[17]应运而生。在偏差耦合控制方式中,由该台电机的实际转速分别减去其他电机的实际转速以后,将三个转速偏差值再相加得到的最终值作为速度补偿器发出的补偿信号。结构框图如图2.5所示:

图2.5 四电机偏差耦合同步控制系统原理框图

偏差耦合控制方式具有很好的同步性能,其中无论哪一个电机受到扰动而产生转速变化时,都会影响到其他电机,波动信息都会传送到其他电机的控制器,进而对其他电机的转速进行调整,实现同步运行。
偏差耦合控制中,最重要的模块就是速度补偿部分,该部分为每个电机提供速度补偿,电机A的速度补偿部分的结构图如2.6所示。

图2.6 电机A 的速度补偿结构
2.2 主要设计要求和设计方案
2.2.1 主要设计要求
本次设计的多电机同步控制器是以AT89S52单片机为控制核心。另外控制器需要与变频器搭配使用,其中控制器不仅能够直接向变频器输出给定,而且还能够从变频器中获得速度反馈。接着控制器还要有良好的人机界面,能够直接从键盘设置给定,还能显示当前速度。最终控制器需要实现四台电机的同步控制。
2.2.2 设计方案
(1)要实现多电机同步控制,首先得先了解什么是多电机同步。多电机同步顾名思义就是使系统内的每台电机的运行状态都与其他电机相互协调,保持一定的关系。这里的关系通常指的是三种:
①多电机同步系统中的每台电机的速度或者是位移等保持一个相同的值。比如织布工艺中用于传送布料的两台电机就需要保持一样的速度,否则会使织物发生堆积折叠或者使织物发生撕裂。
②多电机同步系统中的每台电机的速度或者是位移等保持一个恒定的比例。比如在纺织中,有一个拉伸加捻的工艺,其主要的功能就是使一个粗长且易断的棉条通过两端的牵伸速度不一样从而实现拉伸,而实现这个功能的就是两台速度保持一定比例的电机。
③多电机同步系统中的每台电机的速度或者是位移都保持一定的差值。
(2)多电机同步控制器的核心就是同步控制算法,因此想要实现多电机同步就要选择一个合适有效的算法,通过查找期刊、论文等文献研究目前的现存的控制算法(具体算法在2.2章均有提及)和根据主要设计要求,最终本次设计选用的控制算法是偏差耦合控制方式。
速度补偿模块是偏差耦合控制中最重要的模块,这里以电机A的速度补偿器A为例,速度补偿模块会检测系统内所有电机当前的运行速度,然后将其他电机的速度与电机A的速度相减,然后再将所有的差值进行相加,最后将所得值对电机A进行补偿。偏差耦合控制的优点显著,具有很好同步性能,系统内任意一台电机收到扰动都会影响到其他电机,其他电机的控制器则会收到响应的扰动信息,进而调整各自的电机速度,最后实现系统内电机的同步控制。
(3)在合适的控制算法选择完毕后,我们就需要搭建同步控制器的硬件结构。本次设计的控制核心选用的是AT89S52单片机。AT89S52单片机具有优异的性价比,集成度高、体积小、有很高的可靠性,控制功能强,扩展性好,能够自由扩展外设适用于各种场合。目前单片机已经渗透到我们生活各个领域,小到电话、玩具、家电,大到汽车、工业自动控制、机器人等,这些设备上都有单片机的踪迹。51单片机有丰富的片内资源,包括一个CPU,片内RAM和ROM和4个8位I/O口等。
由于本次设计是以控制变频器从而对电机进行控制,所以电机同步控制器需与变频器搭配使用。因此控制器需要给定输入给变频器,同时还需要从变频器获得速度反馈信号,这两个信号都是模拟量,而51单片机没有数模模数转换模块,因此我们需要扩展这个模块。除了数模模数转换之外,根据控制器的主要设计要求,我们还需扩展键盘输入和屏幕显示功能。为了防止控制器紧急情况掉电丢失数据,所以我们还用E2PROM芯片。最后为了实现上位机与单片机的通讯,将编写好的程序下载到单片机里,控制器使用了ICL232芯片进行通讯。
其中针对设计要求,本次设计各主要模块所需芯片如下所示:
①A/D转换模块:TLC1549芯片;
②D/A转换模块:TLC5615芯片;
③键屏功能模块:ZLG7290芯片;
④记忆芯片模块:AT24C256芯片;
⑤串行通讯模块:MAX232芯片;
⑥继电器驱动模块:ULQ2803芯片。
(4)搭建好多电机同步控制器的硬件结构后,我们还需要根据算法对控制器进行编程,最后将编写好的程序通过MAX232下载到单片机内进行调试。

3 多电机同步控制器硬件电路设计

3.1 系统整体结构
多电机同步控制器系统包括了晶振与复位电路、A/D转换模块、D/A转换模块、键盘与显示模块、储存模块、开关量输入输出模块、串行通讯模块等。其中多电机同步控制器的硬件结构图如图3.1所示:

图3.1 多电机同步控制器的硬件结构

3.2 晶振和复位电路
AT89S52单片机具有优异的性价比,集成度高、体积小、有很高的可靠性,控制功能强,扩展性好,能够自由扩展外设适用于各种场合。其片内有丰富的资源,包括一个CPU,片内ROM和RAM,4个8位I/O口等。其引脚图如3.2所示:

图3.2 AT89S52单片机引脚图

根据设计要求可知,本次设计单片机只需要实现最小系统,因此我们AT89S52单片机的外围电路只需要搭建电源电路,晶振电路和复位电路。AT89S52单片机的最小系统电路如图3.3所示。虽然AT89S52单片机有着丰富的片内资源,但是还不能全部满足本设计需要的硬件结构,因此还需要扩展外设。

图3.3 51单片机的最小系统电路

3.3 A/D转换模块
A/D转换模块我们选用的是TLC1549芯片。由于TLC1549芯片是单路输入,而本设计需要获得4台电机的速度反馈电压信号,因此我们一共使用了4片TLC1549。TLC1549是美国德州仪器公司生产的10位分辨率的串行模数转换器。它采用CMOS工艺,具有内在的采样和保持,采用差分基准电压高阻输入,抗干扰,可按比例量程校准转换范围,总不可调整误差达到±1LSBMax(4.8mV)等特点。
表3.1为TLC1549的引脚说明

表3.1 TLC1549引脚说明
引脚 说明
CS_ 片选使能,低电平有效
I/O CLOCK 输入-输出时钟
DATA OUT 数据输出
GND 芯片参考地
REF- 参考电压低电平输入端
REF+ 参考电压高电平输入端
ANALOG IN 芯片模拟量输入
Vcc 芯片电源

图3.4为TLC1549引脚图。

图3.4 TLC1549引脚图

TLC1549与单片机的接口电路如图3.5所示:

图3.5 TLC1549与单片机的接口电路

其中由单片机的P1.1、P1.2、P1.3和P1.4控制4片TLC1549的选择,当单片机选择某一芯片时,芯片便可启动模数转换,将模拟量转换成数字量,转换完毕便由P1.0时钟端和P0.0数据端实现数据传送。
为了使速度反馈电压符合芯片的幅值要求,我们还需要在TLC1549前加上电压放大电路和调零电路。图3.6就是电压放大电路和调零电路。如图所示,其中滑动变阻器R18可调节电压的放大倍数,R23可实现电路调零的功能,D1和D2则是将电压限制在5V以内。

图3.6 电压放大电路和调零电路

3.4 D/A转换模块
D/A转换模块我们选用了TLC5615芯片。同样的TLC5615也是单路输出,本次设计需要给4台电机输出电压控制信号,因此我们也使用了4片TLC5615芯片。TLC5615是美国德州仪器公司生产的具有10位分辨率的串行数模转换器。
图3.7为TLC5615引脚图。

图3.7 TLC5615引脚图

表3.2为TLC5615的引脚说明。

表3.2 TLC5615引脚说明
引脚 说明
DIN 串行数据输入端
SCLK 串行时钟输入
CS_ 片选使能,低电平有效
DOUT 用于级联的数据输出
VDD 芯片电源
OUT 模拟量输出端
REFIN 参考电压输入
AGND 模拟信号地

TLC5615与51单片机的接口电路如图3.8所示:

图3.8 TLC5615与51单片机的接口电路

其中由单片机的P0.1、P0.2、P0.3和P0.4控制4片TLC5615的选择,当单片机选择某一芯片时,便由P1.0时钟端和P0.0数据端实现数据传送,当数据传送完毕后芯片便可启动数模转换,将数字量转换成模拟量。
另外由于单片机的P0口与P1,P2,P3口不同,P0口内没有上拉电阻,不能正常输出高电平,所以为了能够使单片机正常输出高电平,因此我们加入了上拉电阻。
同样的,为了使转换完成的模拟量符合变频器的输入要求,我们在TLC5615后还同样加上了电压放大电路和调零电路。具体电路图如图3.9所示。其中滑动变阻器R18可调节电压的放大倍数,R23可实现电路调零的功能。

图3.9 电压放大电路和调零电路

3.5 显示与键盘模块
在实现屏幕显示和键盘输入功能,我们选用了ZLG7290芯片。ZLG7290芯片是广州周立功单片机发展有限公司自行设计的数码管显示驱动及键盘扫描管理芯片。采用I2C总线方式,芯片与单片机仅需两根信号线。ZLG7290芯片不仅能够直接驱动8位共阴极数码管或64只独立LED,还能能够管理多大64只按键,自动消除抖动。除此之外还具有闪烁、段点亮、段熄灭、功能键、连击键计数等强大功能。芯片内部提供10种数字和21种字母的译码显示功能,或者直接向显示缓存写入显示数据。最后芯片与单片机之前采用I2C总线方式,只需两根信号线,节省I/O资源。
ZLG7290芯片引脚图如图3.10所示。

图3.10 ZLG7290芯片引脚图

表3.3为ZLG7290的引脚功能表,表中详细给出了各个引脚的功能。

表3.3 ZLG7290引脚功能表
引脚序号 引脚名称 功能描述
1 SC/KR2 数码管c段/键盘行信号2
2 SD/KR3 数码管d段/键盘行信号3
3 DIG3/KC3 数码管位选信号3/键盘列信号3
4 DIG2/KC2 数码管位选信号2/键盘列信号2
5 DIG1/KC1 数码管位选信号1/键盘列信号1
6 DIG0/KC0 数码管位选信号0/键盘列信号0
7 SE/KR4 数码管e段/键盘行信号4
8 SF/KR5 数码管f段/键盘行信号5
9 SG/KR6 数码管g段/键盘行信号6
10 DP/KR7 数码管dp段/键盘行信号7
11 GND 接地
12 DIG6/KC6 数码管位选信号6/键盘列信号6
13 DIG7/KC7 数码管位选信号7/键盘列信号7
14 /INT 键盘中断请求信号,低电平有效
15 /RST 复位信号,低电平有效
16 Vcc 电源
17 OSC1 晶振输入信号
18 OSC2 晶振输出信号
19 SCL I2C总线时钟信号
表3.3续表 ZLG7290引脚功能表
引脚序号 引脚名称 功能说明
20 SDA I2C总线数据信号
21 DIG5/KC5 数码管位选信号5/键盘列信号5
22 DIG4/KC4 数码管位选信号4/键盘列信号4
23 SA/KR0 数码管a段/键盘行信号0
24 SB/KR1 数码管b段/键盘行信号1

ZLG7290芯片与51单片机接口电路如图3.11所示:

图3.11 ZLG7290芯与51单片机接口电路

其中由单片机的P1.5控制ZLG7290的I2C总线数据信号,P1.6控制ZLG7290的I2C总线时钟信号,P1.7对ZLG7290进行初始化。当有按键按下时,ZLG7290会给单片机产生一个中断,让单片机读取当前按下键的键值。当需要使用数码管时,单片机可直接通过I2C总线向显存写入字形数据,或者是通过向命令缓存器写入控制指令实现自动译码。
3.6 储存模块
为了保持数据不断电丢失,避免重新启动时还需要重新设定值,因此我们加上了储存模块,便于单片机储存一些重要的数据。储存模块我们使用的是AT24C256。AT24C256是CATALYST 公司生产的一个256K的8位串行CMOS E2PROM,该器件是通过I2C总线接口与单片机进行连接。AT24C256有如下的特点:能够与1MHz的I2C总线兼容,它的工作电压范围为1.8到6.0V。而且写保护功能当WP为高电平时进入写保护状态。除此之外还有自定时擦写周期。
AT24C256引脚图如图3.12所示:

图3.12 AT24C256引脚图

表3.3是AT89S52的引脚说明。

表3.3 AT89S52引脚说明
引脚 功能说明
SCL 串行时钟输入
SDA 双向串行数据输入输出口
WP 写保护输入
VCC 电源输入端
GND 芯片参考地
NC 空引脚
A0,A1 地址选择输入端

AT24C256与51单片机的接口电路如图3.13所示:

图3.13 AT24C256与51单片机的接口电路

其中由单片机P0.5控制着AT24C256的写保护功能,当输出为1时会进入保护状态,P0.6控制AT24C256的I2C总线时钟信号,P0.7控制AT24C256的I2C总线数据信号。
3.7 开关量输入输出模块
本次设计我们还加入自启动功能,由单片机控制4台变频器的启动,由于单片器电路是控制回路,不能直接启动变频器,因此需要加入继电器。但是单片机的输出不足以驱动继电器的工作,因此我们加入了驱动芯片ULQ2803以保证继电器的正常使用。而故障输入则是当变频器检测有故障时,变频器会发出一个开关量,经过两个或门和一个或非门的处理直接向单片机发出一个中断,直接使单片机中断当前程序进入子程序,使变频器停止工作,同时还能显示发生故障的是哪台变频器。开关量输入输出模块如图3.14所示。

图3.14 开关量输入输出模块

3.8 串行通讯模块
以上的硬件电路是多电机同步控制器的主要电路,但是由于本次设计需要对单片机进行编程,我们还需要将编写好的程序下载到单片机中,因此我们还需要扩展一个串行通讯模块以便于将程序下载到单片机。
串行通讯模块我们使用的是MAX232芯片。MAX232该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。由于电脑串口RS232电平是-10V和+10V,而一般的单片机应用系统的信号电压是TTL电平0~+5v,MAX232就是用来进行电平转换的,该器件包含2个驱动器、2个接收器和一个电压发生器电路提供TIA/EIA-232-F电平。
MAX232的引脚图如图3.15所示:

图3.15 MAX232引脚图

MAX232与51单片机的接口电路如3.16所示:

图3.16 MAX232与51单片机的接口电路

3.9 电源模块
在实际生活中我们所使用的电源电压是220V交流电压,然而多电机同步控制器的内部需要多种不同的直流电压,其中包括了各芯片所需要的+5V电压,运算放大器所需要的±12V电压等等。为了能够让控制器能够直接连接220V交流电压,我们需要加入电源整流降压电路将220V交流电压变成所需要的电压。
图3.17为电压整流电路。该电路不仅能够提供+5V电压,还能够提供所需要的±12V电压。

图3.18 电压整流电路

4 多电机同步控制器的软件设计

多电机同步控制器的程序设计一共分为六个部分:
(1)第一部分是A/D转换芯片TLC1549的调用子函数,只需要给定片选参数就能调用特定的TLC1549;
(2)第二部分则是D/A转换芯片TLC5615的调用子函数,同样的只需给定片选参数就能调用特定的TLC5615;
(3)第三部分是键屏管理芯片ZLG7290的使用函数。因为ZLG7290与51单片机是以I2C总线的连接方式,所以调用函数中包括了I2C协议。
(4)第四部分是储存芯片E2PROM芯片AT89C256的调用。由于AT89C256与单片机也是I2C总线的连接方式,所以调用函数中也包括了I2C协议。
(5)第五部分是中断子程序。中断子程序包括两个部分,一个是中断0,另一个是中断1。其中中断0的优先级高于中断1。中断0是由故障信号产生的,中断1是由ZLG7290产生的按键信号产生的。
(6)第六部分则是程序的主函数。其中实现偏差耦合控制的控制算法和各子函数的调用。
图4.1是主函数程序流程图。由流程图可以看出程序首先判断控制器是否开启,若不开启,则循环判断,直到控制器开启键被按下。控制器开始后,先从储存器中获得当前给定,接着调用TLC5615将给定值输出给变频器。然后再调用TLC1549获得当前各电机的速度反馈,从而可以计算出各电机的差值,获得各电机的速度补偿,然后再根据速度补偿修改给定值,并显示当前的速度值。最后判断控制器是否按下停止键,若没按下,则程序回到调用TLC5615输出给定,若按下停止键,则程序回到判断控制器是否按下开启键。
主程序中调用各子程序,而对于速度给定的设置则是依靠中断1的子程序来实现。其中中断1的子程序的流程图如图4.2所示。中断1的子程序的工作流程是当按下设定键时,控制器就能设定个位的数字,接着检测到上调键被按下时,个位数就加一,当超过9时就重置为0。在这个时候再按一次设定键时便能设置十位数,与设置个位数相似。以此类推就能设置百位数和千位数。然后显示当前的设定值。最后再按下设定键就能将新的速度给定值储存起来,并且退出设定界面,这样控制器就能以新的速度给定值控制电机。

图4.1 主程序程序流程图

图4.2 中断1子程序的程序流程图

为了让多电机同步控制器能够对故障发生时产生动作,我们还利用了中断0,。在故障发生时,控制器能够及时让电机停止,并且能显示故障来源,状态一直持续到停止键被按下。中断0子程序的程序流程图如图4.3所示:

图4.3 中断0子程序的程序流程图

设 计 总 结

至此毕业设计已是基本完成,在毕业设计过程中,从查找资料,学习控制策略,设计硬件电路,最后到软件编程都遇到了许多问题。最后都在老师和同学的帮助以及自己的不断努力,最终问题都得以解决了。
本文研究的是多电机同步控制,多电机同步控制已经渗透了很多领域,在现代工业生产中它直接影响到了产品的质量好坏,因此研究多电机同步控制有很重要的意义。
本次设计是以多电机同步控制为背景,控制策略选择了偏差耦合控制,最后配以相应的有效的硬件电路,再根据所需的功能编写出高效的程序。
本次设计最重要的一个环节是选择一个好的多电机同步控制策略,最开始选择的控制策略是主从方式,但是研究过后发现主从方式的时间滞后性太大,另外四台电机的同步性很差,所以最后从多方面考虑最终选择了偏差耦合方式。
最后硬件电路和程序设计也是本次设计的重要组成部分,是多电机同步控制策略的实现载体。硬件电路中的核心器件则是数模模数转换模块,普通的转换模块一般选择的是8位精度,但是考虑到多电机的控制精度,最后还是选用了10位精度的芯片。

参 考 文 献

[1] 孙文焕,程善美,王晓翔,秦忆.多电机协调控制的发展[J]. 电气传动,1999,(6):3-6.
[2] 杨中群.多电机同步控制系统的研究与设计[D].武汉:武汉理工大学自动化学院,2013.
[3] 王占奎.变频调速应用百例[M].北京:科学出版社,1999:45-68.
[4] 张新华.四电机分部传动粗纱机的计算机控制系统研究[D].浙江:浙江大学,2003:2-15.
[5] 陈曦.造纸机分部传动多电机同步控制系统研究[D].山东:山东大学,2009:6-32.
[6] 潘杰.共辅与无轴传动技本在印刷机上的应用[J].印刷杂志,2003,(10):111-115.
[7] Liu Xingqiao,Chen Chong,Liu Guohai.Multi-motor Synchronous System Based on Neural Network Decoupling Control[J].Proceedings of the 271“Chinese Control Conference”.yunnan:Control,2008,257-260.
[8] 刘坤. 多永磁同步电机同步控制策略的研究[D].长沙:中南大学,2011.
[9] 刘然,孙建忠,罗亚琴等.多电机滑模环形耦合同步控制策略研究[J].中国机械工程,2010,21(22):2662-2665.
[10] 刘然,孙建忠,罗亚琴等.基于环形耦合策略的多电机同步控制研究[J].控制与决策,2011,26(6):957-960.
[11] 黄琢.基于PID神经网络的多电机同步控制研究[D].沈阳:东北大学信息科学与工程学院,2010.
[12] 刘福才,刘学莲,刘立伟.多级电机传动系统同步控制理论与应用研究[J].控制工程,2002,9(4):78-82.
[13] 李克天,郑德涛,陈统坚.包装过程的供送同步控制[J].包装自动化,2000,(3):45-49.
[14] Tomizuka M,Hu J,Chiu,Kamano T.Synchronization of Two Motion Control Axes Under Adaptive Feed forward Control[J].Measurement and Control 1992,114:3234-3245.
[15] Anderson R G,Lorenz R.Web Machine Coodinated Motion Control via Electronic Line-Shatfing[J].IEEE,IAS Annual Tech.Conf.,1999,(10):3-7.
[16] 戚慧. 电动汽车四轮毂电机协调控制[D].徐州:中国矿业大学,2015

附录A 硬件总电路图

致 谢

时光飞逝,毕业设计的时间就这么匆匆结束了,在本次毕业设计中我们不仅获得了新的知识,还学会了很多课堂上无法传授的东西。首先我要感谢学校给了我这次宝贵的毕业设计的机会,让我在大学的最后时光还能充实自己,让自己学会如何做好一个设计,为以后的职业生涯奠定基础,打开一个良好的开端。
其次,我要感谢我的指导老师。感谢老师在我的设计期间给出的种种宝贵意见。感激老师不辞辛苦地解答我在设计期间碰到的问题。老师以其严谨求学的治学态度,高度的敬业精神,兢兢业业、孜孜以求的工作作风对我产生了深远的影响。这篇论文就是在老师细心指导下完成的。
最后,我还得感谢我的同学们。感谢他们在我遇到难以解决的问题时提出的宝贵意见。正是由于他们的支持我才能完成这篇论文。

作者:qq_1744828575

物联沃分享整理
物联沃-IOTWORD物联网 » 设计基于单片机的多电机同步控制器

发表评论