APP下载

基于移动终端的步进电机驱动系统模型研究

2023-10-29周二刚

山西电子技术 2023年5期
关键词:电平终端联网

周二刚

(山西职业技术学院,山西 太原 030006)

1 物联网系统中的步进电机技术

当前,在物联网自动化控制系统的设计与研发过程中,普遍使用了以脉冲信号驱动的步进电机作为底层硬件机械的驱动设备,与传统的直流电机相比,步进电机拥有多组定子极线圈,每组定子极呈对角分布,给其中一组通电时,该组定子极会驱动电机旋转一个固定的角度;而通过给各对定子极线圈轮流通电,即可控制电机以固定的角度精确旋转(角度误差低于5%)[1],同时,由于每次的旋转驱动均是独立完成,因此不存在转动误差的积累问题。在通过物联网系统驱动激光切割机、自动装配生产线、3D打印喷头等设备进行高精度操作时,步进电机以其优秀的控制性能、精确的转动角度与误差自动修正能力得到了广泛的应用。

而随着5G通信网络的普及与物联网技术的不断发展,以智能手机、平板电脑为代表的移动终端设备在物联网控制系统中的整合与应用成为未来物联网技术发展的主要趋势,因此,用户通过移动端设备对步进电机的运动进行精确控制就成为未来物联网系统的重要组成部分。针对以上需求,本文构建了基于移动端的步进电机驱动系统模型设计方案,探索了通过无线网络实现移动终端到步进电机的信号传输流程与控制信息发送、数据解析以及控制电平输出等环节的具体实现过程。

2 Raspberry Pi平台与移动Web技术

在物联网控制系统中,实现对硬件设备的控制功能的核心技术是将计算机中的数字信号转换为控制电平并发送至硬件设备接口的机制。该机制的实现,需要由同时具备网络通信能力、数据运算处理能力以及功能全面的I/O接口的硬件平台完成。Raspberry Pi作为源于英国的新一代民用微型计算机平台,以其体积小巧、能耗低、接口丰富的优点被广泛应用于多种类型的中小型物联网项目中[2],同时其强大的软硬件兼容能力与低廉的采购价格也非常适用于注重兼容性与性价比的物联网控制系统原型的设计研发工作中。

移动Web是针对平板电脑、智能手机等设备推出的Web页面开发技术,其核心为HTML5标准,由HTML5所开发的Web页面在浏览器兼容性、屏幕自适应、多线程、智能化表单等方面具有优异的表现,在为用户提供更强大的数据交互功能的同时,还能够提升用户的操作体验。此外,从控制系统开发难度与成本投入的角度考虑,移动Web技术还具备了投入成本低、系统开发与迭代周期短、便于维护等优势。本文所设计的系统模型在确保各项功能稳定可靠的同时,从兼顾硬件兼容性与软件实用性的角度出发,非常适合选用移动Web技术完成用户UI界面的开发。

3 系统架构设计与实现原理分析

本文所设计的步进电机驱动系统模型如图1所示,由移动端浏览器、Web服务器、控制终端模块和步进电机组4个部分组成,其中移动浏览器通过HTML5页面向Web服务器以POST模式发送数据,此类数据用于描述用户所指定控制的步进电机以及需要设置的电机工作状态。Web服务器用于部署基于HTML5技术开发的Web页面,为用户提供调用系统功能的操作界面;同时,移动端模块还能够基于Web服务器上的数据库中预先存储的用户信息创建身份验证功能,禁止非授权用户任意控制步进电机。Web服务器在获取到用户发送来的POST数据后,对其进行格式转换并封装成为JSON格式的缓存文件,为控制终端模块提供控制信息。步进电机组与控制终端模块直接连接,基于Raspberry Pi平台构建的控制终端模块以定时轮询的方式从Web服务器上读取缓存文件中的JSON数据后,解析并获取其中的电机ID与状态控制命令,在将电机ID转换为I/O接口编号并将状态控制命令转换成电平信号后,把信号发送至相应的步进电机即可最终完成步进电机的驱动控制。

图1 系统的组成结构

