APP下载

基于 FPGA 的步进电机控制系统

2021-12-27居高峰陈嘉俪

科学与生活 2021年22期
关键词:步进电机控制系统

居高峰 陈嘉俪

摘要:生活中旋转电机的使用需求日益增大,对其功能要求也随之提高,为使电机呈现多种状态动作,本文设计了一种基于无剑100开源平台的FPGA步进电机驱动系统。该系统使用Vivado软件对资料生成Bit流文件,将Bit流文件放到SD卡中配置到FPGA芯片之中,形成对应的电路。然后使用CDK软件编写代码,实现四路PWM波,通过对PWM波控制,实现57系列步进电机的正反转与加减速功能。通过自行设计的上位机进行监测,实现步进电机的驱动。

关键词:FPGA开发板;Bit流文件;步进电机;控制系统

Abstract:The demand for the use of rotating motors in daily life is increasing, and its functional requirements are also increasing. In order to make the motors show a variety of state actions, this paper designs an FPGA stepper motor drive system based on the Wujian 100 open source platform. The system uses Vivado software to generate a Bit stream file for the data, puts the Bit stream file in the SD card and configures it in the FPGA chip to form the corresponding circuit. Then use CDK software to write codes to realize four-channel PWM waves, and realize the forward and reverse rotation and acceleration/deceleration functions of 57 series stepping motors by controlling the PWM waves. Through the self-designed upper computer to monitor, realize the stepping motor drive.

Keywords:FPGA development board;Bit stream file;Stepper motor

旋转电机的实用场景有电动衣架、旋转式烤箱及电动卷帘门等,本文中以电动卷帘门的应用场景为主。电动卷闸门是以多关节活动的门片串联在一起,起动有电动机组带动,在固定的滑道内,以门上方卷轴为中心转动上下的门,广泛适用于商业门面、车库、商场、医院、厂矿企业等公共场所或住宅。本文设计了一种针对电动卷帘门的步进电机控制系统,通过Vivado生成FPGA的Bit流文件,电动卷帘门采用按键装置可以实现旋转电机的正转,反转,变速转动及限位暂停,轻松方便。在滑台两侧安装了两个限位开关,当滑台触碰到限位开关之后滑台会立即停止向前移动,并且向相反的方向短暂滑行一段距离,以保证限位开关弹簧的弹性,更加具有现实意义。

一、系统硬件设计

本系统的硬件部分由控制系统、驱动系统和执行系统组成。控制系统包括平头哥FPGA开发板以及接口扩展板,驱动系统采用电机驱动模块,57步进电机滑台为执行系统。

1.控制系统

如图1所示, FPGA开发板是平头哥提供的Xilinx 7系列FPGA采用28nm HKMG HPL工艺的开发板,大幅提高了FPGA性能和容量。配置时需要先将生成的Bit流文件以cfg.bit的名字命名存入SD卡中,将J5接口接道PS模式。上电后进行按下power键与K6-RE-PROG按键。板上D7 LED等开始快速闪烁,表示正在配置FPGA配置完成之后,D7 LED停止闪烁,D1 LED常亮绿色,表示配置正确。此过程需要一分钟左右的时间。如图2所示,设计的接口扩展板包含电源接出口、YOC引脚接出口、PWM输出口、限位开关1与2、正反轉按键、加减速按键与停止按键。其中四路PWM口接入YOC3上的J24.1(PAD_PWM_CH0)、J24.4(PAD_PWM_CH2)、J24.6(PAD_PWM_CH4)、J24.8(PAD_PWM_CH6);限位开关1接入YOC1上的J2.5(PAD_GPIO_3),限位开关2接入YOC1上的J2.8(PAD_GPIO_6);正反转按键接入YOC1上的J2.7(PAD_GPIO_5);加减速按键接入YOC1上的J2.4(PAD_GPIO_2);停止按键接入YOC1上的J2.6(PAD_GPIO_4)。

2.驱动及执行系统

