多通道步进电机控制器设计与linux驱动实现

多通道步进电机控制器设计与linux驱动实现

ID:5388105

大小:261.56 KB

页数:4页

时间:2017-12-08

多通道步进电机控制器设计与linux驱动实现_第1页
多通道步进电机控制器设计与linux驱动实现_第2页
多通道步进电机控制器设计与linux驱动实现_第3页
多通道步进电机控制器设计与linux驱动实现_第4页
资源描述:

《多通道步进电机控制器设计与linux驱动实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、学兔兔www.xuetutu.com务l甸化多通道步进电机控制器设计及Linux驱动的实现Designofamulti.channeIstepmotorcontrolleranditsrealizationofLinuxdriver张付祥,刘振宇ZHANGFu.xiang.LIUZhen—yu(河北科技大学机械电子工程学院,石家庄050018)摘要:采用串行外设接口(SPI)和现场可编程门阵列(FPGA)设计了~种能够实现多通道步进电机控制的通用控制器,给出了以$3C241on控制芯片的Linux~动的实现方法,试验表明该控制器可以实现对

2、8个步进电机的控制。关键词:SPI;FPGA;步进电机控制器;Linux;驱动程序中图分类号:TP273文献标识码:B文章编号:1009—0134(2011)2(上)一0047-04Doi:10.3969/J.issn.1009-0134.2011.2(I-).170引言器通过SPI向FPGA发送电机控制指令,FPGA根据控制指令产生电机方向控制的电平信号和电机速机电一体化系统中有很多情况需要对多台电度控制的脉冲信号。控制信号通过FPGA的输出端机进行控制⋯,步进电机控制系统一般基于单片口发送到相应的步进电机驱动器,从而完成对多机或者是P

3、C机,由于资源的限制很难实现复杂的个电机的控制。这里以一片EPF10K10A实现对8个步进控制J。传统上基于PC机的步进电机控制系步进电机的控制为例介绍多电机控制器设计及驱统的核心是步进电机控制卡,很难实现多通道步动的实现方法。进电机的驱动控制”,实现多轴控制则需PMAC卡等多轴运动控制卡,但控制系统实现成本较1.2FPGA的硬件线路高。能够实现多通道步进电机驱动的控制器控制基于FPGA的电机控制器的硬件建立后,需可靠,且能够方便的通过现场总线组建大型的控要对FPGA的管脚进行定义。除去FPGA和系统相制系统。关的管脚,需要定义和电机控制

4、有关的管脚。其中f0-f7为可控脉冲频率输出,实现电机的速度控1基于FPGA~I:ISPI的多通道步进电制;dir0~dir7为电机方向输出,实现电机的方向机控制器硬件设计控制;MOSI为SPI接口主设备对从设备的数据输1。1多通道步进电机控制器原理入;SCLK为SPI接口的时钟输入;F2M为外部有多电机控制器针对接受脉冲信号控制的步进电源晶振提供的频率为2MHz的输入脉冲;CS为片选机,与微处理器采用SPI总线的方式传送数据,通常输入。可以搭建成图1所示的多通道步进电机控制系统。1.3多通道步进电机控制器设计SP使用VerilogHDL

5、语言,采用自顶向下的设计方法,从系统级开始,把系统划分为两个基本的单元,最顶层模块为SPI—Motor,SPI—Motor模块根据功能再进一步细化为SPI—Core模块和Counter模块,系统构成如图2所示。系统上电FPGA进行部分初始化,在得到片选图1多通道步进电机控制系统结构信号时,SPI—Core模块开始接收数据,SPI口一次系统工作时,具有SPI的微处理器通过其I/O口传送一个字节的数据,SPI—Core模块每接收到一片选FPGA,多电机控制器处于工作状态。微处理个字节的数据就进行一次串并转换,电机的控制收稿日期:2010-09

6、-25基金项目:河北科技大学博士科研启动金(QD200936)作者简介:张付祥(1973一),男,河北青县人,副教授,博士,研究方向为机器人学、传感技术及工业控制技术。第33卷第2期2011—2(上)【47J学兔兔www.xuetutu.coml篷訇化现,它将MOSI端口输入的串行数据转化成并行数据。状态编码采用的是独热编码,数据传输控制器实现对给定的寄存器传输数据,其中ADD—Encode实现数据传输对象的编码,其具体编码如表1所示。图2电机控制系统模块构成图表1内部寄存器编码表信号是由两个字节所组成的,需要在数据转化过程中进行判断一条

7、命令是否转换完毕,如果转换完毕,则通知Counter模块进行数据接收。Counter模块在系统上电后开始工作,根据寄存器的初始值进行工作,当接收到转化后的控制命令时,根据控制命令中所包含的地址信息把数据传送到相应的寄存器中。方向寄存器中的每一位都有一个输出,直接跟电机驱动板上的方向端相连,方向寄存器的变化会直接导致相应电机的转向变化。电机使能寄存器和分频计数器相互配合工作,当电机使能寄存器设定工作电机时,相应的电机分频计数器才会工作,分频计数器在没有得到允许工作的命令之前进行初始化,得到命令后则根据计数器中的分频值进行分频。Counter

8、模块的功能是控制8个电机在给定的方向以一定的速度转动,由84"定时器,一个译2kinux~动程序开发码器和一个可控分频器组成。方向控制通过内部2.1SPI总线的驱动寄存器Dir实现。可控分频器

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。