鞍钢电气专家技术论坛

 找回密码
 立即注册
搜索
论坛公告:
1、本论坛是面向全国冶金电气行业的开放性的技术交流平台。
2、本论坛是公益属性,所有的技术交流及咨询解答均为非营利的义务服务,不存在收费项目。
3、只有认证注册的会员,才能在本论坛内发帖及查看标题下详细内容。
4、在本论坛内发起的(寻求帮助)会有鞍钢电气有限责任公司组织专家在第一时间内给予解答并提供后续的技术咨询。
5、个人上传的技术资料若属于专利范围,请在文章内加以注明。
6、注册会员应遵守国家的法律法规和互联网相关制度规定的要求,若有投诉建议请与鞍钢电气有限责任公司联系。
查看: 15|回复: 0

单片机技术在电气传动控制系统中的研究与应用

[复制链接]

主题

好友

0

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2017-8-16 09:02:05 |显示全部楼层
 单片机进入中国十余年以来,以其体积小、功能强、扩展灵活、使用方便等特点,逐渐应用到各行业的工程实际应用中。目前,大多数系统以51系列的8位单片机为首选,但在一些较复杂且性能要求较高的系统中,则必须让位于16位单片机。MCS- 96系列的16位单片机特别适用于各类自动控制系统,如交直流调速机、工业过程控制系统、伺服系统等。现以一直流伺服控制系统装置为例,介绍了系统的结构,加强了有关算法。,采用双极性的H桥构成,用大功率桂管整流桥将交流整流成直流,采用电压稳压方式(并入大容量电容)提供主电源,用IPM中的IGBT构成H桥,采用PWM进行调速,其中富士通的IPM技术较为成熟,并具有多种保护功能,只需加人一定的周边电路便可进行驱动。
  主电路原理框。2单片机系统位总线的单片机系统,与MCS-51系列相比,此类型的单片机提高了系统的实时性,主要表现在:CPU中的算术逻辑单元不采用常规的累加器结构,改用寄存器-寄存器结构,CPU的操作直接面向256字节的寄存器,消除了CPU结构中存在的累加器瓶颈效应,提高了操作速度和数据吞吐能力;256字节寄存器中,24字节是专用寄存器,其余232字节均为通用寄存器。其通用寄存器的数量远比一般CPU的寄存器数量多,这样可以为各中断服务程序中的局部变量指定专门的寄存器,免除了中断服务过程中保护和恢复现场所支付的软件开销,并大大方便了程序设计;③形发生器(WG),不用外ft元器件即可生成PWM波形,而波形发生器(WG)具有灵活的死区调节功能。这对实用PWM功率放大器很关键,它能防止双极H型主电路4个IGBT*共态穿通“。所谓”共态穿通“即桥臂中的一个IGBT没有退出饱和而另一个IGBT已导通而形成电源短路的现象;④有一套效率更高、执行速度更快的指令系统,可采用20MHz的时钟,并新增加了EPA(事件处理器阵列)、PTS(外设事务服务器),再加上其内带的10位A/D转换器,从而可以快速完成电流和转换的转换过程,满足对系统动态响应时间的要求。
  由于伺服系统电流控制调节器采样周期短、计算量大,因此80C196MC系统采用16位系统总线以提高系统的吞吐能力。二片EPROM 27C256地址分配为:2000H~7FFFH;二片RAM62256地址分配为:A000H~FFFFH.由于采用16位地址数据总线,二片存储器共用同一地址,具体联接如下:系统地址总线A.不用,A,与EPROM、RAM的A.连接,A2与A,连接,……依此类推,A15与A14连接。当CPU读存储器高位地址时,同时选中高、低位的存储器,高8位、低8位的数据同时读人CPU,由CPU正确选择高8位的数据作为操作数,舍去低I位的数据,读低8位时情况也相同。RAM的片选信号由INST和八15通过与非门构成(1河=0' +人|5),其中要注意的是INST在读程序存储器时为低电平,但要避开2000-2080的地址,因为在读取中断向量时,INST引脚为高电平。其系统原理框图如所示。
  单片机系统原理软件系统3.1C程序与汇编程序的协同开发汇编语言的难点在于数据处理。由于汇编语言不直接支持单精度的浮点运算,而目前单片机开发日趋复杂,在许多地方必须应用高精度的复杂算法。C96直接支持单精度的浮点运算,对于大多数场合已经够用,并且可以方便地通过算法扩展到双精度。算法的设计上已有大量的C程序可供选用,基本不用重新开发。在这些模块应用C96可以尽快解决问题,而要完成同样功能,C96程序经编译连接生成的代码比汇编生成的代码稍长。在需要实时响应的场合,开发者往往从执行速度的角度出发,将这些模块用汇编代码实现。据最新资料,新版的C96编译器的效率可以达到1.1.在单片机项目中输入输出驱动保护电路复位电路应用C96,更重要的是开发周期可以大大缩短。一般地,一个资深程序员只要花费汇编程序员一半不到的时间即可完成开发任务,而两者的执行速度相程序将是事半功倍。
  例如:显然,C96写出来的程序具有良好的可读性,并方便日后的修改和维护,而汇编大多数则要靠注释来解读,而且个人注释风格不同,会带来调试工作和日后软件升级的困难,加长了开发时间和人力投入。开发单片机的项目时,经常会遇到关于汇编模块和C模块相互调用的问题。
  (1)如果不涉及参数传递,则可采用在程序中嵌人ASMf……伪指令实现(适用于C96和C51),以C96的实例进行说明:(2)当涉及参数传递时,以C语言作主程序为例,说明一个相互调用的实例。(只适用于C51)主程序:但在AFUNC.A51文件中则需按照C51与汇编语言的接口规则进行书写,完成相应的功能。
  NAMEA.FUNC;声明函数名称;声明外部函数代码段名PUBLICA―FUNC;外部公共符号;可覆盖局部数据段X00:DS2;定义传递参数字节……:程序代码体END;AFUNC函数结束因此,可以很方便地在程序代码体处加人所期望的汇编程序。
  最后,全部程序编译链接通后,应仔细看生成的M96或M51文件,有无溢出或冲突的情况,数据存储区与程序存储区是否定位恰当。对于C196来说,C96程序的代码段、参数段可以设成是浮动定位还是绝对定位的,当C96代码段、参数段与汇编程序冲突时,应用RL196的一译控制选项ram(……),rom(……),romcode(……),romdata(……)来精确定位代码数据段解决冲突。
  例如:以上定义了模块MOD2的代码和常量数据,MOD3 -FFFFH)中,MODI的常量数据放在(4000- 5FFFH)的ROM中。STACK堆栈段的值应根据最后的M96文件显示的总共占用的内存RAM,设为最大可用的堆栈段(用STACKSEE控制项),C96的子程序调用最好不要超过三级,以免堆栈溢出。实践证明,这些C96程序与汇编语言做到了真正意义上(WGJ的电平,输出PWM波形。当WG-COUNT复位为1时,引发一次WG中断,CPU响应WG中断时,根据电流环算得出新的WG-COMP,的值,改写WG-COMPx的值,改变输出波形的占空比,实现调节电机转速的目的。④WG-CON:控制、死区时间寄存器,决定WG的工作方式和死区时间。
  上述V型PWM电路中的一个桥臂,当其中一个IGBT没有退出饱和时,另一个IGBT又开始导通,会造成电源直接短路的“共态导通”现象,这是绝对不能出现的故障。要避免这一现象的发生就的“无缝链接”。
  3.2算法的改进3.2.1波形发生器工作原理波形工作器WG是80C196MC单片机最具特色的外设,在PWM伺服系统中起关键作用。80C196MC的WG可产生三相(三路)正弦PWM(SPWM)波形用于三相交流同步电机的变频调速,这种情况的WG工作方式称为中心对准方式;也可产生斩波调压的PWM用于直流电机调压调速,称是设置合适的死区时间,即当一个IGBT关断后,经历一个死区时间,另一个IGBT接着导通,这样就可以避免“共态导通”现象出现。
  3.2.2算法改进思路实际上,在转速和电流环的计算中并不是全部计算都需要用到浮点运算的方式,为简单起见,只考虑转速环(电流环当成一比例环节)。
  由于采用的是转速编码器采样转速信号,而80C196MC系列的单片机用相移计数器的方式即可为边沿对准方式。
  工作于边沿对准方式,如所示为不考虑死区时间影响的工作波形。其相关的寄存器意义为:①WG-RELOAD:重装载寄存器,决定载波周期;②1,2,3):相位比较寄存器,决定波形占空比;③WG-COUNT:双向计数器,为WG的时基(边沿对准时,只向上计数)JG-COUNT的值一直与WG―RELOAD的值比较,当位到1,又重新开始计数。同时WG一COUNT的值也一直与WG*COMP,获得时间内的转速值,而这个值一定是整数,因此转速的跟踪精度实际上取决于转速编码器的精度。当r时间取一较小的时间间隔,完全可以用时间r内获得的脉冲数PL作为转速值,实际上此时的转速为:PL/r,以时间r作为速度环控制回路采样周期。当给定速度同样在整数值给出时,如所示,由于输出PWM周期一定(WG*RELOAD取的值比较,当WGCQUNT的值等于WG+COMPx的值时改变输出引脚不考虑死区时间的边沿对准方式的工作波形转速环原理框图为100以),输出比较寄存器1―(:01\51也只能在整数范围变化,PI控制器的输人为整数SP-GIV-EN*SP*N0W,输出同样为整数,所以只需调整PI的参数就可达到对转速环的控制。
  不难证明给定转速如果换算成在71时间内脉冲数不是整数的话,其控制作用同整数值的效果是一样的。但是PI参数经常以浮点数的方式出现,在调试过程中先用浮点数计算定下P、I参数的值后,再利用C96的赋值运算符赋予一整型变量,这样既充分利用了C96的浮点运算库,又精筒了代码,提高了运算速度。对于电流环同样可以依照以上方系统程序结构框图法确定电流环的P、I参数并进行电流控制。
  3.2.3程序框图和。
  4系统头文件的应用多个型号的芯片,80年代中期,INTEL公司将8051内核使用权以专利互换或出售的形式转给世界上众多者名1C制造厂商,如Philips、Simens、Atmel、Lg等,这些厂商在自身‘技术基础上又发展出各具特色的51系列单片机。开发者必须会定制所用单片机的系统头文件,以充分发挥各种单片机的功能。系统头文件(……h)实际上定义的是各端n、各功能寄存器对应的物理地址。对于51系列单片机,当单片机的型号改变时,只需转换相应的头文件,即可实现CM程序的移植性,同样对于96系列的单片机,分成队、0、!《(、1、肘11、10'、呢、财等型号,不同的型号对应不同的功能。对应不同的96芯片,需要包含不同的头文件,以期可以达到快速开发的目的,并可方便以后的移植和再开发。
  通过将C96程序与头文件分离,也正是C96程序移植性的魅力所在。这些头文件也可由开发厂提供,也可以自己动手定制。对于96MC系列的单片机主要包含以下两个头文丨牛:,mc-sfrs.h(包含各功能寄存器、端口的定义);me一flmc.h(包含各特殊功能函数的定义和有并特殊结构的定义,例如PTS中断向量的结构定义)。
  5结论本文以80C196单片机构成一直流伺服控制系统为例,介绍了其硬件结构和软件编程方法,重点讨论了C96程序与汇编程序的协同开发,以及对算法的一些改进。物理系统实验表明,此系统具有良好的调速特性。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

鞍钢电气专家技术论坛

GMT+8, 2017-9-20 18:53 , Processed in 0.071475 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部