基于PCI总线和DSP的步进电机运动控制卡的设计和实现

发布者:DreamyEclipse最新更新时间:2013-01-18 来源: 21IC 关键字:PCI总线  步进电机  运动控制卡 手机看文章 扫描二维码
随时随地手机看文章

引言
    当今,开放式数控系统正在工业领域得到广泛应用。其中,工控机通过PCI总线连接专用运动控制卡的数控系统最为流行。在运动控制卡中,由于DSP采用多总线哈佛结构使得处理指令和数据可以同时进行,因此相比传统控制中的单片机具有更多的优势。同时,运动控制卡与PC机通过PCI局部总线通信,能够达到很高的数据传输速率,从而还保证了数控系统的实时性。

图1运动控制系统功能框图

系统概述

    系统的功能框图如图1所示。该系统的核心是TI公司的16位定点DSP芯片TMS320LF2407A。DSP芯片负责接收PCI局部总线的命令和参数,然后经过特定的运动控制算法,如系统位置、速度调节、插补算法等,从而完成对步进电机的精确运动控制。同时DSP芯片还负责将反馈信息传输给PCI局部总线,并且控制系统外围I/O模块。DSP芯片与计算机的通信通过PCI桥接芯片CY09449实现。

DSP模块

    DSP芯片TMS320LF2407A采用高性能静态CMOS工艺,供电电压仅3.3V;指令周期缩短到33ns。

    作为系统的核心,TMS320LF 2407A主要完成复杂的运动控制算法,比如升降频控制、插入补偿等。本设计主要是完成双轴步进电机控制,故插入补偿采用经典的DDA算法。由于本设计对步进电机采用无反馈控制,这样对步进电机的升降频控制就显得格外重要,这也成了整个系统设计的一个难点。根据步进电机变速过程动力学特性,以指数曲线前段规律作为前后沿的近似梯形波,进而确定升降频特性,这样既能保证步进电机运行过程不会失步,又充分发挥了步进电机的固有性能,使升频过程达到时间最短的要求。下面讨论一下升降频控制的算法实现。

升降频控制

    为实现所确定的运行频率—时间函数,通常是将其离散化,即将其转换为脉冲时间间隔对脉冲个数的函数。另一种方法是按升降频过程所走过的脉冲步数通过定步中断来变频。但是离散化方法既会引起频率突跳和失步,又要进行复杂的迭代运算,而定步法同样需要进行迭代。这两种方法在DSP上都不易实现且灵活性较差。为此本文研究了一种称为定时的方法。

    设最高运行频率为fh(电机恒速段的速度),升频段总时间为ts。则根据步进电动机指数型升频过程的频率—时间关系:

f(t)=fM-(fM-fb)*exp(-t/T)                  (1) [page]

    式中fb为步进电动机起动频率;fM为极限运行频率;T为驱动系统时间常数
则有fh=f(ts)=fM-(fM-fb)*exp(-ts/T)  
从而得到
ts=T*ln((fM-fb)/(fM-fh))  (2)
    将ts等分为N段,得到各段时间为:ta=ts/N
则在第i个等分段ta内脉冲切换频率和要送出的脉冲数分别为:
f[i]=f(i*ta)=fM-(fM-fb)*exp(-i*ta/T)     (3)
X[i]=ta*f[i]     (4)
故升频段的总步数为:
P=X[0]+X[1]+…+X[N-1]                     (5)

将脉冲间隔1/f[i]转换为DSP内部16位定时器的时间常数K[i]。转换关系式为

K[i]=f_DSP/f[i], i=0,1,2…, N-1           (6)

    由于降频段特性变化规律与升频段相反,可知降频序列是升频序列的逆序列。
    电机在恒速步进阶段,以fh的换相频率步进。因此对应的定时器时间常数为:
K[N]=f_DSP

/fh                (7)             
恒速段总步数为:
X_h=X_total-2*P             (8)
式中X_total为步进电机运动的总步数。
    电机运行前,由主程序计算出升频段和恒速段定时器时间常数序列K[i](i=0, …,N-1),存放于DSP的SARAM中,形成一个K-P升速表格。当电机运行时,在线查表,并取出K[i]用于设置DSP的PWM中周期寄存器的值,从而不断改变PWM波形的周期,实现对电机的速度调节。根据升速、降速或高频恒速,决定升速表地址指针增1、减1或不变。通过这种定时的方法,一方面提高了系统的灵活性,可根据输入的最高频率、起动频率等参数改变升降速表,另一方面升降速表的求取不占用运行时间,从而提高了运行效率。

系统的部分软件流程

    图2为升降频控制

子程序流程图,其中:p_SARAM为指向电机升降速时间常数表的指针,采用DSP的内部SARAM来存放该表;X_up、X_con、X_down分别代表电机在升速段、恒速段、降速段要走的总步数;up_flag、con_flag、down_flag分别代表当前电机的运动状态(升速、恒速、降速)。

