一种新型步进电机脉冲分配器的研究
微电机 2004年 第37卷 第2期(总第137期)
伺服技术・SERVO TECHN IQUE
一种新型步进电机脉冲分配器的研究
洪维华, 阎治安, 易萍虎
(西安交通大学, 陕西 西安 710049)
摘 要:介绍了驱动步进电动机用的一种新型脉冲分配器, 该脉冲分配器电路采用基于M ealy 状态机机理的
V HDL 描述, 并以两种可综合的描述方案分别在CPLD 和FPGA 器件上综合实现与验证。通过分析这两种硬件描
述方案实际综合的结果, 说明了其各自的特点。用V HDL 描述在可编程逻辑器件上实现步进电机脉冲分配器的硬件设计方案, 其控制功能可扩展性好, 能方便地构成各种步进电机控制系统, 系统结构紧凑, 可靠性高, 成本低廉, 有较高的工程应用价值。
关键词:脉冲分配器; 步进电动机; V HDL ; M ealy
中图分类号:TM 383. 6 文献标识码:A 文章编号:1001-6848(2004) 02-0024-04
Rea serch of a New Stepp i ng M otor Pulse D istr ibutor HON G W ei -hua , YAN Zh i -an , Y I P ing -hu
(X i’anJ iao tong U n iversity , X i’an710049, Ch ina )
Abstract :A new stepp ing mo to r pu lse distribu to r w itch is described u se V HDL based on M ealy state m ach ine is p resen ted in th is article . Tw o realizab le describ ing m ethods are in troduced and they are realized on CPLD and FP 2. T he perfo rm ance is analyzed by comparing the resu lt of actual syn thesis . T he tw o app roach based on GA devices
V HDL have compact structu re , h igh reliab ility , ex tendib ility and p rovide a p ractical w ay of low co st stepp ing mo 2to r con tro l system .
Key words :pu lse distribu to r ; stepp ing mo to r ; V HDL ; M ealy
1 引 言
步进电动机是一种将数字信号转换为角位移
(或直线位移) 的机电执行元件。每当输入一个脉冲时, 转轴便转过一个固定的机械角度。它具有快速起停、精确步进、没有积累误差且能直接受数字信号的特点, 在数字控制系统中得到了广泛的应用。尤其是数控设备、航空、导弹无线电等工业中一般都采用了步进电机作为伺服执行元件。
常用的步进电机控制系统常采用专用控制器或者微机控制。而传统的控制器往往使控制系统成本较高, 微机控制用软件进行步进控制, 程序量较大, 占用CPU 时间较多, 这种控制方式的抗干扰性能较差, 为此提出一种新型纯硬件电路。
现代硬件系统设计可以采用HDL (H ardw are D escri p ti on L anguage ) 作为设计输入, 它从电路行为级开始建模, 设计效率高, 灵活性强。V HDL 最早是美国国防部为描述电子电路所开发的一种语言, 也是国际上第一个标准化的硬件描述语言, 几乎所
收稿日期:2003-12-25
有厂家的可编程逻辑器件均支持V HDL 语言描述, 用它来描述步进电机控制系统, 结构清晰, 经综合得到网表下载后即可生成硬件电路。经过验证后的
“软核(IP ) ”可以在其他集成V HDL 描述程序作为
芯片设计中得到二次应用; 又可以针对不同的要求作适当修改, 综合下载到可编程逻辑器件PLD
(P rogramm ab le L ogic D evice ) 中, 以便满足不同要求的专用控制芯片[1]。
可编程逻辑器件具有用户可编程、速度高和容易使用等优点, 这几年得到了飞速发展和广泛应用。上至高性能CPU , 下至简单的74电路, 都可以用PLD 来实现。PLD 器件中应用最广泛的是现场可编程逻辑门阵列(FPGA ) 和复杂可编程逻辑器件(CPLD ) 。FPGA 器件基于查找表结构, 适合于完成时序逻辑; CPLD 基于乘积相结构, 适合于完成组合逻辑。
文中选用五相步进电动机, 采用10拍工作方式, 设计了两种可综合的脉冲分配器V HDL 描述方案, 通过编译结果分析了这两种V HDL 语言描述方案的特点。
—24—
一种新型步进电机脉冲分配器的研究 洪维华 阎治安 易萍虎
2 脉冲分配器实现
步进电动机各相绕组是按一定的规律, 依次轮流通电工作的。脉冲分配器需将控制脉冲按规定的通电方式分配到各相, 以完成脉冲分配功能, 从而达到“步进”的目的。
步进电动机脉冲分配器的结构示意图如图1所示, 图中:
clk :步进电机运行时钟信号;
表示正转; D ir :步进电机正反转信号, ‘1’
表示停止; CE :起停信号, ‘0’M ode :模式选择;
脉冲状态表、脉冲生成逻辑和脉冲输出逻辑, 如图2
所示
。
图2 脉冲分配器的模块描述示意图
3. 1 脉冲状态表设计
表示过流。OV C :过流信号, ‘1’
脉冲产生部分实际上是一个特殊的循环计数
器, 每当时钟clk 到来时, 计数器输出下一个状态
,
由于每一型号的步进电机一般有多种工作方式, 不同的工作方式对应不同的脉冲分配表[2]。文中针对五相步进电机的10拍工作方式实现其脉冲分配器的V HDL 描述。当然也可以同时实现多种工作方式的多脉冲分配器电路, 文中将不作扩展。
五相10拍工作方式常采用五相全桥驱动电路, 其脉冲分配表在V HDL 描述中定义成常数表, 如表1所示。如果更改工作方式, 只需要改变脉冲常数表即可, 程序可读性强。3. 2 脉冲生成逻辑设计
图1 脉冲分配器结构示意图
表1 五相10拍脉冲分配表
序号123456
78910
驱动步进电机。当D ir =‘1’时, 脉冲计数器正计数, 计数器输出正转驱动脉冲信号; 当D ir =‘0’时, 脉冲计数器反向计数, 计数器输出反转驱动脉冲信号。脉冲分配器起停信号CE 高电平有效, 当CE =‘0’时, 脉冲生成器输出状态不随clk 变化; 当CE =‘1’时, 脉冲生成器正常工作, CE 信号可以作为系统停车控制信号。
OV C 为过流保护信号, 当过流时封锁输出, 又对功率电路起到保护作用。M ode 可以作为电机的受控信号, 用M ode 与CE 的或值(M C ) 去控制驱动输出。当M ode =‘0’表示不受控, 即电机停转(CE =
) 时, 驱动输出全零, 电机绕组电流为零; 当‘0’
) 时还能表示受控, 电机停止(CE =‘0’M ode =‘1’
保持驱动输出为脉冲生成器的当前值, 电机绕组仍有电流, 使电机具有较大的定位转矩。在受控模式下, 步进电机驱动一般需要多电源供电。在单电源供电控制中, M ode 接低电平。
状态
STA T E 0STA T E 1STA T E 2STA T E 3STA T E 4STA T E 5STA T E 6STA T E 7STA T E 89
脉冲分配[***********][***********][***********]011001
[***********][***********]0110
状态机可分为M ealy 型和M oo re 型两种基本类型。M ealy 型状态机输出的变化先于M oo re 型。具体说明:M ealy 型状态机的输出是在输入变化后立即发生变化; 而M oo re 型状态机在输入发生变化后, 还必须等待时钟的到来, 然后才发生变化, 因此M oo re 型比M ealy 型状态机多等待一个时钟周期。
3 基于M ea ly 状态机的VHDL 设计
对于脉冲分配的硬件描述可以分成3个模块:
步进电机脉冲分配器的逻辑描述属于典型的
[3]
M ealy 状态机。M ealy 状态机的框图如状态图分别示于图3和图4。
下面给出两种不同的基于M ealy 型状态机的
—25—
微电机 2004年 第37卷 第2期(总第137期)
cn tSR
o r (cn t >=10) else‘0‘;
p rocess (clk , CE , D ir , cn tSR )
图3 M ealy
型状态机的框图
begin
if clk’event and clk =‘1‘then if CE =‘1‘then if D ir =‘1‘then
if cn tSR =‘1‘then cn t
cn t
if cn tSR =‘1‘then cn t
cn t
p rocess (clk , cn t ) begin
if clk‘event and clk =‘0‘then case cn t is
w hen 0=>Q
w hen 9=>Q
w hen o thers =>Q
对于以上两种不同的描述方案, 分别选用了CPLD 器件和FPGA 器件进行了综合比较。在X il 2inx 公司的ISE 4. 1集成环境上基于CPLD 器件XC 9536进行综合实现和在A ctel 公司L ibero 2. 3集成环境上基于FPGA 器件ex 36进行综合实现。3. 3 脉冲输出逻辑设计
图4 M ealy 型状态机的状态图
V HDL 描述方法。
第一种描述方法:每当clk 上升沿来到时, 判断
时, 输出状态保持不变; 如CE 和D ir 信号。CE =‘0’
果CE =‘1’时, D ir =‘1’则进入下一状态, D ir =‘0’则返回上一状态。下面给出其核心程序:p rocess (clk , CE , D ir ) begin
if clk’event and clk =‘1‘then if CE =‘1‘then if D ir =‘1‘then case Q is
w hen STA T E 0=>Q
w hen STA T E 9=>Q Q
case Q is
w hen STA T E 0=>Q
w hen STA T E 9=>Q Q
第二种描述方法:设计一个带使能的加减循环
(正转) 时, 计数值为9时同步计数器, 当D ir =‘1’
(反转) 时, 计数值为0时同步置清零; 当D ir =‘0’
数为9。每当clk 上升沿到来时, 如果CE =‘0’, 计数器值不变; 如果CE =‘1’, 计数器当D ir =‘1’时加1, 当D ir =‘0’时减1; 脉冲生成器输出状态STA 2T Ex , 其中x =当前计数器值。下面给出其核心程序:
—26—
脉冲逻辑输出控制信号主要有OV C 和M ode 信号。当OV C =1时, 表示电机过流, 驱动输出被封锁, 输出全零。M ode 与CE 的或值M C 使能驱动脉冲输出。当M C =‘1’时, 驱动输出为当前脉冲生成器输出值; 当M C =‘0’时, 驱动输出被封锁。
一种新型步进电机脉冲分配器的研究 洪维华 阎治安 易萍虎
3. 4 仿真验证
为了验证以上设计能否满足设计功能要求, 专门编写了设计的测试程序, 在M odleSi m 平台上进行了功能验证[4]。结果表明上述两种描述实现功能是相同的, 下面只给出第二种描述方案的仿真波形, 如图5所示。
由仿真波形可见, 完全能满足设计的功能要求。
二种描述方法占用的时序逻辑单元多而占用组合逻辑少, 这说明第一种描述方法适合应用于CPLD 器件, 第二种描述方法适合应用于FPGA 器件。通过比较表2中的资源分配可以得到较好的验证。
基于上述两种方案分别构成了五相全桥步进电动机驱动电路, 使用SAN YO ST EPSYN 560H 步进电机进行了实验。实验中采用1kH z 和2kH z 两种频率分别进行实验, 经过长期运行, 控制系统功能正常, 电机无失步, 无丢步现象, 证明了该系统满足设计要求, 工作稳定。设计的V HDL 描述易于针对不同的设计要求加以修改或扩展, 重新综合验证后下载于PLD 实现专用功能的控制芯片, 由此构成的系统结构紧凑, 可靠性高, 成本较低。这种新型步进电动机脉冲分配器的设计方法为步进电动机的应用将开辟更加广阔的前景
。
4 结 语
该设计综合后分别下载于X ilinx 公司的CPLD 器件XC 95144和A CT EL 公司的FPGA 器件EX 128。在两种不同类型的可编程逻辑器件上综合的结果如表2所示。从表2可以看出第一种描述方法所占用的组合逻辑单元多而占用时序逻辑少; 第
图5 M odleSi m 平台仿真波形表2 基于CPLD 和FPGA 器件的综合结果基于CPLD 器件XC 9536的综合结果乘积相寄存器98of 180(54%) 10of 36(27%) 59of 180(32%) 14of 36(38%) 基于FPGA 器件ex 36的综合结果组合逻辑块时序逻辑块56of 128(44%) 10of 64(16%) 40of 128(31%) 15of 64(23%)
大学学报, 2002, 3(1) .
[4] 美. 阿姆斯特朗, 美. 格雷, 李宗伯译. V HDL 设计表示
基于状态描述
基于计数器描述
使用资源20of 36(55%) 24of 36(66%) 使用资源66of 192(35%) 55of 192(29%)
基于状态机描述基于计数器描述
参考文献:
[1] 候伯享, 顾 新. V HDL 硬件描述语言与数字逻辑电路
和综合[M ]. 机械工业出版社, 2000.
作者简介:洪维华(1978-) , 男, 湖北人, 硕士生, 主要研究方向为电力电子与电机自动控制。
设计(修订版) [M ]. 西安电子科技大学出版社, 2001.
[2] Sanyo D enk i . 1998-1999Stepp ing System s P roducts
Info rm ati on [M ]. Sanyo D enk i CO . , L TD . , 1999. [3] 王良好. 有限状态机的V HDL 语言描述[J ]. 信息工程
欢迎订阅 欢迎投稿 欢迎刊登产品及信息广告
—27—