采用AT89S52和VC++的实现步进电机实时显示控制系统设计

1 引言
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下, 电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给 电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周 期性的误差而无累积误差,使得在速度、位置等控制领域,用步进电机来控制变的非常的简 单。本文设计了一种基于at89s52 单片机和vc++的步进电机控制系统,可以实现对步进 电机的基本控制及状态实时显示。
2 系统组成
使用、控制步进电机必须由环形脉冲源、功率放大电路等部分组成控制系统,脉冲信号 一般由单片机或cpu产生,一般脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空比则 越大。功率放大是驱动系统最为重要的部分。步进电机在一定转速下的转矩取决于它的动态 平均电流而非静态电流,平均电流越大,电机力矩越大,要达到平均电流大,这就需要驱动 系统尽量克服电机的反电势。因而不同的场合采取不同的驱动方式。到目前为止,驱动方式 一般有以下几种:恒压、恒压串电阻、高低压驱动、恒流等。
本文设计系统中,脉冲信号由单片机at89s52产生并分配给步进电机各相,功率放大部分由驱动电路完成,系统结构框图如图1所示。
本文所设计系统中,步进电机模块采用35by48s03永磁式步进电机,用户利用4*4键盘或上位机的控制界面实现指令输入,采用上位机或1602字符型液晶模块实时显示运行状态。
3 硬件设计
3.1 单片机最小系统电路
单片机的最小系统电路包括时钟电路和复位电路。本文所设计系统中,时钟电路采用内 部振荡方式,所得的时钟信号比较稳定,实用电路中使用较多[3]。复位电路作用是使单片机 的片内电路初始化,使单片机从一种确定的状态开始运行。复位电路采用2种基本形式:上 电复位、开关复位。
3.2 键盘电路
设计p1口接4*4键盘,键盘电路图如图2所示:
3.3 电机驱动电路
35by48s03型步进电机接线图如图3所示,从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有5根引出线。要使步进电机转动,只要以一定的 次序轮流给各引出端通电即可,加电的方式可以有多种,包括单相驱动、双相驱动、单-双 相驱动等,相应步进角有整步和半步区分。在本文设计的系统中,采用单相驱动和单-双相 驱动两种加电方式驱动步进电机运转。
根据该电机参数,不难设计出驱动电路,因其工作电压为12v,最大电流为0.26a,因 此用一块开路输出达林顿驱动器(uln2003)作为驱动,通过p2.7-p2.4来控制各线圈的接通与 切断。如果要改变电机的转动速度只要改变两次接通之间的时间,而要改变电机的转动方向, 只要改变各线圈接通的顺序[4]。
3.4 串行通信电路
在pc机内接有pc16550(和8250兼容)串行接口、eia-ttl的电平转换器和rs-232c连 接器,除鼠标占用一个串行口外,还留有两个串行口给用户,这就是com1(地址3f8h-3ffh) 和com2(地址2f8h-2ffh),通过这两个口,可以连接串行通信设备,如单片机、仿真机 等。由于单片机的串行发送和接收线txd和rxd是ttl电平,而pc的com1或com2的 rs-232c连接器(d型9针插座)是eia电平,因此单片机需加接max232芯片,通过串行电 缆线和pc相连接。本文所设计的串行通信电路如图4所示。
3.5 下位机显示电路
液晶采用显示容量为2行16个字的1602液晶,1602采用标准的16脚接口,内部的字符发 生存储器(cgrom)已经存储了160个不同的点阵字符图形,每一个字符都有一个固定的 代码[5]。设计电路图如图5所示。
4 软件设计
软件设计可分为两个部分:上位机软件设计和下位机软件设计。上位机软件设计包括: 上位机控制环境设计、上位机通信程序设计以及上位机程序的封装发布;下位机软件设计包 括:键盘扫描程序、下位机通信程序、主驱动程序、测试部分程序、显示部分程序。
4.1 上位软件设计
visual c++设计了一套基础类库(microsoft foundation class library, mfc), mfc把编 程规范中的大多数内容封装成为各种类,使程序员从繁杂的编程中解脱出来[6]。根据系统设 计需要,设计一个基于对话框的应用程序即可,如图6所示。
为实现上位机与下位机通信,利用microsoft提供的串行通信activex控件。该控件的相 应文件是mscomm32.ocx。在基于对话框的程序中使用控件,需要进行以下几方面操作: 拖动控件图标到窗口上,创建控件id。在对话框头文件中声明cmscomm类的变量及引用控 件类头文件。创建cmscomm类的实例。建立控件事件响应代码框架[7]。
在电机状态改变后,由下位机将代表各状态的数据发送给上位机,上位机接收到后存入 一个数组内,根据此数组内容刷新各编辑框内容,以达到实时显示的目的。此处共有五个数 据,放入rxdata数组中,分别代表励磁状态、转动方向、速度、测试1计数、测试2计数。上 位机mscomm控件setrthreshold属性设置为5,则当下位机将五个数据发送完后,上位机立 即触发oncomm事件,进行接收[8]。
当我们安装vc++6.0时,如果选择了activex控件项(自定义安装),mscomm控件就 会自动安装在计算机上了,并在系统文件夹下多了3个文件:mscomm.srg,mscomm32.ocx, mscomm32.dep,即mscomm控件已经过授权,但要注意的是,如果程序移植到其它没有安 装vc软件的pc机上,必须将其使用“执照”license 在注册表中登记注册,才可以正常运行。 为了正常运行, 还需要将vc开发的可执行文件与运行所需的三个动态链接文件 mfc42d.dll,mfco42d.dll,msvcrtd.dll放在同一个文件夹中。使用installshield软 件进行封装实现以上要求即可。
4.2 下位机软件设计
本文所设计系统中,采用单相驱动和单-双相驱动两种加电方式驱动步进电机运转,即 单相四拍和单-双相八拍驱动,分别为整步和半步运转,步进角分别为7.5度和3.75度,不同 的驱动方式其状态表不同,两种驱动方式的波形及状态表如下,其中1代表高电平,表示驱 动的磁极绕组通电;0代表低电平,表示驱动的磁极绕组不通电。
按照设计要求改变转速,则只要改变p2.7-p2.4轮流改变电平的时间即可达到要求,这个 时间不应采用延时来实现,因为会影响到其他功能的实现。这里以定时的方式来实现,晶振 频率为11.0592m,采用t0方式1定时。主程序流程图如图7所示:
系统上电后,首先进行初始化,包括液晶屏初始化及将程序所用到的内存单元(开关机 状态标志位7fh、正反转标志位7eh、单相励磁或单双相励磁标志位7dh、测试标志位7ch、 当前速度寄存单元2eh)清零。然后检测是否开启电机,检测到开信号后,设置状态位,7fh=1,7eh=1,7dh=1,2eh=10,代表起始状态设置为:单双相励磁正转,起始速度为10r/m。
设置 t0 相关参数后,开始定时,同时检测键盘是否有其它请求发生,如果有,则改变 相应的状态位,并改变单片机输出波形,控制步进电机运行状态改变。
串行通信的编程方式有两种查询方式:查ti 或ri 是否为“1”。中断方式:如果预先开 了中断,当ti、ri 为“1”,会自动产生中断。两种方式中当发送或接受数据后都要注意清 ti 或ri。本文所设计系统中,下位机采用查询及中断两种接收方式,接收上位机的控制指 令;发送采用查询方式,将当前电机运行状态信息发给上位机实时显示。
5 功能验证
利用示波器测量p2.7-p2.4口产生的波形,以测试电机的激励脉冲是否与理论相符,所测 波形如图8、9所示。图8是在单-双相八拍励磁方式,转速为10转/分的情况下,测量出的p2.7 和p2.5波形,即a,/a的激励波形。图9是在单相四拍励磁方式,转速为30转/分的情况下, 测量出的p2.7和p2.6波形,即a,/b的激励波形。
上位机控制操作和键盘控制操作可以单独发出指令,也可以交互发出指令,该系统应用 环境较广。经测试,所设计系统可以很好的达到设计要求,可以实现对步进电机的基本控制 及状态实时显示。
6 结论
本文设计出的步进电机控制系统,可以实现对步进电机的基本控制及运行状态的实时显 示。该系统实用性强,操作方便,经测试取得了良好效果。经过一定的技术改进后,可以应 用于包装机械的物料计量、包装膜供送、横封等过程中,精确控制执行机构的运行速度和运 行位置。利用步进电机替代传统的机械或其它方式,不仅能使包装机械结构变得简单、调节 方便、可靠性增加,而且精度会得到很大提高。

虹科PCAN工程机械应用系列关键特性
凌力尔特推出同步降压-升压型转换器 LTC3113
PLC与PC-based控制及其在包装行业应用的差异
美光更新路线图:明年底推GDDR7,2025年底推256GB DDR5-12800
dfrobotSTM32 Cortex M3开发板简介
采用AT89S52和VC++的实现步进电机实时显示控制系统设计
尴尬!Pixel手机更新Android10正式版时当场翻车
洗衣机使用的五大常见误区浅析
联通公布物联网合作伙伴的招募结果,将共同赋能推动物联网蓬勃发展
基于PROFIBUS-DP现场总线的光电收发器设计
车载电源线路用TDK共模滤波器
实时语音识别系统在家庭监护机器人电路设计
健康可穿戴设备是否可靠看了就知道
17位ADC原理图
深圳市鲲鹏产业联盟在龙岗成立
双联双控开关接线图介绍
Dialog携手高通打造更高效的智能手机快速充电解决方案
接口的分类_接口的功能好控制方式
激光打印机和喷墨打印机的区别是什么
努比亚Z5smini拆解评测 相比努比亚Z5mini简直就是奇迹式的减肥