基于QT与单片机的直流电机无线通信控制系统设计

2019-08-27 09:21吴雨川李红军
武汉纺织大学学报 2019年4期
关键词:直流电机底层界面

江 维,沈 玄,吴雨川,李红军

基于QT与单片机的直流电机无线通信控制系统设计

江 维,沈 玄,吴雨川,李红军

(武汉纺织大学 机械工程与自动化学院,湖北 武汉 430200)

针对传统PC控制方式下的诸多缺陷,为有效提高通信距离以及节省硬件开发成本,本文提出了一种基于QT和单片机的直流电机无线通信控制系统设计方法,在所设计的系统中,单片机为下位机,PAD或手机为上位机,利用可视化编程软件QT设计了Android环境下的友好人机交互控制界面,实现了PAD或手机与单片机之间的双向数据通信,并成功应用于直流电机调速控制,整个软件系统编程模块化、易于扩展和二次开发、通用性强,适用于一般的工业控制系统。

QT;单片机;安卓;无线通信

0 引言

随着电动机种类的不断增加以及电机控制技术的不断发展,电机实现的功能越来越多,电机的应用范围也随之变广,尤其在工业生产中,电机作为一个基础的能量转换装置,几乎无处不在,其中直流电机凭借其优良的调速特性和稳定的动静态性能以及先进完善的控制手段,在汽车制造、金属冶炼,海洋钻井、矿山开采、便民生活设备、纺织工程等领域都得到了大规模的使用。早期的电机控制多以模拟开关在工业现场对电机进行调速控制,随着计算机技术的发展,出现了基于上位机[1-4]的电机控制系统,通过MFC等可视化开发工具设计电机控制平台,由于依然采用有线的通信方式,使得电机的操控人员不能够脱离底层工业现场,随着无线通信、安卓系统、PAD的广泛应用与发展,无线通信技术以其成本低,实用性更强,越来越多的应用于工业控制领域。Qt[5-8]是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架,它既可以开发GUI程序,也可用于开发非GUI程序,基于此本文在该环境下设计了友好的直流电机控制平台,通过无线通信方式实现了直流电机的远程控制,将操控人员的工作由恶劣的工业现场转移到了环境舒适的监控室,不仅降低了系统设计成本而且大大改善了操控人员的工作环境。

1 复杂工业直流电机无线通信控制系统的体系架构

复杂工业网络底层电机设备的控制体系结构如图1所示,整个工业控制系统抽象为由n路不同的工业控制系统构成,每路工业控制系统上配备有1台直流电机用于驱动底层设备,每台电机工作于作业现场实现完成既定的工业控制功能,其底层运行状态通过信号处理单元和工业级A/D采样卡获取,并由4G无线网络传输至工业控制运行部门监控中心的直流电机或底层设备控制基站,底层监控中心又与高层地市局监控中心通过公网相连,实现资源与信息的共享,同时,监控中心可以通过无线网向底层发送控制指令实现电机的调速等运动控制,通过上述这种方式监控中心可以与现场作业环境下的直流电机同时进行双向的数据与信息交换,从而形成一个由工业现场作业环境、直流电机控制系统、监控中心三位一体的智能工业控制运行与维护平台。在这个平台中,通过无线通信的方式由操控者对工业底层设备实现智能化管理与运行,能够大大降低作业风险、提高作业效率。

图1 复杂工业控制系统的体系架构

2 底层单片机串口通信系统设计

以单片机为下位机设计串口接收上位机发送来的数据,其中单片机P1口用于驱动直流电机,直接调用已固化的Motor()函数,通过参数On,Off,Forward,Reverse等参数的设置实现直流电机的启动、停止、正转、反转等调速运动,串行通信波特率设定为9600BPS,在KEILC软件中编写的结构化C语言程序如下:

#include

unsigned char flag;

unsigned char w,i;

unsigned int j;

void main()

{

TMOD=0x20;

TH1=0xfd;

TL1=0xfd;

TR1=1;

SCON=0x50;

PCON=0x00;

EA=1;

ES=1;

while(1);

}

void ser() interrupt 4

{

RI=0;

flag=SBUF;

if(flag=='1')

{

Motor(On);//启动

}

else if(flag=='2')

{

Motor(Off);//停止

}

else if(flag=='3')

{

Motor(Forward);//正转

}

else if(flag=='4')

{

Motor(Reverse);//反转

}

……

}

3 上层QT无线通信控制界面开发及调试

(1)在QT环境下,新建工程添加相应控件,所设计的直流电机无线通信控制界面如图2所示,整个界面由电机控制、网络联接、状态显示三个部分组成,其中电机控制模块部分能够通过PAD或手机向单片机发送控制命令,实现直流电机的启动、停止、正转、反转、加速、减速等功能控制,网络联接模块可以实现网络的联接与断开,状态显示模块能够实施显示直流电机的运行状态。用户通过手机或PAD可以向电机发送不同的调速控制命令,同时电机的运行状态也会通过无线网络发送至手机或PAD并实时的显示,整个控制系统按照这种全双工的模式运行。