步进电机中的定子极组数被称为相数,当前常用的步进电机的相数为2至5相[3],本文中采用了28BJY-48型4相步进电机与ULN2003型控制板完成系统测试。同时,对于控制终端模块硬件的选型,采用了当前性能最稳定的Raspberry Pi3B+版本。

3.1 移动端与Web服务器的数据交互

用户使用移动端浏览器访问Web服务器提供的UI(User Interface,即用户界面)页面并完成不同类型数据的交互操作,其中用户身份验证的功能通过Web页面中的Input控件配合Jquery框架所提供的MD5加密服务将用户账号以加密后的登录密码字符串发送至服务器端与数据库中的预设信息进行校验后由服务器端根据校验结果对用户的访问请求进行重定向操作;而用户对电机控制命令数据的配置与发送则由Web页面中Select控件与button控件组成的操作界面完成,服务器在接收到数据后,在把数据转换为JSON文件的同时,还将其存储至数据库中以保留用户的操作日志。

3.2 控制终端模块从Web服务器中获取数据

控制终端模块的通信与控制功能均基于Python开发框架设计,其中从服务器中获取JSON数据的功能通过client模块访问Web服务器所提供的WebService接口实现,而对JSON数据的解析则基于json.loads方法实现,解析完成后的数据为Python字典格式,通过Python提供的get()方法即可完成各数据值的读取。

3.3 控制终端模块对步进电机的状态控制

实现对步进电机的驱动与控制首先要在Raspberry Pi平台与步进电机控制板之间建立线路连接,Raspberry Pi提供的GPIO接口与电机控制板引脚的线路连接方式如表1所示。Raspberry Pi通过GPIO接口向电机控制板发送不同的高低电平信号用于改变步进电机工作状态[4]。在具体控制过程中,各个接口的电平发送功能通过Python的GPIO.output方法实现,电平信号的发送间隔时间则由time.sleep方法进行控制。

4 关键实现技术分析

1) 用户身份验证信息的加密与发送

//引入Jquery框架

//引入Md5加密模块

2) 控制终端对JSON数据的获取与解析

基于Raspberry Pi平台开发的控制终端上,使用Python语言完成各项功能

from suds.client import Client //导入client通信模块

import json //导入json数据处理模块

svurl="服务器地址" //设置服务器URL地址

datas=Client(svurl) //从服务器端获取数据

info=json.loads(datas) //解析JSON格式的数据

info.get('数据项名称') //从解析完成后的数据集中获取数据项

3) 控制终端电平信号的发送

import time #导入时间控制模块

import RPi.GPIO as GPIO #导入引脚控制模块

GPIO.setmode(BOARD) # 设置引脚控制模式为BOARD

GPIO.setup(pin,GPIO.OUT) #设置引脚工作模式为信号输出模式

Ps=[11,15,16,18] #设置引脚序列

cmds=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]#设置步进电机正向转动指令电平序列

#需要设置步进电机反向旋转时,序列值为:[[0,0,0,1],[0,0,1,0],[0,1,0,0],[1,0,0,0]]

for m in range(0, 4): #基于循环结构从各引脚发出控制电平序列

for n in range(0, 4):

p=ps[n]

if cmds[m][n]!=0:

GPIO.output(xpin, True)#指定引脚发出高电平

else:

GPIO.output(xpin, False)#指定引脚发出低电平

time.sleep(0.00001)#每个电平之间的间隔时间

5 结论

本研究基于移动物联网技术的发展趋势,对步进电机的驱动控制机制进行了创新研究,构建了以Web服务器、RaspberryPi平台为核心的步进电机驱动控制系统模型,实现了通过移动终端对步进电机驱动运动状态的远程精准实时控制。同时,在该原型的基础上,可以根据不同应用场景进行步进电机运动状态及硬件功能的扩展,对同类物联网项目的研究具有良好的参考价值。

猜你喜欢

电平终端联网
“身联网”等五则
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
抢占物联网
多功能北斗船载终端的开发应用
NPC五电平Z源逆变器的设计研究
基于三电平光伏并网逆变器控制系统的研究与实践
基于NPC三电平变换器的STATCOM研究
可再生能源与物联网
一种多电平逆变器及其并网策略