DSP与PC机的通信

    DSP与PC机的通信通过CY09449连接,CY09449内部带有128KB双向静态SRAM,为了在工作中,使PC机和DSP对SRAM的访问不会发生冲突,本设计中把SRAM均分为两个单元A和B, PC机和DSP对这两部分的操作采用乒乓操作模式。由于DSP具有外部数据存储器扩展能力,所以该SRAM完全可以作为DSP的外扩数据存储器,这样在设计中便采用DSP的外部数据存储器有效信号/DS来作为CY09449的片选信号/SELECT。

[page]

图2 升降频控制子程序流程图

DSP的编码接口

    本设计也考虑到如果需要对电机进行高级精确控制时,就需要对电机进行闭环控制。一般情况下,会运用光电编码器作为系统的闭环反馈元件。由于本设计是针对双轴步进电机的运动,而单轴的光电编码器就输出两相相差为90°的脉冲信号A、B,以及归零信号Z(都是差分形式),这样一共就有6路反馈信号。但是DSP只有两个正交编码单元,所以设计中把DSP的引脚PWM9和PWM10设为通用输入脚。这样,反馈信号经过高速光耦隔离后,就送入到DSP的正交编码接口QEP1/QEP2、QEP3/QEP4,以及PWM9/PWM10,然后由DSP对该反馈信号进行计算处理,从而得出电机的实际运动信息。

步进电机接口

    本设计中通过DSP的PWM单元来对步进电机进行控制。由于电机是功率器件,所以由DSP输出的PWM波形不能直接输入到驱动器中,而是必须采用光耦进行隔离,这样才能避免电机的大电压信号把DSP烧坏。此外由于DSP输出的PWM信号很弱,如果直接加在电机驱动器上,驱动器将检测不到该信号,所以在DSP的PWM信号输出级需加长线驱动。本设计中采用了5V的差分长线驱动器AM26LS31。

PCI模块

    本系统选择PCI局部总线作为DSP与上位机的通信方式,主要是因为PCI总线速率最高可达528Mbps,实时性强。PCI总线的开发一般可以有两种方案实现:一种是用FPGA实现;另一种则是使用专用的PCI接口芯片。为节省时间本系统选择专用芯片CY09449进行开发。该芯片采用3.3 V 单电源供电,兼容3V和5V 的PCI信号环境。CY09449的电源可由PCI槽引出,PCI槽可以提供3.3V、5V、12V电压,在PCI槽有两个引脚需特别注意:PRSNT1和PRSNT2,这两个引脚接地和悬空的4种组合直接决定PCI卡的功率。CY 09449在使用时,某些引脚要加阻值为1k?~1Ok?的下拉或上拉电阻。根据本系统地具体情况在该设计中,SCL、SDA、ALE、/BE[2]、RDY_IN引脚加上拉电阻, TEST_MODE引脚加下拉电阻。

结语

    基于PCI总线,配以数据处理能力强大的DSP设计的步进电机运动控制卡,在开放式数控系统中能够发挥出理想的运动控制性能。随着数控系统的普及和产品档次的提高,这种运动控制卡将会有广泛的应用前景。

关键字:PCI总线  步进电机  运动控制卡 引用地址:基于PCI总线和DSP的步进电机运动控制卡的设计和实现

上一篇:电力电子技术在汽车42V直流总线下的应用
下一篇:CC-Link总线在发动机积放式推杆悬链中的应用

推荐阅读最新更新时间:2024-05-02 22:31

