基于TMS320F2812的跟踪伺服系统

2024-06-27

基于TMS320F2812的跟踪伺服系统(精选8篇)

篇1:基于TMS320F2812的跟踪伺服系统

基于TMS320F2812的跟踪伺服系统

光电经纬仪是现代化靶场中用来测量空中飞行目标参数的一种复杂贵重仪器,而跟踪精度是经纬仪的`一个主要技术指标,现今为了提高经纬仪的跟踪精度,越来越多的复杂实时算法被应用到伺服控制系统中,因此要求伺服控制器能够在越来越短的时间内完成大量的运算,即对伺服控制器的运算性能提出了更高的要求.而目前的经纬仪伺服系统多是在底板PC104上叠加多种功能板卡来完成捕获跟踪等任务,鉴于此因,设计了以TMS320F2812为CPU的伺服系统,增加了可靠性,提高了精度和响应速度.

作 者:李兴红 张淑梅 续志军 张春林 LI XINGHONG ZHANG SHUMEI XU ZHIJUN ZHANG CHUNLIN  作者单位:李兴红,LI XINGHONG(130033,长春,中科院长春光学精密机械与物理研究所(CIOMP);100039,北京,中国科学院研究生院)

张淑梅,续志军,张春林,ZHANG SHUMEI,XU ZHIJUN,ZHANG CHUNLIN(130033,长春,中科院长春光学精密机械与物理研究所(CIOMP))

刊 名:微计算机信息  PKU英文刊名:CONTROL & AUTOMATION 年,卷(期): 23(13) 分类号:V335 关键词:光电经纬仪   TMS320F2812   伺服系统  

篇2:基于TMS320F2812的跟踪伺服系统

为了提高自动检测系统中数据的采集速率,设计了一种基于TI公司生产的DSP芯片TMS320F2812的实时数据采集系统,该系统可对科学实验中仪器所输出的模拟电压信号进行实时的采集和记录.文章从系统的.硬件和软件两方面的设计进行了阐述.本数据采集系统可应用于石油测井、石油化工等领域.

作 者:张家田 徐飞 严正国 张龙 作者单位:张家田,徐飞,严正国(西安石油大学光电油气测井与检测教育部重点实验室,陕西,西安)

张龙(中国石油集团测井有限公司长庆事业部,陕西,西安)

篇3:基于TMS320F2812的跟踪伺服系统

1 太阳自动跟踪系统的比较

根据运行系统原理的不同, 太阳跟踪器可分为三大类:

第一类为开环方式, 或称为微处理器方式、程序跟踪方式、天文算法。根据天文历法, 先计算出太阳的高度角和方位角, 再驱动转动机构到期望的角度。开环方式的优点是对天气变化的抗干扰能力强。

第二类为闭环方式又称为光电控制方式。通过反馈传感器的反馈信号来消除太阳指向的偏差。采用闭环方式, 可以获得较高的太阳跟踪精度和太阳跟踪灵敏度。

第三类为闭环和开环方式相结合的混合方式。在太阳辐射较强时, 利用光电传感器反馈的信息进行闭环跟踪;其余情况关闭闭环控制, 开启开环运行方式。开环模式采用了天文跟踪方法, 闭环模式采用了光强差反馈的控制方法, 使用了光电信息的工作模式切换方法。

2 机械结构

本研究使用的是双轴式跟踪的机械结构, 利用机械结构专业设计软件Solid Works对机械传动系统进行设计并建模。载物台上设计了间隔为40 mm, 14×12阵列的自由固定螺孔, 适用于各种小型的太阳能接收设备。整体机型不大, 方便移动。整体设计如图1所示。

3 光电二极管

通过传感器的比较, 本研究使用性价比高的光电二极管作为主要传感器, 将传感器安装在图1的集光板上便可实现跟踪。

3.1 光电二极管的光伏模式电路设计

欧司朗的SFH203P型号的PIN光电二极管在光伏模式下能采集大范围光线的光强。该PIN光电二极管在强光下能产生高达500m V的电压, 只要加简单的信号调理电路, 便可以得到较强的信号。

一般光电二极管的功率比较低, 负载能力差, 为了不被采集的负载电阻所影响, 采用了运算放大器, 设计成输入阻抗无穷大的同相比例运算放大电路。

如图2, 根据运放的计算, 电路放大倍数为6。由于DSP的模数转换输入接口 (AD) 范围是-0.3V~+3.3V, 可测量电压范围是0~+3V。为了保护芯片, 在输出端并联了两个肖特基二极管作为限幅。而电容C1为滤波电容, 利用积分电路原理, 制作成一个低通滤波器, 其截止频率为1K。

3.2 差分电路设计

为了提高检测精度, 另外还加了一个公模抑制比很大的仪表放大器进行信号的差分放大。设计的如图3电路, 差模放大倍数为20。

最后输出的结果为Vout5=20* (Vout2-Vout1) , 而Vout1和Vout2分别为一级放大的信号。电路中的二极管是用于输出限幅电压的限幅作用的, 其限幅功能和Vout1的原理一样。仪表放大器偏置电压为1.5V。参考电压精度要求比较高, 依然选用TL431作为3V的输入, 通过电阻和电位器的分压, 调节输出1.5V, 经过电压跟随其隔离后输出到仪表放大器的偏置端, 而电位器是用于调整因电阻本身所带来的误差, 电路如图4-图6。

4 控制系统设计

为了更好地处理采集传感器的信号, 本研究使用的DSP是TMS320F2812芯片, CPU主频达150MHz, 是一个32位定点的控制器, 其具有DSP的高速运输性能, 同时多种模块方便于对各种类型电机的控制, 是一款控制类的DSP芯片。由于本设计的公式实时跟踪需要涉及多种三角函数的运输, 实时运算量较大, 其定点运算可起到关键的作用。

整个程序工作流程如下:

如图7所示。双模式的实时跟踪方案是指系统初始化后读取EEPROM参数和时钟芯片的实时时间, 判断当前时间是否在日间, 若是就开启跟踪模式, 否则就关闭跟踪模式并计算下一个工作开始时的位置。跟踪模式开始后, 默认开启公式跟踪, 先让传感器到达公式跟踪的位置。跟踪前先检测光强是否达到设定值, 是就开始传感器实时跟踪, 关闭公式跟踪, 否则继续公式运算法跟踪, 不断重复这种切换。通过计算和采集数据, 计算出偏移量反馈给步进电机, 让系统自动跟踪。

4.1 跟踪模式一:传感器跟踪

传感器跟踪一般都采用比较式的, 即通过比较各象限传感器的信号差来判断和计算太阳光线的偏差角, 然后再控制驱动电机, 使系统探测始终与太阳光线保持一致, 实现精确跟踪。

光电二极管布局如图8。

安装时, X轴方向与垂直齿轮转动方向一致, Y轴方向与垂直齿轮方向一致。中间互相垂直的横条是实物图上的黑色挡板, 用黑色的塑料片制作。工作时, 其光路分析如图9。

图9中左边的传感器被黑色塑料挡板挡住光线, 电压比较小, 右边的被完全照射, 电压比较高, 判断为太阳在右边, 系统应该向右调整, 直至出现图10的状况。

从图10中看出, 对准太阳后依然有一定的小偏差, 为了减少偏差, 挡板的高度要适当加长, 精度便会提高, 同时, 虽然光路是上图的路线, 但是光强依然是右边的光线比较强, 光电二极管可以识别出这种差别, 所以实际上传感器能识别的偏差比上图的偏差要小得多。

根据以上结构分析, 通过ADC模块采样, 获得各个光电二极管的信号, 便可以做出控制。为了增强信号的可靠性, 采用了中值滤波法和滑动滤波法两种形式进行滤波算法。

4.1.1 中值滤波法

对ADC采样的数据不立即操作, 而是参考10组数据, 对这10组数据进行大小排序, 再对中间4个数据进行求平均, 算得的结果为比较可信的数据。经过这样处理, 可以把一些突变的干扰 (如尖峰信号) 滤掉, 留下出现几率大的数据, 这样的数据比较可信。程序上是建立一个一维数组, 利用冒泡法逐次比较结果, 让数组重新排列, 重新排列后的数组对中间的4个元素进行求平均。

4.1.2 滑动滤波法

所谓滑动滤波法是指对根据观测数据状态的变化趋势, 采用历史数据进行参考。具体做法是考察5次中值滤波法计算的数值。第一次直接把这5个数据进行求平均, 作为当前可信的结果。第二次则替代这5个数据中最早的一个数据, 再求平均, 作为第二次可信结果, 其余依此类推。每次替代的数据是最早的一个数据, 这样一直循环, 求出来的结果体现的是变化趋势。程序上只要建立一个一维数组, 按顺序把这5个数据轮流替换求平均就可以实现。

经过两次滤波算法后, 在固定的输入上能精确到±7m V, 在变化的信号上也不会失真, 说明滤波的效果比较理想。而电位器的电压值也变得可靠平稳, 如图11所示。

由图11得知, 原始数据不十分稳定, 原因主要有两个:第一是电路本身的问题, 电源本来有噪声, 噪声只能减小, 不能消除;第二是芯片本身的ADC模块问题, 其模块转换的数据误差比较大。因此, 需要用算法去提取有用的信息, 成为图12的数据, 在电位器不变的情况下, 数据接近一条直线。传感器跟踪系统精度高, 但受环境因素影响大。

4.2 跟踪模式二:天文算法

当传感器跟踪受到影响时, 必须切换到天文算法。天文算法是通过计算模拟天体 (太阳) 运动规律来实现跟踪控制, 即根据观测点的地理纬度、太阳赤纬以及观测时间计算出太阳高度角和太阳方位角, 然后控制执行机构即电机去转动目标角度, 实现实时跟踪目的。这类跟踪系统精确度一般, 但抗干扰能力强, 在天气比较恶劣的情况下也适用。此算法涉及两个坐标系。

4.2.1 时角坐标系

时角坐标系:以天赤道为基本圈, 北天极为基本点, 天赤道和子午圈在南点附近的交点为原点的坐标系, 也称为第一赤道坐标系, 如图13。

式中, n为一年中的天数。

(2) 太阳时角:用ω表示, 它定义为:在正午时ω=0, 每隔1小时增15°, 上午为正, 下午为负。

式中t为观测时间。

4.2.2 地平坐标系

地平坐标系:以地平圈为基本圈, 天顶为基本点, 南点为原点的坐标系, 如图14。

(1) 太阳高度角:在地平坐标系中, 太阳光线与地平面的夹角定义为太阳高度角, 用αs表示。

太阳高度角计算公式为

δ——太阳赤纬

ω——太阳时角

(2) 太阳方位角:太阳光线向量在地面上的投影线与南北方向线之间的夹角, 用表示。

太阳方位角计算公式为

太阳高度角是南北方向的控制, 而太阳方位角是东西方向上的控制。公式以正北作为0度。

(3) 日照时间:从日出到日没的时间。由公式计算

经过公式计算得出5月9日时, 地理纬度为北纬21.18, 太阳赤纬为17.46度, 当天内每小时的数据如表1。

4.2.3 DSP定点算法的设计与验证

从计算太阳方位的公式可以看出, 要精确计算太阳高度角和太阳方位角, 还要考虑计算速度的问题, 需要使用DSP的定点运算模块。TI公司的定点型DSP硬件ROM里有计算的函数表, 能够快速地进行各种复杂运算, 包括三角函数和反三角函数, 乘法表等。使用定点运算能大大提高DSP的运算效率, 这是由该芯片的硬件决定的。使用DSP的定点运算会减少DSP资源的开销。

经过实验测试, 完整计算一次太阳高度角和方位角只需要微秒级的时间, 因此可以实现每秒更新一次太阳高方位信息, 并且不妨碍程序的运行。本计算涉及一些固定的变量, 如通过查阅当地的纬度并运用按键设置, 系统会把纬度值存入EEPROM, 以后系统就会直接调用该值来计算太阳的方位。

图15和图16为使用定点运算方法计算出某一白天时间太阳方位信息的曲线图。

在春分日当天, 太阳直射在赤道上。对于地球参考系来说, 太阳总是在赤道上日出, 赤道上日落。计算时以北纬21.16度进行计算, 此时太阳总是在此纬度地点的南边。图15和图16分别统计在早上6点到晚上6点, 通过天文法计算的数据, 太阳方位角以正北作为零点。X坐标方向为时间, Y轴方向为太阳高度角和太阳方位角, 单位为弧度。通过上图可知, 太阳高度角在12时达最大值, 且小于π/2, 太阳方位角位0。因此, 该算法符合太阳运动的规律, 可以采用。

在夏至日, 太阳直射点在北回归线上, 对于地球参考系来说, 太阳方位角有一个迂回的过程, 当太阳高度角大于π/2时, 太阳方位角还是以正北为零点, 但是太阳已经在该地点的北面, 所以太阳高度角大于π/2时, 方位角回到第一和第四象限, 才能表示太阳在该地点的北面。因此, 也符合太阳运动规律, 如图图17和图18。

秋分日和春分日代表的意义一样, 此时计算出来的数据也相同, 符合太阳的运动规律。

冬至日当天, 太阳直射点在南回归线上, 其状况与春分日和秋分日状况相似, 不同的是太阳方位角变化比较缓, 太阳高度角当天最大值为一年中的最小值。图21和图22的数据同样符合太阳运动规律。

太阳高度角与垂直方向上的电位器电压成正比, 太阳方位角与水平方向上步进电机的步数成正比。只要算出太阳高度角和太阳方位角, 通过实验计算比例系数, 即可算出对步进电机的操作量的大小。复位时, 水平方向必须对准水平齿轮上标记的孔, 系统开始时便会自动开启激光定位模块, 电机自动转动。激光接收到反射信号便会关闭激光二极管, 此时系统指向正北方向, 继而系统开始进入正常运行状态。

4.3 实时跟踪系统测试

系统软件完成后, 要对系统的控制量进行调试修正。经过反复的调试和修正, 可实现精度比较高的控制方式。为了测试跟踪精度, 使用了发光比较均匀的定向光源 (手电筒) 进行测试, 光源的位置是已知量, 而跟踪器的角度可以间接测量。表2和表3为对系统的进行的比较测试及误差分析的数据。

表2中的数据表明, 高度角的跟踪误差相对比较小, 最大有±0.76°的误差。这是由机械的误差造成的。纵向齿轮比较小, 单位控制量比较大, 即使很小的控制量也容易出现超调现象。

表3中的数据表明, 方位角的跟踪误差比较小, 这是因为水平方向的齿轮比较大, 连轴在水平方向松动状况不明显。只要继续改善控制方式, 就能更好地提高跟踪精度。

采用双模式跟踪, 经过程序调试, 系统在室外能正常地运行, 并能正常切换跟踪模式, 实现了对太阳双模式的实时跟踪, 而且精度比较高。

5 总结

为了提高太阳跟踪器在多种天气条件下长时间运行的太阳指向精度和运行可靠性, 研究了太阳跟踪器的工作模式切换问题, 构造了可在开环和闭环模式间智能切换的太阳跟踪器。开环工作模式采用了天文跟踪方法, 闭环工作模式采用了光线强度偏差控制方法。提出了基于光电二极管信息的智能切换方法以便太阳跟踪器选择合适的工作模式。这种基于光电的方法可获取较为敏感的外界环境信息, 提高了系统感知外界环境的能力, 降低了太阳跟踪器的跟踪误差。太阳跟踪实验表明, 太阳跟踪器的运行稳定可靠, 可适应较为复杂的天气条件。采用本研究提出的双模式实时跟踪方法可实现太阳跟踪器的全天候自动跟踪。

摘要:本文基于TI公司TMS320F2812型号的DSP芯片, 设计了光电传感器采集信号和太阳位置计算相结合的双模式跟踪结构, 并制作了高精度太阳光实时跟踪器。采用光电二极管跟踪太阳可以防止因计算而产生的较大误差积累, 而采用公式计算太阳的位置可以避免光线、天气情况对跟踪的影响。双模式跟踪方法的运用使跟踪器精度得到了较大提高, 实现了对太阳的实时精确跟踪, 能够很好地应用于光伏发电系统和光纤照明系统。

关键词:太阳光,实时跟踪器,光电二极管,DSP芯片

参考文献

[1]张兴磊, 杨丽丽, 张东凤.一种太阳自动跟踪系统的设计[J].青岛农业大学学报:自然科版, 2008, 25 (4) :315-318.

[2]华成英.模拟电子技术基本教程[M].北京:清华大学出版社, 2006:18-19.

篇4:基于TMS320F2812的跟踪伺服系统

关键词:DSP;PC104;串口通信;VC++6.0;MSComm控件

中图分类号: TP311文献标识码:A文章编号:1009-3044(2007)12-21697-02

Design of Serial Communication Between PC and TMS320F2812 DSP

QI Yuan-qin,CHENG Yin-hang

(Dep. of Electronic and Information Engineering, Beijing Jiaotong University,Automation Research Institute of Transportation on science and technology,Beijing 10044, China)

Abstract:This paper introduces the method of Serial Communication between PC and TMS320F2812 DSP, which is realized by using the SCI module of TMS320F2812 and MSComm supplied by VC++6.0. The hardware and software design of Serial Communication is presented .The control information and speed data between robot center processor PC104 and first floor movement controller DSP are accurately received and sent.

Key words:DSP;Serial Communication;VC++6.0,SCI module;MSComm

1 引言

我们自行设计开发的移动机器人的硬件结构采用PC104为中心处理器,CCD摄像头和图像采集卡为视觉导航,TMS320F2812为运动控制器,硬件结构。如图1。视觉导航系统捕捉前方路径信息,在PC104上的VC++6.0环境中建立路径跟踪模块,实现路径信息的处理及控制信号的产生。PC104通过Visual系列的通信控件(MSComm控件)发送控制信息到TMS320LF2812的SCI(串行通信模块),同时接收SCI中的速度数据。TMS320F2812通过SCI接收控制信息,驱动放大电路控制直流电机的运动,同时将光电编码器采集到的机器人当前速度数据发送至PC104。因此,中心处理器PC104与底层运动控制器DSP之间高效、准确的串口通信是实现移动机器人自主运行的重要技术之一。

图1 移动机器人硬件结构图

2 TMS320LF2812

TMS320F2812是基于TMS320C2xx内核的定点数字信号处理器,器件上集成了多种先进的外设,为电机及其它运动控制领域应用的实现提供了良好的平台[1]。F2812有16通道的12位A/D模块,串行外设接口(SPI),串行通信接口(SCI)和两个事件管理器模块(EVA和EVB)。其中,两个事件管理器模块为电机及功率变换控制提供了良好的控制功能。

SCI是采用双线通信的异步串行通信接口,主要采用标准非归0(NRZ)数据格式,可以与CPU或其他通信数据格式兼容的异步外设进行数据通信。SCI具有可編程的64K种不同的波特率,可编程的1~8位数据长度;奇偶校验、过载、帧错误和间断监测共4个错误检测标志;空闲线和地址位两种唤醒多处理器方式;半双工或者全双工操作;可工作于中断或者查询方式,具有独立的接收和发送中断使能。

3 串口通信的硬件实现

由于PC机串口和TMS320F2812的串口在逻辑电平上不兼容,不能直接相连使用。两个串口之间需要进行相关的转换后才能正常的通信。

目前,一般PC机上的串行通信口COM1和COM2采用的是RS-232协议,使用EIA-RS-232电平,是以正负电压表示逻辑状态。而TMS320F2812采用的是TTL电平,是以高低电平表示逻辑状态。故本文采用了德州仪器公司(TI)推出的一款兼容RS232标准的MAX232芯片实现TTL←→EIA-RS-232的双向电平转换。

同时,由于本文中的TMS320F2812属于低功耗,采用的是+3.3V供电,而MAX232芯片采用+5V供电,所以在MAX232芯片与TMS320F2812之间需加上TI公司提供的典型电平匹配电路。本系统中采用了1个二极管(1N4007)和3个电阻进行了电平匹配。此接口电路简单,可靠性较高。连接电路如图2。

图2 TMS320F2812与PC104的串口硬件连接

4 串口通信的软件设计

PC104有两个串行通信口COM1和COM2, 本文采用的是COM1。通过VC++6.0中的串行通信编程的控件MSComm, 采用事件驱动方法发送控制速度,接收实际运动速度。另一方面,底层的TMS320F2812的SCI串口模块使用的是SCIA,采用中断的方法进行数据的接收和发送。

4.1 PC机串口通信软件的设计

VC++6.0环境中可以采用API函数,MSComm控件两种方法实现串口通信,后者更加简单,易于实现,故本文采用MSComm控件。MSComm控件是Microsoft公司提供的简化Windows下串口通信编程的Active X控件,它为应用程序提供了通过串行接口收发数据的简便方法,一种是事件驱动法,另一种是查询法。MSComm 控件可以采用查询或事件驱动的方法从端口获取数据。本文使用的是事件驱动方法,有事件(如接收到数据)时通知程序,这其实是一种软件中断的方法。

使用MSComm控件实现串口通信的基本步骤:

(1)首先利用VC++6.0中的MFC Wizard产生一个支持Active X的应用程序框架,在Project中插入MSComm控件。

(2)设置MSComm控件的属性,初始化串口。

采用COM1串口,波特率9600,奇校验位,8个数据位,1个停止位;保持与下位机使用相同的通讯格式,否则是不能建立正确的串行通讯的。

串口初始化:

m_MSComm.Create(NULL,0,CRect(0,0,0,0),this,IDC_MSCOMM1);

if(m_MSComm.GetPortOpen())

//如果串口是打开的则关闭串口

{ m_MSComm.SetPortOpen(FALSE); }

m_MSComm.SetCommPort(1);//选择COM1

m_MSComm.SetInputMode(1);//以二进制方式读写数据

m_MSComm.SetInBufferSize(1024); //设置接收缓冲区大小

m_MSComm.SetOutBufferSize(512); //设置发送缓冲区大小

m_MSComm.SetInputLen(8);

//每次从当前接收区数据读取8个字符

m_MSComm.SetRThreshold(8); //接收缓冲区有8个字符时,将引发接收数//据的OnComm事件

m_MSComm.SetSettings("9600,o,8,1"); //波特率9600,奇校验位,8个数据位,1个停止位

if(!m_MSComm.GetPortOpen())//如果串口没有打开则打开

{ m_MSComm.SetPortOpen(TRUE);//打开串口 }

else

{ AfxMessageBox("Open Serial Port Failure!"); }

m_MSComm.GetInput();//先预读缓冲区以清除残留数据

(3)编写程序,并为程序主对话框建立响应MSComm事件的处理函数OnCommComl()。

OnComm事件是通信控件唯一的事件,此事件可用来处理所有与通信有关的事件,每当有新字符到达,端口状态改变,发生错误其中任一事件发生时,MSComm控件将触发OnComm事件,而应用程序在捕获该事件后,通过检查MSComm控件的CommEvent属性可以获知所发生的事件或错误,从而采取相应的操作。

4.2 SCI模块串口通信软件的设计

TMS320F2812串口通信的软件开发利用DSP软件开发集成开发环境CCS2.0(Code Composer Studio)。在CCS中,进行了SCI模块相关寄存器的设置以及开发、调试C语言程序实现数据的处理、接收及发送。

本系统为单机通信,采用空闲线多处理器模式,不使用SLEEP位;数据在定时器中断子程序中发送,在SCI接受中断子程序中接收数据;采用的通信格式为9600波特率,8位数据位,1位停止位,奇校验。

SCI模块实现串口通信的基本步骤:

(1)设置GPIO功能:

GpioMuxRegs.GPFMUX.all=0x0030;

//设置相应的引脚为SCI引脚

(2)初始化SCI模块寄存器:

SciaRegs.SCICCR.all=0x0027;;

//一个停止位,禁止自测试模式,奇校验,//8位字符,采用空闲线协议

SciaRegs.SCICTL1.all= 0x0003;

//使能TX,RX引脚和SCICLK,

//禁止RX ERR,SLEEP,TXWAKE

SciaRegs.SCICTL2.bit.TXINTENA=1;

SciaRegs.SCICTL2.bit.RXBKINTENA=1;

SciaRegs.SCIHBAUD=0x0001;

//波特率高8位

SciaRegs.SCILBAUD=0x00E7;

//波特率高8位,设置波特率为9600

SciaRegs.SCICCR.bit.LOOPBKENA=0;

//禁止自测试模式

SciaRegs.SCICTL1.all=0x0023;

//设置完成使能SCI模块

SciaRegs.SCIFFTX.all=0xE028;

//初始化SCI FIFO

SciaRegs.SCIFFRX.all=0x2028;

SciaRegs.SCIFFCT.all=0x00;

(3)调用相关程序:

SCI进行串口通信可采用查询或中断两种模式来实现,本文采用中断方式实现。

TMS320F2812串口通信接口模块有独立的接收器和发送器中断向量,同时也可以设置发送器和接收器中断的优先级。当RX和TX中断申请设置相同的优先级时,接收器比发送器具有更高的优先级,这样可以减少接收超时错误。SCIA接收中断为INT9.1,发送中断为INT9.2。因此在中断服务子程序中可以通过检查外设中断向量寄存器的值来转入相应的接收和发送中断处理程序。

PieVectTable.RXAINT=&sciaRxFifoIsr;

//调用接收中断子程序

PieVectTable.TXAINT=&sciaTxFifoIsr;

//调用发送中断子程序

…………………………………

…………………………………

PieCtrlRegs.PIEIER9.bit.INTx1=1;

// PIE Group 9, INT1

PieCtrlRegs.PIEIER9.bit.INTx2=1;

// PIE Group 9, INT2

(4)编写子程序:

interrupt void sciaTxFifoIsr(void); //发送中断子程序

interrupt void sciaRxFifoIsr(void);//接收中斷子程序

5 结束语

本文设计了一种TMS320F2812与PC104之间串口通信的实现方法,给出了软件编程与硬件电路。在自行研究设计的移动机器人平台上,实现了中心处理器PC104上使用MSComm控件,使端口与底层控制器TMS320F2812进行有效的发送、接收控制信息与速度信息,从而实现移动机器人运动的控制。

参考文献:

[1]苏奎峰.TMS320F2812原理与开发[M].北京:电子工业出版社,2005.

[2]刘和平.TMS320LF240xDSP C语言开发应用[M].北京:北京航空航天大学出版社,2003.

[3]龚建伟,熊光明.Visual C++/Turbo C串口通信编程实践[M].北京:电子工业出版社,2004.

[4](美)德州仪器著,彭启琮等编译.TI DSP集成开发环境

篇5:基于TMS320F2812的跟踪伺服系统

交流伺服运动系统相对于步进运动系统具有以下优点[1]:噪音小;电机轴后端的旋转编码器保证了控制精度高;低速运行平稳,并具有共振抑制功能,可涵盖机械刚性不足;矩频特性稳定,额定转速内以额定转矩输出,额定转速外以恒功率输出;具有3倍于额定转矩的过载能力,可以克服惯性负载在启动瞬间的惯性力矩;控制性能可靠,不易出现丢步或过冲现象;速度响应快,从静止加速到额定转速仅需数ms,适用于快速启停的控制场合。

2 工作原理

本文设计的交流伺服运动系统主要由上位机、控制系统、交流电机及伺服驱动器、执行机构等组成,如图1所示[2,3]。

上位机通过422串口发出控制指令,同时反馈执行机构运动信息;控制系统通过交流伺服驱动器,以脉冲或正负电平两种方式控制交流电机按设定模式运转,并实时处理执行机构的运动信息;执行机构由导程为5mm的滚珠丝杠传动,配合伺服电机实现±1000mm行程,定位精度0.01mm,速度范围0.1~250mm/s、速度精度0.1mm/s、加速度500mm/s2的速度连续可调的技术指标。其中,交流电机内置光电编码器输出反馈脉冲,伺服驱动器速度监视输出正负电平,两种数据经处理换算后提供执行机构当前运动方向、速度与位置等信息。

3 伺服驱动器

运动系统根据转动惯量与功率需求,选用松下高惯量交流电机MHMD082G1C,内置20位增量旋转式编码器。相应的交流伺服驱动器为MCDHT3520,其参数设置要与控制系统软硬件设计紧密配合,以实现速度及定位的控制精度要求。为反馈计算方便,输入脉冲/电平与反馈脉冲/电平等数量级,其参数对应关系如下:电机转速1r/s(60r/min)与目标速度5mm/s、控制/反馈电压200mV、控制/反馈脉冲频率3240Hz相对应。如目标速度设为50mm/s时,电机转速为10r/s(600r/min),控制/反馈电压为2000mV,控制/反馈脉冲频率为32400Hz,其余可类推。

依据上述关系,设置交流伺服驱动器控制/反馈脉冲与电压参数如下:脉冲控制方式的指令采用脉冲序列+符号方式,PULS信号的脉冲频率与电机运行速度相对应,SIGN信号的高低电平与电机的正反转相对应,如图2所示。

正负电平控制方式速度指令输入增益与速度监视输出电压均设置为10V←→3000r/min;加速度为500mm/s2,交流伺服驱动器加/减速时间均设置为5ms,即从0运行至1000r/min所需要的时间。

目标速度分为高中低档,低档0.1~99.9mm/s,中档100~175.9mm/s,高档176~250mm/s,在单程定位运动及将运行至极限位置±1000mm处时,以24ms为周期的加/减速调整范围分别为2mm,4mm和6mm,以最大限度地减少目标运动惯量的影响。 由于伺服驱动器在速度指令控制电压不超过60mV,以及内部速度指令不超过30r/min时,会产生电机不转的现象,因此驱动器采用位置/速度控制模式。根据上位机的控制命令,当电机运行速度小于60r/min时采用位置控制模式;当电机运行速度大于60r/min时切换到速度控制模式。

伺服驱动器SF1与SF2并联联接,以常闭形式接入蘑菇头按钮开关,提供紧急情况下人工关闭驱动信号、切断电机电流的功能。

4 控制系统

4.1 硬件设计

控制系统硬件主要由电源与转换、晶振与复位、TMS320F2812、串口通信、脉冲控制与反馈鉴相、速度电平控制与监视、定位与限位等电路模块构成。

电源转换芯片TPS767D301输入5V,输出3.3V供TMS320F2812 I/O电压,输出1.9V供TMS320F2812核心电压,并提供复位输出功能;晶振30MHz,经PLL锁相环5倍频后供给TMS320F2812内核;串口通信采用MAX3162,可同时实现232及422两种模式通信,其中232模式用于辅助调试,422模式用于控制命令的接收和电机运行信息的反馈。

脉冲控制与反馈模块利用高速光耦HCPL-2631对驱动器控制脉冲序列PULSH及符号SIGNH进行光电隔离处理;利用中速光耦TLP521-4对驱动器控制信号INH,POT,NOT,CL,SRV-ON,ZEROSPD,C-MODE,A-CLR,对驱动器反馈信号S-RDY,ALM进行光电隔离处理,以提高抗干扰性,并具有3.3V与24V电平信号的匹配与转换功能。

脉冲鉴相模块中,伺服电机内置编码器通过伺服驱动器输出A,B,Z 3路差分互补脉冲,计算A相或B相的脉冲个数,经换算得目标当前运行速度和位置信息。当电机内置光电编码器正转时,A相超前B相1/4周期;反转时,A相落后B相1/4个周期。根据光电编码器正反转时A相与B相的相位差关系,将A相与B相分别接到D触发器SN54LS74AJ的D端与CLK端,如图3所示。则正转时,Q=0;反转时,Q=1。

当伺服驱动器工作在速度模式时,速度电平控制模块通过14位D/A转换器AD7841BS输出-10~10V电平,控制电机正反转及其运转速度。 速度电平监视模块采用14位A/D转换器TLC3578接受±10V的速度监视输出电压,以反馈电机正反转及其运转速度。

对射型光电开关GK122分别安装在行程为-1000mm,0mm,1000mm处,其引脚电平变化触发中断,提供位置基准,配合其它控制引脚实现定位、校准、限位等功能。其中0mm处光电开关的零位基准点配合反馈脉冲进行计数,计至极限位置则返回,提供软件保护功能。行程开关KW4A-1ZA紧贴极限位置光电开关外,当程序异常或漏判±1000mm而冲至行程有效动作范围内时,则直接切断驱动器的24V供电回路,提供硬保护功能。

4.2 软件设计

为实现电机可靠运行及控制的实时性,TMS320F2812软件设计主要采用中断方式。主函数在初始化后等待伺服驱动准备好,之后便进入休眠状态等待中断。中断资源分配及相应功能如下。

串口A中断:主要实现命令的接收与目标当前位置与速度信息的反馈,为克服数据传输过程中的不确定性,采用帧起始字符+数据/命令+校验字+帧停止字符的数据格式。

外部中断1:主要实现交流电机报警处理与3个定位光耦处定位与基准点设置功能。

通用定时器1比较中断:主要实现交流电机的控制输出PWM波的精细调整。

通用定时器2捕获中断:主要实现目标当前位置与速度的计算。

通用定时器3溢出中断:提供10ms的中断间隔,控制速度监视A/D的采样频率。

通用定时器4溢出中断:提供6ms的时间单元,用于24ms周期间隔的PID算法调用。

由于时钟精度的固有误差,在定时中断功能及产生PWM波输出应用时,时钟输入频率值不使用惯例上的30MHz,而是通过示波器采样晶振管脚上连续10个脉冲,取其平均值作为TMS320F2812控制器的时钟输入频率,配合PID算法以更快更准确地实现给定精度指标。

为保证交流电机运行速度平稳快速准确地到达设定值,调用带死区的PID控制算法,其死区范围为设定值±10mm/s范围内,超出该范围则不进行PID控制。在不产生过大过冲的情况下,尽可能地把起控点抬高,以利于后续控制部分进一步细化。另外,在进入控制之前所有积分项的数据记录进行清零处理。

对PID参数进行整定时,首先将控制范围10mm/s划分为100等分,即0.1mm/s的速度控制精度,设其为标准控制单位U。速度误差最大为250mm/s,所对应的控制量为2500U,则Kp值设为25,然后根据PID归一参数整定公式确定Ki与Kd初始值,再在此基础上细调。

4.3 抗干扰设计

伺服驱动器通过高速开关输出电流,是伺服运动系统中主要的噪声来源,其抗干扰设计从布局、布线、接地、屏蔽、滤波与隔离等方面进行[4,5]。

布局根据EMC的区域原则进行。控制电路板单独置于一个金属盒内,伺服驱动器、开关电源等单元靠近控制箱底部,用接地金属隔离板将区域隔离。

布线采用树叉状方式,强弱分开,电机电缆和其它电缆长度最小距离为500mm,并避免构成环路。控制电缆和电源电缆、动力电缆90°交叉。24V及其以上的强电电缆屏蔽层两端接地,并用金属夹将屏蔽层固定在安装板上。强电接地板和信号线接地板最小距离20cm,用6mm铜带搭接至大地端子。

接地采用3层次接地方式,如图4所示。3层次接地线在汇入基准地之前不能随意短接,各级连接按规定进行,同时接地线要直、短、粗。

滤波器端接的阻抗在严重失配的状态下工作,以使之具有最佳的衰减性能。

系统中受干扰影响最大的为3根光耦定位信号采集长线。在电机使能情况下,感应电压>10V,频率2~12MHz,且在电机静止而励磁时干扰最大。为保证与PCB上的弱电系统完全隔离,使用MOS FET继电器作为强弱逻辑转换关口,以负逻辑传输方式反映定位对射型光电开关的遮断与否,达到延时1ms左右、隔断励磁感应电压干扰的效果,见图5。对于不确定因素所造成的干扰,将3根较长的定位信号采集线所对应的I/O的输入限制寄存器GPAQUAL进行多次采样,配合继电器滤除1MHz以上的干扰。

4.4 安全性设计

为保证系统运行安全,设计有软限位、硬限位、机械缓冲装置。

软限位首先通过定位对射型光电开关设定基准值,然后对控制脉冲或反馈脉冲计数,经换算后得到目标当前位置值,当超过理论极限值时,就使电机运动方向置反。

硬限位通过急停蘑菇头按钮与行程开关串连实现,一旦目标越界触发任意行程开关动作或急停蘑菇头按钮动作,无论是安全输入SF1或SF2,断电输入后 5ms 以内,STO功能工作,电机的输出转矩被关闭。

机械缓冲装置可消除或降低断电后运动机构的惯性冲击。

5 试验与应用

利用示波器观测发送的PWM脉冲频率及编码器反馈脉冲频率,在匀速阶段单脉冲频率与理论值相比变化[-75,40],10个脉冲平均频率变化[-50,23],在0.1mm/s所对应的变化区间[-64.8,64.8]之内,整体运行平稳。

利用定时器3计算目标实时速度与位置,通过串口反馈信息。其中,对速度进行四舍五入处理。由于程序执行片段差异及串口发送与命令接收延迟,速度与理论值相差[-0.2,0.1];定位脉冲与理论值相差[-3,-13],折算为位置后相差[-0.0046,-0.02]。

利用驱动器模拟监视器进行速度监视,在匀速阶段驱动器液晶显示屏上数据变化±1,折算为目标速度相差±1/12 mm/s。

上述数据表明,该系统在实现±1000mm行程、速度0.1~250mm/s范围内连续可调的前提下,满足给定的定位精度0.01mm,速度精度0.1mm/s的技术指标。

该系统已在某型地面测试设备中应用,通过模拟飞行目标的偏航姿态,对某雷达型产品的动态特性加以测试。系统停放位置与角度灵活,高度与水平度可根据两侧支撑三角架进行调整,拆装搬运方便,使用方反映良好。

6 结论

所设计的交流伺服运动系统依据系统需求与技术指标进行量体裁衣,通过分析控制命令中的运动模式与速度参数,能够自动匹配与设置合适的位置控制或速度控制模式,并且其位置和速度参数在指定范围内可随时设置。同时,该系统还具备软限位、硬限位和人工急停3种安全保护功能,具有较高的性价比与良好的应用前景。文章对交流伺服运动系统的响应延迟性、振动性及多轴联合运动的研究不足,为下一步的努力方向。

参考文献

[1]秦忆.现代交流伺服系统[M].武汉:华中理工大学,1995.

[2]王晓明.电动机的DSP控制[M].北京:北京航空航天大学出版社,2002.

[3]苏奎峰.TMS320F2812原理与开发[M].北京:电子工业出版社,2006.

[4]王幸之.单片机应用系统抗干扰技术[M].北京:北京航空航天大学出版社,1999.

篇6:基于TMS320F2812的跟踪伺服系统

关键字:TMS320F28335;数据采集;USB总线

数据采集系统广泛应用于农业、工业、军事、商业、家用电器等行业,在众多的开发平台中,DSP以其高速的运行速度、良好的硬件结构、适合运算的硬件组成等优势,在数据采集、处理等领域独树一帜,适合于高速、高精度数据的采集、处理。本系统采用美国TI公司最新推出的具有很高的信号处理和控制功能的32位高性能浮点芯片TMS320F28335;数据采集方面采用开发板自带的内置16路12位AD转换器;在数据传输方面采用了Cypress公司的CY7C68001芯片实现USB2.0接口,以达到高速传输数据的目的。

1 TMS320F28335介绍

TMS320F28335是TI公司新近推出的32位高性能浮点数字信号处理器,具有很强的信号处理及控制功能,主要特征如下:

(1)高性能的静态CMOS技术,其指令周期为6.67ns,主频达到150MHz;采用低功耗设计,内核电压为1.9V;

(2)高性能的32为CPU,采用哈佛总线结构模式,具有快速的中断响应和中断处理能力,编程可兼容C/C++语言及汇编语言;

(3)存储空间:256K×16位的片上Flash,34K×16位SARM,8K×16位的Boot ROM,1K×16位的OTP ROM,其中Flash、SARM、OTP ROM受密码保护,保护用户程序;

(4)具有丰富的外设资源:2×8通道的、12位、80ns转换时间、0~3V量程的ADC转换器;3通道的SCI异步串口;1通道的SPI同步串口;2通道的McBSP同步串口;2通道的eCAN总线;1通道的I2C总线;6通道的DMA;外扩RTC实时时钟,支持动态PLL调节;支持58个外设中断的外设中断扩展控制器PIE,管理片上外设和外部引脚产生的中断请求;3个32位定时器,定时器0与1用做一般的定时器,定时器0接PIE中断,定时器1接INT13,定时器2用于DSP/BIOS的片上实时系统连接到INT14;符合USB2.0标准的高速USB接口,最高传输速率为480Mb/s。

在使用ADC转换器时,注意输入的模拟信号电压要在0~3V的范围内,否则容易烧坏ADC转换器。

2 硬件电路设计

2.1 调理电路设计

从传感器检测到的信号是电荷信号,经过电荷放大器转换为电压信号,一般情况下测得是很微弱的信号并且还夹杂很强的电磁干扰,所以在进入采集系统之前必须进行信号的放大、滤波去噪处理。信号流程图如图1所示;电荷放大器原理图如图2所示;有源带通滤波电路如图3所示;放大电路如图4所示。

2.2 AD采集电路

调理后的信号经过多路模拟开关控制选择一路进入AD转换电路。本系统采用开发板自带的12位A/D转换器,前端为2个8选1 多路切换器和2路同时采样/保持器,构成16个模拟输入通道,模拟通道的切换由硬件自动控制,并将各模拟通道的转换结果顺序存入16个结构寄存器中,在25MHz的AD时钟下为80ns的转换率,可以在每次转换结束或每隔一次转换结束出发中断。

2.3 USB接口电路

经AD转换后的数字信号被TMS320F28335处理后,通过USB2.0接口传给PC机,然后按照需求对信号进行相应的后续处理。本系统采用Cypress公司的CY7C68001芯片实现USB2.0接口。CY7C68001芯片内有4K字节的同步与异步FIFO资源;具有内部锁相环;支持控制节点0,用于处理USB传输的申请;符合USB2.0标准,最高速可达480Mbps。CY7C68001与TMS320F28335的连接电路如图5所示。

3 软件设计

数据采集系统的软件设计包括DSP初始化、AD采集、数据处理、USB传输,软件设计主要在CCS3.3的集成开发环境下调试完成的。

3.1 AD采集设计

从传感器接收到信号经放大、滤波后进入AD采集电路,AD采集软件流程为:关总中断,然后进行DSP系统初始化;设置PIE中断矢量表;初始化ADC模块;软件启动ADC转换;等待ADC中断,进入中断服务子程序;将处理后的信息通过USB接口传输给PC机,如此反复直到将所有数据采集完毕为止。软件流程图如图6所示。

3.2 USB接口设计

AD采集到的信号要通过USB接口与PC机进行传输,本系统采用的是CY7C68001芯片。CY7C68001有两种自举方式:EEPROM自举和通过DSP自举,通常情况下采用EEPROM来进行USB的初始化。而USB程序的编写主要分为两个部分:PC机驱动程序的编写;DSP与USB数据与命令的交换。

通过USB接口传输过来的信号存储在PC机上,方便后续处理。

4 结束语

系统采用TMS320F28335作为处理器,采用开发板自带的AD转换器及USB2.0接口,很方便的存储数据。本系统具有采样速率高、传输速度快、处理能力强等特点,能满足某些场合数据采集处理的要求,具有一定的应用价值。

参考文献

[1] SEED-DEC28335用户指南(Rev[1].A)[M].Texas Instruments

[2] 刘向宇. DSP嵌入式常用模块与综合系统设计实例精讲[M].电子工业出版社,2009.7.

[3] 徐科军,陶维青,汪海宁等.DSP及其电气与自动化工程应用[M].北京航空航天大学出版社,2010.9.

[4] 苏奎峰,吕强,常天庆,张永秀. TMS320X281X DSP原理及C程序开发[M].北京航空航天大学出版社,2008.2.

作者简介

篇7:基于TMS320F2812的跟踪伺服系统

在现代舰船和空间飞行器上,低频振动是困扰人们的一大难题,如何快速消除振动,降低危害,成为人们比较关注的问题。振动抑制的方法主要有振动被动控制和振动主动控制,振动被动控制虽然不需要外界提供能量,容易实现,但对低频振动控制能力有限,对突发环境应变能力差;而振动主动控制则有较大的灵活性,对低频振动抑制的效果尤其好,成为人们重点研究的方法。

本文针对某类结构的低频振动控制,设计了以TMS320f2812(以下简称F2812)为核心,包含传感器、调理电路、D/A转换电路、功率放大器和作动器的多通道嵌入式振动主动控制系统,结构如图1所示。首先传感器拾取振动信号,经过电荷放大器转换调理为0~3V的电压信号,再经滤波和限幅保护送至DSP内部A/D转换模块进行模-数转换。DSP根据采集的各路振动信号,运行控制算法输出控制量,经过D/A转换电路和功率放大器转换成直接作用在被控对象上的力或力矩,抑制或消除对象振动。为了减小D/A转换阶梯信号产生的高频噪声,又加入了平滑滤波处理。DSP通过JTAG口、仿真器与主机相连,进行控制算法的编译和载入,通过内置SCI模块与主机串行通信,向主机传送振动信号和控制量,以便对控制过程分析评价,对算法改进完善。

1 硬件设计

F2812是一款适用于自动控制的高性能芯片,具有32位定点处理器,150MHz时钟频率,18K×16位的SARAM和128K×16位的Flash存储器,硬件实现乘法运算,处理速度较快;另外具有一些适用于控制系统的内设和接口,如16通道的12位A/D转换器,外部存储器并行接口,SCI串行通信接口和JTAG仿真器接口等,因此在本系统中也选用对电缆分布电容要求不高的电荷放大器作为前置放大器;作动器可以是压电器件,也可以是电磁作动器件,根据对象的需求,需要配置相应的功放。F2812本身不具有D/A转换模块,本文利用MAX547设计实现了F2812的D/A转换电路,可以同时输出8路模拟信号。

1.1 电荷放大器

常用的电荷放大器是一个具有直流反馈的反相积分电路,若要改善电路的低频特性,需要增大直流反馈电阻的阻值,为此我们采用了T型网络来实现较大阻值。如图2所示,Ra17、Ra18和Ra19组成T型网络,等效电阻为:

通过调整Ra17、Ra18和Ra19的大小,可以获得较大的阻值。但在调试的过程中,我们发现随着测量时间的延长,输出仍然会漂移至饱和,为此我们又利用一个一阶同相积分环节取出输出的直流分量,反馈至Ra19的一端,形成自跟随网络,如图2左半部分所示。使用中积分电容要选择漏电流比较小、温漂小、性能比较稳定的电容,放大器要选取高增益、高输入阻抗、低偏置电流、低温漂的运算放大器,才能保证电荷放大器的性能。

1.2 滤波保护电路

在振动主动控制实际应用中所关心的信号频率一般在0.5~200Hz之间,为了滤除低频漂移和不必要的高频信号,本文设计了一个五阶贝塞尔(Bessel)低通和一个一阶高通组成的带通滤波器,五阶贝塞尔低通又分别由两个二阶低通和一个一阶低通组成,它们的参数分别为:通带增益1,截止频率475Hz,Q值0.577;通带增益1,截止频率565Hz,Q值0.737;通带增益1,截止频率530Hz,一、二级二阶低通由单位增益KRC电路实现[2]。

信号在进入DSP的ADC之前应采用加法比例电路调整到0~3V之间,低于0V或超出3V均有损坏DSP的危险,为此我们又加了一个限幅保护电路,如图3所示。

1.3 D/A转换电路

本文采用MAX547为核心器件设计实现了F2812的D/A转换电路。MAX547内部包含8个13位的电压输出型D/A转换器,每个DAC之前均有一个输入锁存器和DAC锁存器,可以分别单独选通,进行8路D/A转换。每两路DAC共用一个参考电压,共需要4个独立外部参考电压。MAX547接口信号有3位地址线,分别对8个通道编址选择,有13位数据线,有片选/CS、写入/WR、异步输入/LD和清零/CLR等控制信号,控制信号均是电平触发。这些接口信号均与TTL/CMOS电平匹配,故F2812可直接与MAX547相连而不需进行电平转换。MAX547是±5V双电源供电,输出电压摆幅-4.5V~4.5V。

当MAX547的写信号/WR和片选信号/CS均为低电平时,并且A0、A1、A2地址信号有效,则对应通道的输入锁存器开通,从数据线上读取转换数值,当/WR和/CS其中一个变为高电平时,数据便被锁入相应输入锁存器。/LD负责开关DAC锁存器,当/LD为低时,DAC锁存器开通,数据由输入锁存器进入DAC锁存器,当/LD变为高电平时,数据便保持在DAC锁存器中,由DAC进行数-模转换。当/LD、/WR和/CS均为低时,数据可以直接传至DAC锁存器,但/LD应比/WR推迟50ns反转高电平。/CLR则可以把DAC转换内容设置成1000H,使模拟输出AGND电压。

F2812具有外部接口(XINTF),可以映像五个独立的外部存储空间,每个存储空间都有一个片选信号。把MAX547的8个通道地址分配在外部存储区域0,通过外部接口总线与F2 8 1 2的连接如图4所示。要想启动MAX547内部DACA、DACB、DACC、DACD、DACE、DACF、DACG、DACH进行数-模转换,则分别向地址D9H、B2H、B3H、F4H、F5H、7EH、7FH写入需要转换的数据即可。对于MAX547需要的四个独立参考电压,系统中采用一个精密基准电压芯片REF02提供标准电压,经过四个电压跟随器进行缓冲。REF02输出5V标准电压,经过转换以后,可以输出大小可调的标准电压。跟随器选用MAX494,在PCB设计时,为减小电路引线的干扰,最好把MAX494运放的输入端直接与MAX547参考电压输入端相连,如图4所示。另外为了减小D/A转换阶梯波造成的高频噪声,还设计了低通滤波器。

1.4 RS232接口

F2812内部有两个异步串行接口(SCI),每个都有收发缓冲寄存器、收发移位寄存器和用于接受发送的16级深度FIFO。接收和发送的波特率可以编程设定,最高可达64K。系统中F2812需要通过SCI与主机通信,而F2812外围接口是3.3VCMOS电平,计算机串口是RS-232电平,故两者之间需进行电平转换。MAX3232是一款常用的RS-232电平转换芯片,接口电路如图5所示。

2 软件设计

DSP控制算法由主程序和中断服务子程序两部分组成,程序流程图如图6所示。在主程序中,主要是初始化系统控制寄存器、看门狗、系统时钟、GPIO口、中断向量表和一些外设等,设置ADC的采样序列、SCI的通信波特率和外部存储器接口的访问时序,然后设置计时器的计时周期、计数模式和计时中断等,进入等待计时中断状态。中断服务子程序主要完成以下功能:首先关中断,初始化计算变量;接着对ADC相应通道的输入信号进行A/D转换,取出采样值预处理,运行控制算法计算出控制量,通过写D/A的通道地址输出控制量进行D/A转换,最终输出控制模拟信号驱动作动器减振;通过SCI与主机通信,上传振动信号和控制量;最后则对ADC、SCI和计时器中断进行相关设置,开全局中断,为下次运行中断服务子程序做准备。中断服务子程序运行完毕则返回主程序,进入等待中断状态,等待下一次的计时中断,如此循环往复。

3 总结

本文设计的以TMS320F2812为控制核心的嵌入式振动主动控制系统,利用F2812内置的A/D模块可以同时采集多路振动信号,利用MAX547实现的D/A转换电路可以输出8路控制信号,能够实现多输入多输出的振动主动控制,贴近工程实用。利用本系统已经对一个舰船浮笩成功地进行了多输入多输出振动主动控制[5]。

参考文献

[1]Texas Instruments Incorporated.TMS320C28x系列DSP的CPU与外设[M].张卫宁,译.北京:清华大学出版社,2005.

[2]赛尔吉欧.弗朗哥.基于运算放大器和模拟集成电路的电路设计[M].刘树棠,朱茂林,荣玫,译.西安:西安交通大学出版社,2004.

[3]TMS320F2810,TMS320F2812 Digital Signal Processors[DB].Texas Instruments,2003.

[4]MAX547 Data Sheet,Revision 3[DB].1995.

篇8:基于TMS320F2812的跟踪伺服系统

关键词:HCNR200,TMS320F2812,模拟隔离,交流采样

0 引 言

在三相变频电源设计中,需要采样交流电压及负载电流,用以实现双闭环控制和保护,因此交流电压、电流采集系统的设计直接关系到变频电源的性能。三相变频电源以TMS320F2812(简称F2812)为控制芯片,该芯片内置16通道的12位ADC。采用F2812内置ADC进行交流采样时,避免了复杂的硬件设计,并降低了成本。电源要求输出线电压为380 V,输出功率为3 kW。要采集该交流电压、电流信号并送到DSP芯片,必须设计隔离电路,用以防止高电压、强电流串入控制系统,烧坏低压器件。HCNR200是一款用于模拟信号隔离的专用高精度线性光耦。本文详细介绍了利用F2812的内置ADC,并结合HCNR200进行交流电压、电流的采样。

1 TMS320F2812内置ADC简介[1]

TMS320F2812芯片系TI公司于2003年底推出的32位定点DSP,是一款高性能、满足电机实时性控制要求的控制器,工作频率最高可达150 MHz,其内置了16通道,12位ADC,含两路采样保持器,一个转换单元,可实现双通道同步采样,最小转换时间为80 ns。

内置ADC的外设内部结构如图1所示。

模拟量由16个通道输入,被分为A,B两组,ADCINA0~7为A组,ADCINB0~7为B组,每组都有一个完全独立的多路选择器和采样保持器,共用一个12位ADC。整个转换时序和转换过程都由ADC时序控制自动机完成,不需要DSP中央处理单元的干预。编程时只需要配置寄存器,设定合适的值,自动机就会按照设定的顺序和模式自动地实现多通道ADC,并将其结果写入到16 Word的转换结果寄存器中。结果寄存器为双缓冲结构,这就保证对于结果寄存器、自动机的写操作和中央处理单元的读操作不会产生时序冲突,大大提高了DSP的并行运行能力。输入管脚ADCSOC是ADC的外部触发输入,用于要求严格同步触发采样的场合。ADC的时序基准频率由处理器的主频分频提供,可以通过改动相关配置寄存器的值来设定分频系数,从而改变ADC的转换速率。

TMS320F2812的ADC有4种工作模式:触发顺序模式、触发同步模式、周期顺序模式和周期同步模式。

通道的模拟电压容许输入范围在0~3 V之间。对于交流采样系统,必须为前级的运放电路提供电平偏置和保护。

2 HCNR200简介及其工作原理[2]

HCNR200光电耦合器的内部结构如图2所示。其中,LED 为发光二极管;PD1,PD2是两个相邻匹配的光敏二极管。光敏二极管的 PN结在反向偏置状态下运行,它的反向电流与光照强度成正比,这种封装结构决定了每个光敏二极管都能从 LED得到近似相等的光强,从而消除了LED的非线性和偏差特性所带来的误差。当电流If流过 LED时,LED发出的光被耦合到 PD1和PD2,在器件输出端产生与光强成正比的输出电流IPD1和IPD2。IPD1用来调节If,以补偿 LED的非线性和漂移特性;IPD2与PD1发出的伺服光通量成线性比例。其中,If,IPD1和IPD2满足以下关系:

undefined

式中:K1,K2分别为输入/输出光电二极管的电流传输比,其典型值均在 0.05%左右,K为传输增益。当一只HCNR200被制造出来后,其输出侧光电流IPD2和输入侧光电流IPD1之比是一个恒定值K,K在1±0.15之间。

这种先进的光电二极管调整设计确保了光电耦合器HCNR200的高线性度和稳定性,可以较好地实现模拟量与数字量之间的隔离。

3 硬件电路设计[3]

假设三相变频电源接三角形负载,则在三相负载的每相上串一精密小电阻,通过检测小电阻的端电压就可以由DSP中断程序计算出所需的电压、电流值。由HCNR200构成的电压采集电路如图3所示,电路由反馈电路、隔离电路、电流电压转换电路、限幅电路等几部分构成。两个运放接在不同的工作电源和地上,实现了隔离。运放选择高精度运放CA3130A,该运放采用15 V单电源供电,最大共模输入电压为15 V,最大输出电压为13.3 V,负载为2 kΩ[4]。

图3中,U1构成反馈电路。利用PD1检测LED的光输出量,并自动调整通过LED的电流,以补偿LED光输出的变化及任何其他原因引起的非线性,因此该反馈放大器主要用于稳定LED的光输出,并使其线性化。输入信号Vin是被测量,由采样电阻两端的交流电压经二极管整流得到,其范围取在0~5 V之间。

U2组成输出电路。进行电流与电压之间的转换,用以将输出光敏二极管PD2输出的稳定、线性变化的电流转换成电压信号并输出。

If的范围为1~20 mA。根据运放最大输出电压为13.3 V,结合IPD1=0.005If,R3不宜过大,取200 Ω。光电二极管PD1的电流为:

undefined

当Vin=5 V,其最大值为:

undefined

由于IPD1的取值一般小于50 μA,且实验发现,在选用R2时,实际值比理论计算值要大一些,这样才能取得更好的隔离效果,故选取R2=200 kΩ。

undefined

所以,

undefined

当Vin=5 V时,Vout=3 V,可以推导出:

undefined

在实际工程中,选用R4=470 kΩ的电位器,用以调节放大倍数。

在输出端加一个二极管限幅电路,限制Vout在0~3 V以内。

4 软件设计

运用TMS320F2812内置ADC进行数据采集时,程序首先对ADC进行初始化,当ADC非常忙时, 启动ADC通道进行转换,主程序进入死循环;当ADC正常转换完毕后,进入中断服务子程序。中断服务程序将ADC转换结果读入存储器中,进行必要数字滤波、补偿等处理,然后再次启动A/D通道进行转换,如此循环往复。程序设计使用C语言编写源程序,主程序流程图如图4所示。

5 结 语

实践证明,利用TMS320F2812内置ADC,并结合模拟信号隔离用高精度线性光耦HCNR200构成的交流信号采集电路,具有硬件电路及软件设计简单、高精度、高线性度、抗干扰能力强等优点,有效地解决了模拟信号与数据采集系统隔离的问题。在电流、电压双闭环控制的变频电源设计中发挥了重要的作用。

参考文献

[1]张卫宁.TMS320F28X系列DSP的CPU与外设[M].北京:清华大学出版社,2005.

[2]刘凤君.现代逆变技术及其应用[M].北京:电子工业出版社,2006.

[3]周志敏.变频电源实用技术——设计与应用[M].北京:中国电力出版社,2005.

[4]童诗白.模拟电子技术[M].3版.北京:高等教育出版社,2003.

[5]Agilent Technologies.High-Linearity Analog OptocouplersTechnical Data[Z].2000.

[6]Intersil Corporation.CA3130,CA3130A Data Sheet[Z].1999.

[7]谭颖琦,范大鹏,陶溢.基于线性光藕HCNR200的DSP采集电路设计与实现[J].电测与仪表,2006(6):46-48.

[8]张宝生,王念春.基于高线性模拟光耦器件HCNR200的模拟量隔离板[J].仪表技术,2005(5):59-60.

[9]夏军.一种实用的高压开关电源采样隔离反馈电路[J].高压电器,2006(4):295-297.

上一篇:资质挂靠协议下一篇:蝴蝶花观察日记500字