基于单片机运动控制系统设计
2022-01-25李香飞张晓光张晓伟
李香飞,张晓光,张晓伟
(天津职业技术师范大学 工程实训中心,天津 300222)
0 引言
运动系统数字控制通常采用硬件和软件相结合方式,采用单片机,由C语言或汇编语言进行软件开发,通过串行或并行通信的方式实现,可直接对数控系统中电动机实现控制,因此单片机控制在计算机外围设备、数控机床和自动化生产线等领域的应用,己经成为了一种必然的趋势,也符合数字化的时代发展要求。
本设计控制系统主要介绍了硬件组成、硬件工作原理分析、主要程序设计;其利用单片机作为控制器,采用了无线技术,通过远程控制和监控步进电机运动状态,实现系统精确位置控制。
1 运动控制结构组成
控制系统硬件主要由步进电机、步进电机驱动器、51单片机、LCD显示屏、独立按键、电源六部分组成[1]。运动控制结构组成如图1所示。
图1 运动控制结构组成
1.1 控制系统驱动电路
控制系统中适用中小功率晶体管驱动小功率的步进电机,晶体管具有放大倍数大、线路简单等优点。功率较大的步进电机因其绕组所通电流较大、电压高并且具有较大的反电动势,因此小功率晶体管不再适用,需采用大功率晶体管驱动[2]。ULN2003D单片机可承载高电压、高电流,其内部电路由多列达林顿晶体管组成,控制系统驱动电路主要用于继电器驱动器、显示驱动器(LED气体放电)等驱动电路。
1.2 外部控制电路
红外遥控通信是利用红外功能实现近距离通信功能,由红外发射、接收系统组成。红外辐射源对发射系统进行调制,然后发射红外信号,接收系统利用光学装置进行红外探测接收信号,组成通信系统。
将J1跳线短接时,P3.2脚与红外输出端相连,此时开启了红外功能。当P3.2脚做别的用途时最好断开,以免影响。
1.3 控制系统整体电路
单片机控制步进电机的整体控制电路,将STC90C51单片机作为各控制核心,把驱动电路、接口电路有机结合起来形成一个完整的电路。
步进电机通过红外遥控器控制,实现正转/反转/停止/加减速/螺距设定功能。在系统工作的过程中,LCD液晶屏显示步进电机实时运行的圈数、度数、位移量、速度、螺距等参数,并且LCD指示步进电机的当前运行状态。控制系统电路图如图2所示。
图2 原理图
2 程序设计
2.1 控制系统工作过程
1)系统初始化,工作状态的初始化。
2)系统启动。液晶初始化,运行主要参数的显示。
3)红外遥控扫描。红外遥控按键功能包括停止按键、正转按键、反转按键、螺距设置按键、加速按键、减速按键。
4)步进电机驱动控制。实现电机正反停功能、调速功能、位移监测功能、螺距设定功能、红外遥控功能等[2,3]。
2.2 流程图
主程序工作流程图如图3所示。在图中简单地反映出了整个控制系统的主程序工作流程。
图3 主程序流程图
2.3 电动机正反转功能程序设计
根据步进电机正反转控制功能,设计程序如下[4-5]:
#include
#include
#define uchar unsigned char
#define uint unsigned int
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;
sbit key5=P3^7;
sbit key6=P3^5;
sbit key7=P3^6;
sbit lcden=P2^7;
sbit lcdrs=P2^6;
sbit lcdrw=P2^5;
void write_com(unsigned char com);
void delay2();
uchar IRCOM[7];
unsigned char code FFW[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6};
unsigned char code FFZ[8]={0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe};
unsigned char code disp1[]={"forward"};
unsigned char code disp2[]={"reverse"};
unsigned char code disp3[]={"stop"};
void motor_ffw()
{unsigned char i;
for (i=0; i<8; i++)
{if(K==1)
{P1=FFW[i]&0x1f;
n++;}
if(K==2)
{P1=FFZ[i]&0x1f;
n++;}} }
3 结论
以单片机作为控制器,实现对步进电机的控制。在软件设计过程中,应用STC90C51单片机作为控制器,实现对电机的启/停功能;正/反转功能;加/减速;位移检测;螺距设定、红外遥控、独立按键功能的控制。同时通过LCD液晶显示步进电机的运行参数,最终实现对控制系统的软硬件控制。
(05)