基于单片机及VC++的步进电机控制系统设计

发布者:CuriousTraveler最新更新时间:2013-02-18 来源: dzsc关键字:单片机  VC++  步进电机  控制系统 手机看文章 扫描二维码
随时随地手机看文章

  1 引言

  步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下, 电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给 电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周 期性的误差而无累积误差,使得在速度、位置等控制领域,用步进电机来控制变的非常的简 单[1]。本文设计了一种基于AT89S52 单片机和VC++的步进电机控制系统,可以实现对步进 电机的基本控制及状态实时显示。

  2 系统组成

  使用、控制步进电机必须由环形脉冲源、功率放大电路等部分组成控制系统,脉冲信号 一般由单片机或CPU产生,一般脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空比则 越大。功率放大是驱动系统最为重要的部分。步进电机在一定转速下的转矩取决于它的动态 平均电流而非静态电流,平均电流越大,电机力矩越大,要达到平均电流大,这就需要驱动 系统尽量克服电机的反电势。因而不同的场合采取不同的驱动方式。到目前为止,驱动方式 一般有以下几种:恒压、恒压串电阻、高低压驱动、恒流等[2]。

  本文设计系统中,脉冲信号由单片机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]。[page]

  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]。[page]

  当我们安装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 结论

  本文设计出的步进电机控制系统,可以实现对步进电机的基本控制及运行状态的实时显 示。该系统实用性强,操作方便,经测试取得了良好效果。经过一定的技术改进后,可以应 用于包装机械的物料计量、包装膜供送、横封等过程中,精确控制执行机构的运行速度和运 行位置。利用步进电机替代传统的机械或其它方式,不仅能使包装机械结构变得简单、调节 方便、可靠性增加,而且精度会得到很大提高。

参考文献:

[1]. AT89S52  datasheet http://www.dzsc.com/datasheet/AT89S52+_970343.html.
[2]. MAX232 datasheet http://www.dzsc.com/datasheet/MAX232_1074207.html.

关键字:单片机  VC++  步进电机  控制系统 引用地址:基于单片机及VC++的步进电机控制系统设计

上一篇:基于单片机的数字电容表设计
下一篇:智能家居无线报警系统设计

推荐阅读最新更新时间:2024-03-16 13:18

富士通半导体推出采用ARM Cortex-M4和M0+内核的32位微控制器系列产品
上海,2012年11月15日 – 富士通半导体(上海)有限公司今日宣布,推出其新的基于ARM® Cortex™-M4处理器内核的FM4系列32位通用RISC微控制器,以及新的采用Cortex-M0+内核的FM0+系列。富士通计划在2013年提供这些新微控制器产品的批量样片,在年内晚些时候这些产品将全部投产。加上目前的FM3系列微控制器,采用Cortex-M4、M3和M0+处理器内核的产品组将有超过700款不同的产品。这些架构一致、使用灵活的产品将能够更广泛地满足用户对更高性能和更低功耗的日益增长的需求。 富士通推出采用ARM Cortex-M4和M0+内核的完整系列32位微控制器,增强现有的FM3系列 富士通半导体在20
[单片机]
富士通半导体推出采用ARM Cortex-M4和M0+内核的32位<font color='red'>微控制器</font>系列产品
PIC单片机C语言程序设计(8)
  2.PICC编译器的安装。   《PIC 单片机C 语言程序(7)》一文介绍MPLAB IDE7.40 的安装时, 我们已将光盘中的PICC 编译器的压缩软件PICC8.05.rar( 见该文图12)粘贴到“我的电脑”的E 盘中。所以安装PICC 编译器时,只需按以下步骤操作。   ⑴ 在PC 机的显示器上,用鼠标双击“我的电脑”,在其窗口中打开磁盘E,找出压缩软件PICC8.05.rar 的图标,在其上单击鼠标右键,弹出其下拉菜单,用鼠标点击“解压到PICC8.05”命令,即可生成PICC 编译器被解压的图标PICC8.05,如图21 所示。 图21   ⑵ 点击PICC8.05图标, 在下栏菜单中, 点击“ 打
