本发明专利技术公开了一种角位移可控的多路步进电机控制系统,包括上位机、FPGA和多路驱动器,每路驱动器分别连接驱动一路步进电机;所述FPGA通过外围UART与上位机进行串行通信,FPGA中包括:串口数据读取模块、数据解析模块、角位移控制模块、脉冲发生器、发送驱动脉冲、锁相环,FPGA的系统顶层中,例化了各电机的控制模块并将实际输入控制指令作为信号源分配给对应模块。本发明专利技术充分利用FPGA丰富的逻辑资源,在设计顶层列化各控制模块,然后将接收到的控制指令分析和处理后分配到各个模块对不同的步进电机进行控制。与现有的控制系统相比,具有小型化、逻辑资源利用率高和开放性好的特点。点。点。
【技术实现步骤摘要】
一种角位移可控的多路步进电机控制系统
[0001]本专利技术属于工业自动化系统中的运动控制领域,特别涉及一种角位移可控的多路步进电机控制系统。
技术介绍
[0002]FPGA(Field Programmable Gate Array)是一种数字集成电路数字芯片,可根据实际需求对其进行配置,从而得到具有相应功能的电路,其应用比较广泛。与传统的单片机相比,FPGA编程灵活且计算速度快(并行),因此越来越多地应用于运动控制领域。
[0003]步进电机的控制根据核心单元的不同可以分为多种类型。通过查询,核心控制单元为可编程逻辑控制器(PLC)时,PLC的工作周期长,控制精度差,这种方式通常用于单轴步进电机的控制。采用专用控制芯片进行控制,其速度快、控制精度高,但其成本较高而且内部的功能和接口已经固化,大大降低了系统的灵活性。使用单片机对步进电机进行控制通常以定时器的方式产生控制脉冲,占用了较为可观的系统资源,频率受到限制。后来出现的高端微处理器ARM,虽然可以对多路步进电机进行控制,但这种方式对于ARM的性能要求较高,且编程复杂,不利于系统的集成。
[0004]对于多轴步进电机的控制,有多种方式。已形成专利的可分为三类,其中具有代表性的有:
[0005]1、专利《模块化多轴步进电机运动控制系统》(专利号202022444689.X)中采用运动控制器(通常为MCU或DSP)加驱动器的方式,通过将各单元进行模块化设计并用快速电缆相连,这种方法原件多且电路复杂,不利于小型化,成本较高。
[0006]2、《基于STM32控制L6470H驱动器的多轴步进电机控制系统》(专利号201710932658.X)基于ARM的控制方法,这种控制方法通常适用于三轴步进电机的控制,当需要对更多路步进电机控制时,需要多个ARM核心,同样不利于集成。
[0007]3、《一种基于FPGA的SOPC多轴联动运动控制器及控制系统》(专利号CN10810927126.1)中方法对于处理器的性能要求较高,且编程复杂适合于大型的运动控制系统。如果采用基于FPGA的软核处理器的控制方法,则占用的FPGA资源较多且系统运行频率受到软核处理器的限制。
技术实现思路
[0008]本专利技术目的是:提供一种基于FPGA的多路步进电机控制系统,通过上位机将控制信息传递给FPGA,FPGA对控制指令识别后将其发送给不同通道的驱动脉冲发生模块,产生对应频率的驱动脉冲传递给步进电机驱动器,能够实现对于不同电机频率以及角位移等的控制。
[0009]本专利技术的技术方案是:
[0010]一种角位移可控的多路步进电机控制系统,包括上位机、FPGA和多路驱动器,每路驱动器分别连接驱动一路步进电机;所述FPGA通过外围UART与上位机进行串行通信,FPGA
中包括:
[0011]串口数据读取模块,接收上位机传来的控制指令;
[0012]数据解析模块,对接收到的每一帧数据进行解析,将其分配给不同控制器;
[0013]角位移控制模块,对步进电机的角位移进行控制;
[0014]脉冲发生器,根据接收的指令控制向步进电机发送驱动脉冲;
[0015]锁相环,将时钟频率倍频后传递给各个模块;
[0016]FPGA的系统顶层中,例化了各电机的控制模块并将实际输入控制指令作为信号源分配给对应模块。
[0017]优选的,所述串口数据读取模块,包括依次连接的同步寄存器、数据寄存器、波特率时钟生成模块、采样数据接收模块;
[0018]同步寄存器对上位机输入的数据进行同步,消除亚稳态,存入数据寄存器;波特率时钟生成模块首先计算出波特率周期,除以系统时钟周期得到采样时钟分频计数值,通过计算器生成波特率时钟;采样接收模块对每一位数据进行采样。
[0019]优选的,所述数据解析模块,包括依次连接的计数器、帧结束判定模块、数据提取模块,以及与数据提取模块连接的移位寄存器;
[0020]由上位机传输的数据寄存到移位寄存器中;计数器对串口数据接收成功标志信号计数,判断当前帧是否结束,产生高脉冲表示传输完成;数据提取模块根据地址提取每一帧数据位,传递给对应的寄存器作为输出。
[0021]优选的,所述角位移控制模块包括依次连接的边沿检测、计数器、电机使能控制模块;
[0022]步进电机每运行一定步数,驱动器会有一个反馈脉冲;对反馈脉冲进行边沿检测并计数,通过对比指令信号和步进电机实际运行步数对电机的角位移进行控制。
[0023]优选的,所述脉冲发生模块包括步进电机使能控制模块、步进电机加减速是能模块、定时计数模块、驱动脉冲频率控制模块、分频计数模块、步进脉冲生成模块;
[0024]时钟频率通过定时计数器产生步进电机的起始频率;加减速使能模块通过对比目标频率和当前频率,控制电机加减速运动;定时计数模块计数满20ms当前频率发生变化;使用除法器计算出当前脉冲频率所需要的计数值,从系统时钟分频产生当前频率的驱动脉冲控制电机运行;电机的启停按键控制,按下按键后,步进电机使能模块向驱动器发出驱动有效信号。
[0025]本专利技术的优点是:
[0026]本专利技术角位移可控的多路步进电机控制系统,充分利用FPGA丰富的逻辑资源,在设计顶层列化各控制模块,然后将接收到的控制指令分析和处理后分配到各个模块对不同的步进电机进行控制。与现有的控制系统相比,具有小型化、逻辑资源利用率高和开放性好的特点。
附图说明
[0027]下面结合附图及实施例对本专利技术作进一步描述:
[0028]图1为本专利技术角位移可控的多路步进电机控制系统的结构框图;
[0029]图2是串口数据读取模块结构框图;
[0030]图3是数据解析模块电路结构框图;
[0031]图4是角位移控制模块电路结构框图;
[0032]图5是脉冲发生模块电路结构框图。
具体实施方式
[0033]如图1所示,本专利技术的角位移可控的多路步进电机控制系统,包括上位机、FPGA和多路驱动器,每路驱动器分别连接驱动一路步进电机;所述FPGA通过外围UART与上位机进行串行通信,FPGA中包括:
[0034]串口数据读取模块(Uart byte read),接收上位机传来的控制指令;
[0035]数据解析模块(Uart frame parse),对接收到的每一帧数据进行解析,将其分配给不同控制器;
[0036]角位移控制模块(Step num),对步进电机的角位移进行控制;
[0037]脉冲发生器(Step motor controller),根据接收的指令控制向步进电机发送驱动脉冲;
[0038]锁相环(Pll),将时钟频率倍频后传递给各个模块;
[0039]Led控制器(Led controller),当步进电机开始运行时,对应的led灯会被点亮Led灯会被点亮;
[0040]FPGA的系统顶层中,例化了各电机的控制模块并将实际输入本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种角位移可控的多路步进电机控制系统,其特征在于,包括上位机、FPGA和多路驱动器,每路驱动器分别连接驱动一路步进电机;所述FPGA通过外围UART与上位机进行串行通信,FPGA中包括:串口数据读取模块,接收上位机传来的控制指令;数据解析模块,对接收到的每一帧数据进行解析,将其分配给不同控制器;角位移控制模块,对步进电机的角位移进行控制;脉冲发生器,根据接收的指令控制向步进电机发送驱动脉冲;锁相环,将时钟频率倍频后传递给各个模块;FPGA的系统顶层中,例化了各电机的控制模块并将实际输入控制指令作为信号源分配给对应模块。2.根据权利要求1所述的角位移可控的多路步进电机控制系统,其特征在于,所述串口数据读取模块,包括依次连接的同步寄存器、数据寄存器、波特率时钟生成模块、采样数据接收模块;同步寄存器对上位机输入的数据进行同步,消除亚稳态,存入数据寄存器;波特率时钟生成模块首先计算出波特率周期,除以系统时钟周期得到采样时钟分频计数值,通过计算器生成波特率时钟;采样接收模块对每一位数据进行采样。3.根据权利要求2所述的角位移可控的多路步进电机控制系统,其特征在于,所述数据解析模块,包括依次连接的计数器、帧结束判定模块、数据提取模块...
【专利技术属性】
技术研发人员:邱靖超,汪健,徐叔喜,张磊,
申请(专利权)人:中国兵器工业集团第二一四研究所苏州研发中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。