1、电机变频器人机界面设计摘要电机变频控制器是实现电机变频调速的关键设备,对于提高电机调速性能、电能利用率有重要意义。而其人机界面作用是分担DSP与操作人员的对话的任务:采集用户输入数据,对DSP的相关参数进行初始化设置;获取用户动作指令传送给DSP以控制电机运行;将电机运行相关参数显示在屏幕上告知操作人员。我们为交流/直流电机控制变频器(伺服机)开发一套人机界面,可以实现参数显示,参数设置,串行通信。它操作简便,分为软件人机界面和硬件人机界面两套:软件模块使用图形化界面让用户输入电机本体参数以及一些控制方面的参数,而硬件界面功能较为单一,提供运动方式选择和速度快慢控制。硬件上使用飞思卡尔公司MC
2、9S08AC16CLD芯片为核心,组成一个具有6个按键外加液晶显示屏的操作面板以现场控制电机的运转;软件上使用Visual Basic 6.0开发工具开发一款软件以实现现场的电机参数输入、故障检测等。通信协议使用Modbus协议以实现最大的通用性。关键词:人机界面、MC9S08AC16、Visual Basic 6.0、Modbus协议AbstractThe motor servo is the critical equipment in the variable-frequency speed control, and is meaningful to improve the speed p
3、erformance and the efficiency of power usage. While the human-machine interface helps take the function of contacting the operator to get the parameters of the motor controlled and the initial data of controller. It also gets the commands from the operator and informs the operator the motors running
4、 condition.We developed a human-machine interface for the AC/DC variable-frequency controller. We realized the functions as below: parameters displaying and setting, as well as serial communication to contact the DSP. The interface is convenient to use and contains two parts: the software module and
5、 the hardware module. The software module uses graphic interface to allow operators inputting parameters concerning the motor and its control strategy. The hardware module is comparatively simple and it only provides the selection of running model and speed adjustment.On the hardware level, we use t
6、he freescales MC9S08AC16CLD micro controlling unit as the core to build a control panel with 6 buttons and a LCD to control on field. On the software level, we use the Visual Basic 6.0 to develop a program to set the parameters and diagnose the faults on field. The Modbus protocol enables the larges
7、t compatibility. Key Words:Human-machine interface; MC9S08AC16; Visual Basic 6.0; Modbus protocol 目 录摘 要3Abstract4第一章 引 言61.1人机界面概述61.2 人机界面需求分析6第二章 操作面板72.1 界面设计72.2 通讯功能10第三章 软件设计133.1 界面设计133.2 通讯功能13第四章 总结与展望18参考文献18致谢19第一章 引 言1.1 人机界面概述在一个现代控制系统中,要求有良好的人机交互界面。包括实时的控制操作,清晰的参数显示等,使人员能及时地发现问题、分析问题
8、、进行控制调节并解决问题。人机界面完成的工作主要是伺服系统的控制和监视,包括参数监视、参数设置、参数管理、密码确认、故障报警以及单片机与DSP和上位机的数据通信等功能。随着系统思想在工程领域的广泛应用,人们在设计产品时,都会考虑到产品操作的简单化、人性化并尽量提供多的操作功能,以便于用户个性化使用。而其中,人机界面是用户与产品互动的重要平台。通过人机界面,用户可以获得产品运行的重要参数,从而知道产品的工作情况并及时发现问题,以利于下一步的数据处理、运行参数修正、故障排除等操作。伺服控制器人机界面多用数码管显示或LCD液晶显示,数码管显示主要适用于成本低廉的人机界面设计,成本低,控制简单,用户可
9、用性差,操作繁琐且不直观。LCD液晶显示主要适用于要求高的显示,如显示图形,曲线等。LCD液晶种类繁多,成本较高,显示清晰,便于用户操作,可视性强。1.2 人机界面需求分析1.2.1操控面板使用MS9S08AC16为核心,6个按键作为输入,液晶屏作为显示输出;同时可以使用Modbus协议与DSP通信,电机运行操作指令的传送、部分状态参数显示的功能。菜单项目有:(1).运行参数显示:当前转速、输出转矩、输出功率、运转方向(2).启动方式:点动模式、连续运转模式(3).运行时间:停止时间、间隔时间1.2.2软件人机界面使用Visual Basic编程,图形化界面,使用Modbus协议与DSP通信。
10、实现电机参数设置、电机运行操作、实时状态显示、波形显示的功能第二章 操控面板2.1 界面设计开发板使用了北京龙丘公司的MC9S08AC16多功能开发标准套件V2.0,开发板自带了7个按键(上、下、左、右、确认、退出、复位),而操控面板用到其中的6个,开发板也自带了一个液晶屏以及RS232串口通信模块。整体框架如下图开关按 键主机DSP单片机MC9S08AC16LCD显示图2.1框架图界面采用了多级菜单设计。最多有三级菜单。在主函数main()当中定义了如下变量:ready、startup_mode、running_time、break_time、direction、power、torque、r
11、evolution,用于和DSP传输参数,分别表示DSP参数输入完毕、电机启动模式、运行时间、停止时间、运行方向、输出功率、转矩、转速。程序在飞思卡尔公司Codewarrior 6.1开发软件中的Processor Expert模式下进行编写。在这个模式下,很多单片机的基本功能与寄存器配置已经进行了先行配置,开发人员可以集中精力于流程算法的编写。下面是程序的流程及功能。在收到DSP发送的参数输入完毕的信号后,控制面板可以启动,显示启动画面图2.2:Parameters imputController already图2.2启动画面启动画面的实现使用了开发板自带的函数LCD_P6x8Str(x,
12、y,*ch),它的三个参数分别表示横向起始点,纵向显示段,要显示的字符串指针。启动画面显示之后操作人员按下OK键便进入主页面图2.3:* statrup moderunning timerunning parameters图2.3主页面判断OK键按下可以用if(!KEY_OK_GetVal()来进行判断,并做消抖动处理: if(!KEY_OK_GetVal() Dly_ms(20); if(!KEY_OK_GetVal() 主页面的中被选择的选项前面有一星号,当按下“OK”键时可进入对应的二级菜单,当按下“ESC”键时便返回上一级菜单。进入二级菜单时用了switch()选择语句,事先定义一个变
13、量j来判断哪个二级菜单项目被选中。每个二级菜单都对应一个独立的函数,分别是page1()、page2()、page3(),通过单片机开发板上的updown键来选择相应的界面。page1()的页面如图2.4所示* manual mode continuous mode 图2.4 page1()页面在此页面中,两个选项分别表示点动模式和连续模式,被选择的选项前面也带有一星号,当按下“OK”键时便进入了用户所要选择的模式中。在点动模式中,当用户按着“OK”键不放时,电机便开始旋转,当用户松开“OK”键时,电机便停转。在连续模式中,当用户按下“OK”键时,电机便按照page2()中所设置的“runni
14、ng time”和“break time”进行周期性的旋转。Page2()的页面如图2.1.5所示:* running time break time 图2.5 page2()页面在此页面中,两个选项分别表示运行时间和停止时间。当选择“running time”或“break time”后,会出现图2.6的页面。*0 0 0 0s 图2.6page2()子页面其中,*可以通过“LEFTRIGHT”进行左右的移动,紧跟*后面的一位数字可以用“UPDOWN”键在09内进行调整,调整完后,按“OK”键返回page2(),此时也将设置好的数据发送出,使用uart_putchar()函数输出Modbus
15、协议规定的字符串。以此达到对电机的停止以及运行时间的设定。Page3()的页面如图2.1.7所示:Direction:+/- Power:*W Torque:*Nm Revolution:*rpm 图2.7page3()页面本页面中内容为DSP传过来的有关电机运行的参数,分别为转向:正转/反转、功率、转矩以及转速,通过本页面的内容,可以实时准确地了解电机运行的情况,以便对其进行适当的调整。本页面的实现一方面运用了有关LCD的函数,另一方面与串行通信也有很大的联系。2.2通讯功能Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设
16、备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 Modbus协议有两种通信模式:ASCII模式和RTU(远程终端单元)模式。ASCII模式是将一个字节分为两个ASCII字符发送,而RTU模式以十六进制传送数据,一个字节就是一帧,因而数据传送的效率高于ASCII模式,大多数工业控制器采用RTU模式。我们的操作面板使用了ASCII模式
17、。我们直接使用了开发板的SCI函数进行通信。起关键作用的是communication()函数,它可以将SCI寄存器的读写进行简化:void communication(void)InputBuffer_flag=(byte)AS1_GetCharsInRxBuf(); /输入缓冲区有数据返回值为1,否则为0; if(InputBuffer_flag=1) /满了开始接收; AS1_RecvChar(&Received_Temp);/ 如果有数据,将值赋给临时变量,并保存; /#Head Byte# if(ReceivedNow=1) /接收第一个数据; if(Received_Temp=0X8
18、1) /接收起始位; ReceivedNow=2; Received_Total=4; Receive0=Received_Temp; /保存第一个字节 else/如果接不是这两个数,则重新接收判断; ReceivedNow=1; else/如果是这个数,则继续接收下面的数据; if(ReceivedNowReceived_Total)/接收第二个到倒数第二个数据; ReceiveReceivedNow-1=Received_Temp; ReceivedNow=(unsigned char)(ReceivedNow+1); else if(ReceivedNow=Received_Total)
19、/接收最后一个数据; ReceiveReceivedNow-1=Received_Temp;/接收完最后一个数据 data_flag=Receive1; data_High=Receive2; /变量赋值; data_Low=Receive3; data_over=1; /通讯结束标志置一 ReceivedNow=1; /接收变量置1 Modbus的通讯格式如图(1):数据格式:地址码功能码数据区校验码数据长度:1字节1字节N字节16位CRC码表2.2.1odbus通信格式由于我们使用Processor Expert模式进行开发,所以发送和接收可以用现成的函数:AS1_RecvChar(*Ch
20、r)和AS1_SendChar(Chr),这样可以简化发送与接受。发送与接受的内容都通过Modbus协议中的ASCII模式中进行定义。同时我们也使用了开发板自带示例程序中的uart_putchar()进行字符发送、uart_getchar()进行字符接受。第三章监控软件设计基于串行通信的交流伺服调试软件是利用微软公司的Visual Basic 6.0进行开发,由串行通信模块和用户界面模块两大部分构成。串行通信模块提供与下位机进行通信的硬件驱动,用户界面则负责提供人机交互的平台。串行通信模块中,为了保证数据完整、准确、高效地传输,必须在通信终端定义完善的通信协议。用户界面负责给用户提供伺服系统运
21、行状态的实时监控及控制器参数实时调试的平台,因此对界面设计提出了较高的要求。3.1界面设计当今绝大多数大型应用程序的用户界面是菜单Menu界面。菜单用于给命令进行分组,使用户能够更方便、更直观的访问这些命令。在窗体的标题栏下显示的菜单栏,它包含一个或多个菜单标题。在程序运行时,当用户选择某个标题时会下拉出一个菜单,菜单中的菜单项可以是命令、选项、分隔条、或子菜单标题。每个菜单项都是一个控件,与其他控件一样也有自己的属性和事件。菜单项的各个事项都能设置和查看,如Name(名称)和Caption(标题)属性等。每个菜单项只能响应一个事件,即Click事件。实际应用中,任何一个大型应用程序都不可能只
22、有一个界面,否则就显得十分单调。而且不利于进行人机交互。因此,VB提供了多重窗体程序设计。在多重窗体中,每个窗体可以有自己的界面和程序代码,完成不同的功能。在主界面中,通过对菜单项的选择,利用show方法打开相应的窗体。该方法用来显示一个窗体,它兼有加载和显示窗体两种功能。也就是说,在执行show时,如果窗体不知内存中,则show自动把窗体装入内存,然后再显示出来。3.2通讯功能3.2.1 串口配置串口端口的通信方式是将字节拆分成一个接着一个的位再传送出去。接到此电位的信号的一方再将此一个一个的位组合成原来的字节,如此形成一个字节的完整传送。在传输进行的过程中,双方明确传送信息的具体方式,否则
23、双方就没有一套共同的译码方式,从而无法了解对方所传过来的信息的意义。因此双方为了进行通信,必须遵守一定的通信规则,这个共同的规则就是通信端口的初始化。通信端口的初始化必须对以下几项参数进行设置:数据的传输速度、数据的传送单位、起始位与停止位、校验位。串口配置界面如图3.1图3.1串口配置3.2.2电机参数设置永磁同步电机定子结构由三相电枢绕组和铁心构成,且三相电枢绕组通常按星形连接。永磁同步电机的转子采用永磁体,省去了励磁绕组、滑环和电刷,电机结构显得比较简单。永磁同步电机具有电磁转矩纹波系数小、动态响应快、运行平稳、过载能力强等优点。正是由于永磁同步电机突出的特点,非常适合在交流伺服系统中的
24、应用。而此模块的功能是将永磁同步电机的主要参数写入驱动系统中。主要参数有:永磁同步电机的额定功率、额定转矩、额定转速、额定电流、电枢绕组电阻r、直轴电感、交轴电感、永磁体磁链、极对数P。电机参数设置界面如图3.2图3.2 电机参数设置3.2.3虚拟示波器比较于传统的测控仪器,虚拟仪器本身不存在物理的仪器面板,而是利用计算机系统强大的图形显示能力,在计算机的显示器上虚拟仪器的面板,用户可通过对这个虚拟的仪器面板的操作,来完成对仪器的控制,实现对信号数据的采集、存储、分析和显示等,这样就改变了传统仪器的使用方法从此可见,虚拟仪器与传统仪器相比较,其最大的特点在于其功能的可重构性和应用的灵活性上,使
25、用者通过修改软件即可方便地修改、增减仪器的功能,在很大程度上解决了传统仪器的功能在制造时即被生产厂家限定而不能改变的问题,提高了仪器的使用效率,降低了仪器的成本、价格。虚拟示波器界面如图3.3图3.3虚拟示波器界面3.2.4实时参数调节软件设计了电流环、速度环和位置环参数实时调节模块,用户可以通过手动输入参数。在调试参数过程中各参数对电流、速度和位置响应影响可以直观地通过上述虚拟示波器展现出来。通过ForNext语句,将文本框控件数组中的数值传送到传输缓冲区。For i = 0 To 11frmzong.Comm.Output = Text(i)Next i事实参数调节界面如图3.4图3.4
26、实时参数调节界面3.2.5实时状态监测运用此功能模块,可以更加清楚的对当前电机的运行状态进行监测。监测的对象有三相的相电流,转矩和转速。在Timer事件里,不断的查看CommEvent的属性值。当接收了事先设定的RThreshold个字符数时,便会触发Oncomm事件,并使CommEvent的属性值发生变化。这时,便会将接收缓冲区的数据读取进来,并将接收缓冲区清空。直到下次再接收到RThreshold个字符数,CommEvent的属性值再次发生变化,并一直重复,直到窗体关闭。主要程序如下:Select Case frmzong.Comm.CommEvent Case comEvReceive
27、Y() = frmzong.Comm.Input frmzong.Comm.InBufferCount = 0End Select实时状态监测界面如3.5图3.5 实施状态监测界面第四章总结与展望由于我们时间、精力、学识有限,本设计难免存在不足之处。我们解决了单片机控制液晶屏显示界面的问题,以及单片机向DSP发送数据问题。但是还是存在以下问题和改进之处:1.开发板按键的消抖动处理不完善,有的时候有效有的时候无效,可能需要更换品质更好的开关并且找到一个合适的延时时间数值。2.单片机从DSP接收数据方面有不足,因为时序问题处理方面不成熟所以单片机有时能收到数据有时收不到,且ASCII模式发送接收效率较慢,可以换成RTU模式。参 考 文 献1 何此昂, 周渡海,等. Freescale 08系列单片机开发与应用实例M. 第1版,北京: 北京航空航天大学出版社, 20092 李刚, 李世利, 周鑫玲. 飞思卡尔8位单片机实用教程M. 第1版,北京: 电子工业出版社, 20093 龚仲华. 变频器从原理到完全应用:三菱、安川M. 第1版,北京:人民邮电出版社,20094 吕晓峰. 伺服控制器人机功能软硬件设计D. 南京:南京航空航天大学,2010.5 李飞飞. 永磁同步电机驱动系统的监控软件设计D. 南京:南京航空航天大学,2011致 谢17
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922