前言:想要写出一篇引人入胜的文章?我们特意为您整理了步进电机控制系统设计分析范文,希望能给你带来灵感和参考,敬请阅读。
关键词:步进电机;STM32单片机;细分驱动
步进电机是一种通过脉冲信号控制角位移的器件,作为一种执行机构被广泛应用于数字控制系统、伺服系统及工业机器人等领域[1-2]。本文以两相四线制混合式步进电机为研究对象,设计出一款基于微处理器的步进电机控制系统。系统通过按键和语音识别两种方式向系统发出控制指令,提高了系统的交互性;通过采用指数型加速曲线,提高了步进电机连续运行频率范围;通过采用细分驱动方式控制步进电机,使系统具有步距角小、运行平稳特点;同时系统在硬件和软件设计上均采用了抗干扰设计,使系统运行更加可靠。该实践项目结合工程实际,很好地奉行了基于项目、基于案例的教学方法和学习方法,可以较好地促进学生综合实践能力的提升,为学生创新设计打下基础[3]。
1系统总体设计
如图1所示,步进电机控制系统主要由微处理器模块、步进电机驱动模块、按键输入模块、语音模块及显示屏模块组成。步进电机选取两相混合式步进电机,型号为57BYG250。按键和语音输入模块向系统发出启动和停止、加速和减速等控制指令,设置运行步数和运行频率,改变步进电机运行模式、转动方向、步距角等。微处理器模块负责识别控制指令并进行信息处理,根据控制指令输出一定频率脉冲信号和控制信号,脉冲信号驱动步进电机转动,控制信号改变电机转动方向和步距角等。显示屏模块实时显示当前系统运行的相关参数,如电机转动速度、转动方向和运行模式等。步进电机驱动模块负责接收控制信号和脉冲信号,对脉冲信号进行分配和功率放大,驱动电机转动。
2系统硬件设计
如图2所示,步进电机控制系统硬件电路主要由单片机最小系统、电源转换、按键接口、显示屏接口、语音模块接口、光耦隔离、驱动芯片及外围等电路组成。
2.1单片机最小系统
最小系统需要处理来自按键和语音控制命令并产生控制信号,因此要求系统具有IIC、SPI等串口通信外设和产生脉冲输出功能。STM32F103系列单片机具有丰富的外设接口,性价比高,运行速度快等特点[4]。本文基于STM32F103C8T6设计的最小系统,包括电源转换电路、晶振电路、下载电路及复位电路。最小系统电路如图3所示。晶振电路使用8M石英晶振作为芯片高速外部时钟源,晶振两端22pF起振电容接地,并联1M电阻帮助起振。下载电路设计20针JTAG接口,使用单片机JTAG模式进行程序下载和在线调试。复位电路采用带按键的RC复位电路。
2.2步进电机驱动电路
系统基于THB6064MQ芯片实现步进电机驱动电路设计。该芯片是一款大功率、高细分的集成功率驱动芯片,适合驱动57系列步进电机[5]。THB6064MQ芯片内部集成了电流分配、双H桥驱动、过流和温度保护电路,需要设计相应的外围电路保证芯片正常工作。驱动电路设计如图4所示。M1、M2、M3三个引脚通过光电隔离模块同控制模块连接,完成对细分数的控制。驱动芯片DCY1、DCY2两个引脚通过拨码开关设置不同衰减方式,改善芯片驱动效果,提高电机运行的平稳性。在分压电路中调节滑变阻R9,使VREF引脚电压为1.8V,满足步进电机额定驱动电流3A需求。在VREF和Down引脚之间串联电阻R11,实现半流锁定功能,在电机锁定状态下降低驱动电流,减少能量的损耗。RESTER引脚低电平时,芯片复位,RC自动复位电路中的二极管D1有利于电路断开后,电容C2迅速放电,方便芯片下一次复位。ALERT引脚串联LED灯,当芯片发热严重时,ALERT输出低电平,电路导通,LED灯发光,提醒操作员及时散热,实现过流及温度保护[6-7]。
2.3光耦隔离电路
步进电路驱动电路中,如果直接将控制信号引脚与驱动电路相连,则需要控制电路与驱动电路共地连接,驱动电路中的大电流有可能沿着地回路对控制电路的数字器件造成电磁干扰,甚至烧毁低工作电压的芯片[8]。因此,设计光耦隔离模块将控制电路和驱动电路进行电气隔离。隔离信号包括高频率的脉冲信号和低频率的开关信号,使用6N137芯片隔离高频信号,使用TP521芯片隔离开关信号,隔离电路设计如图5所示。TP521隔离电路采用同相逻辑传输方案,限流电阻R23取330,防止导通时电流过大烧毁发光二极管,R17为3、4引脚内部的光敏三极管上拉电阻。6N137隔离电路中2、3引脚之间为发光二极管,能使引脚7接高电平,R24为限流电阻,C5为去耦电容,可减少输出端电源波动,R22和C6改善高频传输时芯片的响应时间。
2.4电源转换电路
系统电源电路需要满足控制电路和驱动电路两部分需求。控制电路STM32F103C8T6和语音模块等数字器件需要3.3V工作电压,驱动芯片THB6064MQ内部集成的H桥驱动电路需要4.5~42V输入电压,另外,芯片还需要5V的工作电压,步进电机额定电流为3A。电源分配如下:使用电源适配器将220V市电转换为5V直流电,使用AMS1117降压芯片将5V电压降低为3.3V供控制电路相关器件使用,使用开关电源将220V市电转换为24V/3A直流为驱动电路供电,使用LM317芯片将24V转换为5V供驱动芯片使用。降压电路设计如图6所示。AMS1117降压电路中,输入输出滤波电容均选取220uF钽电容和100nF无极性电容,分别滤除高频和低频干扰。LM317降压电路中,C7、E5、E2为输入滤波电容,电路中大电容均使用铝电解电容,小电容使用陶瓷电容,使用R28和R30搭建分压电路为ADJ引脚提供反馈电压,R28和R30电阻值取1KΩ和3KΩ,设置输出电平大小约为5V。
2.5其他模块
显示模块采用OLED12864显示屏,分辨率为128×64,可显示4行汉字,每行最多8个。该模块使用IIC通信协议,通过CK、SD引脚与单片机进行通讯。语音模块采用LD3320语音识别模块,该模块集成优化算法和语音识别处理器,不需要进行训练和录音,只需将待识别词语拼音写入寄存器即可,模块使用SPI通信协议与单片机进行通讯,IRQ中断请求引脚与单片机外部中断复用功能引脚相连,当语音模块检测声音时,便会发出中断请求[9]。显示模块和语音模块实物图如图7所示。
3系统软件设计
整个系统软件设计包括:转速控制子程序、按键扫描子程序、语音识别子程序、显示子程序、主程序和中断服务程序等。
3.1步进电机转速控制
步进电机转速与输入脉冲频率有关,驱动电路每收到一个脉冲,电机绕组通电状态发生一次改变,电机转过一个步距角。系统使用STM32F103C8T6定时器2产生PWM方波,通过设置定时器PSC分频值和ARR重装载值得到PWM方波频率。定时器按照72M工作频率分频后的频率向上计数,当计数值达到ARR值时清0重新计数,设置PWM模式比较值为ARR的1/2,当计数值小于比较值时,输出高电平,反之输出低电平,由此,产生驱动步进电机转动的脉冲。脉冲频率与PSC、ARR关系如式(1)所示。本系统将PSC固定为3599,当设定步进电机运行频率时,反向计算出ARR值,通过重新设置定时器ARR值,就可改变步进电机转速。
3.2指数型加速曲线设计
步进电机由于绕组存在电感,当电机启动频率过大时,绕组电流短时间内无法上升到驱动转子转动的大小,导致电机丢步或启动失败现象出现[10]。因此,本系统在电机启动频率高于1500Hz时,使用指数型加速曲线逐渐提高运行频率,过渡时间不超过0.1s。同直线型加速曲线相比,指数型加速曲线更加符合步进电机的矩频特性,加速曲线如式(2)所示[11]。其中,f0为初始频率,设置为1500Hz,fh为待设置频率,k1为频率系数,取值区间为0.90~0.98,f(k)为当前运行频率。
3.3主程序设计
主程序功能主要是初始化驱动模块、语音模块及按键模块的I/O口,进行中断分组并设置抢占优先级和响应优先级[12],初始化定时器中断、外部中断及看门狗中断。开启中断,等待中断发生。主程序设计流程图如图8所示。在主程序中为提高抗干扰性,引入窗口看门狗程序,在程序运行过程中,必须不停地在窗口时间内进入喂狗中断服务程序,如果程序跑飞而不能及时喂狗,芯片则会发生软复位,系统重启。
3.4中断服务程序设计
中断服务程序主要完成命令识别、控制和实时显示步进电机运行状态。进入中断首先判断是否发生定时中断,如果是,运行一次语音识别,如果成功,读取最佳识别结果,使用switch-case语句对识别结果进行判断,执行相应程序;运行键盘扫描程序,确定键值,使用switch-case语句根据键值执行相应程序。中断服务程序流程如图9所示。
4结语
步进电机具有开环精度高、可靠性高优点,被广泛应用于各种控制领域。本文设计的步进电机控制系统采用细分功率芯片设计驱动电路,性价比高,步进电机能以更小步距角转动,运行更加平稳。按键模块和语音识别两种输入命令方式,极大提高了步进电机运用过程中的人机交互,在硬件和软件上采用抗干扰设计,使系统运行更加可靠。
作者:吕淑平 赵斌韬 单位:哈尔滨工程大学