嵌入式系统的多路步进电机控制系统的设计

(整期优先)网络出版时间:2020-09-15
/ 2

嵌入式系统的多路步进电机控制系统的设计

邹军林

广州市极越电子有限公司 广东 广州 510000

摘 要:随着我国科学技术的不断发展,嵌入式单片机被逐渐应用在各个行业中,其应用属于计算机技术的范围,将其应用在多路步进电机控制中可以构建嵌入式智能化系统,使多路步进电机控制更加完善。本文对嵌入式系统的多路步进电机控制系统的设计进行探讨,分析了步进电机的工作原理,以嵌入式为创新渠道,对硬件电路设计、下位机软件设计、上位机系统设计展开研究,仅供参考。

关键词:嵌入式系统;多路步进电机;控制系统设计

前 言:

我国科学技术的不断完善带动了步进电机的发展,且在实际应用中不断创新,比较传统电机发生了较大的变化,这样的革新也是步进电机的必然趋势。本人从2016年11月份起直到目前在广州市极越电子有限公司从电子设备研发设计工作,一直担任高级嵌入式硬件工程师岗位,主要负责电子设备硬件设计工作,电子设备嵌入式软件开发工作,下面将对嵌入式系统的多路步进电机控制系统的设计展开论述。

一、步进电机工作的原理

步进电机设计需要借助步进的转动,将脉冲电信号变成角位移动,有时也会这样可以给予电机的脉冲信号,相关技术人员设计的步进电机脉冲数需要符合实际需求。步进电机的速度与脉冲频率成正比,且运行速度、运转位置都与脉冲数值哟管,且不会受到负载变化的影响。步进电机在运行时,不可以直流电源工作,需要按照步进电机控制器设计进脉冲的方向,每当电动机发射一个脉冲,步进电机就相当于向前走近了一段距离,启动或停止都完全取决于脉冲的有无或频率的高低。在通常情况下,步进电机会由多个部分组成,只要收到脉冲信号数,便会按照提前设置的电机运行方式进行运作[1]

  1. 硬件电路设计

(一)总体设计

控芯片通过嵌入式以太网控制器w5500与上位机通信,通过SPI通信将上位机命令发送给主控制端STM32,得到驱动电机的脉冲数量,从而控制各路步进电机,在实际应用中需要采用ST公司的STM32F407系列微控制器,按照指令所需的频率精确达到目的位置,电机驱动芯片采用A4984SLPTR-T芯片,并选择混合式步进电机,如图1.所示。

5f60262963b18_html_2982af587cb1adf1.png

1.系统总体设计构图

(二)电机驱动模块

系统电路中电机驱动模块采用AIGO公司的A4984SLPTR-T电机驱动器,该系统中带有内置转换器,且拥有高达35V和±2A的输入驱动能力,以微电机驱动器控制为主。A4984sLPTR-T电机驱动器控制简单,内部设有电流稳压器,该稳压器可在慢或混合衰减模式下工作,若在实际工作中电机的温度过高,则可以将电机的电流设定为1.414A,尽可能的提高电机利用率,保证电机芯片不会超负荷运行[2]

主控制器只需启用TXT、MS1、MS2,并在此基础上配置好电机驱动芯片,以此完全控制此步进电机。ENABLE为步进电机控制器的使能端,通过ENABLE命令控制电机是否处于使能状态或电机锁死状态,在此过程中需要以DIR为电机的方向控制端,防止电机自动或人为滑动,以此控制电机的方向。同时,应通过接收主控给与的电平高低来控制电机的转动方向,为电机的脉冲端接收主控发出的脉冲数量,使模块运行更加稳定。

三、下位机软件系统设计

(一)软件总体设计