[单片机]
PIC<font color='red'>单片机</font>C语言程序设计(8)
仪器仪表未来发展趋势分析
随着电子商务的快速发展,中国仪器仪表行业发展也有了从未有过的繁荣,据有关数据显示,我国仪器仪表行业去年首次突破了5000亿大关,在全球经济疲软的情况下,仪器仪表行业未来将向着自动化发展,前景也将更广阔。 自动化仪表与控制系统未来发展的关注点应当是: 1、功能安全。近年來功能安全的重要发展是,大量经过功能安全认证的仪表推向市场。为了争取竞争中有利地位,几乎所有仪表制造商都会开展功能安全的研究。 2、自动化仪表与企业的信息化。自动化仪表技术包括信息采集、处理和应用。“企业信息化”实际上是企业信息的集成和整合。为此,必须用自动化和系统的信息模型“简化”、“规则”和“抽象”信息,以便最有效地利用信息。这是自动化仪表领域的一项基
[测试测量]
8051单片机int字节的实现
在使用单片机中,unsigned int 占2个字节,unsigned char 占一个字节。而单片机是实行的字节寻址。16字节的bit寻址实在是不好用, 不好用在不能建数组。 在实际的开发过程中,要使用DPTR,还有定时器的TL0,TH0 的高低字节等。 需要我们先定义一个int类型的可以用来赋值什么的比较自然。 然后和0xff与得到低8,一个字节。可以放入DPTR的低字节或定时器的低字节。 将int类型的左移8位后,再和0xff与得到int的高8位,一个字节,移入到DPTR的高字节或定时器的高字节。 这样很麻烦。 实际上,我们可以通过struct和union方便的直接一步到位的得到int 类型的高字节和低字节,同时也能观察
[单片机]
8051<font color='red'>单片机</font>int字节的实现
基于AT89S52单片机的无线光电靶控制器的设计
0 引言 针对部队瞄准训练的实际需要,这里研制了一套电路简单、体积小、重量轻、造价低、便于移动和自动报靶的无线光电靶系统,较好地解决了日常训练中的问题。 1 整体设计 该无线光电靶系统主要由悬挂于移动装置上的光电靶;置于操炮手附近的光电靶控制器;一个固定在炮身上并与炮身同步移动的半导体激光器三部分组成。 当操炮手训练中,瞄准靶标时踩动射击踏板,激光器发出一束激光,照射在靶标上,靶标上的光敏元件接收到激光,由单片机采集光敏元件的信息,利用无线装置将信息发送到光电靶控制器,由控制器显示激光照射的位置,同时用语音报告环数和偏离的方向系统图如图1所示。 2 光电靶电路设计 从图1可以看出,光电靶由单片机、光敏元件阵列、无线
[单片机]
基于AT89S52<font color='red'>单片机</font>的无线光电靶控制器的设计
基于SST89E564RC单片机的多点温控采暖控制系统简介
利用SST89E564RC单片机及新型测温器件设计了多点温控采暖控制系统,根据室内各点温度设定实时控制采暖系统,从而提高居室的舒适性以及采暖的经济性。 1 系统设计目标 系统总体设计思想是以SST89E564RC单片机为控制核心,整个系统硬件部分包括温度检测部分、控制执行部分、显示及键盘系统及最小系统基本电路。系统利用单片机获得温度传感器数据并与系统设计值进行比较,根据比较结果分别控制执行系统。温度控制系统控制框图如图1所示。 2 系统硬件设计 根据系统所需完成的功能,设计系统硬件结构如图2所示。 2.1 控制核心 系统采用SST89E564RC单片机作为控制核心,进行温度采集
[单片机]
基于SST89E564RC<font color='red'>单片机</font>的多点温控采暖<font color='red'>控制系统</font>简介
8051/2单片机常用的本地通讯方式 UART,RS485,I2C,SPI 之 SPI 25AA040A 读写 E2PROM 4
一、说明 PART 3 SPI (SCLK,SDO,SDI) 全双工 SCLK 时钟 ,SDO(MOSI) 数据输出,SDI (MISO) 数据输入 8051SPI 和 I2C一样也是需要用IO模拟 SPI总线传输共有4种类型, CPOL位,高电平为:1,低电平为:0 CPHA位, 边沿,先读后写:0,先写后读:1 传输时候,先传输高位再传输低位 实验程序采用SPI 串行总线的EEPROM,25AA040A 过程 读数据: 先写入读命令,再写读地址 写数据: 先使写地址锁存,然后使用写命令,写地址,然后再写入数据 A8 如果是9位寄存器有效 1,8位为0 二、演示 三、时序 命令字 读写时序 写使能
[单片机]
8051/2<font color='red'>单片机</font>常用的本地通讯方式 UART,RS485,I2C,SPI 之 SPI 25AA040A 读写 E2PROM 4
采用二维模糊控制器和C8051单片机实现室内自然采光系统的设计
1、 引言 从远古的篝火、油灯到蜡烛、白炽灯,再到今天千家万户的荧光灯,人类已经基本适应了人工光源的室内照明环境。但是由于千万年来的环境影响,自然光仍然是人类最习惯、感觉最舒适的光源,自然采光一直受到建筑师和照明设计师的高度重视。当今社会建筑的节能环保需求更对自然采光照明提出了进一步的要求。《建筑采光设计标准》 中的国家技术经济政策指出: 建筑设计要充分利用天然光,创造良好的光环境。 对室内照明自然采光的研究具有重要的意义: (1) 资料表明,照明用电占整个商业建筑能耗的25 - 40% ,而自然采光在特定的情况下可以节省52% 的照明用电,大大节约了能源。 (2) 相关研究表明,人在自然光条件下工作,可以增加满意度和提高工作
[单片机]
采用二维模糊控制器和C8051<font color='red'>单片机</font>实现室内自然采光系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved