基于NiosII软核处理器的步进电机接口设计

发布者:skyhcg最新更新时间:2012-08-04 来源: 现代电子技术 关键字:SOPC  步进电机  硬件描述语言  软核 手机看文章 扫描二维码
随时随地手机看文章

    电子技术发展日新月异,控制技术也发生了革命性的变化,特别是SOC技术的发展,文中主要研究的是远程控制系统中步进电机控制模块设计。首先,根据控制功能的要求设计了步进电机控制模块,该模块采用一种脉冲叠加算法,实现了对步进电机任意频率变速;然后,将该模块封装到SOPC Builder的标准模块库中;最后,利用SOPC技术,在Altera公司的Cyclone II EP2C35芯片上集成了NiosII软核,相关的外围控制器和自定义的电机控制模块,完成了该设计的验证工作。

1 基本原理
    步进电机是一种把电脉冲信号变换成直线位移或角位移的执行元件。步进电机的转子做成多极的,定子上嵌装有多相不同连接的控制绕组,有专用电源供电。每输入一个脉冲,步进电机就前进一步,故又叫做脉冲电动机。其角位移量与脉冲数成正比;线速度或转速与脉冲频率成正比。本文是针对的四相反应式步进电机而设计的控制器,它的定子磁极上增加了小齿,转子也做成多极的,定、转子的齿距相同,齿数也适当的配合。这样,在一对磁极下,定、转子齿在对正时,下一相绕组下的定转子齿错开t/m(t为齿间距,m为相数),再下一相绕组下定、转子齿错开2t/m,并以此类推,在定子磁场的作用下,由于转子力图取最大的磁导位置,所以每一拍,转子转过相当t/m齿矩的角度(步距角):


    
    步进电机常用的有四相,也有三、五、六甚至更多相。相数和转子齿数越多,步矩角就越小,在同样的脉冲频率下,转速越低。

2 电机控制模块结构设计
2.1 概述
    步进电机控制主要由电机控制器和电机驱动器两部分组成,如图1所示。其中,电机控制器用于控制产生脉冲,电机驱动器用于控制输出信号的功率放大。本文主要设计电机控制器。从图1可知,在电机控制器中含Avalon总线接口。在整个NiosII系统中电机控制器作为一个从设备使用。


    电机控制系统的工作过程是:当控制电机的命令信号经网络发出,传给NiosII后,NiosII通过Avalon总线将信号传给电机控制器,将这个信号作为电机控制器中controller的输入,然后电机控制器会自动的输出4相控制步进电机的脉冲信号,这些信号再经过电机的驱动器的功率放大后,就可以直接驱动电机运转。可以看出其中的controller是整个电机控制模块的核心。这里的contorller模块又由3部分组成:脉冲
发生控制器、脉冲发生器、脉冲分相器。脉冲发生控制器主要是为脉冲发生器提供基准脉冲和和标记脉冲个数的寄存器值。然后通过脉冲分相器的作用来控制电机的脉冲信号CP。
2.2 脉冲发生器方案的提出
    根据整个系统的设计要求,电机控制器需具有基准时钟65 536 Hz;输出脉冲的个数设定范围1~16 777 215;输出脉冲的速率设定范围1-65 535 pps。根据上面的要求,所以需要用一个16位的计数器来实现不同脉冲的信号的输出,而不同频率的输出脉冲之间不能重叠。
    有了16种不同的频率而且互不重叠的基脉冲后,就可以提取16种频率的脉冲作为叠加脉冲,从而得到0~65 535范围内的连续可调的脉冲频率。[page]


    
    式中:f为要得到的频率;fi为各个叠加频率;f0基准脉冲;rn-(i+1)第n-(i+1)个寄存器。
    文中取n=16,所以16个寄存器组成的16位二进制数的范围就是0000~FFFF。根据公式(3)、(4)可知,只要f0等于65 536 Hz,那么通过改变二进制数(r15~r0),输出f就连续可调。该电路也就是脉冲发生器(step_wave)中的核心电路。
2.3 电机控制模块设计
    一般步进电机的控制器可以通过单片机来实现,本文电机控制模块是用verilog HDL语言实现、以IP模块的形式封装在SOPC Builder的IP模块库中,它是可以被NiosII系统直接调用的。图2为电机控制模块的设计层次图。


    1)脉冲控制器
    根据脉冲控制器要实现的功能,可以确定脉冲控制器主要是由以下几个小模块构成:标准频率产生模块;总输出脉冲数控制模块;输出的脉冲个数寄存器更新模块。
    2)脉冲发生器
    脉冲发生器的功能是产生需要的脉冲序列,经过分析后知道,此部分主要由以下几个模块构成:
    ①16 bit计数器,脉冲发生器最终输出的脉冲其实是由1/2CLK、1/4CLK、1/8CLK…1/32 768CLK这16种脉冲组合实现,CLK是由step _control分频得到基准时钟。为了实现这16种频率的脉冲,需要16bit的计数器。16bit计数器的产生16种状态,保持16种基频的状态唯一。
    ②基频产生模块,由公式(3)、(4)可知,这16种脉冲其实是以16bit计数器的16种不会重叠的状态为条件而产生的。
    ③脉冲叠加,脉冲叠加模块,用来把这16种脉冲叠加起来,得到需要合成的输出。最终合成的输出控制可由16个两输入与门来实现,一端接输出脉冲,另一端接对应的脉冲个数寄存器。
    3)脉冲分相器
    由于是四相步进电机,并以单拍的方式运行,所以在最后从脉冲分相器输出的频率为四相。CP[3:0]就是最终输出的四相信号。

3 电机控制模块的仿真与验证
    1)功能仿真
    电机控制模块在Quartus II上的综合结果如图3所示,电机控制模块是由slave、step_control、step_wave及step_cp 4部分组成。


    2)SOPC平台验证
    首先导入的HDL文件是用于描述模块的硬件逻辑功能。对于电机控制模块,导入的文件分别是motor.v、step_control.v、step_wav e.v和step_cp.V,其中motor.V是顶层文件,配置SOPC平台,如图4所示。[page]


    当通过SW开关设定不同的值时,相应控制电机的4路脉冲信号就可以通过led显示出来。同时,利用Quartus II中的signaltap II的对电机控制模块仿真如图5所示。仿真结果是与实际设计相符的。

4 结论
    根据控制功能的要求,文中设计了步进电机控制模块,该模块采用一种脉冲叠加算法,实现了对步进电机正、反转控制;实现了对步进电机转动的定位和任意频率变速。完成了对该模块向SOPC Builder的标准模块库中的封装。
    结合Avalon总线、Nios II内核及其外设的特点,使用Quartus II和SOPC Builder存Cvclone II上创建了一个远程控制的硬件平台。

关键字:SOPC  步进电机  硬件描述语言  软核 引用地址:基于NiosII软核处理器的步进电机接口设计

上一篇:基于MCGS组态技术的PLC实践教学改革
下一篇:稳定时间电路的修正与补偿

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

