历史上的今天
返回首页

历史上的今天

今天是:2025年04月07日(星期一)

正在发生

2018年04月07日 | 基于MSP430F149的数字式变频伺服系统的设计与研究

2018-04-07 来源:eefocus

    前 言


    随着环境的污染和能源的紧张,电动自行车以无废气污染,无噪音,利用电能和使用方便等优点,越来越受到人们的喜爱,成为生活中的代步交通工具。本文介绍采用美国公司SILICon laboratories(Silabs)的高速SoC型C8051F313单片机设计的一种无刷直流电机调速控制系统。该系统充分利用C8051F313的片上资源,设计方案电路简单,需要的外围元件少,控制器的整体成本低,性能好。


  1变频伺服系统的功能

  为达到变频伺服系统的运行可靠、良好的静态以及动态的性能要求,其功能如下:

  1)精确的伺服控制功能

  高精度、高速度、大功率是伺服系统的发展趋势,系统采用高速单片机作为核心控制器,对变频器进行控制,使伺服系统的控制达到更高的精度。

  2)通信功能

  单片机与上位机之间必须确保通信的正常与正确,单片机将接收到来自上位机的控制命令与采样到的反馈信号相比较得到偏移控制量,只有得到相应的偏移量,单片机才对变频器输出相应控制信号。

  3)反馈量精确采集功能

  反馈量采集的精确度直接关系到控制精度,系统采用变M/T方法对伺服电机进行转速采样,采样精度较M法、T法更加精确,从而确保了更加精确的控制。

  2系统硬件设计

  系统以单片机MSP430F149为核心控制器[2],集成变频器、变频电机、采样编码器以及PC上位机组成。其系统原理框图如图1所示。

图1系统框图
图1系统框图

  其控制过程为:单片机MSP430F149控制协调系统各功能模块工作;PC上位机通过串口UART0将控制信号传输给MSP430F149,单片机通过对反馈信号采样后进行处理,将处理后的数据与来自上位机的控制信号相互比较,得到误差量,再将误差量经过相应的运算得到伺服系统控制量;MSP430F149将得到控制量通过串口UART1直接转换成RS485信号输出至变频器,变频器根据接收到的控制信号产生变频变压的电源信号以驱动电机完成期望动作;同时上位机通过MSP430F149的串口UART0获取变频电机的速度、系统参数等形成打印报表,为操作人员良好人机操作界面。

  2.1单片机单元

  MSP430F149是变频交流伺服系统的核心控制器,完成系统控制信号与测量信号的传递及复杂的控制决策,协调各模块进行工作,操作控制指令的接收与识别。此单片机是一种超低功耗微控器,采用16位的体系结构,16位的CPU集成寄存器和常数发生器,实现了最大化的代码效率。包括2个内置16位的定时器、一个快速12位A/D转换器,两个通用串行同步异步通讯接口和48个I/O端口,片内包含60KFLASHROM和2KBRAM。本设计是实时控制系统,需对数据进行实时采集和传输。MSP430F149中60KFLASH存储器可满足系统程序对烧录存储空间的需要,内部数据RAM(2K)保证了数据实时采集、处理和传输,48个数字外设端口方便地实现了与外围器件的数据传输与控制,16位的体系结构保证了系统能够完成复杂的控制决策,而双串口UART则满足了控制器与上位机及变频器的实时通信需要。

  2.2光电编码器及变M/T测速MSP430F149内部实现

  伺服系统的精度控制主要取决于电机转速信号的测量精度,本系统采用增量式光电编码器作为电机转速为检测元件。比较常见的电编码器测速方法有M法、T法和M/T法。M法是在规定时间间隔内,测量光电编码器输出的脉冲数量来获得被测电机转速的速度值,适合高速测量场合。T法测量是测量相邻两个脉冲间隔时间来确定被测电机的转速速度的方法,此方法在高速场合测量时精确度性较差,因此一般只适用于低速测量的场合。M/T法是通过同时测量检测时间和在此检测时间内所发生的脉冲数来确定转速。在整个速度范围内有着较好的测速精度,但在低速时随着频率的降低,需要较长的测量时间,无法满足伺服系统的快速动态响应性能指标[2]。近年来变M/T测速方法逐渐被使用,是指在测速过程中,不仅检测光电编码器脉冲M1和高频时钟脉冲M2随电机转速不同而变化,而且检测时间Tg也在变化,它始终等于光电编码器M1个脉冲周期之和(测速原理如图2所示)。Tg的大小由高频时钟脉冲M2计取,则电机速度计可由以下公式确定[3]。



  式中:M1为预置脉冲数;M2为高频时钟脉冲数;fc为高频时钟频率;λ为光电编码器倍频系数;P为光电编码器线数。

