姚分喜, 张百海
(北京理工大学自动化学院,北京 100081)
随着社会和科技的飞速发展,计算机技术的应用已经渗透到工程应用和现实生活的方方面面,在工业自动化及相关领域更成为不可或缺的“神经中枢”。计算机软硬件的设计对控制系统的性能指标与可靠性起到至关重要的作用。北京理工大学自动化学院开设的计算机课程包括“C++程序设计”、“微机原理与接口技术”、“单片机应用设计”等必修课以及“ARM嵌入式控制器”、“DSP应用”、“计算机网络与通讯”等选修课程。每门课程的教学实验各有特点,如单片机应用设计课程已将过去的开发箱验证性实验改为仅提供最小系统,由学生在扩展板上自主设计其接口电路,完成一定的要求,如数码管显示、模拟电压采集或输出、步进电机控制等简单功能。C++程序设计课程则在学习了基本语法知识后,介绍了Windows环境下使用VC++.NET编程实现界面设计方法,但没有综合的编程应用。微机原理与接口技术课程在教学内容上以温度采集系统设计实现为主线介绍了CPU内部结构及相关接口电路的设计方法,但也缺少综合性实验。
可以看出,虽然每门计算机课程都进行了一定程度的教学内容和实验方法的改进,但在培养学生综合应用知识能力、解决实际问题能力等方面还有很大差距,存在的问题主要体现为:① 每门课程几乎都存在知识点分散的问题,课内缺少主线将其联络起来;②缺少控制对象与工程应用背景,学生经常问为什么学习这门课程?与所学的自动化专业有何联系?怎样应用?③课程之间相互独立,特别是缺乏与控制理论、控制系统等专业课程之间的联系[1];④ 缺少综合应用知识能力的培养,在毕业设计、课程综合设计等环节中,学生进入角色慢。参加工作后,适应新工作花费时间长,进而导致竞争能力差,影响日后的发展。
为了解决上述问题,结合自动化学院运动控制系统特长的专业特点,本文设计了一套基于上下位机方案的交流电机调速控制系统做为计算机类课程的综合实验平台[2-3]。
实验系统可以将所学计算机类课程的主要知识点加以综合应用,而且与自动化专业的多门专业课程紧密结合。系统组成如图1所示,该系统为工业自动化行业中普遍应用的闭环控制系统。
图1 基于上下位机的交流电机调速实验系统
系统中的上位机由PC机实现,用于实现控制参数的设置及传递,并将下位机上传的数据进行显示、保存等。下位机可以由任何微处理器及其相关电路设计而成,如各种单片机、ARM控制器、DSP控制器等。上位机与下位机之间通过RS232C串行通讯接口进行参数和数据的双向传送。电机驱动器采用0~5 V模拟电压输入信号,电机对应的转速为0~1 500 r/min,转速传感器则对应输出0~5 V模拟电压信号。要求该控制系统运行稳定可靠,转速控制精度为3%。
实验系统涉及到了计算机技术、自动控制理论、传感器技术、控制系统设计与控制算法等多门课程知识,尤其对计算机类课程知识的应用有较高的要求。使用该系统,可以有效地改善计算机类课程的实验环境,进一步促进课程课堂讲授内容的合理安排。下面具体介绍三门计算机类必修课程在该系统中的实验内容安排与使用,以及与其它课程之间的联系。
上位机界面设计由VC++.NET编程语言实现。其主要功能是设置RS232C串口通讯协议[4],设置转速给定值及下位机PID控制算法参数[5],获取上传数据,显示数据曲线,保存数据等。要求界面友好、操作方便。典型设计界面如图2所示。
该界面使用单文档打开对话框的方式实现。单文档设计内容包括菜单设计、工具栏设计、图标设计等。在对话框中应用了命令按钮、静态文本、编辑框、下拉列表等基本控件,以及ActiveX控件TeeChart对数据进行曲线显示[6]。点击数据保存则可以将数据以文件形式保存下来。
图2 由VC++.NET实现的上位机界面
如果需要对以前的数据进行查询或回放,可以进一步加上数据库编程等内容。可以看出,该界面设计过程涵盖了课程的大部分知识点,通过这个实例将它们加以综合应用。
课程基本实验安排下述内容:Windows应用程序生成向导使用、对话框与常用基本控件、菜单与工具栏设计、图形设计、串行通讯编程、ActiveX控件与TeeChart控件应用、动态链接库设计与应用、数据库编程应用等[7]。最后以大作业的形式加以综合完成图2界面的设计。借助串口调试助手等软件完成程序调试及曲线显示、数据保存等。
主要介绍8088 CPU的工作原理、汇编语言及常用接口设计等内容[8]。由其实现的下位机硬件设计包括CPU及其周边电路设计、ROM与SRAM存储器设计、8259A中断控制器电路设计、8253定时/计数器、8250串行接口、ADC0809/DAC0832电路设计以及由8255A并行接口实现的键盘与数码管显示电路等,组成示意图如图3所示。
图3 8088 CPU下位机组成图
在实验过程中,提供包括8088 CPU、时钟发生器电路的最小系统,并引出地址总线、数据总线、控制总线。在此基础上,学生按照需求进行相应的接口扩展。
软件设计包括汇编程序IDE环境使用,汇编语言程序设计内容。在应用程序设计中,采用定时中断的方式实现数据采集、PID控制算法及输出控制、数据上传等功能。可以看出,本应用涵盖了课程中除DMA内容外的所有重要知识点。
本课程主要介绍80C51的应用,由80C51设计的下位机组成图见图4。其硬件包括EEPROM或RAM电路扩展、键盘与数码管显示电路、串行通讯接口电路、AD/DA转换电路等[9]。软件工作包括在KEIL软件开发环境下,采用汇编语言或C51编程实现数据采集、PID控制算法及输出控制、数据传送等功能。
实验实施过程中,为了充分发挥学生积极性。在提供最小系统基础上由学生自行选择芯片型号及设计其他相关电路。电路的设计以串行扩展为主,如AD、DA芯片分别选择 TLC549、TLC5615,EEPROM 选择93C46等[10]。控制算法初步采用通用的PID算法,也可以采用模糊PID、自抗扰等其它算法[11]。
实验系统中下位机的实现可以有多种方式。只要具有AD/DA转换、串行通讯接口功能即可,所以可以由其他类型的单片机,如AVR系列、C8051F系列、飞思卡尔系列单片机或者DSP、ARM等中高档嵌入式控制器来实现。因此,这些课程同样可以采用该系统做为实验平台。
该实验系统充分体现了计算机知识在自动化中的综合应用以及多学科知识的交叉应用,对学生的实践动手能力培养大有益处。同时对教师课堂教学具有积极的推动促进作用。体现在以下三个方面:
(1)促进了每门计算机课程课堂教学内容的合理安排。每门课程讲授内容均以实现该控制系统功能为目标,体现了项目教学的特点[12]。
(2)解决了课程知识点多、分散的问题,通过该实际系统的实现作为主线,将知识点串通起来,不再枯燥无味,同时使学生深入体会到了所学课程在自动化中的应用,极大地提高了学生学习兴趣。
(3)在课堂教学内容中,应加强工程实现的思想。如选择芯片型号时在满足精度要求条件下降低成本,硬件电路设计过程中的抗干扰措施以及软件编程中的可靠性设计等[13]。
该实验系统具有功能强、扩展性好的特点。在上述结构框架基础上,通过进一步增加设备,或者其他控制对象,使之能够完成更多的实验内容。
(1)通讯方式、控制方案多样化。如上下位机之间可以采用RS485、CAN现场总线进行数据传送。也可以不使用下位机,直接通过PC机内置或外置AD及DA转换卡实现对电机的闭环控制等。
(2)可以实现多门课程共用。如工业组态软件、计算机控制系统、智能控制算法等,达到教学实验资源共享的目的,同时节约了场地与成本,符合现代实验室建设的潮流与方向。
(3)促进学生科技创新能力培养。根据本系统的设计思路,学生也可以设计出更多、更好的控制对象及控制方案。
综合实验系统既突出了计算机类课程在自动化系统中的应用,又为学生对自动化工程认识及课堂所学理论知识的综合应用提供了一个良好的实践平台,对提高学生学习兴趣,牢固掌握计算机类课程知识,提高学生综合工程实践能力和创新能力具有重要意义。目前该系统已通过试用,反映良好。
(References):
[1] 蒋建春,岑 明,蔡林沁.自动化专业教育教学改革探讨[J].实验室研究与探索,2011,30(10):348-350.
[2] 李振东.STCl2C5A60S2与PC机的交流电机闭环调速系统[J].单片机与嵌入式系统应用,2011,11(9):59-62.
[3] 管凤旭,程文清,吕淑萍.基于环境检测与控制的综合实验项目设计[J].实验室研究与探索,2010,29(9):128-131.
[4] 曹连民,石 健,黄德杰.VC++中实现PC机与单片机的串行通讯[J].山东科技大学学报(自然科学版),2003,22(1):97-99.
[5] 王晓明.电动机的单片机控制[M].北京:北京航空航天大学出版社,2011:83-110.
[6] 朱 玲,武玉强,张启宇.TeeChart实现工控领域的实时曲线和历史曲线的方法[J].工业控制计算机,2005,18(8):39-40.
[7] 梁兴柱.Visual C++.NET程序设计[M].北京:清华大学出版社,2010.
[8] 冯博琴,吴 宁.微型计算机原理与接口技术[M].3版.北京:清华大学出版社,2011.
[9] 王卫星.单片机原理与应用开发技术[M].北京:中国水利水电出版社,2009.
[10] 李朝青.单片机原理及串行外设接口技术[M].北京:北京航空航天大学出版社,2008.
[11] 韩京清.从PID技术到“自抗扰控制”技术[J].控制工程,2000,9(3):13-18.
[12] 李庆武.项目教学法在课程教学中的运用探讨[J].教育探索,2008,3(4):32-33.
[13] 汪克宇.浅谈单片机系统抗干扰设计中的若干问题[J].广东科技,2012(3):236-237,239.