伺服电机和步进电机的工作原理及其区别
伺服电机是一种能够控制并保持运行速度和位置的电动机。它具有反馈控制系统,可以精确地执行指令,实现高精度的运动控制。伺服电机通常用于要求高精度运动控制的领域,例如机器人、CNC机床、自动化装配线以及航天等领域。由于其具有精度高、响应快、稳定性好等特点,成为了现代工业自动化领域中不可缺少的重要部分。 步进电机(Stepper Motor)是一种将数字信号转换为机械运动的电机。步进电机将电磁场的变化转化为转动的步数,能够精确控制运动的角度和速度。它不需要传统的减速装置,能够在不使用编码器的情况下实现精确定位,在许多领域中被广泛应用,如数码相机、打印机、数字车载仪表、机床、医疗设备等。步进电机的主要优点包括准确性高、稳定性好、控制简单
[嵌入式]
伺服电机与步进电机的区别分析
随着全数字式交流伺服系统的出现,交流伺服电机也越来越多地应用于数字控制系统中。为了适应数字控制的发展趋势,运动控制系统中大多采用步进电机或全数字式交流伺服电机作为执行电动机。 步进电机作为一种开环控制的系统,和现代数字控制技术有着本质的联系。在目前国内的数字控制系统中,步进电机的应用十分广泛。随着全数字式交流伺服系统的出现,交流伺服电机也越来越多地应用于数字控制系统中。为了适应数字控制的发展趋势,运动控制系统中大多采用步进电机或全数字式交流伺服电机作为执行电动机。虽然两者在控制方式上相似(脉冲串和方向信号),但在使用性能和应用场合上存在着较大的差异。现就二者的使用性能作一比较。 一、控制精度不同 两相混合式步进电机步距角
[嵌入式]
基于S3C2440嵌入式Linux的步进电机驱动程序
在嵌入式Linux开发过程中需要为指定设备编写和编译驱动程序,这与以往在PC机上的Linux驱动开发明显不同,本文设计了基于S3C2440嵌入式Linux下激光雕刻系统的步进电机驱动程序。 1 硬件系统的设计 步进电机开环控制系统主要由中央控制器、步进电机驱动器、传感器以及步进电机四大部分组成。本系统采用基于ARM920t内核的S3C244 0A微处理器作为控制系统的中央控制器,该芯片主频400MHz,最高可达到533MHz,内含多种设备接口,存储器使用64MB的Nand Flash和64MB的SDRAM。图1所示为控制系统框图。 2 系统的工作原理 本系统主要控制两个两相混合式步进电机,分别代表X轴和Y轴带动
[单片机]
基于S3C2440嵌入式Linux的<font color='red'>步进电机</font>驱动程序
东芝新的步进电机驱动器IC降低电机噪声和振动
东京—东芝公司(TOKYO:6502)旗下存储与电子元器件解决方案公司今日宣布推出一款步进电机驱动器“TB67S209FTG”,该产品具有可降低电机工作期间的噪声和振动的结构。批量生产计划于12月底启动。 打印机、办公室自动化设备、ATM等银行终端、自动取款机、游乐设备和家用电器等均需要高速、高性能电机控制。最近,客户对步进电机控制的需求集中在降低噪音和振动方面,因为设备应用于日益多样化的环境。 降低步进电机的噪声和振动的关键在于利用精确的电流控制实现高效运行。电流调节功能——可选择混合衰减(SMD) 的采用支持该新IC通过选择适合于电机的适当SMD设置来降低噪声和振动。 采用东芝最先进的高电压模拟制程也提高了性
[电源管理]
东芝新的<font color='red'>步进电机</font>驱动器IC降低电机噪声和振动
浅谈伺服电机和步进电机的区别
要想区分伺服电机和步进电机,先要了解两种设备的区别。接下来给大家分享一下。 伺服电机 什么是伺服电机?伺服电机是在伺服系统中控制机械元件运转的发动机。具有精度高、扛过载能力强、速度快等特点,在工业自动化控制中使用非常广泛。 步进电机 什么是步进电机?步进电机是将电脉冲信号转换成相应角位移或线位移的电动机。具有结构简单、使用方便等特点,在工业自动化控制中使用非常广泛。 伺服电机和步进电机的区别 1、低频特性不同 伺服电机:在低速时不会出现振动现象且运转非常平稳。 步进电机:在低速时容易出现低频振动现象 2、控制方式不同 伺服电机:通过控制脉冲时间的长短控制转动角度。 步进电机:通过控制脉冲的个数控制转动角度的。 3、过载
[嵌入式]
PIC单片机之步进电机
大家好, 通过前一期的学习, 我们已经对ICD2 仿真烧写器和增强型PIC 实验板的使用方法及学习方式有所了解与熟悉,学会了如何用单片机来控制发光管、继电器、蜂鸣器、按键、数码管、RS232 串口等资源,体会到了学习板的易用性与易学性,看了前几期实例,当你实验成功后一定很兴奋,很有成就感吧!现在我们就趁热打铁,再向上跨一步,一起来学习一下步进电机的工作原理及使用方法,这是我们用单片机来控制机械进行运动的开始。 步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机就按设定的方向转动一个固定的角度(步距角)。通过控制脉冲个数来控制角位移量,可以达到准确定位;同时可以通过控制脉冲频率来控制电
[单片机]
PIC单片机之<font color='red'>步进电机</font>
基于Nios Ⅱ软核系统的电能质量监测系统设计
  在电力系统中,要实现对电能质量各项参数的实时监测和记录,必须对电能进行高速的采集和处理,尤其是针对电能质量的各次谐波的分析和运算,系统要完成大量运算处理工作,同时系统还要实现和外部系统的通信、控制、人机接口等功能。而电能质量监测系统大多以微控制器或(与)DSP为核心的软硬件平台结构以及相应的设计开发模式,存在着处理能力不足、可靠性差、更新换代困难等弊端。本文将SoPC技术应用到电力领域,在FPGA中嵌入了32位NiosⅡ软核系统。可实现对电能信号的采集、处理、存储与显示等功能,实现了实时系统的要求。    1 系统概述   1.1 电能质量检测系统的基本原理   电能质量监测主要是对电能质量各参数进行实时监测和记录,其功
[嵌入式]
基于Nios Ⅱ<font color='red'>软核</font>系统的电能质量监测系统设计
双极性步进电机如何练成“凌波微步”
在如今这个智能时代,步进电机由于其特有的开环位置控制性能在各行各业均有被应用到。各设备在步进电机转动的过程中,对它输出力矩的平滑性有一定的要求。 像云台球机,转动的稳定性将会影响到拍摄图像的质量。这一性能除了和步进电机本体的工艺相关以外,和步进电机的控制方式也是息息相关的。 今天我们所介绍的就是其中的一种控制方式 --- 细分控制。 那么步进电机要如何修炼成细分控制,来精进自己的武艺呢? PART1何为双极性步进电机? 话说很久以前,电机届有这么一个电机名叫双极性步进电机(从电机控制出发的叫法)。除此之外,他又名两相四线步进电机(从电机本体出发的叫法),他天生奇特,内有乾坤。 01定子 8个定子上分别绕有两相双极性
[嵌入式]
双极性<font color='red'>步进电机</font>如何练成“凌波微步”
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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