摘 要
随着变频调速技术的发展,变频器调速已成为交流调速的主流,在化纤、纺织、钢铁、机械、造纸等行业得到广泛的应用。变频器控制面板上配有键盘及液晶显示窗口,但只能实现手工操作,为了进行自动化控制,因此引进单片机技术,实现单片机与变频器之间的数据通信,提高变频器的控制能力和控制范围。
利用单片机组成的变频调速控制器,可以实现从低频(1~2Hz) 起动到50Hz ,可以消除以往工作频率50Hz 直接起动对电机的冲击,延长电机的使用寿命,同时由于变频器的输出电压可以自适应调节,使负载电机可以工作在额定电压以下,不仅节能且可延长电机的使用寿命。
本文将介绍基于单片机控制的变频调速系统的设计,通过此系统控制变频器,由变频器去控制电机的转动,实现对矿井中主、副井提升机的模拟,以便演示矿井的工作过程,能够以手动和自动两种方式实现一次过程的五个状态,实时显示主、副井的深度。
关键词:变频调速,单片机,电机,提升机
I
Abstract
With VVVF technology development, the frequency converter adjust velocity in exchange has become the mainstream, and it obtains the widely application in some professions, such as chemical fiber, textile, steel and iron, machinery, papermaking and so on. There are keyboard and liquid crystal to demonstrate window on the frequency converter's control of face, but it can only realize manual operation, for realize the automatic control so we introduce SCM technology, as the result, between MCU and the frequency changer data communication can enhance the control ability and area of the frequency changer.
Composed with SCM of the VVVF controller being able to start from low frequency (1~2Hz) to 50Hz.It can remove the working band in the past 50 Hz start the impingement to the electric motor directly. At the same time, since the frequency converter can adjust output voltage fit in with itself, making loads motor can work under fixed voltage, which not only energy conservation but also prolong the life time of the motor.
The paper will describe the design of the VVVF system based on the SCM controlled, and through this systems control frequency converter, then control the motor rotating, realization simulation to mine pit in host and vice well, in order to demonstrate the process of mine pit, it can achieve a process of the five states by both manual and automatic way, real time display host and vice well depth. Keywords: VVVF ,Single-Chip Computer,Motor ,Elevator
II
目 录
1 绪 论························································································································································· 1
1.1 选题的目的和意义 ························································································ 1
1.2 国内外研究综述 ···························································································· 2
1.3 需求分析 ········································································································ 3
1.4 可行性分析 ···································································································· 4
1.5 开发工具简介 ································································································ 5
1.5.1 KEIL Cx51 ······························································································ 6
1.5.2 PROTEUS ·································································································· 7 2 系统硬件设计·········································································································································· 9
2.1 单片机控制系统 ···························································································· 9
2.2 变频器电路 ·································································································· 12
2.3 数/摸转换电路 ···························································································· 14
2.4 信号检测电路 ······························································································ 15
2.5 电源电路 ······································································································ 17 3 系统软件设计······································································································································· 18
3.1 主控制模块设计 ·························································································· 18
3.2 键盘模块设计 ······························································································ 18
3.3 显示模块设计 ······························································································ 19
3.4 16进制转十进制BCD 的算法 ····································································· 22
3.5 频率计算程序 ······························································································ 23
3.6 速度计算程序 ······························································································ 24
3.7 深度计算程序 ······························································································ 24 4 系统测试·················································································································································· 25
4.1 硬件测试 ······································································································ 25
4.2 软件测试 ······································································································ 26 5 问题及展望 ············································································································································ 31
III
5.1 已经解决的问题及解决方案 ······································································ 31
5.2 系统中的不足及展望 ·················································································· 32 致 谢 ······························································································································································· 33 参考文献·························································································································································· 34 附录1 ································································································································································ 35 附录2 ································································································································································ 36 IV
1 绪 论
1.1 选题的目的和意义
随着变频调速技术的发展,变频器调速已成为交流调速的主流,在化纤、纺织、钢铁、机械、造纸等行业得到广泛的应用。变频器是基于电子技术、计算机技术和自动控制理论发展起来的电子电气设备,用户可以直接操作变频器上配有的手工操作键盘,设定运行参数,发出命令,但毕竟操作复杂,容易出错。为了方便大数用户的使用,必须寻求另外的解决方式,采用单片机对电动机进行控制成为实现电动机数字控制的最常用的手段。随着单片机技术的日新月异,特别是高性能价格比的单片机涌现,使得许多控制功能及算法可以采用软件技术来完成,为电动机的控制提供了更大的灵活性。
随着电力电子技术的日益发展和PWM 控制技术的成熟,利用单片机组成的变频调速控制器可以实现从低频(1~2Hz) 起动到50Hz ,可以消除以往工作频率50Hz 直接起动对电机的冲击,延长电机的使用寿命,同时由于变频器的输出电压可以自适应调节,使负载电机可以工作在额定电压以下,不仅节能且可延长电机的使用寿命。
基于单片机控制的变频调速系统是河南理工大学工矿技术开发公司委托开发的一个项目,这个项目主要用于对矿井中主、副井提升机的模拟,以便演示矿井的工作过程,要求以手动和自动两种方式实现,并能实时显示主、副井提升机的深度。为此设计的控制系统,以单片机为核心,在键盘、显示和数-模转换当中采用模块化设计,这样不但易于编程,而且方便对系统的整体调试。
项目的开发目的主要是用作教学模型,如果实现的效果好,会非常便于演示,能够很好的配合教师教学,也能帮助学生更好地理解矿井中主、副井提升机的工作过程,如果效果不好,也会影响教学。
通过此项目的研究,理论联系实际,丰富了自己项目开发的经验,也为社会做出了一定的贡献,缓解教师的教学压力,活跃了课程气氛。
1
1.2 国内外研究综述
在提升机机械和电气传动技术飞速发展的同时,电子技术和计算机技术的发展,使提升机的电气控制系统更是日新月异。早在七十年代,国外就将可编程控制器应用于提升机控制,八十年代初,计算机又被用于提升机的监视和管理。此时期一些著名的提升机制造公司,如西门子、ABB 、ALSTHOM 都利用新的技术和装备,开发或完善了提升的安全保护和监控装置,然而,国内在提升机电控技术方面没有多少进展,曾以很昂贵的价格从国外引进一些提升机电控设备,有的是晶闸管数字直流调速系统,有的是交-交变频的现代交流调速系统。随着变频调速技术的发展,目前,对矿井中提升机的控制主要是通过变频器。
国外交流变频调速技术正处于高速发展阶段,法国阿尔斯通已能提供单机容量达3万kW 的电气传动设备用于船舶推进系统;意大利ABB 公司提供了单机容量为6万kW 的设备用于抽水蓄能电站;德国西门子公司Simovert A电流型晶闸管变频调速设备单机容量为10~2600kVA 和Simovert P GTO PWM变频调速设备单机容量为100~900kVA ,其控制系统已实现全数字化,用于电力机车、风机、水泵传动;日本富士BJT 变频器最大单机容量可达700kVA ,IGBT 变频器已形成系列产品,其控制系统也已实现全数字化。然而,从总体上看我国电气传动的技术水平较国际先进水平差距10~15年,国内只有少数科研单位有制造大功率变频器的技术,在数字化及系统可靠性方面与国外还有相当差距。在中小功率变频技术方面,国内几乎所有的产品都是普通的V/f控制,仅有少量的样机采用矢量控制,品种与质量还不能满足市场需要,每年大量进口。
随着计算机技术的发展,无论是生产还是生活当中,人们对数字化信息的依赖程度越来越高。如果说计算机是大脑,网络是神经,那么电机传动系统就是骨骼和肌肉。它们之间的完美结合才是现代产业发展方向。为了使交流调速系统与信息系统紧密结合,同时也为了提高交流调速系统自身的性能,2
必须使交流调速系统实现全数字化控制。
单片机已经在交流调速系统中得到了广泛地应用。例如由Intel 公司1983年开发生产的MCS-96系列是目前性能较高的单片机系列之一,适用于高速、高精度的工业控制。其高档型:8×196KB 、8×196KC 、8×196MC 等在通用开环交流调速系统中的应用较多。
由于交流电机控制理论不断发展,控制策略和控制算法也日益复杂。扩展卡尔曼滤波、FFT 、状态观测器、自适应控制、人工神经网络等等均应用到了各种交流电机的矢量控制或直接转矩控制当中。因此,DSP 芯片在全数字化的高性能交流调速系统中找到施展身手的舞台。如TI 公司的MCS320F240等DSP 芯片,以其较高的性能价格比成为了全数字化交流调速系统的首选。最近TI 公司推出的MCS320F240X 系列产品更将价格降低到了单片机的水平。
在小功率交流调速方面,由于国外产品的规模效应,使得国内厂家在价格上、工艺上和技术上均无法与之抗衡。而在高压大功率方面,国外公司又为我们留下了赶超的空间。首先,国外的电网电压等级一般为3000V ,而我国的电网电压等级为6000V 和10000V ;其次,高压大功率交流调速系统无法进行大规模的批量生产,因为国外的劳动力成本,特别是具有一定专业知识的劳动力成本较高。
在交流调速的研究与制造过程中,硬件的设计与组装占了相当大的比重。电机制造以及调速装置的制造需要大批的技术熟练工人,对人员的素质也有一定要求。而国外相关产业的人工成本相对较高,在近十年内,交流调速的制造业有可能向发展中国家转移。对中国来说,这也是一个机遇,如果我们抓住这个机会,再利用本身的市场有利条件,有可能在我国形成交流调速系统的制造业中心,使我国工业上一个新的台阶。需要注意的是发达国家在高技术领域是不会轻易放弃的,他们非常注意核心技术及软件的保护和保密,为此,必须加大该领域的科研与开发的力度。
1.3 需求分析
3
1、任务概述
设计一个控制系统,能以手动和自动两种方式利用变频器调节电动机的转速,模拟矿井中提升机的运动,并能显示电动机的转动速度、控制频率及主、副井提升机中罐笼的位置。
2、功能要求
①220V 小电机可以实现四限速运动(通过变频器)
②数码显示频率变化
③数码显示速度变化
④模拟显示深度指示(通过发光柱)
⑤数码显示深度变化
⑥自动方式下能够自动完成提升机的爬行、加速、匀速、减速和爬行这五个状态,然后停止
⑦手动方式下能够按照人为的操作控制电机运转
⑧一个行程控制在1.5米左右
图1-1 提升机运行的五个状态
根据要求,一个行程要实现爬行、加速、匀速、减速和爬行五个状态,如图1-1所示。在自动控制程序中就要明确地划分每个状态的有效行程,使之自动过渡到下一个状态,所以需要确定每个状态下的运行时间。考虑使用光电式码盘,将电机转动产生的电脉冲传给单片机,单片机内部的计数器对电脉冲计数,当到达预定值时就会自动转向相应的状态。这里需要两个计数器同时计数,一个用于状态间的切换,一个用于计数显示主、副井提升机的深度位置,同时将输入给DAC0832的数据通过一定的算法直接计算出电机的4
速度,再通过数码管显示。
在自动控制程序的运行过程中,不可能精确每一时刻的电机状况,所以这里将采用模糊控制理论,假定在每一个状态都以这个运行状态内的最高速度进行运算,推出每个状态大约要停留多长时间。在实际的运行中,按照工矿理论,必须先爬行,电机初始时没有转动,所以要事先给一个速度,到达到这个速度后就要匀速运行,爬行以后要加速,一直可以加到电机的最高转速,当然对于这么短距离间的控制,不可能让它达到,之后要匀速运行一段时间,然后开始减速运行,当减到一定的速度后就要再爬行,之后电机就停了,这样就走了一个行程。为了设计程序的方便,刚一开始默认为自动方式,所以先要走一个行程,走完以后就要判断是否需要手动控制,若不需要,则停一段时间会再一次的自动运行。如果按下手动键,则电机会在手动操作键盘的指示下运转,由于控制距离短,为了不使在手动方式的操作下而越出边界,在程序中设定了一个界线,如果运行到了这个界线而没有及时按爬行键,使之停下来,程序就要自动将键盘封锁起来,直接运行爬行程序,当电机停下后再把键盘打开,等待操作人员选择下次运行的方式。
在电机运行的过程中,要循环动态扫描显示主、副井提升机的高度以及电机运行的速度和频率,可以达到显示稳定无闪烁。使用D/A转换器将主控MCU 中的用于控制电机转速的数字信号转换为适合变频器的模拟信息,再通过V/F变换就可用于控制电机运转。通过变频器的控制面板可以直接控制电机的运转,不过使用时要正确的设定该参数,显然对于一般用户来说较麻烦。变频器上一个RS485通信接口,方便单片机通过串口与变频器进行通信,为了减少不必要的麻烦,这里没有使用。另外还有一些接线端子上,能通过外接信号进行控制,这样就可以通过单片机上设置的按键进行控制了。
1.5 开发工具简介
用单片机组成应用系统时,其应用程序的编程、修改、调试,运行结果是否符合设计要求,软件、硬件故障的判断以及程序固化等等问题,靠系统自身根本无法解决,必须借助外界的帮助。在方案论证时就必须对关键性的
5
环节进行试验、模拟;在对软件、硬件分别调试时,有的应用程序较长,必须靠外界对程序进行机器码的翻译;在系统联调时,必须对软件、硬件各部分进行全面测试,仔细检查样机是否达到了系统设计的性能指标,以便充分暴露可能存在的问题。要完成以上工作必须依靠开发工具。好的开发工具能够起到事半功倍的效果。目前支持单片机开发的工具很多,有必要选择使用。
1.5.1 KEIL Cx51
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU 可以执行的机器码有两种方法[1]:一种是手工汇编,另一种是机器汇编。目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51, 随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真厂商纷纷宣布支持Keil 即可看出。
KEIL 目前的版本是v8.08,它是一个基于Windows 的软件开发平台,有一个功能强大的编辑器、项目管理器和制作工具。uVision3支持8051的所有KEIL 工具,包括C 编译器、宏汇编器、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil 软件需要Pentium 或以上的CPU,16MB 或更多RAM 、20M 以上空闲的硬盘空间。
1、建立源文件
使用菜单“File->New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入以下汇编语言源程序。保存该文件,注意必须加上扩展名(汇编语言源程序一般用ASM 或A51为扩展名) 。
2、建立工程文件
在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU ,6
确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil 使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译和连接等操作。
点击“Project->New Project... ”菜单,出现一个对话框,要求给将要建立的工程起一个名字,不需要扩展名。输入一个名字,点击“保存”按钮,出现第二个对话框,这个对话框要求选择目标CPU(即所用芯片的型号) 。如果选择Atmel 公司的89C51芯片,点击ATMEL 前面的“+”号,展开该层,点击其中的89C51, 然后再点击“确定”按钮,回到主界面,此时,在工程窗口的文件页中,出现了“Target1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,点击“Source Group1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,选中其中的“Add file to Group ‘Source Group1’”,出现一个对话框,要求寻找源文件,浏览找到所需的文件,将它加入项目。
工程建立好以后,还要对工程进行进一步的设置,以满足要求。
1.5.2 PROTEUS
PROTEUS 系统包括ISIS.EXE(电路原理图设计、电路原理仿真) 、ARES.EXE(印刷电路板设计) 两个主要程序三大基本功能。其中最令人称赞的是电路原理仿真功能,除有普通分离器件、小规模集成器件的仿真功能以外,还具有多种带有CPU 的可编程序器件的仿真功能;具有多种总线、存储器、RS232终端仿真功能;具有电动机、液晶显示器等特殊器件的仿真功能;对可编程器件可以灵活地外挂各种编译、编辑工具,使用非常方便。具有多种虚拟仪器帮助完成实时仿真调试;具有传输特性、频率特性、电压波动分析、噪声分析等多种图形分析工具、可以完成电路参数和可靠性分析。
电路原理图是有电子器件符号和连接导线组成的图形。在图中器件有编号、名称、参数等属性,连接导线有名称、连接的器件引脚等属性。电路原
7
理图的设计就是放置器件并把相应的器件引脚用导线连接起来,并修改器件和导线的属性。
1、建立设计文件
打开ISIS 系统,选择文件菜单中的新建,打开图纸选择窗口,选择合适的图纸类型,确认后自动建立一个缺省标题(UNTITLED)的文件,再选择文件菜单的另存为,建立自己名称的设计文件。
2、放置对象
①根据对象的类别在工具箱选择相应模式的图标。
②根据对象的具体类型选择子模式图标
③如果对象类型是元件、端点、管脚、图形、符号或标记,从选择器里选择你想要的对象的名字。对于元件、端点、管脚和符号,可能首先需要从库中调出。
④如果对象是有方向的,将会在预览窗口显示出来,你可以通过点击旋转各镜象图标来调整对象的朝向。
⑤最后,指向编辑窗口并点击鼠标左键放置对象。对于不同的对象,确切的步骤可能略有不同,但你会发现和其它的图形编辑软件是类似的,而且很直观。
3、放置连线
如果你想让ISIS 自动定出走线路径,只需单击另一个连接点。另一方面,如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键。当你连接了一条线之后,将鼠标移到另一个器件引脚,双击就可以画出同样的一条线。
在电路设计好后,放置信号源,在Design 菜单下,选择Configure Power Rails 弹出对话框,可以选择网络标号所对应的电压(如设置GND ,VCC 的电压值等) ,这样可以给调试带来很大的方便。当虚拟仪器连接好后,编辑窗口左下角的可以帮助启动仿真过程,所对应的功能分别是:执行、单步执行、暂停、停止。
8
2 系统硬件设计
单片机变频调速系统的硬件是由单片机控制系统、变频器电路、数/模转换电路、信号检测电路和电源电路等五大部分组成,其系统框图如图2-1所示。
图2-1 变频调速系统框图
2.1 单片机控制系统
单片机控制系统由AT89C51,复位电路,时钟电路,键盘电路和显示电路构成,其系统组成框图如图2-2所示。
图2-2 单片机控制系统框图 AT89C51是采用高性能的静态80C51设计由先进CMOS 工艺制造并带有非易失性Flash 程序存储器全部支持12时钟和6时钟操作。它片内有8KB 的ROM 、256字节的RAM 、有32条I/O口线、3个16位定时/计数器、6输入4优先级嵌套中断结构、1个串行I/O口(可用于多机通信I/O 扩展或全双工UART) 以及片内振荡器和时钟电路。此外,由于器件采用了静态设计,可提供很宽的操作频率范围(频率可降至0) 。可实现两个由软件选择的节电模式-空
9
闲模式和掉电模式。空闲模式冻结CPU ,但RAM 、定时器、串口和中断系统仍然工作。掉电模式保存RAM 的内容,但是冻结振荡器,导致所有其它的片内功能停止工作。由于设计是静态的,时钟可停止而不会丢失用户数据。运行可从时钟停止处恢复。
时钟电路是采用内部方式,即在AT89C51的XTAL1和XTAL2端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。此处选用的石英频率为f OSC =6MHz,小电容为22pF ,则得到的时钟频率为6MHz 。其接线图如图2-3所示。
图2-3 时钟电路图
复位电路接成按钮式的,从RST 引脚接入AT89C51,其接线图如图2-4所示。复位信号是高电平有效,并且高电平有效的持续时间应为24个振荡周期以上。复位以后,07H 写入栈指针SP ,P0口~P3口均置1, 程序计数PC 和其他特殊功能寄存器SFR 全部清零。
图2-4 复位电路图
键盘是由若干个按键组成的开关矩阵,它是一种廉价的输入设备。本次设计需要6个按键,由于I/O口线足够使用,因此用P1口就可以直接满足要求,无须使用特殊设计,直接将按键接到P1口的引脚上,以组成独立连接式按键接口电路。按键输入采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平。键的定义为,K1用于手动,K2用于自动,K3用于爬行,10
K4用于加速,K5用于匀速,K6用于减速,其接线图如图2-5所示。
图2-5 键盘电路图
显示电路中使用六片74HC595,第一片用于连接数码管公共端,起到循环扫描点亮各位数码管的作用,第二片用于给2个两位数码管送数据,显示主、副井提升机的数字深度,第三片用于给其中一个四位数码管送电机转动的频率数据,第四片用于给另一个四位数码管送电机转动的速度数据,第五、六片用于给发光柱送数据,显示主、副井提升机的模拟深度。其连线如图2-6所示。
图2-6 74HC595控制
74HC595芯片是一种串入并出的芯片,8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态(三态) 。特点:8位串行输入、8位串行或并行输出、存储状态寄存器。输出寄存器可以直接清除100MHz 的移位频率输出能力,并行输出,总线驱动,串行输出(标准) ;中等规模集成电路应用,串行到并行的数据转换,远程控制锁存器。74HC595是硅结构的CMOS 器件,兼容低电压TTL 电路,遵守JEDEC 标准。它是具有8位移位寄存器和一个存储
11
器,三态输出功能。
数据在SCHcp 的上升沿输入,在STcp 的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds ),一个串行输出(Q7’)和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE 时(为低电平),存储寄存器的数据输出到总线。 CPD决定动态的能耗,PD =CPD ×VCC ×f1+∑(CL×VCC2×f0) ,F1=输入频率,CL =输出电容,f0=输出频率(MHz ),Vcc=电源电压。其引脚及逻辑符号如图2-7所示。
图2-7 引脚及逻辑符号
2.2 变频器电路
变频器主电路为交-直-交电压型变频器电路,具体做法是把交流电网(380V或220V) 经过整流器变换为直流电源,然后再经逆变器变换为电压、频率可调的变频电源。整流器由6个晶闸管组成三相可控桥式整流电路,将三相交流电整流后再由电容滤波,为变频调速主回路提供直流电源,且经由这6个晶闸管控制的导通与截止来实现电源的软开关。逆变器功率元件由GTR1至GTR6 6支功率晶体管组成,D13至D18 6支二极管组成功率晶体管的保护部
[9]分。
在进行电机调速时,通常要考虑的一个重要因素是,希望保持电机中每极磁通量为额定值,并保持不变。如果磁通太弱,即电机出现欠励磁,将会影响电机的输出转矩,由
T M =C m Φ m I 2 COS ϕ 2 [5]
12
(式中T m :电磁转矩,Φ m :主磁通,I 2:转子电流,COS ϕ 2:转子回路功率因素,C T :比例系数) ,可知,电机磁通的减小,势必造成电机电磁转矩的减小。
由于电机设计时,电机的磁通常处于接近饱和值,如果进一步增大磁通,将使电机铁心出现饱和,从而导致电机中流过很大的励磁电流,增加电机的铜损耗和铁损耗,严重时会因绕组过热而损坏电机。因此,在改变电机频率时,应对电机的电压进行协调控制,以维持电机磁通的恒定。
为此,用于交流电气传动中的变频器实际上是变压(Variable Voltage ,简称VV )变频(Variable Frequency ,简称VF )器,即VVVF 。所以,通常也把这种变频器称VVVF 装置或VVVF 。
图2-8 标准外部接线图
本项目中使用圣安VF-80系列通用型变频器,标准外部接线图如图2-8所示,其特点:优化的空间电压矢量(SVPWM )控制技术;采用16位或32位INTEL 电机控制专用CPU ;宽电压输入(±20%)设计,应用范围广;内置PID 功能,方便组成闭环系统;多种控制方式,设置简单方便易用;标准
13
485通讯接口(选用);电网电压适应范围宽,瞬间掉电不跳脱;具有远距离控制操作面板,极易操作。内置PID 、主频记忆、混合控制、直流刹车等功能,以及标准PLC 接口、RS485通讯口、指定频率输出等强大的接口功能使得其应用更加灵活广泛。
应用时,将变频器的R 、S 、T 端口接到三刀开关上,由三刀开关接到三相或单相电源上,将变频器的U 、V 、W 端口接到三相电动机的三个输入端,E 接到三相电动机的接地端,把从DAC0832转换来的信号经LF356放大后输入至COM 端,再经变频器做V/F变换就可以驱动电动机运转。从AT89C51中引出一条线P3.7,用于改变电动机的正反转,程序规定:当P3.7为“0”时,电动机正转,可以直接连到变频器的FOW 端;当P3.7为“1”时,电动机反转,要先经过74HC04将信号反向后再接到变频器的REV 端。这样在控制程序中,只需控制P3.7口的状态就可以改变电动机的转动方向。
2.3 数/模转换电路
在数/模转换电路中,AT89C51的P0口既作地址线又作数据线,首先输出地址,选通DAC0832,然后P0口线上将出现数据送到DAC0832,就可以将数字量转化为模拟量输出,再经放大器LF356信息放大输出给变频器,从而达到调节电动机转动的速动。
DAC0832是双列直插式20引脚集成电路芯片,它的内部有一个T 型电阻网络,用来实现D/A转换。它需要外接运算放大器,才能得到模拟电压输出。在DAC0832中有两级锁存器,第一级为8位输入寄存器,它的锁存信号为ILE ,第二级8位DAC 寄存器,它的锁存信号也称为通道控制信号/XFER。因为有两级锁存器,所以DAC0832可以工作在双缓冲工作方式,即在输出模拟信号的同时可以采集下一个数字,先存入输入寄存器而不影响此时的模拟电压的输
[2] 出,可有效地提高转换速度。
LF356运算放大器是一个集成运算放大器,Rf 为反馈电阻,若Rf→ ∞时,输出电压U0与输入电压Ui 的比值叫做运算放大器的开环增益K0。运算放大器的输入阻抗r 很大,理想情况下r→∞,可以认为反馈电流等于信号源的输
入电流Is 。其中,运算放大器的输入电压Ui 与输出电压U0二者的关系为:[4]
14
其中K0运算放大器的开环电压放大倍数,一般为105~106。所以,如果测出U0,即可得到Is 。我们选取反馈电阻Rf = 1MW,用量程为200 mV的数字电压表,它的分辨率为0.01 mV,则能测到的最小电流为:
此处,把DAC0832接成单缓冲工作方式,其连接图如图2-9所示,使输入寄存器处于锁存状态,ILE 接+5V,/WR1接CPU 写信号/WR,/CS接CPU 的P2.0,DAC 寄存器处于不锁存状态,所以将/WR2和/XFER直接接地。通常AGND 和DGND 都接在一起,接到数字地上。由于DAC0832内部有8位数据输入寄存器,可以用来锁存CPU 输出的数据,因此,CPU 的数据总线可直接接到DAC0832的数据输入线DI0~DI7上。因为DAC0832的Iout1和Rfb 端之间已有一个15K 欧姆的内部反馈电阻,所以这里就将运算放大器的输出端Uout 和Rfb 端短接起来。
图2-9 单缓冲工作方式
通过上述方式连接,可以求出最后的输出电压OUTV0=-VREF *D*/256,取V REF 为-5V ,则OUTV0=D*/51.2。其中,D *为输入到DAC0832中的数字量。
2.4 信号检测电路
此处采用光电式码盘,它是一种非接触性光电传感器,具有测量准确度高、响应速度快、可靠性高和使用寿命长等优点。光电式码盘的工作原理就
15
是用光码盘上透光与不透光,在码盘的另一侧形成光脉冲。脉冲光照射在光电敏感元件上产生与光脉冲相对应的电脉冲。典型的光电式码盘有TLP507A 和TLP800,其速度转换电路如图2-10所示。
发光二极管LED 发出红外光,透过码盘的圆孔照射光敏三极管,使其迅速由截止状态变为导通,如此反复形成光脉冲信号,经NPN 三级管放大,再由反向器反向整形后送给单片机的定时器0和定时器1。该测速电路充分利用单片机,完成一系列的数据采样、处理,最后计算得到较准确的速度值并显示该速度。脉冲频率与转速的关系:n=60f/P式中,P 为光码盘开孔的总数;f 为脉冲频率;n 为直流电机的转速。采样周期T 内光脉冲个数N 与频率的关系n=N/f,即n=60N/PT。
图2-10 速度转换电路
这里同时使用两个计数器T0和T1,它们的作用目的不同。在自动程序中,T0主要用状态之间切换,在每个状态里的计数初值不同,以便于限定各个状态的运行时间,当某个状态的计数溢出,就会在相应的中断服务程序中改变标志位并重新赋计数初值,用于计数下一个状态;T1采用方式2的自动重装计数功能,每计数32个脉冲就要中断一次用于改变深度;在手动程序中,T0用作保护功能,开始赋初值用于计数407个脉冲,如果在操作的过程中,T0计数到了407个脉冲而操作人员还没有开启爬行状态,则程序会自动进入T0的中断服务程序中,封锁键盘,禁止手动再键盘,强制电动机进入爬行状态,直至停止,然后才打开键盘,用做判断下一步要采用手动还是自动方式。 16
2.5 电源电路
电源是系统极其重要的一部分,是基础的基础, 这里需要用到直流电源+5V,-10V和交流电源220V 。由于关于电源部分的设计早已成型,故而在本文中没有出现。本项目中使用荣盛达(R-Senda )的300T+P4,其参考图片如图2-11所示。
图2-11 300T+P4
17
3 系统软件设计
3.1 主控制模块设计
P0和P2口作为地址线,用于选择DAC0832,P0口用作数据线将数据输入到DAC0832,P1口用于键盘输入,P2.7、P3.0和P3.1接到74HC595上,用于锁存显示待显的数据,P3.2用于接收键盘信息,P3.4和P3.5用于计数从光码盘送入的脉冲。
主程序的作用是首先完成各个部件的初始化工作,设定好各个中断向量,为各个部件以后的工作做好基础。然后就不停的进行状态判别和数据显示,同时等待各中断的到来,转入相应的中断服务子程序。其主控制流程图如图3-1所示。
图3-1 主控制流程图
3.2 键盘模块设计
本模块采用外部中断控制方式,只要有键闭合,就向CPU 请求中断,CPU 响应键盘输入的中断,就会转向INT0中断服务程序,在断服务程序中识别哪
18
一个键处于闭合状态,然后执行相应的处理程序。键盘中断处理程序的主要功能是改变标志位,进而影响程序流程的转向。
为了保证以CPU 对键的闭合做一次处理,必须先要进行去除抖动处理,
[3]
在键稳定闭合时识别按键,在键释放后再做键输入处理。在程序设计中采用
判断识别,按程序的执行顺序一旦前面的程序响应了某个按键操作,即在执行的过程中不能再响应别的按键,因而每次只能用作单一键。其程序流程图如图3-2所示。
图3-2 键盘模块
3.3 显示模块设计
在程序中定义了20个字节的缓冲区,其中第0个字节~第3个字节用于存储发光柱的低位,第4个字节~第7个字节用于存储发光柱的高位,第8个字节~第11个字节用于存储要显示的电动机的转速,第12个字节~第15个字节用于存储频率数据,第16个字节~第19个字节用于存储深度数据。对于74HC595来说,要先将待显的数据锁存,然后再发送命令让数据显示出来,也就可以达到串入并出的效果,其程序流程图如图3-3所示。
19
图3-3 显示程序流程图
因为要求的行程距离只有1.5m ,主、副井提升机中罐笼的运动正好相反,所以显示的效果如图3-3所示,两者之和为1.5。其中主井的数据放在缓冲区的第17、16字节里,副井的数据放在缓冲区的第19、18字节里。这些数据来自T1中断计数,即每中断一次值会增加0.1m ,再通过一些转换算法才能用于显示。
图3-3 深度显示
20
速度及频率显示效果如图3-4所示,这两组数据都是通过D *计算得到的。 循环扫描显示程序中要用到位选,每次送数时只让你一个位点亮,由于扫描速度快,所以人眼看上去好像同时显示的。对于数码管里面出的小数点都是额外设定的,只有需要时才会让它显示出,在七段数码的查询表里都把小数点位忽略,以免影响效果。
图3-4 速度及频率显示
图3-5 8位的16进制转换为十进制BCD 码流程图
21
3.4 16进制转十进制BCD 的算法
七段发光数码管是由若干个发光二极管按一定的规律排列而成,其中七个发光二极管a ~g 控制七个笔画(段)的亮或暗,另一个控制一个小数点的亮和暗。若发光二极管的阳极连在一起则称为共阳极的,若发光二极管的阴极连在一起则称为共阴极的。此处应用是要显示0~9的数字,因此要先将16进制数转换为十进制BCD 码,然后经查表程序即可显示出相应的数字。
在此项目中,要用到两种16进制转换为十进制BCD 码的算法,一种是把16位的16进制转换为十进制BCD 码的算法,主要用在频率计算和速度计算的程序中,另一种是把8位的16进制转换为十进制BCD 码的算法, 其程序流程图如图3-5所示,主要用在深度计算的程序中。
图3-6 频率计算程序流程图
22
3.5 频率计算程序
由于变频器中v 与f 的关系为1:10,因此频率f=10 * (D*/51.2) = 0.2* D *,即D *每变化1个单位量,f 要变化0.2Hz ,为了便于编程,程序中要先扩大10倍, 最后再缩小10倍,其程序流程图如图3-6图所示。
图3-7 速度计算程序流程图
23
3.6 速度计算程序
由上可知,频率f=0.2* D*,根据电机转速公式n=60f(1-s)/p其中极对数P 为2,转差s=0.067,可得n=0.2*D**60*(1-0.067)/2=5.5D*,即D *每变化1个单位量,n 要变化5.5r/min,为了便于编程,程序中要先扩大10倍, 最后再缩小10倍,其程序流程图如图3-7图所示。
3.7 深度计算程序
由于定时/计数器T1是每隔0.1m 中断一次,每次中断都在中断服务程序中将深度值加1,因为总的行程为1.5m ,并且主、副井正好是一对相反的过程,这里以主井为参考,要得到副井的数据就要用总行程减去主井的数值。其程序流程图如图3-8图所示。
副 井
图3-8 深度计算程序流程图
24
4 系统测试
测试有两种方法:一种称为黑盒测试,即已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;另一种称为白盒测试,即知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照规格
[5]
说明书的规定正常进行。
无论采用哪种测试方法,只要对每一种可能的情况都进行测试,就可以得到完全正确的程序,然而对于实际程序而言,穷尽测试通常是不可能做到的,所以通过测试并不能证明程序是正确的,但是,我们的目的是要通过测试保证软件的可靠性。
4.1 硬件测试
首先,在焊接元器件之前,要对每个元器件进行测试,以防止把有问题的器件焊接上去,会对以后的工作造成很大的影响。对于电阻,要将万用表拨到电阻档,阻值只要不是偏差太大,一般没什么问题。对于芯片来说,不易测量,一般也不会有什么问题,可以不测量,直接焊上。对于发光二极管,要检测出正负极,以便于接线。
第二,要对焊接好的电子元器件进行测试,主要是测一下是否连通,有没有短路现象,器件间接线有没有问题等。将万用表拨到短路振铃档位,然后把探针一头固定在一个焊点上,另一头试接其它焊点,看一下有没有不该相连的地方,如果有则一定在接线时发生了短路,要及时更改过来。对于逻辑上接到一起的焊点,一定会发生短路,如果没有振铃则说明有线路没有连接好,或有虚焊现象。
第三,将所有的硬件全部组装在一起,并且将程序下载到AT89C51中, 然后开机进行测试。第一步测试自动程序,在无人操作的情况下,电动机可以自动完成所有的工作过程。第二步测试手动程序,必须经过人工操作,电动机才会切换状态,否则会按某一动作一直执行,除非是到了末端,因为在程序做了限制,以防止出现不必要的错误。在矿井中,必须要按顺序走完全过程,即爬行、加速、匀速、减速、爬行,当然也可以只走前几步,但不能跳
25
过前面的过程,因此在按键时,如果前面的过程没有走,后面的操作是不会起作用的。测试时,正常与非正常状态都要进行,正常状态下看能否保证顺利完成,非正常状态下看能否通过设定的程序进行处理。
正常操作步骤:先合上三刀开关,保证变频器首先供电,设置好变频器的参数,然后给单片机供电,使整个装置开始运行起来。初始状态是处于自动方式,所以主井要从下向上运行,当达到顶端时,会停止等待是否要人工操作,如果没有,则会继续在自动方式下运行,如果按下了手动按键,则程序会切换到手动方式下运行,并等待按爬行键,一旦按了爬行键,电动机会保持爬行的速度运动起来,如果这期间不再操作,则会一直处于这种状态,除非T0计了407个脉冲,会自动强制停下电动机,因为马上就要到达终点;如果改变了几个状态,则会保持最后一个状态运行。当这次到达终点停下以后,会等待按键操作,以确定要在哪种方式下运行,如果没有按键则会一直等待。
4.2 软件测试
在本次项目开发中,采用模块化设计,使得每个模块都可以完成一个特定的子功能,而且各个子功能在起初设计时没有保持依赖关系。当各个子功能都实现了再组装在一起,根据系统流程的需要进行调用。
1、键盘功能
这个程序设计的思想是:按某个键会在数码管中显示预定义的数值。按照匹配对应键的方法,首先判断是否按下了第一个键,如果是则执行本条语句下面的程序然后返回,如果不是则转判,是否按了下一个键„„如果一直没有相匹配的,则认为没有按键,不作任何处理。
在KEIL C51中编辑程序,然后进行编译,有错误则直接到提示的错误行中进行修改,再编译,直到通过为止,最后成目标HEX 文件。在PROTEUS 中搭建硬件并加载键盘的HEX 文件进行仿真调试。这里共设置了6个按键,按第一个键时应显示1, 按第二个键时应显示2„„以此类推。最后的结果表明,程序能够正常操作。
键盘测试的部分程序:
26
MAI:
MOV P1,#0FFH MOV A,P1
CJNE A,#0FFH,KEY1 MOV R0,#00 CALL DISP JMP MAI KEY1:
LCALL DELAY12MS MOV A,P1
CJNE A,#0FFH,KEY2 MOV R0,#00 CALL DISP JMP MAI KEY2:
CJNE A,#0FEH,NEXT1 KEY3: MOV A,P1
CJNE A,#0FFH,KEY3 MOV R0,#01H CALL DISP LJMP MAI NEXT1:
CJNE A,#0FDH,NEXT2
2、计数功能
KEY4: MOV A,P1
CJNE A,#0FFH,KEY4 MOV R0,#02H CALL DISP LJMP MAI NEXT2:
CJNE A,#0FBH,NEXT3 KEY5: MOV A,P1
CJNE A,#0FFH,KEY5 MOV R0,#03H CALL DISP LJMP MAI NEXT3:
CJNE A,#0F7H,NEXT4 KEY6: MOV A,P1
CJNE A,#0FFH,KEY6 MOV R0,#04H CALL DISP LJMP MAI NEXT4:
CJNE A,#0EFH,NEXT5
KEY7: MOV A,P1
CJNE A,#0FFH,KEY7 MOV R0,#05H CALL DISP LJMP MAI NEXT5:
CJNE A,#0DFH,NEXT6 KEY8: MOV A,P1
CJNE A,#0FFH,KEY8 MOV R0,#06H CALL DISP LJMP MAI NEXT6:
CJNE A,#0BFH,NEXT7 KEY9: MOV A,P1
CJNE A,#0FFH,KEY9 MOV R0,#07H CALL DISP LJMP MAI
这个程序设计的思想是:以按键的动作作为AT89C51的计数脉冲,即每按一下按键,计数器就要加1计数,直到数据计满溢出并产生中断,去执行中断服务程序,在中断服务程序中对某一事件做处理,再重新赋计数初值。
27
在KEIL C51中编辑程序,然后进行编译,有错误则直接到提示的错误行中进行修改,再编译,直到通过为止,最后成目标HEX 文件。在PROTEUS 中搭建硬件并加载HEX 文件进行仿真调试。初值设定为0FFFAH ,所以每按6下按键就会产生一次中断,在中断服务程序里,让P2.0取反,在硬件的连接上P2.0接上了一个发光二极管。假定初始状态的发光二极管是熄灭状态,则第一次中断后,发光二极管会被点亮,第二次中断后,发光二极管会熄灭„„测试结果显示完全可以实现。
计数测试的部分程序: ORG 000BH JMP TIMEP ORG 001BH JMP COUNT ORG 100H MAIN: MOV SP,#5FH MOV P2,#0FFH MOV TMOD,#65H 3、发光柱显示功能
这个程序设计的思想是:每送一个数据,经过处理后,会在发光柱上点亮相应个数的光柱。因为实际上只要控制1.5m ,所以就设定每0.1m 点亮一条光柱。在二进制中,“1”为亮,“0”为灭,因此程序中要将0~7和8~15分别进行处理,在此选用查表法。先判别是否大于8, 若不大于8, 则低位查表可得结果,高位赋“0”;若大于8, 则高位查表可得,低位赋“0FFH ”。
在KEIL C51中编辑程序,然后进行编译,有错误则直接到提示的错误行中进行修改,再编译,直到通过为止,最后成目标HEX 文件。在PROTEUS 中搭建硬件并加载HEX 文件进行仿真调试。从00H ~0FFH 依次赋值,发光柱会从不亮到全亮。测试结果表明,达到了程序设计要求。
测试所用程序:
28
MOV TH0,#0FFH MOV TL0,#0F4H MOV TH1,#0FAH MOV TL1,#0FAH SETB EA SETB ET0 SETB TR0 SETB ET1 SETB TR1
SJMP $ TIMEP: CPL P2.0 MOV TH0,#0FFH MOV TL0,#0FAH RETI COUNT: CPL P2.1 RETI
FILE EQU 30H ; 存放待显数据 FILE1 EQU 31H ; 低位
FILE2 EQU 32H ; 高位 DDS EQU P2.7 SHCP EQU P3.0 STCP EQU P3.1 ORG 0000H JMP MAIN ORG 100H MAIN: MOV SP,#60H MOV FILE,#0DH CALL DOH CLR SHCP CLR STCP CLR DDS TT:
MOV R0,#08H MOV R1,#02H MOV A,FILE2 4、数据显示功能
LL1: CLR C RLC A CLR DDS MOV DDS,C SETB SHCP NOP NOP CLR SHCP DJNZ R0,LL1 DJNZ R1,LL2 SETB STCP NOP NOP CLR STCP NOP NOP JMP TT LL2: MOV A,FILE1 MOV R0,#08H JMP LL1 DOH:
CLR C
MOV DPTR,#TABS MOV A,FILE ANL A,#0FH MOV FILE1,A SUBB A,#08H MOV FILE2,A JNC NEXT MOV A,FILE1 MOVC A,@A+DPTR MOV FILE1,A MOV FILE2,#0FFH JMP ENDL NEXT: MOV A,FILE2 MOVC A,@A+DPTR MOV FILE2,A MOV FILE1,#00H ENDL: RET
TABS:DB 0FFH,0FEH, 0FCH,0F8H,0F0H, 0E0H,0C0H,80H,00H
这个程序设计的思想是:先将待显数据全都放到一个20字节的缓冲区里,然后经过74HC595进行移位锁存显示。
在KEIL C51中编辑程序,然后进行编译,有错误则直接到提示的错误行中进行修改,再编译,直到通过为止,最后成目标HEX 文件。在PROTEUS 中
29
搭建硬件并加载HEX 文件进行仿真调试。程序刚启动,送入程序初始化值,当程序运行起来,会使一些数据发生变化时,相应的显示数据也要发生变化。
5、完整程序调试
将所有的功能程序有效地组织到一起,在KEIL C51中编辑,然后进行编译,有错误则直接到提示的错误行中进行修改,再编译,直到通过为止,最后成目标HEX 文件。在PROTEUS 中搭建硬件并加载HEX 文件进行仿真调试。系统首先进入自控程序,观察标志位及计数器里的数据是不是符合设计思想,观察显示部分是否跟随程序正常变化,等完成一个行程后,如果什么也不操作,是不是会再进入自动程序,如果按下手动按键,能否切换到手控程序。进入手控方式,再循环测试各功能按键。
30
5 问题及展望
5.1 已经解决的问题及解决方案
1、发光柱显示:电动机正转时可以达到满意的效果,让光条越亮越多,但是电动机反转时,发光柱是越灭越多,不够理想。
解决:重新设计一个数据表,当正转时查原始数据表,程序流程不变,当反转时就要查新建的数据表,在这期间要用正反转标志位做判断。不发生变化的值,正反转里刚好相反,当深度小于8时,低位赋值为“0FFH ”,当深度大于8时,高位赋值为“00H ”,如此修改可以达到较好的效果。
2、手动程序:当计数器T0已经计满407个脉冲,进入中断设置并转爬行状态后,观察运行状况没有达到要求,并且深度超出了1.5m ,进入了未知领域。
解决:仔细分析原程序,通过人工执行程序的每步流程,并且观察接口寄存器里所发生的变化,发现中断以后,TL0中的值不是程序中想要设定的数据,回到程序语句中检查发现,有一语句写错了,应将“ANL L0,#0B8H”改为“MOV TL0,#0B8H”。
3、正反转:按要求,应当在上、下运行期间允许改变正反转,并且这次正转了,下次就要进行反转,否则就会越出给定边界。但程序运行时,正反转没有得到有效的控制,发生了错乱。
解决:仔细分析手动和自动的交接点,发现手动和自动的控制程序里面分别都对正反转标志位做了改变,因此,改变方式后不清楚标志位变成了什么。为了更好地兼容,只是在每次运行结束后改变正反转标志位,这样就可以避免重复变更标志位了。
4、中断响应:程序中用到了三个中断,它们之间有时会发生冲突,因为在程序运行的过程中,根据CUP 性能的不同,没法预测每个中断的确切时段,响应有可能没法实现。
解决:尽量压缩中断服务程序里的语句,执行过程尽量简洁。计数中断次数要控制一下,不要使中断过于频繁,每次中断要进行相应的压栈保护,
31
退出时再出栈。
5.2 系统中的不足及展望
1、本次项目中,没有实现运动过程中让电机切换正、反转,其实这种操作也是不允许的,因为电机运动时速度很快,不可以让它直接改变转向,只能先让电机停下来再操作。对于本次设计只有1.5m ,是很难能达到要求的,如果距离加大,会考虑引进这一构思。
2、没有设置自动和手动的自由切换,只能在每一个行程之后才允许,这样的处理使整个系统不灵活。如果要想实现这个功能,就要考虑很多问题,要记录每个时刻的数据,这样系统的开销会很大。
3、电动机的控制采用了模糊控制方式,不够精确,如果用在实际中,会出现很大的偏差。要想更好的处理,就要熟悉电机特性,并且要有丰富的经验,这样才能较为精确的控制。
4、数据显示都是通过理想的计算得到的,没有考虑实际中的相互影响,所以误差是不可避免的。如果再深入研究变频器,可以从变频器的输出端得到有用的数据,再把这个数据反馈到输入端,这样所得到的数据会精确的多。
5、因为只用作教学演试模型,所以整个设计都没有考虑系统的安全性,也没有考虑电动机的承载能力。
32
致 谢
论文写作行将结束,课题的研究也已经告一段落。回首这两年本科阶段的时间,无论在学习还是在生活中,自始至终都离不开各位老师的关怀以及同学的帮助。
在这里要感谢我的指导老师,论文的完成是在于老师的认真指导与及时督促下进行的。同时要感谢我的同事文新根,他对于我的设计提出了许多宝贵意见,有些算法程序也直接来自于他的构思。还有朱振华,在课余时间,跑办公室问老师关于电机的工作原理及跑公司取零器件,从而为了完成项目节省了很多时间。
在开发项目的这段时间内,很感激CYXL 科研组,将活动室定为项目开发专用室,直接解决了工作场所问题,也要感谢几名帮忙焊接电路板的学生,如果没有这些支持,项目的完成可能不会这么顺利。
在此,要特别感谢我至爱的父母,是他们的全力支持和无微不至的关心,使我在研究工作中投入更大的热情和信心,顺利地完成学业。 最后,向所有关心和支持我的人表示我最诚挚的谢意!
33
参考文献
[1]马忠梅, 籍顺心等编著. 单片机的C 语言应用程序设计. 北京航空航天大学出版社,2005:11
[2]朱善君, 孙新亚等编著. 单片机接口技术与应用. 清华大学出版社,2005:3
[3]赖寿宏编著. 微型计算机控制技术. 机械工业出版社,2006:5 [4]余发山, 王福忠编著. 单片机原理及应用技术. 中国矿业大学出版社,2003:12
[5]余发山, 郑征等编著. 自动控制系统. 中国矿业大学出版社,2005:2 [6]尚涛, 唐新星等编著. 机电控制系统设计. 化学工业出版社,2006:4 [7]康华光, 邹寿彬编著. 电子技术基础(第四版). 高等教育出版社,2000:7
[8]张海编著. 软件工程导论(第三版). 人民邮电出版社,2006:5 [9]冯垛生等编著. 变频器实用指南. 清华大学出版社,2001:5
[10]徐甫荣, 陈辉明. 高压变频调速技术应用现状与发展趋势. 《变频器世界》网络版,2007:6
[11]南京年华电厂.http://www.njhndj.com/
34
附 录1
项目相关参数
电动机:型号 功率 电压 电流 频率 转速
YS5614X 90W 380V 0.39A 50HZ 1400r/min
变频装置容量=电动机输出功率÷(电动机功率因数×效率)
=90W ÷(0.85×0.95)=111.46VA
压频比=电压÷频率=u ÷f =380V ÷50Hz=7.6
S=(n1-n )÷n1=0.5333 n=60f1÷p ×(1-s )=1290r/min
圆周为C ,则 C=d×=80mm=251.2mm
圆周分60段,每段长为L ,则L=C÷60=4.187mm
电动机运行线速度为v ,由v=w×r, w=(n ×2)÷60rad/s得 V=5400.8mm/s≈5.4m/s(r=d÷2=40mm )
35
附 录
2
36
摘 要
随着变频调速技术的发展,变频器调速已成为交流调速的主流,在化纤、纺织、钢铁、机械、造纸等行业得到广泛的应用。变频器控制面板上配有键盘及液晶显示窗口,但只能实现手工操作,为了进行自动化控制,因此引进单片机技术,实现单片机与变频器之间的数据通信,提高变频器的控制能力和控制范围。
利用单片机组成的变频调速控制器,可以实现从低频(1~2Hz) 起动到50Hz ,可以消除以往工作频率50Hz 直接起动对电机的冲击,延长电机的使用寿命,同时由于变频器的输出电压可以自适应调节,使负载电机可以工作在额定电压以下,不仅节能且可延长电机的使用寿命。
本文将介绍基于单片机控制的变频调速系统的设计,通过此系统控制变频器,由变频器去控制电机的转动,实现对矿井中主、副井提升机的模拟,以便演示矿井的工作过程,能够以手动和自动两种方式实现一次过程的五个状态,实时显示主、副井的深度。
关键词:变频调速,单片机,电机,提升机
I
Abstract
With VVVF technology development, the frequency converter adjust velocity in exchange has become the mainstream, and it obtains the widely application in some professions, such as chemical fiber, textile, steel and iron, machinery, papermaking and so on. There are keyboard and liquid crystal to demonstrate window on the frequency converter's control of face, but it can only realize manual operation, for realize the automatic control so we introduce SCM technology, as the result, between MCU and the frequency changer data communication can enhance the control ability and area of the frequency changer.
Composed with SCM of the VVVF controller being able to start from low frequency (1~2Hz) to 50Hz.It can remove the working band in the past 50 Hz start the impingement to the electric motor directly. At the same time, since the frequency converter can adjust output voltage fit in with itself, making loads motor can work under fixed voltage, which not only energy conservation but also prolong the life time of the motor.
The paper will describe the design of the VVVF system based on the SCM controlled, and through this systems control frequency converter, then control the motor rotating, realization simulation to mine pit in host and vice well, in order to demonstrate the process of mine pit, it can achieve a process of the five states by both manual and automatic way, real time display host and vice well depth. Keywords: VVVF ,Single-Chip Computer,Motor ,Elevator
II
目 录
1 绪 论························································································································································· 1
1.1 选题的目的和意义 ························································································ 1
1.2 国内外研究综述 ···························································································· 2
1.3 需求分析 ········································································································ 3
1.4 可行性分析 ···································································································· 4
1.5 开发工具简介 ································································································ 5
1.5.1 KEIL Cx51 ······························································································ 6
1.5.2 PROTEUS ·································································································· 7 2 系统硬件设计·········································································································································· 9
2.1 单片机控制系统 ···························································································· 9
2.2 变频器电路 ·································································································· 12
2.3 数/摸转换电路 ···························································································· 14
2.4 信号检测电路 ······························································································ 15
2.5 电源电路 ······································································································ 17 3 系统软件设计······································································································································· 18
3.1 主控制模块设计 ·························································································· 18
3.2 键盘模块设计 ······························································································ 18
3.3 显示模块设计 ······························································································ 19
3.4 16进制转十进制BCD 的算法 ····································································· 22
3.5 频率计算程序 ······························································································ 23
3.6 速度计算程序 ······························································································ 24
3.7 深度计算程序 ······························································································ 24 4 系统测试·················································································································································· 25
4.1 硬件测试 ······································································································ 25
4.2 软件测试 ······································································································ 26 5 问题及展望 ············································································································································ 31
III
5.1 已经解决的问题及解决方案 ······································································ 31
5.2 系统中的不足及展望 ·················································································· 32 致 谢 ······························································································································································· 33 参考文献·························································································································································· 34 附录1 ································································································································································ 35 附录2 ································································································································································ 36 IV
1 绪 论
1.1 选题的目的和意义
随着变频调速技术的发展,变频器调速已成为交流调速的主流,在化纤、纺织、钢铁、机械、造纸等行业得到广泛的应用。变频器是基于电子技术、计算机技术和自动控制理论发展起来的电子电气设备,用户可以直接操作变频器上配有的手工操作键盘,设定运行参数,发出命令,但毕竟操作复杂,容易出错。为了方便大数用户的使用,必须寻求另外的解决方式,采用单片机对电动机进行控制成为实现电动机数字控制的最常用的手段。随着单片机技术的日新月异,特别是高性能价格比的单片机涌现,使得许多控制功能及算法可以采用软件技术来完成,为电动机的控制提供了更大的灵活性。
随着电力电子技术的日益发展和PWM 控制技术的成熟,利用单片机组成的变频调速控制器可以实现从低频(1~2Hz) 起动到50Hz ,可以消除以往工作频率50Hz 直接起动对电机的冲击,延长电机的使用寿命,同时由于变频器的输出电压可以自适应调节,使负载电机可以工作在额定电压以下,不仅节能且可延长电机的使用寿命。
基于单片机控制的变频调速系统是河南理工大学工矿技术开发公司委托开发的一个项目,这个项目主要用于对矿井中主、副井提升机的模拟,以便演示矿井的工作过程,要求以手动和自动两种方式实现,并能实时显示主、副井提升机的深度。为此设计的控制系统,以单片机为核心,在键盘、显示和数-模转换当中采用模块化设计,这样不但易于编程,而且方便对系统的整体调试。
项目的开发目的主要是用作教学模型,如果实现的效果好,会非常便于演示,能够很好的配合教师教学,也能帮助学生更好地理解矿井中主、副井提升机的工作过程,如果效果不好,也会影响教学。
通过此项目的研究,理论联系实际,丰富了自己项目开发的经验,也为社会做出了一定的贡献,缓解教师的教学压力,活跃了课程气氛。
1
1.2 国内外研究综述
在提升机机械和电气传动技术飞速发展的同时,电子技术和计算机技术的发展,使提升机的电气控制系统更是日新月异。早在七十年代,国外就将可编程控制器应用于提升机控制,八十年代初,计算机又被用于提升机的监视和管理。此时期一些著名的提升机制造公司,如西门子、ABB 、ALSTHOM 都利用新的技术和装备,开发或完善了提升的安全保护和监控装置,然而,国内在提升机电控技术方面没有多少进展,曾以很昂贵的价格从国外引进一些提升机电控设备,有的是晶闸管数字直流调速系统,有的是交-交变频的现代交流调速系统。随着变频调速技术的发展,目前,对矿井中提升机的控制主要是通过变频器。
国外交流变频调速技术正处于高速发展阶段,法国阿尔斯通已能提供单机容量达3万kW 的电气传动设备用于船舶推进系统;意大利ABB 公司提供了单机容量为6万kW 的设备用于抽水蓄能电站;德国西门子公司Simovert A电流型晶闸管变频调速设备单机容量为10~2600kVA 和Simovert P GTO PWM变频调速设备单机容量为100~900kVA ,其控制系统已实现全数字化,用于电力机车、风机、水泵传动;日本富士BJT 变频器最大单机容量可达700kVA ,IGBT 变频器已形成系列产品,其控制系统也已实现全数字化。然而,从总体上看我国电气传动的技术水平较国际先进水平差距10~15年,国内只有少数科研单位有制造大功率变频器的技术,在数字化及系统可靠性方面与国外还有相当差距。在中小功率变频技术方面,国内几乎所有的产品都是普通的V/f控制,仅有少量的样机采用矢量控制,品种与质量还不能满足市场需要,每年大量进口。
随着计算机技术的发展,无论是生产还是生活当中,人们对数字化信息的依赖程度越来越高。如果说计算机是大脑,网络是神经,那么电机传动系统就是骨骼和肌肉。它们之间的完美结合才是现代产业发展方向。为了使交流调速系统与信息系统紧密结合,同时也为了提高交流调速系统自身的性能,2
必须使交流调速系统实现全数字化控制。
单片机已经在交流调速系统中得到了广泛地应用。例如由Intel 公司1983年开发生产的MCS-96系列是目前性能较高的单片机系列之一,适用于高速、高精度的工业控制。其高档型:8×196KB 、8×196KC 、8×196MC 等在通用开环交流调速系统中的应用较多。
由于交流电机控制理论不断发展,控制策略和控制算法也日益复杂。扩展卡尔曼滤波、FFT 、状态观测器、自适应控制、人工神经网络等等均应用到了各种交流电机的矢量控制或直接转矩控制当中。因此,DSP 芯片在全数字化的高性能交流调速系统中找到施展身手的舞台。如TI 公司的MCS320F240等DSP 芯片,以其较高的性能价格比成为了全数字化交流调速系统的首选。最近TI 公司推出的MCS320F240X 系列产品更将价格降低到了单片机的水平。
在小功率交流调速方面,由于国外产品的规模效应,使得国内厂家在价格上、工艺上和技术上均无法与之抗衡。而在高压大功率方面,国外公司又为我们留下了赶超的空间。首先,国外的电网电压等级一般为3000V ,而我国的电网电压等级为6000V 和10000V ;其次,高压大功率交流调速系统无法进行大规模的批量生产,因为国外的劳动力成本,特别是具有一定专业知识的劳动力成本较高。
在交流调速的研究与制造过程中,硬件的设计与组装占了相当大的比重。电机制造以及调速装置的制造需要大批的技术熟练工人,对人员的素质也有一定要求。而国外相关产业的人工成本相对较高,在近十年内,交流调速的制造业有可能向发展中国家转移。对中国来说,这也是一个机遇,如果我们抓住这个机会,再利用本身的市场有利条件,有可能在我国形成交流调速系统的制造业中心,使我国工业上一个新的台阶。需要注意的是发达国家在高技术领域是不会轻易放弃的,他们非常注意核心技术及软件的保护和保密,为此,必须加大该领域的科研与开发的力度。
1.3 需求分析
3
1、任务概述
设计一个控制系统,能以手动和自动两种方式利用变频器调节电动机的转速,模拟矿井中提升机的运动,并能显示电动机的转动速度、控制频率及主、副井提升机中罐笼的位置。
2、功能要求
①220V 小电机可以实现四限速运动(通过变频器)
②数码显示频率变化
③数码显示速度变化
④模拟显示深度指示(通过发光柱)
⑤数码显示深度变化
⑥自动方式下能够自动完成提升机的爬行、加速、匀速、减速和爬行这五个状态,然后停止
⑦手动方式下能够按照人为的操作控制电机运转
⑧一个行程控制在1.5米左右
图1-1 提升机运行的五个状态
根据要求,一个行程要实现爬行、加速、匀速、减速和爬行五个状态,如图1-1所示。在自动控制程序中就要明确地划分每个状态的有效行程,使之自动过渡到下一个状态,所以需要确定每个状态下的运行时间。考虑使用光电式码盘,将电机转动产生的电脉冲传给单片机,单片机内部的计数器对电脉冲计数,当到达预定值时就会自动转向相应的状态。这里需要两个计数器同时计数,一个用于状态间的切换,一个用于计数显示主、副井提升机的深度位置,同时将输入给DAC0832的数据通过一定的算法直接计算出电机的4
速度,再通过数码管显示。
在自动控制程序的运行过程中,不可能精确每一时刻的电机状况,所以这里将采用模糊控制理论,假定在每一个状态都以这个运行状态内的最高速度进行运算,推出每个状态大约要停留多长时间。在实际的运行中,按照工矿理论,必须先爬行,电机初始时没有转动,所以要事先给一个速度,到达到这个速度后就要匀速运行,爬行以后要加速,一直可以加到电机的最高转速,当然对于这么短距离间的控制,不可能让它达到,之后要匀速运行一段时间,然后开始减速运行,当减到一定的速度后就要再爬行,之后电机就停了,这样就走了一个行程。为了设计程序的方便,刚一开始默认为自动方式,所以先要走一个行程,走完以后就要判断是否需要手动控制,若不需要,则停一段时间会再一次的自动运行。如果按下手动键,则电机会在手动操作键盘的指示下运转,由于控制距离短,为了不使在手动方式的操作下而越出边界,在程序中设定了一个界线,如果运行到了这个界线而没有及时按爬行键,使之停下来,程序就要自动将键盘封锁起来,直接运行爬行程序,当电机停下后再把键盘打开,等待操作人员选择下次运行的方式。
在电机运行的过程中,要循环动态扫描显示主、副井提升机的高度以及电机运行的速度和频率,可以达到显示稳定无闪烁。使用D/A转换器将主控MCU 中的用于控制电机转速的数字信号转换为适合变频器的模拟信息,再通过V/F变换就可用于控制电机运转。通过变频器的控制面板可以直接控制电机的运转,不过使用时要正确的设定该参数,显然对于一般用户来说较麻烦。变频器上一个RS485通信接口,方便单片机通过串口与变频器进行通信,为了减少不必要的麻烦,这里没有使用。另外还有一些接线端子上,能通过外接信号进行控制,这样就可以通过单片机上设置的按键进行控制了。
1.5 开发工具简介
用单片机组成应用系统时,其应用程序的编程、修改、调试,运行结果是否符合设计要求,软件、硬件故障的判断以及程序固化等等问题,靠系统自身根本无法解决,必须借助外界的帮助。在方案论证时就必须对关键性的
5
环节进行试验、模拟;在对软件、硬件分别调试时,有的应用程序较长,必须靠外界对程序进行机器码的翻译;在系统联调时,必须对软件、硬件各部分进行全面测试,仔细检查样机是否达到了系统设计的性能指标,以便充分暴露可能存在的问题。要完成以上工作必须依靠开发工具。好的开发工具能够起到事半功倍的效果。目前支持单片机开发的工具很多,有必要选择使用。
1.5.1 KEIL Cx51
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU 可以执行的机器码有两种方法[1]:一种是手工汇编,另一种是机器汇编。目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51, 随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真厂商纷纷宣布支持Keil 即可看出。
KEIL 目前的版本是v8.08,它是一个基于Windows 的软件开发平台,有一个功能强大的编辑器、项目管理器和制作工具。uVision3支持8051的所有KEIL 工具,包括C 编译器、宏汇编器、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil 软件需要Pentium 或以上的CPU,16MB 或更多RAM 、20M 以上空闲的硬盘空间。
1、建立源文件
使用菜单“File->New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入以下汇编语言源程序。保存该文件,注意必须加上扩展名(汇编语言源程序一般用ASM 或A51为扩展名) 。
2、建立工程文件
在项目开发中,并不是仅有一个源程序就行了,还要为这个项目选择CPU ,6
确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便,Keil 使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译和连接等操作。
点击“Project->New Project... ”菜单,出现一个对话框,要求给将要建立的工程起一个名字,不需要扩展名。输入一个名字,点击“保存”按钮,出现第二个对话框,这个对话框要求选择目标CPU(即所用芯片的型号) 。如果选择Atmel 公司的89C51芯片,点击ATMEL 前面的“+”号,展开该层,点击其中的89C51, 然后再点击“确定”按钮,回到主界面,此时,在工程窗口的文件页中,出现了“Target1”,前面有“+”号,点击“+”号展开,可以看到下一层的“Source Group1”,点击“Source Group1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,选中其中的“Add file to Group ‘Source Group1’”,出现一个对话框,要求寻找源文件,浏览找到所需的文件,将它加入项目。
工程建立好以后,还要对工程进行进一步的设置,以满足要求。
1.5.2 PROTEUS
PROTEUS 系统包括ISIS.EXE(电路原理图设计、电路原理仿真) 、ARES.EXE(印刷电路板设计) 两个主要程序三大基本功能。其中最令人称赞的是电路原理仿真功能,除有普通分离器件、小规模集成器件的仿真功能以外,还具有多种带有CPU 的可编程序器件的仿真功能;具有多种总线、存储器、RS232终端仿真功能;具有电动机、液晶显示器等特殊器件的仿真功能;对可编程器件可以灵活地外挂各种编译、编辑工具,使用非常方便。具有多种虚拟仪器帮助完成实时仿真调试;具有传输特性、频率特性、电压波动分析、噪声分析等多种图形分析工具、可以完成电路参数和可靠性分析。
电路原理图是有电子器件符号和连接导线组成的图形。在图中器件有编号、名称、参数等属性,连接导线有名称、连接的器件引脚等属性。电路原
7
理图的设计就是放置器件并把相应的器件引脚用导线连接起来,并修改器件和导线的属性。
1、建立设计文件
打开ISIS 系统,选择文件菜单中的新建,打开图纸选择窗口,选择合适的图纸类型,确认后自动建立一个缺省标题(UNTITLED)的文件,再选择文件菜单的另存为,建立自己名称的设计文件。
2、放置对象
①根据对象的类别在工具箱选择相应模式的图标。
②根据对象的具体类型选择子模式图标
③如果对象类型是元件、端点、管脚、图形、符号或标记,从选择器里选择你想要的对象的名字。对于元件、端点、管脚和符号,可能首先需要从库中调出。
④如果对象是有方向的,将会在预览窗口显示出来,你可以通过点击旋转各镜象图标来调整对象的朝向。
⑤最后,指向编辑窗口并点击鼠标左键放置对象。对于不同的对象,确切的步骤可能略有不同,但你会发现和其它的图形编辑软件是类似的,而且很直观。
3、放置连线
如果你想让ISIS 自动定出走线路径,只需单击另一个连接点。另一方面,如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键。当你连接了一条线之后,将鼠标移到另一个器件引脚,双击就可以画出同样的一条线。
在电路设计好后,放置信号源,在Design 菜单下,选择Configure Power Rails 弹出对话框,可以选择网络标号所对应的电压(如设置GND ,VCC 的电压值等) ,这样可以给调试带来很大的方便。当虚拟仪器连接好后,编辑窗口左下角的可以帮助启动仿真过程,所对应的功能分别是:执行、单步执行、暂停、停止。
8
2 系统硬件设计
单片机变频调速系统的硬件是由单片机控制系统、变频器电路、数/模转换电路、信号检测电路和电源电路等五大部分组成,其系统框图如图2-1所示。
图2-1 变频调速系统框图
2.1 单片机控制系统
单片机控制系统由AT89C51,复位电路,时钟电路,键盘电路和显示电路构成,其系统组成框图如图2-2所示。
图2-2 单片机控制系统框图 AT89C51是采用高性能的静态80C51设计由先进CMOS 工艺制造并带有非易失性Flash 程序存储器全部支持12时钟和6时钟操作。它片内有8KB 的ROM 、256字节的RAM 、有32条I/O口线、3个16位定时/计数器、6输入4优先级嵌套中断结构、1个串行I/O口(可用于多机通信I/O 扩展或全双工UART) 以及片内振荡器和时钟电路。此外,由于器件采用了静态设计,可提供很宽的操作频率范围(频率可降至0) 。可实现两个由软件选择的节电模式-空
9
闲模式和掉电模式。空闲模式冻结CPU ,但RAM 、定时器、串口和中断系统仍然工作。掉电模式保存RAM 的内容,但是冻结振荡器,导致所有其它的片内功能停止工作。由于设计是静态的,时钟可停止而不会丢失用户数据。运行可从时钟停止处恢复。
时钟电路是采用内部方式,即在AT89C51的XTAL1和XTAL2端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。此处选用的石英频率为f OSC =6MHz,小电容为22pF ,则得到的时钟频率为6MHz 。其接线图如图2-3所示。
图2-3 时钟电路图
复位电路接成按钮式的,从RST 引脚接入AT89C51,其接线图如图2-4所示。复位信号是高电平有效,并且高电平有效的持续时间应为24个振荡周期以上。复位以后,07H 写入栈指针SP ,P0口~P3口均置1, 程序计数PC 和其他特殊功能寄存器SFR 全部清零。
图2-4 复位电路图
键盘是由若干个按键组成的开关矩阵,它是一种廉价的输入设备。本次设计需要6个按键,由于I/O口线足够使用,因此用P1口就可以直接满足要求,无须使用特殊设计,直接将按键接到P1口的引脚上,以组成独立连接式按键接口电路。按键输入采用低电平有效,上拉电阻保证了按键断开时,I/O口线有确定的高电平。键的定义为,K1用于手动,K2用于自动,K3用于爬行,10
K4用于加速,K5用于匀速,K6用于减速,其接线图如图2-5所示。
图2-5 键盘电路图
显示电路中使用六片74HC595,第一片用于连接数码管公共端,起到循环扫描点亮各位数码管的作用,第二片用于给2个两位数码管送数据,显示主、副井提升机的数字深度,第三片用于给其中一个四位数码管送电机转动的频率数据,第四片用于给另一个四位数码管送电机转动的速度数据,第五、六片用于给发光柱送数据,显示主、副井提升机的模拟深度。其连线如图2-6所示。
图2-6 74HC595控制
74HC595芯片是一种串入并出的芯片,8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态(三态) 。特点:8位串行输入、8位串行或并行输出、存储状态寄存器。输出寄存器可以直接清除100MHz 的移位频率输出能力,并行输出,总线驱动,串行输出(标准) ;中等规模集成电路应用,串行到并行的数据转换,远程控制锁存器。74HC595是硅结构的CMOS 器件,兼容低电压TTL 电路,遵守JEDEC 标准。它是具有8位移位寄存器和一个存储
11
器,三态输出功能。
数据在SCHcp 的上升沿输入,在STcp 的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds ),一个串行输出(Q7’)和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE 时(为低电平),存储寄存器的数据输出到总线。 CPD决定动态的能耗,PD =CPD ×VCC ×f1+∑(CL×VCC2×f0) ,F1=输入频率,CL =输出电容,f0=输出频率(MHz ),Vcc=电源电压。其引脚及逻辑符号如图2-7所示。
图2-7 引脚及逻辑符号
2.2 变频器电路
变频器主电路为交-直-交电压型变频器电路,具体做法是把交流电网(380V或220V) 经过整流器变换为直流电源,然后再经逆变器变换为电压、频率可调的变频电源。整流器由6个晶闸管组成三相可控桥式整流电路,将三相交流电整流后再由电容滤波,为变频调速主回路提供直流电源,且经由这6个晶闸管控制的导通与截止来实现电源的软开关。逆变器功率元件由GTR1至GTR6 6支功率晶体管组成,D13至D18 6支二极管组成功率晶体管的保护部
[9]分。
在进行电机调速时,通常要考虑的一个重要因素是,希望保持电机中每极磁通量为额定值,并保持不变。如果磁通太弱,即电机出现欠励磁,将会影响电机的输出转矩,由
T M =C m Φ m I 2 COS ϕ 2 [5]
12
(式中T m :电磁转矩,Φ m :主磁通,I 2:转子电流,COS ϕ 2:转子回路功率因素,C T :比例系数) ,可知,电机磁通的减小,势必造成电机电磁转矩的减小。
由于电机设计时,电机的磁通常处于接近饱和值,如果进一步增大磁通,将使电机铁心出现饱和,从而导致电机中流过很大的励磁电流,增加电机的铜损耗和铁损耗,严重时会因绕组过热而损坏电机。因此,在改变电机频率时,应对电机的电压进行协调控制,以维持电机磁通的恒定。
为此,用于交流电气传动中的变频器实际上是变压(Variable Voltage ,简称VV )变频(Variable Frequency ,简称VF )器,即VVVF 。所以,通常也把这种变频器称VVVF 装置或VVVF 。
图2-8 标准外部接线图
本项目中使用圣安VF-80系列通用型变频器,标准外部接线图如图2-8所示,其特点:优化的空间电压矢量(SVPWM )控制技术;采用16位或32位INTEL 电机控制专用CPU ;宽电压输入(±20%)设计,应用范围广;内置PID 功能,方便组成闭环系统;多种控制方式,设置简单方便易用;标准
13
485通讯接口(选用);电网电压适应范围宽,瞬间掉电不跳脱;具有远距离控制操作面板,极易操作。内置PID 、主频记忆、混合控制、直流刹车等功能,以及标准PLC 接口、RS485通讯口、指定频率输出等强大的接口功能使得其应用更加灵活广泛。
应用时,将变频器的R 、S 、T 端口接到三刀开关上,由三刀开关接到三相或单相电源上,将变频器的U 、V 、W 端口接到三相电动机的三个输入端,E 接到三相电动机的接地端,把从DAC0832转换来的信号经LF356放大后输入至COM 端,再经变频器做V/F变换就可以驱动电动机运转。从AT89C51中引出一条线P3.7,用于改变电动机的正反转,程序规定:当P3.7为“0”时,电动机正转,可以直接连到变频器的FOW 端;当P3.7为“1”时,电动机反转,要先经过74HC04将信号反向后再接到变频器的REV 端。这样在控制程序中,只需控制P3.7口的状态就可以改变电动机的转动方向。
2.3 数/模转换电路
在数/模转换电路中,AT89C51的P0口既作地址线又作数据线,首先输出地址,选通DAC0832,然后P0口线上将出现数据送到DAC0832,就可以将数字量转化为模拟量输出,再经放大器LF356信息放大输出给变频器,从而达到调节电动机转动的速动。
DAC0832是双列直插式20引脚集成电路芯片,它的内部有一个T 型电阻网络,用来实现D/A转换。它需要外接运算放大器,才能得到模拟电压输出。在DAC0832中有两级锁存器,第一级为8位输入寄存器,它的锁存信号为ILE ,第二级8位DAC 寄存器,它的锁存信号也称为通道控制信号/XFER。因为有两级锁存器,所以DAC0832可以工作在双缓冲工作方式,即在输出模拟信号的同时可以采集下一个数字,先存入输入寄存器而不影响此时的模拟电压的输
[2] 出,可有效地提高转换速度。
LF356运算放大器是一个集成运算放大器,Rf 为反馈电阻,若Rf→ ∞时,输出电压U0与输入电压Ui 的比值叫做运算放大器的开环增益K0。运算放大器的输入阻抗r 很大,理想情况下r→∞,可以认为反馈电流等于信号源的输
入电流Is 。其中,运算放大器的输入电压Ui 与输出电压U0二者的关系为:[4]
14
其中K0运算放大器的开环电压放大倍数,一般为105~106。所以,如果测出U0,即可得到Is 。我们选取反馈电阻Rf = 1MW,用量程为200 mV的数字电压表,它的分辨率为0.01 mV,则能测到的最小电流为:
此处,把DAC0832接成单缓冲工作方式,其连接图如图2-9所示,使输入寄存器处于锁存状态,ILE 接+5V,/WR1接CPU 写信号/WR,/CS接CPU 的P2.0,DAC 寄存器处于不锁存状态,所以将/WR2和/XFER直接接地。通常AGND 和DGND 都接在一起,接到数字地上。由于DAC0832内部有8位数据输入寄存器,可以用来锁存CPU 输出的数据,因此,CPU 的数据总线可直接接到DAC0832的数据输入线DI0~DI7上。因为DAC0832的Iout1和Rfb 端之间已有一个15K 欧姆的内部反馈电阻,所以这里就将运算放大器的输出端Uout 和Rfb 端短接起来。
图2-9 单缓冲工作方式
通过上述方式连接,可以求出最后的输出电压OUTV0=-VREF *D*/256,取V REF 为-5V ,则OUTV0=D*/51.2。其中,D *为输入到DAC0832中的数字量。
2.4 信号检测电路
此处采用光电式码盘,它是一种非接触性光电传感器,具有测量准确度高、响应速度快、可靠性高和使用寿命长等优点。光电式码盘的工作原理就
15
是用光码盘上透光与不透光,在码盘的另一侧形成光脉冲。脉冲光照射在光电敏感元件上产生与光脉冲相对应的电脉冲。典型的光电式码盘有TLP507A 和TLP800,其速度转换电路如图2-10所示。
发光二极管LED 发出红外光,透过码盘的圆孔照射光敏三极管,使其迅速由截止状态变为导通,如此反复形成光脉冲信号,经NPN 三级管放大,再由反向器反向整形后送给单片机的定时器0和定时器1。该测速电路充分利用单片机,完成一系列的数据采样、处理,最后计算得到较准确的速度值并显示该速度。脉冲频率与转速的关系:n=60f/P式中,P 为光码盘开孔的总数;f 为脉冲频率;n 为直流电机的转速。采样周期T 内光脉冲个数N 与频率的关系n=N/f,即n=60N/PT。
图2-10 速度转换电路
这里同时使用两个计数器T0和T1,它们的作用目的不同。在自动程序中,T0主要用状态之间切换,在每个状态里的计数初值不同,以便于限定各个状态的运行时间,当某个状态的计数溢出,就会在相应的中断服务程序中改变标志位并重新赋计数初值,用于计数下一个状态;T1采用方式2的自动重装计数功能,每计数32个脉冲就要中断一次用于改变深度;在手动程序中,T0用作保护功能,开始赋初值用于计数407个脉冲,如果在操作的过程中,T0计数到了407个脉冲而操作人员还没有开启爬行状态,则程序会自动进入T0的中断服务程序中,封锁键盘,禁止手动再键盘,强制电动机进入爬行状态,直至停止,然后才打开键盘,用做判断下一步要采用手动还是自动方式。 16
2.5 电源电路
电源是系统极其重要的一部分,是基础的基础, 这里需要用到直流电源+5V,-10V和交流电源220V 。由于关于电源部分的设计早已成型,故而在本文中没有出现。本项目中使用荣盛达(R-Senda )的300T+P4,其参考图片如图2-11所示。
图2-11 300T+P4
17
3 系统软件设计
3.1 主控制模块设计
P0和P2口作为地址线,用于选择DAC0832,P0口用作数据线将数据输入到DAC0832,P1口用于键盘输入,P2.7、P3.0和P3.1接到74HC595上,用于锁存显示待显的数据,P3.2用于接收键盘信息,P3.4和P3.5用于计数从光码盘送入的脉冲。
主程序的作用是首先完成各个部件的初始化工作,设定好各个中断向量,为各个部件以后的工作做好基础。然后就不停的进行状态判别和数据显示,同时等待各中断的到来,转入相应的中断服务子程序。其主控制流程图如图3-1所示。
图3-1 主控制流程图
3.2 键盘模块设计
本模块采用外部中断控制方式,只要有键闭合,就向CPU 请求中断,CPU 响应键盘输入的中断,就会转向INT0中断服务程序,在断服务程序中识别哪
18
一个键处于闭合状态,然后执行相应的处理程序。键盘中断处理程序的主要功能是改变标志位,进而影响程序流程的转向。
为了保证以CPU 对键的闭合做一次处理,必须先要进行去除抖动处理,
[3]
在键稳定闭合时识别按键,在键释放后再做键输入处理。在程序设计中采用
判断识别,按程序的执行顺序一旦前面的程序响应了某个按键操作,即在执行的过程中不能再响应别的按键,因而每次只能用作单一键。其程序流程图如图3-2所示。
图3-2 键盘模块
3.3 显示模块设计
在程序中定义了20个字节的缓冲区,其中第0个字节~第3个字节用于存储发光柱的低位,第4个字节~第7个字节用于存储发光柱的高位,第8个字节~第11个字节用于存储要显示的电动机的转速,第12个字节~第15个字节用于存储频率数据,第16个字节~第19个字节用于存储深度数据。对于74HC595来说,要先将待显的数据锁存,然后再发送命令让数据显示出来,也就可以达到串入并出的效果,其程序流程图如图3-3所示。
19
图3-3 显示程序流程图
因为要求的行程距离只有1.5m ,主、副井提升机中罐笼的运动正好相反,所以显示的效果如图3-3所示,两者之和为1.5。其中主井的数据放在缓冲区的第17、16字节里,副井的数据放在缓冲区的第19、18字节里。这些数据来自T1中断计数,即每中断一次值会增加0.1m ,再通过一些转换算法才能用于显示。
图3-3 深度显示
20
速度及频率显示效果如图3-4所示,这两组数据都是通过D *计算得到的。 循环扫描显示程序中要用到位选,每次送数时只让你一个位点亮,由于扫描速度快,所以人眼看上去好像同时显示的。对于数码管里面出的小数点都是额外设定的,只有需要时才会让它显示出,在七段数码的查询表里都把小数点位忽略,以免影响效果。
图3-4 速度及频率显示
图3-5 8位的16进制转换为十进制BCD 码流程图
21
3.4 16进制转十进制BCD 的算法
七段发光数码管是由若干个发光二极管按一定的规律排列而成,其中七个发光二极管a ~g 控制七个笔画(段)的亮或暗,另一个控制一个小数点的亮和暗。若发光二极管的阳极连在一起则称为共阳极的,若发光二极管的阴极连在一起则称为共阴极的。此处应用是要显示0~9的数字,因此要先将16进制数转换为十进制BCD 码,然后经查表程序即可显示出相应的数字。
在此项目中,要用到两种16进制转换为十进制BCD 码的算法,一种是把16位的16进制转换为十进制BCD 码的算法,主要用在频率计算和速度计算的程序中,另一种是把8位的16进制转换为十进制BCD 码的算法, 其程序流程图如图3-5所示,主要用在深度计算的程序中。
图3-6 频率计算程序流程图
22
3.5 频率计算程序
由于变频器中v 与f 的关系为1:10,因此频率f=10 * (D*/51.2) = 0.2* D *,即D *每变化1个单位量,f 要变化0.2Hz ,为了便于编程,程序中要先扩大10倍, 最后再缩小10倍,其程序流程图如图3-6图所示。
图3-7 速度计算程序流程图
23
3.6 速度计算程序
由上可知,频率f=0.2* D*,根据电机转速公式n=60f(1-s)/p其中极对数P 为2,转差s=0.067,可得n=0.2*D**60*(1-0.067)/2=5.5D*,即D *每变化1个单位量,n 要变化5.5r/min,为了便于编程,程序中要先扩大10倍, 最后再缩小10倍,其程序流程图如图3-7图所示。
3.7 深度计算程序
由于定时/计数器T1是每隔0.1m 中断一次,每次中断都在中断服务程序中将深度值加1,因为总的行程为1.5m ,并且主、副井正好是一对相反的过程,这里以主井为参考,要得到副井的数据就要用总行程减去主井的数值。其程序流程图如图3-8图所示。
副 井
图3-8 深度计算程序流程图
24
4 系统测试
测试有两种方法:一种称为黑盒测试,即已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;另一种称为白盒测试,即知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照规格
[5]
说明书的规定正常进行。
无论采用哪种测试方法,只要对每一种可能的情况都进行测试,就可以得到完全正确的程序,然而对于实际程序而言,穷尽测试通常是不可能做到的,所以通过测试并不能证明程序是正确的,但是,我们的目的是要通过测试保证软件的可靠性。
4.1 硬件测试
首先,在焊接元器件之前,要对每个元器件进行测试,以防止把有问题的器件焊接上去,会对以后的工作造成很大的影响。对于电阻,要将万用表拨到电阻档,阻值只要不是偏差太大,一般没什么问题。对于芯片来说,不易测量,一般也不会有什么问题,可以不测量,直接焊上。对于发光二极管,要检测出正负极,以便于接线。
第二,要对焊接好的电子元器件进行测试,主要是测一下是否连通,有没有短路现象,器件间接线有没有问题等。将万用表拨到短路振铃档位,然后把探针一头固定在一个焊点上,另一头试接其它焊点,看一下有没有不该相连的地方,如果有则一定在接线时发生了短路,要及时更改过来。对于逻辑上接到一起的焊点,一定会发生短路,如果没有振铃则说明有线路没有连接好,或有虚焊现象。
第三,将所有的硬件全部组装在一起,并且将程序下载到AT89C51中, 然后开机进行测试。第一步测试自动程序,在无人操作的情况下,电动机可以自动完成所有的工作过程。第二步测试手动程序,必须经过人工操作,电动机才会切换状态,否则会按某一动作一直执行,除非是到了末端,因为在程序做了限制,以防止出现不必要的错误。在矿井中,必须要按顺序走完全过程,即爬行、加速、匀速、减速、爬行,当然也可以只走前几步,但不能跳
25
过前面的过程,因此在按键时,如果前面的过程没有走,后面的操作是不会起作用的。测试时,正常与非正常状态都要进行,正常状态下看能否保证顺利完成,非正常状态下看能否通过设定的程序进行处理。
正常操作步骤:先合上三刀开关,保证变频器首先供电,设置好变频器的参数,然后给单片机供电,使整个装置开始运行起来。初始状态是处于自动方式,所以主井要从下向上运行,当达到顶端时,会停止等待是否要人工操作,如果没有,则会继续在自动方式下运行,如果按下了手动按键,则程序会切换到手动方式下运行,并等待按爬行键,一旦按了爬行键,电动机会保持爬行的速度运动起来,如果这期间不再操作,则会一直处于这种状态,除非T0计了407个脉冲,会自动强制停下电动机,因为马上就要到达终点;如果改变了几个状态,则会保持最后一个状态运行。当这次到达终点停下以后,会等待按键操作,以确定要在哪种方式下运行,如果没有按键则会一直等待。
4.2 软件测试
在本次项目开发中,采用模块化设计,使得每个模块都可以完成一个特定的子功能,而且各个子功能在起初设计时没有保持依赖关系。当各个子功能都实现了再组装在一起,根据系统流程的需要进行调用。
1、键盘功能
这个程序设计的思想是:按某个键会在数码管中显示预定义的数值。按照匹配对应键的方法,首先判断是否按下了第一个键,如果是则执行本条语句下面的程序然后返回,如果不是则转判,是否按了下一个键„„如果一直没有相匹配的,则认为没有按键,不作任何处理。
在KEIL C51中编辑程序,然后进行编译,有错误则直接到提示的错误行中进行修改,再编译,直到通过为止,最后成目标HEX 文件。在PROTEUS 中搭建硬件并加载键盘的HEX 文件进行仿真调试。这里共设置了6个按键,按第一个键时应显示1, 按第二个键时应显示2„„以此类推。最后的结果表明,程序能够正常操作。
键盘测试的部分程序:
26
MAI:
MOV P1,#0FFH MOV A,P1
CJNE A,#0FFH,KEY1 MOV R0,#00 CALL DISP JMP MAI KEY1:
LCALL DELAY12MS MOV A,P1
CJNE A,#0FFH,KEY2 MOV R0,#00 CALL DISP JMP MAI KEY2:
CJNE A,#0FEH,NEXT1 KEY3: MOV A,P1
CJNE A,#0FFH,KEY3 MOV R0,#01H CALL DISP LJMP MAI NEXT1:
CJNE A,#0FDH,NEXT2
2、计数功能
KEY4: MOV A,P1
CJNE A,#0FFH,KEY4 MOV R0,#02H CALL DISP LJMP MAI NEXT2:
CJNE A,#0FBH,NEXT3 KEY5: MOV A,P1
CJNE A,#0FFH,KEY5 MOV R0,#03H CALL DISP LJMP MAI NEXT3:
CJNE A,#0F7H,NEXT4 KEY6: MOV A,P1
CJNE A,#0FFH,KEY6 MOV R0,#04H CALL DISP LJMP MAI NEXT4:
CJNE A,#0EFH,NEXT5
KEY7: MOV A,P1
CJNE A,#0FFH,KEY7 MOV R0,#05H CALL DISP LJMP MAI NEXT5:
CJNE A,#0DFH,NEXT6 KEY8: MOV A,P1
CJNE A,#0FFH,KEY8 MOV R0,#06H CALL DISP LJMP MAI NEXT6:
CJNE A,#0BFH,NEXT7 KEY9: MOV A,P1
CJNE A,#0FFH,KEY9 MOV R0,#07H CALL DISP LJMP MAI
这个程序设计的思想是:以按键的动作作为AT89C51的计数脉冲,即每按一下按键,计数器就要加1计数,直到数据计满溢出并产生中断,去执行中断服务程序,在中断服务程序中对某一事件做处理,再重新赋计数初值。
27
在KEIL C51中编辑程序,然后进行编译,有错误则直接到提示的错误行中进行修改,再编译,直到通过为止,最后成目标HEX 文件。在PROTEUS 中搭建硬件并加载HEX 文件进行仿真调试。初值设定为0FFFAH ,所以每按6下按键就会产生一次中断,在中断服务程序里,让P2.0取反,在硬件的连接上P2.0接上了一个发光二极管。假定初始状态的发光二极管是熄灭状态,则第一次中断后,发光二极管会被点亮,第二次中断后,发光二极管会熄灭„„测试结果显示完全可以实现。
计数测试的部分程序: ORG 000BH JMP TIMEP ORG 001BH JMP COUNT ORG 100H MAIN: MOV SP,#5FH MOV P2,#0FFH MOV TMOD,#65H 3、发光柱显示功能
这个程序设计的思想是:每送一个数据,经过处理后,会在发光柱上点亮相应个数的光柱。因为实际上只要控制1.5m ,所以就设定每0.1m 点亮一条光柱。在二进制中,“1”为亮,“0”为灭,因此程序中要将0~7和8~15分别进行处理,在此选用查表法。先判别是否大于8, 若不大于8, 则低位查表可得结果,高位赋“0”;若大于8, 则高位查表可得,低位赋“0FFH ”。
在KEIL C51中编辑程序,然后进行编译,有错误则直接到提示的错误行中进行修改,再编译,直到通过为止,最后成目标HEX 文件。在PROTEUS 中搭建硬件并加载HEX 文件进行仿真调试。从00H ~0FFH 依次赋值,发光柱会从不亮到全亮。测试结果表明,达到了程序设计要求。
测试所用程序:
28
MOV TH0,#0FFH MOV TL0,#0F4H MOV TH1,#0FAH MOV TL1,#0FAH SETB EA SETB ET0 SETB TR0 SETB ET1 SETB TR1
SJMP $ TIMEP: CPL P2.0 MOV TH0,#0FFH MOV TL0,#0FAH RETI COUNT: CPL P2.1 RETI
FILE EQU 30H ; 存放待显数据 FILE1 EQU 31H ; 低位
FILE2 EQU 32H ; 高位 DDS EQU P2.7 SHCP EQU P3.0 STCP EQU P3.1 ORG 0000H JMP MAIN ORG 100H MAIN: MOV SP,#60H MOV FILE,#0DH CALL DOH CLR SHCP CLR STCP CLR DDS TT:
MOV R0,#08H MOV R1,#02H MOV A,FILE2 4、数据显示功能
LL1: CLR C RLC A CLR DDS MOV DDS,C SETB SHCP NOP NOP CLR SHCP DJNZ R0,LL1 DJNZ R1,LL2 SETB STCP NOP NOP CLR STCP NOP NOP JMP TT LL2: MOV A,FILE1 MOV R0,#08H JMP LL1 DOH:
CLR C
MOV DPTR,#TABS MOV A,FILE ANL A,#0FH MOV FILE1,A SUBB A,#08H MOV FILE2,A JNC NEXT MOV A,FILE1 MOVC A,@A+DPTR MOV FILE1,A MOV FILE2,#0FFH JMP ENDL NEXT: MOV A,FILE2 MOVC A,@A+DPTR MOV FILE2,A MOV FILE1,#00H ENDL: RET
TABS:DB 0FFH,0FEH, 0FCH,0F8H,0F0H, 0E0H,0C0H,80H,00H
这个程序设计的思想是:先将待显数据全都放到一个20字节的缓冲区里,然后经过74HC595进行移位锁存显示。
在KEIL C51中编辑程序,然后进行编译,有错误则直接到提示的错误行中进行修改,再编译,直到通过为止,最后成目标HEX 文件。在PROTEUS 中
29
搭建硬件并加载HEX 文件进行仿真调试。程序刚启动,送入程序初始化值,当程序运行起来,会使一些数据发生变化时,相应的显示数据也要发生变化。
5、完整程序调试
将所有的功能程序有效地组织到一起,在KEIL C51中编辑,然后进行编译,有错误则直接到提示的错误行中进行修改,再编译,直到通过为止,最后成目标HEX 文件。在PROTEUS 中搭建硬件并加载HEX 文件进行仿真调试。系统首先进入自控程序,观察标志位及计数器里的数据是不是符合设计思想,观察显示部分是否跟随程序正常变化,等完成一个行程后,如果什么也不操作,是不是会再进入自动程序,如果按下手动按键,能否切换到手控程序。进入手控方式,再循环测试各功能按键。
30
5 问题及展望
5.1 已经解决的问题及解决方案
1、发光柱显示:电动机正转时可以达到满意的效果,让光条越亮越多,但是电动机反转时,发光柱是越灭越多,不够理想。
解决:重新设计一个数据表,当正转时查原始数据表,程序流程不变,当反转时就要查新建的数据表,在这期间要用正反转标志位做判断。不发生变化的值,正反转里刚好相反,当深度小于8时,低位赋值为“0FFH ”,当深度大于8时,高位赋值为“00H ”,如此修改可以达到较好的效果。
2、手动程序:当计数器T0已经计满407个脉冲,进入中断设置并转爬行状态后,观察运行状况没有达到要求,并且深度超出了1.5m ,进入了未知领域。
解决:仔细分析原程序,通过人工执行程序的每步流程,并且观察接口寄存器里所发生的变化,发现中断以后,TL0中的值不是程序中想要设定的数据,回到程序语句中检查发现,有一语句写错了,应将“ANL L0,#0B8H”改为“MOV TL0,#0B8H”。
3、正反转:按要求,应当在上、下运行期间允许改变正反转,并且这次正转了,下次就要进行反转,否则就会越出给定边界。但程序运行时,正反转没有得到有效的控制,发生了错乱。
解决:仔细分析手动和自动的交接点,发现手动和自动的控制程序里面分别都对正反转标志位做了改变,因此,改变方式后不清楚标志位变成了什么。为了更好地兼容,只是在每次运行结束后改变正反转标志位,这样就可以避免重复变更标志位了。
4、中断响应:程序中用到了三个中断,它们之间有时会发生冲突,因为在程序运行的过程中,根据CUP 性能的不同,没法预测每个中断的确切时段,响应有可能没法实现。
解决:尽量压缩中断服务程序里的语句,执行过程尽量简洁。计数中断次数要控制一下,不要使中断过于频繁,每次中断要进行相应的压栈保护,
31
退出时再出栈。
5.2 系统中的不足及展望
1、本次项目中,没有实现运动过程中让电机切换正、反转,其实这种操作也是不允许的,因为电机运动时速度很快,不可以让它直接改变转向,只能先让电机停下来再操作。对于本次设计只有1.5m ,是很难能达到要求的,如果距离加大,会考虑引进这一构思。
2、没有设置自动和手动的自由切换,只能在每一个行程之后才允许,这样的处理使整个系统不灵活。如果要想实现这个功能,就要考虑很多问题,要记录每个时刻的数据,这样系统的开销会很大。
3、电动机的控制采用了模糊控制方式,不够精确,如果用在实际中,会出现很大的偏差。要想更好的处理,就要熟悉电机特性,并且要有丰富的经验,这样才能较为精确的控制。
4、数据显示都是通过理想的计算得到的,没有考虑实际中的相互影响,所以误差是不可避免的。如果再深入研究变频器,可以从变频器的输出端得到有用的数据,再把这个数据反馈到输入端,这样所得到的数据会精确的多。
5、因为只用作教学演试模型,所以整个设计都没有考虑系统的安全性,也没有考虑电动机的承载能力。
32
致 谢
论文写作行将结束,课题的研究也已经告一段落。回首这两年本科阶段的时间,无论在学习还是在生活中,自始至终都离不开各位老师的关怀以及同学的帮助。
在这里要感谢我的指导老师,论文的完成是在于老师的认真指导与及时督促下进行的。同时要感谢我的同事文新根,他对于我的设计提出了许多宝贵意见,有些算法程序也直接来自于他的构思。还有朱振华,在课余时间,跑办公室问老师关于电机的工作原理及跑公司取零器件,从而为了完成项目节省了很多时间。
在开发项目的这段时间内,很感激CYXL 科研组,将活动室定为项目开发专用室,直接解决了工作场所问题,也要感谢几名帮忙焊接电路板的学生,如果没有这些支持,项目的完成可能不会这么顺利。
在此,要特别感谢我至爱的父母,是他们的全力支持和无微不至的关心,使我在研究工作中投入更大的热情和信心,顺利地完成学业。 最后,向所有关心和支持我的人表示我最诚挚的谢意!
33
参考文献
[1]马忠梅, 籍顺心等编著. 单片机的C 语言应用程序设计. 北京航空航天大学出版社,2005:11
[2]朱善君, 孙新亚等编著. 单片机接口技术与应用. 清华大学出版社,2005:3
[3]赖寿宏编著. 微型计算机控制技术. 机械工业出版社,2006:5 [4]余发山, 王福忠编著. 单片机原理及应用技术. 中国矿业大学出版社,2003:12
[5]余发山, 郑征等编著. 自动控制系统. 中国矿业大学出版社,2005:2 [6]尚涛, 唐新星等编著. 机电控制系统设计. 化学工业出版社,2006:4 [7]康华光, 邹寿彬编著. 电子技术基础(第四版). 高等教育出版社,2000:7
[8]张海编著. 软件工程导论(第三版). 人民邮电出版社,2006:5 [9]冯垛生等编著. 变频器实用指南. 清华大学出版社,2001:5
[10]徐甫荣, 陈辉明. 高压变频调速技术应用现状与发展趋势. 《变频器世界》网络版,2007:6
[11]南京年华电厂.http://www.njhndj.com/
34
附 录1
项目相关参数
电动机:型号 功率 电压 电流 频率 转速
YS5614X 90W 380V 0.39A 50HZ 1400r/min
变频装置容量=电动机输出功率÷(电动机功率因数×效率)
=90W ÷(0.85×0.95)=111.46VA
压频比=电压÷频率=u ÷f =380V ÷50Hz=7.6
S=(n1-n )÷n1=0.5333 n=60f1÷p ×(1-s )=1290r/min
圆周为C ,则 C=d×=80mm=251.2mm
圆周分60段,每段长为L ,则L=C÷60=4.187mm
电动机运行线速度为v ,由v=w×r, w=(n ×2)÷60rad/s得 V=5400.8mm/s≈5.4m/s(r=d÷2=40mm )
35
附 录
2
36