根据设计需要利用嵌入式系统把握软件总体设计,其中包括网络通信任务、电机驱动任务等,且信号量需要保持同步运行。为了保证步进电机系统的实时性,需要设定任务优先级为次高,防止抢占CPU控制权,具体为以下几点。

  1. 通过工作人员的设定发出电机控制指令,由SPI通信发送至主控制端,并在主控制端建立储存,防止命令丢失,最后由终端对命令进行解析。

  2. 主控制端使用电机控制算法解析命令,以此控制电机动作,参数包括电机频率、脉冲总数、电机转动方向等信息。

  3. 完成动作后通过SPI向网络控制传输指令,由下位机结束命令,等下下一协议命令[3]

(二)嵌入式系统选择

ARM系列微处理器不支持大型操作系统的移植,无法满足大量的程序设计,如加入嵌入式系统不仅可以满足ARM大型操作系统的移植,且可以完成多个任务的同步运行,这样的完善符合步进电机在应用中的实际需求。在设计过程中可以选用FreeRTOS嵌入式实时操作系统,以此完成时间片调度切换任务,在此过程中可以利用Fre-eRTOS实时操作系统进行优先级的配置,且实际应用中的内核占用空间小、实时性高,用途较为广泛。

(三)网络通信管理

下位机部分时段无法接收连续运动指令,因此可以设计一个环形链表算法对数据进行实时监控,并对处理的命令进行过滤,将先存储在链表中但未处理的命令删除,此时上位机向网关发送命令可以避免命令冗余,防止接收过程中出现网络连接中断的现象。

(四)电机驱动控制

电机驱动控制可以分为俩种,一种是定时器PWM脉宽调制驱动,另一种则是使用定时器中断来驱动。本人在设计中选用PWM脉宽调制驱动,在步进电机起始阶段频率变化过大时,通过设置自动装载值和预分频值来控制占空比,而为了防止电机出现过冲或失步的现象,需要控制电机的频率,启动阶段需要进行预热,有效规避电机失步、过冲现象的发生。

四、上位机系统设计

(一)上位机编写

PC上位机使用python3.5和pyqt5进行研发编写,并在此基础上对功能性进行拓展。选择Python可以完善开发环节,使最大频率达到10000电机转向,当电机动作完成之后,需要利用信息的通讯协议选择互转,并等待下一次命令,以此防止电机误差的叠加。系统的实际状态需要读取运动指令,通过串口识别速度参数,读在识别后需要对系统指令进行解析,设计Planner_t结构体,缓冲区大小可以根据实际使用情况定义[4]

(二)控制电路

在设计的过程中,一般按照电机相关系统设置脉冲数,在设计电动机的控制电路的过程中,需要通过步进电机内部设置中断器来完成,并按照软件延时步进电机的相关的运行原理进行电路控制,以此制约电动机的转速。同时,在设计中应按照电动机系统的断开和闭合控制系统转速,加强步进电机的定时的功能,减缓步进电机的电路中电机的转速度,通过控制步进电机的开关调节相关数据,强化步进电机的性能。

  1. 实验结果与分析

在实际应用创建8个实时电机控制任务,并比较丢失步的比例,每给一个脉冲数就要进入一次定时器中断,当脉冲数完成后由串口通信打印至串口调试助手,通过若干次测试可以显示该电机控制系统的丢失步比例均在1%以内,因此可以将此控制系统运用在实际工作中。

结束语:

公司在储能管理方面拥有丰富的经验和雄厚的实力,获得多项国家发明专利和实用新型专利,应用在电力、通信、新能源等领域,可创造极高的企业价值和社会价值。

参考文献:

[1]王宜瑜,宋树祥,王斌,等.嵌入式系统的多路步进电机控制系统的设计[J].计算机测量与控制,2019,027(009):76-79,84.

[2]董莹.ARM技术在步进电机控制系统中的设计研究[J].佳木斯大学学报(自然科学版),2019,37(01):40-42.

[3]熊远生,刘春元,蔡伟忠.基于STM32的步进电机控制器设计[J].制造业自动化,2019,041(005):39-41,105.

[4]靳晓波.基于单片机控制的谷子精量播种控制系统设计[J].机械工程与自动化,2019,000(004):197-198,201.