变M/T法测速原理

   图2变M/T法测速原理

  在电机低速运行时变M/T法的检测时间Tg明显比M/T法检测时间要短,由此可见用变M/T法转速测量能够满足控制系统对转速测量的精度及实时性的要求。

  利用MSP430F149内部定时器A和B可以完成对电机转速的变M/T法的测量,可以简化外围电路的设计,减小了系统功耗。定时器A对外部光电编码器脉冲进行计数,定时器B对系统内部高频时钟进行计数;定时器A工作于16位计数方式,将测量值M1装入定时器A的寄存器内,在定时器A计数达到M1个脉冲时,定时器产生中断,程序读取定时器B的计数值M2,由于M1已知依据式(1)可快速而准确计算出电机转速。


     2.3变频器

  变频器是整个伺服系统的主要执行元件。其工作原理是:在主电路中采用交直交变换方式将220V、50Hz的交流电通过整流器变成平滑直流,然后通过半导体IGBT组成的三相逆变器,将直流电变成可变电压、可变频率的交流电。其变频控制方式主要有V/F控制、空间矢量控制(VC)及直接转矩控制(DTC)方式。V/F变频控制方式在低速时因定子电阻和逆变器死区效应以及变频器低压导致的转矩受定子电阻压降影响较大等原因而使系统性能下降、稳定性变差,从而只适用于转速变化范围小机械特性要求不高的场合。空间矢量控制(VC)方式由于在实际应用中转子磁链难以准确观测,系统特性受电动机参数的影响较大导致实际的控制效果难以达到理想水平。而直接转矩控制(DTC)则摒弃了矢量控制中复杂的解耦运算,直接在定子坐标系下分析交流电动机的数学模型来控制电动机的磁链和转矩,简化了主电路、提高了系统的可靠性,从而适用于转速和负载变化范围较大的场合[4-5]。

  综上,本伺服系统采用台达VFD-V型高频变频器。其内含PID反馈控制及V/F、向量控制和转矩控制等多种控制方式(系统采用转矩控制方式),并且零速转矩可达150%以上,保证了系统具有良好的静态性能。

  3系统软件设计

  为方便系统维护与升级,系统软件设计采用模块化程序结构,主要有主程序、电机伺服中断服务程序、测速服务子程序等组成。

  3.1主程序

  主程序在完成系统初始化后,进入上位机通信查询及显示子程序循环,等待中断的发生,电机速度采集采用定时中断方式来实现。主程序流程图如图3a所示。

  3.2电动机伺服中断程序

  变频电机伺服中断程序由MSP430F149内部定时器A完成中断并且执行,电机控制中断程序流程图如图3b所示。

图3程序流程图

  图3程序流程图

  3.3数字PID调节器设计

  在数字PID调节控制系统中,加入积分校正后,系统会产生过大超调,这是伺服系统所不允许的[6-7]。为减少超调对控制系统动态性能的影响,需要在电机伺服过程中的启动、停车或大幅度偏离给定时采用积分分离PID控制算法,只加比例、微分运算取消积分校正。而当被控制量接近给定值时,才使用积分校正以消除静态误差。为减少超调量,提高系统的稳态控制精度,使系统拥有较高的控制品质本伺服系统引进积分分离PID控制算法。具体算法实现如下:

(1)根据实际情况,设定阀值&epSILon;>0。

  (2)当时,采PD控制,避免系统过大超调,同时使系统有较快响应速度。

  (3)当时,采用PID控制,可保证伺服控制的精度。

  控制算法公式:

 

  4结束语

  本文设计的交流变频伺服系统将新一代高速单片机MSP430F149与台达转矩控制变频器VFD-V型相结合,基于上位机通讯方式进行控制,提高了系统的可控性能及稳定性,以单片机代替了传统的PLC控制,并与上位机联动进行系统参数调节,实现了良好的人机人机交互平台,同时降低了系统的开发成本以及周期,并在实际应用中取得良好的控制精度及可靠性能,为伺服系统设计开发提供了更好的系统解决方案。

  参考文献:

  [1]郗志刚,周宏甫.运动控制器的发展与现状[J].机床电器.2005,(4):5-10.

  [2]薛小铃,刘志群,贾俊荣.单片机接口模块应用与开发实例详解[M].北京:北京航空航天出版社,2010.

  [3]吴宏,蒋仕龙,龚小云等.运动控制器的现状与发展[J].制造技术与机床.2004,(1):24-27.

  [4]韩安太,刘峙飞,黄海.DSP控制器原理及其在运动控制系统中的应用[M].北京:清华大学出版社,2003.

  [5]MaoJia,YuanSenmiao.DesignofaservoembeddedcontrolsystembasedonDSP[J].YiQiYiBiaoXueBao/ChineseJournalofScientifICInstrument.2003,24:392.

  [6]刘兵,尤波,宋继良.基于DSP的伺服运动控制器[J].哈尔滨理工大学学报.2005,10(3):114-116.

  [7]潘松,黄继业,曾毓等.SOPC技术实用教程[M].北京:清华大学出版社,2005.

推荐阅读

史海拾趣

East Texas Integrated Circuits公司的发展小趣事

East Texas Integrated Circuits公司(ETIC)成立于XX世纪初,最初只是一个由几位电子工程师组成的创业团队。他们的梦想是利用最新的技术研发高性能的集成电路。通过不断的努力,他们成功地研发出了一种新型的低功耗集成电路,这种电路能够在保持高速度的同时降低能源消耗,迅速在市场上获得了认可。