步进电机的“凌波微步”,是如何炼成的?
自从第二次工业革命将人类带入电气化时代之后,我们这个世界的“运转”在很大程度上都是电机驱动的。作为一种将电能转化成机械能的执行元件,无论是在工业领域的大型装备还是我们身边的小型化电子产品中,都可见电机的身影,其应用的广泛性可见一斑。 根据工作的原理,电机通常被划分为有刷直流电机(BDC)、无刷直流电机(BLDC)、永磁同步电机(PMSM)、交流感应电机(ACIM)、开关磁阻电机(SRM)和步进电机(Stepper)等。它们各具特点,在长期的市场打拼中也都找到了自己最擅长的应用领域,今天我们就着重来谈谈其中的步进电机。 步进电机的机遇与挑战 与其他类型的电机相比,步进电机的工作方式比较特别,它是通过电脉冲信号控制角位移或线位
[嵌入式]
<font color='red'>步进电机</font>的“凌波微步”,是如何炼成的?
基于MSP430F149和步进电机实现三自由度模拟实验台的设计
引言 三自由度飞机飞行姿态模拟实验台是集机械技术、控制技术和传感器检测技术、计算机技术于一体的综合性测试设备。它作为一种空间运动机构是飞机进行动态性能测试的关键设备,主要用于模拟飞机的运动姿态,为飞机提供一个非常接近实际的模拟环境,在模拟条件下对飞机的飞行姿态进行实验研究和性能考察,在国防和民用中都有很高的应用价值。 本文基于MSP430控制核心设计了一种三自由度模拟实验台,并完成了给定的任务要求。 1、 体统总体方案 该系统主要由MSP430控制核心、电源管理模块、电机控制模块以及无线通信模块组成,其结构框图如图1所示。 转台的实时位置由旋转编码器反馈送入微处理器进行处理。步进电机采用PID算法进行调节,而直流无刷电
[单片机]
基于MSP430F149和<font color='red'>步进电机</font>实现三自由度模拟实验台的设计
伺服电机过载的原因有哪些
问题一:伺服电机报警过载原因 驱动传动阻力太大,检查传动系统。 问题二:步进电机、伺服电机的过载能力有什么不同? 步进电机一般不具有过载能力。交流伺服电机具有较强的过载能力。以松下交流伺服系统为例,它具有速度过载和转矩过载能力。其最大转矩为额定转矩的三倍,可用于克服惯性负载在启动瞬间的惯性力矩。步进电机因为没有这种过载能力,在选型时为了克服这种惯性力矩,往往需要选取较大转矩的电机,而机器在正常工作期间又不需要那么大的转矩,便出现了力矩浪费的现象。 问题三:关于伺服电机过载是否一定跟电流有关 电动机作为力矩输出的元件,其过载一定是机械部分轴力矩大且超过电动机允许的数值,与电流无关。但现象的表征是电流增大,或等于或超过额定电流
[嵌入式]
伺服电机过载的原因有哪些
如何避免步进电机失步
说起步进电机,对于电气控制行业的工程师来说应该再熟悉不过了!它的误差不会长期积累,能够实现精确定位,控制比伺服简单等优点,但步进电机精确控制的前提是电机不发生失步,如何才能避免步进电机失步? 步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机。在未发生失步情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数并不受负载变化的影响,当步进电机接收到一个脉冲信号时,电机就按设定的方向转一个固定的角度(步进角或步距角),通过控制脉冲数和脉冲频率来控制电机角位移量及电机转速从而达到精确的开环控制。另外,步进电机每走一步所转过的角度与理论步距之间总有一定的误差,从某一步到任何一步,也总有一定的误差,但是,步进电机每转一周的
[单片机]
如何避免<font color='red'>步进电机</font>失步
PIC单片机驱动步进电机先正转后反转
//************************************************** //实验目的: //熟悉PIC单片机驱动步进电机,先正转后反转 //************************************************** //************************************************** //硬件设置: //1、把步进电机接在J10位置上 //2、5脚是5V电源脚,1-4接步进电机线圈 //************************************************** //*********************
[单片机]
安森美高能效步进电机驱动器方案
    电机的应用非常广泛,遍及人们工作及生活的各个领域,如打印机、复印机、传真机、投影仪、电冰箱、洗衣机、空调、燃气灶、照相机、ATM机、电动缝纫机、保安摄像机、自动售货机、热水供应系统、园林灌溉系统及工业自动化等。     在节能越来越受重视的当今,高能效的驱动电机显得尤为重要。从类型上看,电机包括交流电机、直流有刷电机、直流无刷电机、永磁同步电机、伺服电机和步进电机等。其中,步进电机采用脉冲工作,也称作数字电机或脉冲电机。步进电机的旋转角与脉冲数量成正比,速度则与脉冲频率成正比,可通过控制脉冲数量来精确控制步进电机的旋转,使其非常适合于定位应用。本文将探讨步进电机驱动的常见挑战,并重点介绍安森美半导体针对办公自动化设备应用的
[电源管理]
安森美高能效<font color='red'>步进电机</font>驱动器方案
步进电机驱动电路原理图
本图是步进电机驱动电路原理图。驱动电路通过ULN2803构成比较多的驱动电路,电路图如图所示。通过单片机的P1.0~P1.3输出脉冲到ULN2803的1B~4B口,经信号放大后从1C~4C口分别输出到电机的A、B、C、D相。 图 步进电机驱动电路原理图
[模拟电子]
<font color='red'>步进电机</font>驱动电路原理图
TPC单元及其在步进电机调速中的应用
步进电机在各种自动化控制系统中有着广泛的应用,是机电一体化装置中的关键部件。这是一种数字控制的电动机,是将电脉冲转化为角位移的执行机构,它通过控制脉冲个数和脉冲频率来控制电机的角位移量和转动速度,从而达到准确定位和调速的目的。 传统的步进电机所需的数字式电脉冲信号(即方波控制信号)一般都是借助数字逻辑电路来产生。随着嵌入式技术的不断发展,单片机的应用更为广泛,由单片机定时来产生这种脉冲信号的场合越来越多。单片机定时控制脉冲一般有软件定时和定时器定时两种方式。前一种方式占用了CPU的大部分工作时间,所以常用定时器定时中断来产生脉冲信号。由于一般的单片机系统中断响应时间大部分在10Us级以上,因而定时器定时中断来产生脉冲的精确度大致也
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved