片机技术在电气传动控制系统中的应用与研究doc_第1页
片机技术在电气传动控制系统中的应用与研究doc_第2页
片机技术在电气传动控制系统中的应用与研究doc_第3页
片机技术在电气传动控制系统中的应用与研究doc_第4页
片机技术在电气传动控制系统中的应用与研究doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机技术在电气传动控制系统中的应用与研究    摘要:本文从单片机的技术应用角度出发,提出了一种用80c196系列单片机实现数字调速的系统控制方案,并在实际中验证了本方案的可行性,同时对80c196单片机的一些关键技术作了深入研究,以期开发出更高性能的单片机系统。关键词:80c196单片机rl196pwmc960引言单片机进入中国10余年以来,以其体积小、功能强、扩展灵活、使用方便等特点,逐渐应用到各行业的工程实际应用中。目前,大多数系统以51系列的8位单片机为首选,但是在一些比较复杂的、性能要求较高的系统中,它不得不让位于16位单片机。本文采用的mc

2、s96系列的16位单片机特别适用于各类自动控制系统。如交直流调速机、工业过程控制系统、伺服系统等。本文以一直流伺服控制系统装置为例,介绍了系统的结构,改进了有关算法,实验证明,此系统可以良好地跟踪给定速度曲线,响应时间可控制在103s的数量级以内。1硬件系统的构成11电气主回路主电路结构图如图1所示,采用双极性的h桥构成,用大功率硅管整流桥将交流整流成直流,采用电压型稳压方式(并入大容量电容)提供主电源,用ipm中的igbt构成h桥,采用pwm进行调速,其中富士通的ipm技术较为成熟,并具有多种保护功能。只需加入一定的周边电路便可进行驱动。12单片机系统本文采用mcs96系列的80c196mc

3、构成16位总线的单片机系统,与mcs51系列相比,此类型的单片机至少在以下几方面提高了系统的实时性。(1)cpu中的算术逻辑单元不采用常规的累加器结构,改用寄存器寄存器结构,cpu的操作直接面向256字节的寄存器,消除了cpu结构中存在的累加器瓶颈效应,提高了操作速度和数据吞吐能力。(2)256字节寄存器中,24字节是专用寄存器,其余232字节均为通用寄存器。其通用寄存器的数量远比一般cpu的寄存器数量多。这样可以为各中断服务程序中的局部变量指定专门的寄存器,免除了中断服务过程中保护和恢复现场所支付的软件开销,并大大方便了程序设计。 (3)80c196mc具有波形发生器(wg),不用外围元器件

4、即可生成pwm波形,而波形发生器(wg)具有灵活的死区调节功能。这对实用pwm功率放大器很关键,它能防止双极h型主电路四个igbt“共态穿通”。所谓“共态穿通”即桥臂中的一个igbt没有退出饱和而另一个igbt已导通而形成电源短路的现象。(4)有一套效率更高、执行速度更快的指令系统,可采用20m赫兹的时钟,并新增加了epa(事件处理器阵列),pts(外设事务服务器),再加上其内带的10位ad转换器,从而可以快速完成电流和转速的转换过程,满足对系统动态响应时间的要求。其中,16位单片机的系统构成如下:由于伺服系统电流控制调节器采样周期短、计算量大,所以80c1 96mc系统采用16位系统总线以提

5、高系统的吞吐能力。二片eprom27c256地址分配为:2000h7fffh;二片ram62256地址分配为:a000hffffh;由于采用16位地址数据总线,二片存储器共用同一地址,具体联接如下:系统地址总线a0不用,a1与eprom、ram的a0连接,a2与a1连接,依此类推,a15与a14连接。当cpu读存储器高位地址时,同时选中高、低位的存储器,高8位、低8位的数据同时读入cpu,由cpu正确选择高8位的数据作为操作数,舍去低8位的数据;读低8位时情况也一样。ram的片选信号由inst和a15通过与非门构成(raminsta15),其中要注意的是inst在读程序存储器时为低电平,但要避

6、开2000 2080的地址,因为在读取中断向量时,inst引脚为高电平。其系统原理框图如图2所示。 2软件系统采用c与asm的混合编程模式,下面着重于其协同开发和算法的改进进行阐述。21c程序与汇编程序的协同开发汇编语言的难点在于数据处理。由于汇编语言不直接支持单精度的浮点运算,而现在单片机开发日趋复杂,在许多地方必须应用高精度的复杂算法。c96直接支持单精度的浮点运算,对于大多数场合已经够用,并且可以方便的通过算法扩展到双精度。算法的设计上已有大量的c程序可供选用,基本不用重新开发。在这些模块中应用c96可以尽快地解决问题。然而,完成同样的功能,c96程序经编译连接生成的代码比汇编生成的代码

7、稍长。在需要实时响应的场合,开发者往往从执行速度的角度出发,把这些模块用汇编代码实现。其实,笔者认为凡是汇编实现的功能用c96都能实现,只是一个熟练程度的问题,而且据最新资料,新版的c96编译器的效率可以达到11。在单片机项目中应用c96,更重要的是开发周期可以大大缩短,一般来说,一个资深的c96程序员,他只要花费汇编程序员的一半不到的时间就可以完成开发任务,而两者的执行速度相差无几,如果不是有特别苛刻的要求,用c96开发程序将是事半功倍。    例如:     timer10x33f8;     而在汇

8、编中则需要写成:     ld1ch,33f8h     st1ch,1f7a00h 显然,c96写出来的程序具有良好的可读性,并方便日后的修改和维护,而汇编大多数则要靠注释来解读,而且个人注释风格不同,会带来调试工作和日后的软件升级的困难,加长了开发时间和人力投入。在开发单片机的项目时,经常会遇到关于汇编模块和c模块相互调用的问题,下面从两个方面加以阐述:(1)如果不涉及参数传递,则可以采用在程序中嵌入asm伪指令实现(适用于c96和c51 ) 。(2)当涉及参数传递的时候,下面以c语言作主程序为例,说明一个相互调用的实例;(只适用

9、于c51)。    主程序:但在afunca51文件中则需按照c51与汇编语言的接口规则进行书写,完成相应的功能。    nameafunc    ;声明函数名称    ;声明外部函数代码段名    publicafunc    ;外部公共符号    rseg?dt?afunc?afunc    ?afunc?byte:   

10、;可覆盖局部数据段    x?00:ds2;定义传递参数字节    rseg?dt?afunc?afunc    afunc:    ;程序代码体    end    ;afunc函数结束因此,我们可以很方便地在程序代码体处加入所期望的汇编程序。最后,全部程序编译链接通过后,应仔细查看生成的m96或m51文件,有无溢出或冲突的情况,数据存储区与程序存储区是否定位恰当。对于c196来说,c96程序的代码段、参数段可以设

11、成是浮动定位还是绝对定位的,当c96代码段、参数段与汇编程序冲突时,应用rl196的编译控制选项ram(),rom(),romcode(),romdata()来精确定位代码数据段解决冲突。     例如:以上定义了模块mod2的代码的常量数据,mod3的代码放在rom1中,即(20003fffh)处。main、mod1、mod3的代码和常量放在第二段rom(4000ffffh)中,mod1的常量数据放在(40005fffh)的rom中。stack堆栈段的值应根据最后的m96文件显示的总共占用的内存ram,设为最大可用的堆栈段(用stacksize控制项),c96的

12、子程序调用最好不要超过三级,以免堆栈溢出。经实践证明,这些c96程序与汇编语言作到了真正意义上的“无缝链接”。22算法的改进221波形发生器工作原理简介波形发生器wg是80c196mc单片机最具特色的外设,在pwm伺服系统中起到关键的作用。80c196mc的wg可产生三相(三路)正弦pwm(spwm)波形用于三相交流同步电机的变频调速,这种情况的wg工作方式称为中心对准方式;也可产生斩波调压的pwm用于直流电机调压调速,这种工作方式称为边沿对准方式。下面对pwm伺服系统采用的边沿对准方式给予简要介绍。工作于边沿对准方式,不考虑死区时间的影响的工作波形见图3。有关的几个寄存器意义如下:(1)wg

13、reload:重装载寄存器,决定载波周期。(2)wgcompx(x1,2,3):相位比较寄存器,决定波形占空比。(3)wgcount:双向计数器,为wg的时基(边沿对准时,只向上计数)。当wgcount的值一直与wgreload的值比较,当等于wgreload的值时,wg复位到1,又重新开始计数。同时wgcount的值也一直与wgcompx的值比较,当wgcoutn的值等于wgcompx的值时改变输出引脚(wgx)的电平,输出pwm波形。当wgcount复位为1时,引发一次wg中断,cpu响应wg中断时,根据电流环运算得出的新的wgcompx的值,改写wgcompx的值,改变输出波形的占空比,

14、实现调节电机转速的目的。(4)wgcon:控制、死区时间寄存器,决定wg的工作方式和死区时间。前文已谈到h型pwm电路中的一个桥臂,当其中的一个igbt没有退出饱和时,另一个igbt又开始导通,会造成电源直接短路的“共态导通”现象,这是绝对不能出现的故障。要避免这一现象的发生就是设置合适的死区时间,即当一个igbt关断后,经历一个死区时间,另一个igbt接着导通,这样就可避免“共态导通”现象出现。222算法改进的思路实际上,在转速和电流环的计算中并不是全部计算都需要用到浮点运算的方式,为简单起见,下面论述只考虑转速环(电流环当成一比例环节):因为采用的是转速编码器采样转速信号,而80c196m

15、c系列的单片机用相移计数器的方式即可以获得时间t内的转速值,而这个值一定是整数,因此转速的跟踪精度实际上取决于转速编码器的精度,当t时间取一较小的时间间隔,我们完全可以用时间t内获得的脉冲数pl作为转速值,实际上此时的转速为:plt,我们以时间t作为速度环控制回路采样周期,当给定速度同样在整数值给出时,如图4所示,由于输出pwm周期一定(wgreload取为100s),输出比较寄存器wgcomp1也只能在整数范围变化,pi控制器的输入为整数spgivenspnow,输出同样为整数,所以只需调整pi的参数就可达到对转速环的控制。实际上,我们不难证明给定转速如果换算成在t时间内脉冲数不是整数的话,其控制作用同整数值的效果是一样的。但是pi参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论