Design Gateway公司的发展小趣事

1985年,泰德·维特(Ted Waitt)和Mike Hammond两位年轻人决定辍学创业。他们利用维特祖母的15,000美元存款作为担保,从银行获得了10,000美元贷款,租用了一台计算机,并准备了一份三页的经营计划。在维特父亲位于爱荷华州苏城的牧场里,他们创办了TIPC Network公司(Gateway的前身)。公司起步时,主要向得克萨斯电脑器械公司销售零配件,并开展计算机邮购业务。得益于直销商业模式,Gateway在短短四个月内就实现了10万美元的销售额。

兵字(BingZi)公司的发展小趣事

随着市场的不断变化和客户需求的日益多样化,兵字公司意识到,要想在市场中保持领先地位,就必须不断进行技术创新。于是,公司投入大量研发资源,成功研发出了小型精密互感器。这一创新产品不仅填补了市场空白,还为公司带来了可观的收益。同时,兵字公司也凭借这一技术突破,进一步巩固了在电子元器件领域的领先地位。

爱浦电子(AIPULNION)公司的发展小趣事

在产品质量得到保障的同时,爱浦电子也积极开展市场拓展和品牌建设工作。公司积极参加国内外电子展会和技术交流活动,与众多行业伙伴建立了紧密的合作关系。此外,爱浦电子还注重品牌形象的塑造,通过统一的对外标识和全新的VI企业形象,提升了公司整体形象。这些努力使得爱浦电子在市场上逐渐树立起了良好的口碑和品牌形象。

Essentra Components公司的发展小趣事

Essentra Components公司一直将客户服务放在首位,通过提供优质的售前咨询、售中支持和售后服务,赢得了客户的广泛赞誉。公司不仅为客户提供了丰富的产品选择,还根据客户的具体需求提供定制化的解决方案。此外,公司还建立了完善的物流配送体系,确保产品能够及时、准确地送达客户手中。这些努力使得Essentra Components在客户中树立了良好的口碑,为公司的发展奠定了坚实的基础。

DIOTEC公司的发展小趣事

随着中国经济的快速崛起,电子市场需求不断增长。为了抓住这一机遇,DIOTEC于2005年在中国上海设立了分公司,即德欧泰克半导体(上海)有限公司。这家分公司凭借DIOTEC在全球的技术和品质优势,迅速在中国市场打开了局面。如今,德欧泰克半导体(上海)有限公司已经成为中国电子行业的重要供应商之一。

问答坊 | AI 解惑

Protel DXP2004 简体中文破解版

Altium Protel DXP是第一套完整的板卡级设计系统,真正实现在单个应用程序中的集成。设计从一开始的目的就是为了支持整个设计过程,Protel DXP让你可以选择最适当的设计途径来按你想要的方式工作。Protel DXP PCB线路图设计系统完全利用了Windows X ...…

查看全部问答>

Cadence中的psm文件

我前几天下了个Cadence软件,主要是查看芯片封装信息的,其中主要有两个文件,一个是pad格式,可以打开,另一个是psm格式的文件 怎么也打不开。气死了,现在很急,希望哪位高手可以帮助我。。。:Q…

查看全部问答>

MSP430F1系列单片机,串口中断问题

MSP430F149单片机,中断发送函数         我理解的发送过程是这样的,大家先看下这样理解对不对?:首先,代码设置中断标志,UTXIFG1 = 1,程序进入发送中断函数发送一个字节,发送完毕后,MCU自动复位UTXIFG1 = 0, 然后退出 ...…

查看全部问答>

有谁收到过这个通知吗?中国嵌入式课件大赛

2009中国嵌入式系统教学课件大赛----参赛费free,奖金最高3万元!    大赛评委由工业界、教育界资深专家共同担任。其中,院士3人,教育部教学指导委员会主任级专家4人,嵌入式知名企业的管理人员和技术工程师多人。  大赛面向 ...…

查看全部问答>

gooogleman 看到该贴请进

gooogleman, 我听论坛的兄弟说你有WINCE下的 SKYPE软件, 不知能发给我一份吗? 我找了好几天了也没找到。急用. 非常感谢. EMAIL:  LHEART@263.NET…

查看全部问答>

对51单片机中断 的一点疑问

程序如下 #include   unsigned int  count=0; unsigned int  count1=0; sbit  P15=P1^5 ;//蜂鸣器 main() { TMOD=0X01;//选择定时器0方式1 TH0=(65536-50000)/256;//定时器置初值,定时50ms ...…

查看全部问答>

嵌入式怎么学呀?

书有很多但讲的都是不同的模块芯片。 1应该先学哪个芯片呀? 2学这个还要一些硬件,应该买哪个合适?都多少钱? …

查看全部问答>

Rt_thread中如何用FinSH shell查看一个线程使用的栈最大深度

请教了:RT中定义堆栈是一个麻烦事,我们要怎样用FinSH shell来查看一个线程使用的栈的最大深度喃? 哪位说说看。。。。。…

查看全部问答>