图3是电机驱动模块需要接入12伏稳压电源,左右两端分别接入四路PWM波的1-4口。图4为57步进电机滑台,滑台左侧装有限位开关,右侧为滑台的57驱动电机与限位开关。

二、系统软件设计

1.CDK软件运行代码

将程序编辑好之后Build进行编译。点击“Start/Stop Debugger”按钮 进入调试,最后点击运行按钮即可在FPGA开发板运行代码。用FPGA板上的YOC1上的J2.7(PAD_GPIO_5)、J2.4(PAD_GPIO_2)、J2.6(PAD_GPIO_4)分为控制转向、控制加减速与停止的按键开关。GPIO触发方式统一设置成按键下降沿触发中断方式。用FPGA板上的YOC3上的J24.1(PAD_PWM_CH0)、J24.4(PAD_PWM_CH2)、J24.6(PAD_PWM_CH4)、J24.8(PAD_PWM_CH6)分别作为控制57电机的四路输出PWM波形控制口。用FPGA板上的YOC4上的J23.3(PAD_USI0_SCLK)、J23.4(PAD_USI0_SD0)分别作为TX与RX,与串口的RX和TX相连。其初始化配置关键代码如下:

2.电机算法

图5是电机算法代码流程图。初始化之后,对按键进行判断以进一步控制步进电机。

3.Bit流文件生成流程

图6在Vivado新建工程文件之后,选择正确的开发板型号,添加的Top文件与参数文件,再添加过后的FPGA的管脚约束与时序约束文件。开始运行占用资源。图7是生成后的bit流文件,最后将Bit流文件命名成cfg.bit拷入SD卡中,即可打开开发板进行配置。

三、系统测试

本系统以57步进电机搭建的滑台进行结果的展示。三路PAD_GPIO口对应按键分别为正转/逆转按键、加速/减速按键、停止按键。两路PAD_GPIO对应滑台两侧的限位开关。四路PAD_PWM_CH通道对应PWM波形。从软件设计到電机控制,形成了一个基于无剑平台的FPGA开发板的电机控制系统(图8-11)。

四、结语

旋转电机的实用场景有电动衣架、旋转式烤箱及电动卷帘门等,系统运行过程中能够实现滑台的左移右移,加速与减速。当触碰到两侧的限位开关后会立即暂停并且再向相反的位置移动一小段距离,用来保护限位开关,防止丢失弹性。可直接应用于实际中各种需要控制转速转向的场所,具有重要现实意义。

参考文献

[1]陶俊豪.FPGA在高压高速直线电机检测仪的应用研究[J].电动工具,2021(04):10-14.

[2]邱靖超.基于FPGA的步进电机多轴运动控制系统设计[D].中北大学,2021.

[3]刘杨.基于FPGA与单片机的数字高压表设计[D].北华航天工业学院,2021.

[4]吴建成.基于FPGA模型设计的永磁同步电机控制系统实现[D].广东工业大学,2020.

[5]周传伟.基于FPGA的图像边缘检测系统的研究与设计[D].成都理工大学,2020.

[6]李钰.基于FPGA的多电机控制系统设计与实现[D].华中科技大学,2017.

作者简介

居高峰(1997.01-),男,汉族,江苏省扬州市人,南通大学信息科学技术学院硕士研究生在读,主要研究方向:集成电路。

通讯作者

陈嘉俪(2000.12-),女,汉族,江苏省盐城市人,南通大学杏林学院本科在读,主要研究方向:电子信息工程。

猜你喜欢

步进电机控制系统
一种可自动伸缩的嵌入式LED灯具设计
步进电机智能控制的设计与实现
基于PLC的自动切蛋糕机的控制方案
Ka频段卫星通信自适应抗雨衰控制系统设计
基于PLC的钢厂热连轧感应加热炉控制系统实现
工矿机车GK1F、GK1C柴油机调速控制
基于单片机的自动化立体车库控制系统设计
基于单片机的雷达伺服控制系统
风力发电机组电气与控制系统快速检修思路探索