(2)上位机发送控制命令的后台代码。在设计好的GUI界面上,为按钮控件添加响应函数发送控制命令,由于发送的控制命令格式和代码都是相同的,因此以下给出的是点击启动按钮的响应函数。

void Widget::onBeginBtnClicked()//电机启动按钮的响应函数

{

char ch;

QString str=LED1PushButton->text();

if(str==tr("启动"))

{

ch=Cmd.at(1);

tcpSocket->write(&ch,1);

tcpSocket->waitForBytesWritten(500);

}

if(str==tr("停止"))

{

ch=Cmd.at(2);

LED1PushButton->setText(tr("启动"));

tcpSocket->write(&ch,1);

tcpSocket->waitForBytesWritten(500);

}

}

(3)网络联接功能实现代码。在发送控制命令前,首先需要点击网络联接按钮,只有上层和底层控制成功组网,才能实现命令发送与状态显示功能。

void Widget::ConnectToServer()

{

tcpSocket->connectToHost(IP,port);

if(!tcpSocket->waitForConnected(2000))

{

QMessageBox::information(this,tr("提示"),tr("连接失败"));

tcpSocket->close();

}

}

(4)联机调试:首先配置无线通信模块的网络及IP,使得无线通信模块与手机或PAD成功组网,然后将无线通信模块接到单片机的串口P3.0和P3.1引脚上并上电,将可执行的HEX文件下载到单片机中。在手机或PAD上安装无线通信控制系统APP,打开APP界面,点击网络联接,成功组网后,可以分别点击界面上的电机控制按钮控件,可以观察到电机的运行状态,同时电机的运行状态也可以实时的显示在状态显示窗口,从而实现上层向底层发送控制命令,底层向上层发送运行状态的全双工无线通信。

图2 基于QT的直流电机无线通信控制界面设计

4 结语

针对工业远程无线控制的设计要求,本文基于QT设计了一种直流电机无线通信控制系统,有效的实现了PAD或手机与单片机的无线通信并完成了电机的远程无线控制,所设计出的友好可视化界面其编程模块,通用性强,易于二次开发和功能拓展,推广价值高,可运用于复杂的工业控制系统之中。

[1] 李志宏,杜娟,张平.基于VB的PLC和上位机通信的实现方法[J].控制工程,2002,9(1):35-37.

[2] 鞠剑平,江维,等.单片机原理应用教程[M].武汉:华中科技大学出版社.2012.08.

[3] 崔红亮.一种基于通用计算机的雷达显控终端软件设计[J].电脑知识与技术(学术交流),2007,2(10):202-203.

[4] 曾凌洋,杨建宇,熊金涛,等.基于嵌入式计算机的雷达系统显控终端软件设计[J].工业控制计算机,2005,18(7):30-31.

[5] 程滔.基于Qt的无人直升机地面显控终端软件设计[J].电子技术与软件工程,2017,(18):59-59.

[6] 贾杰,刘智腾.基于Qt的小型无人机地面站软件设计与实现[J].计算机与现代化,2015,(7):94-97.

[7] 石韵.基于嵌入式系统的雷达显控终端设计与实现[D].南京:南京理工大学,2014.

[8] 江维,吴雨川,李红军.基于PROTEUS和MDK的嵌入式虚拟实验室构建[J].武汉纺织大学学报,2018,31(5),22-25.

Design of Wireless Communication Control System for DC Motor Based on QT and SCM

JIANG Wei, SHEN Xuan, WU Yu-chuan, LI Hong-jun

(School of Mechanical Engineering and Automation, Wuhan Textile University, Wuhan Hubei 430200, China)

Aiming at the many defects in the traditional PC control mode, in order to effectively improve the communication distance and save the hardware development cost, this paper proposes a design method of DC motor wireless communication control system based on QT and single chip microcomputer. In the designed system, the SCM is the lower controller, PAD or mobile phone is the upper controller. The friendly human-computer interaction interface control in android environment is designed by visual programming software QT so as to realize the dual direction data communication between PAD / mobile phone and single chip microcomputer. It is successfully applied to DC motor speed control and the whole software system programming. And the modular, easy to be expanded and secondary developed versatile, which is suitable for general industrial control systems.

QT; SCM; Android; wireless communication

江维(1983-),男,讲师,博士,研究方向:智能控制与机器人系统.

武汉纺织大学教学研究项目(2018JY019).

TN915.41

A

2095-414X(2019)04-0072-04

猜你喜欢
直流电机底层界面
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于模糊自适应ADRC的无刷直流电机控制技术
航天企业提升采购能力的底层逻辑
微重力下两相控温型储液器内气液界面仿真分析
国企党委前置研究的“四个界面”
扁平化设计在手机界面中的发展趋势
单程票传送机构中直流电机的驱动设计
基于霍尔位置信号的无刷直流电机直接转矩控制
回到现实底层与悲悯情怀
中国底层电影研究探略