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


时间: 2024-01-28 18:06:11 |   作者: 电机

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

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

  本文设计系统中,脉冲信号由单片机AT89S52产生并分配给步进电机各相,功率放大部分由驱动电路完成,系统结构框图如图1所示。

  本文所设计系统中,步进电机模块采用35BY48S03永磁式步进电机,用户利用4*4键盘或上位机的控制界面实现指令输入,采用上位机或1602字符型液晶模块实时显示运行状态。

  单片机的最小系统电路包括时钟电路和复位电路。本文所设计系统中,时钟电路采取内 部振荡方式,所得的时钟信号较为稳定,实用电路中使用较多[3]。复位电路作用是使单片机 的片内电路初始化,使单片机从一种确定的状态开始运行。复位电路采取2种基本形式:上 电复位、开关复位。

  35BY48S03型步进电机接线所示,从图中能够准确的看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有5根引出线。要使步进电机转动,只要以一定的 次序轮流给各引出端通电即可,加电的方式能有多种,包括单相驱动、双相驱动、单-双 相驱动等,相应步进角有整步和半步区分。在本文设计的系统中,采用单相驱动和单-双相 驱动两种加电方式驱动步进电机运转。

  根据该电机参数,不难设计出驱动电路,因其工作电压为12V,最大电流为0.26A,因 此用一块开路输出达林顿驱动器(ULN2003)作为驱动,通过P2.7-P2.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所示。

  液晶采用显示容量为2行16个字的1602液晶,1602采用标准的16脚接口,内部的字符发 生存储器(CGROM)已经存储了160个不同的点阵字符图形,每一个字符都有一个固定的 代码[5]。设计电路图如图5所示。

  软件设计可分为两个部分:上位机软件设计和下位机软件设计。上位机软件设计包括: 上位机控制环境设计、上位机通信程序设计以及上位机程序的封装发布;下位机软件设计包 括:键盘扫描程序、下位机通信程序、主驱动程序、测试部分程序、显示部分程序。

  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软 件进行封装实现以上要求即可。

  本文所设计系统中,采用单相驱动和单-双相驱动两种加电方式驱动步进电机运转,即 单相四拍和单-双相八拍驱动,分别为整步和半步运转,步进角分别为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。本文所设计系统中,下位机采用查询及中断两种接收方式,接收上位机的控制指 令;发送采用查询方式,将当前电机运行状态信息发给上位机实时显示。

  利用示波器测量P2.7-P2.4口产生的波形,以测试电机的激励脉冲是否与理论相符,所测 波形如图8、9所示。图8是在单-双相八拍励磁方式,转速为10转/分的情况下,测量出的P2.7 和P2.5波形,即A,/A的激励波形。图9是在单相四拍励磁方式,转速为30转/分的情况下, 测量出的P2.7和P2.6波形,即A,/B的激励波形。

  上位机控制操作和键盘控制操作可以单独发出指令,也可以交互发出指令,该系统应用 环境较广。经测试,所设计系统可以很好的达到设计要求,可以实现对步进电机的基本控制 及状态实时显示。

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

  关键字:引用地址:采用AT89S52和VC++的实现步进电机实时显示控制系统模块设计

  下一篇:采用DDS技术与AD8302芯片实现了数字化频率特性测试仪的设计

  电子控制单元ECU(Electronic Control Unit),又称“行车电脑”、“车载电脑”等。从用途上讲则是汽车专用微机控制器,也叫汽车专用单片机。它和普通的单片机一样,由微处理器(CPU)、存储器(ROM、RAM)、输入,输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。 电子控制单元的功用是根据其内存的程序和数据对空气流量计及各种传感器输入的信息进行运算、处理、判断,然后输出指令,向喷油器提供一定宽度的电脉冲信号以控制喷油量。电控单元由微型计算机、输入、输出及控制电路等组成。 在电子控制单元中CPU是核心部分,它具有运算与控制的功能,发动机在运行时,它采集各传感器的信号,进行

  ++的发动机ECU测试系统的研究与设计 /

  什么是步进电机?  步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您能够最终靠控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以经过控制脉冲频率来控制电机转动的速度和加速度,进而达到调速的目的。  2.步进电机分哪几种?  步进电机分三种:永磁式(PM) ,反应式(VR)和混合式(HB)  永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;  反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁

  1 AT89S52 单片机简介 1. 1 芯片主要特性 AT89S52 单片机是Atmel 公司新近推出的高档、增强型产品。它是一个低功耗、高性能CMOS 8 位微控制器,片内含通用8 位中央处理器和ISP FLASH 存储单元,8 kB ISP( In-system pro grammable)的可反复擦写1 000 次的FLASH 只读程序存储器,片上FLASH 允许程序存储器在系统可编程,亦适于常规编程器。器件采用Atmel公司的高密度、非易失性存储技术制造,兼容标准MCS-51 指令系统及80C51 引脚结构,在单芯片上,拥有灵巧的8 位CPU 和在系统可编程FLASH, 使得A T89S52 为众多嵌入式控制应用

  控制电路设计方案 /

  //程序说明:烧好程序,连接好控制线的控制线的转动停止、加减速和正反转,按S20可控制步进电机2的转动停 // 止、加减速和正反转。 //**************************************************************************************************************** #include reg51.h //#include stdio.h sbit A1=P2^0; //步进电机1输出脚定义 sbi

  Contiki官网下载V2.5源码源码中,stm32移植的相关联的内容分散在两个文件夹中,第一, cpu\arm\stm32f103,这个文件夹存放的stm32移植的相关文件;第二,platform\stm32test,这个文件夹中有一个不那么完整的例子。 在Contiki-2.5源码文件夹下用到的有:\core\sys\下面所有文件,\cpu\arm\stm32f103\clock.c文件主要修改,\platform\stm32test\contiki-conf.h文件。 STM32工程下主要用到的文件:core_cm3.c,system_stm3

  1 前言 随着计算机应用技术的快速的提升,移动存储设备得到了广泛的应用。其中CF(Compact Flash)卡以其价格低、体积小、存储容量大、高速等优点在众多移动存储设备中被广泛地应用于数码相机、PDA和笔记本电脑等当前十分热门的消费类电子科技类产品中。并且CF卡在其他领域中也得到了广泛的应用。本文所述内容是通过8051单片机对CF卡进行读写。 2.CF卡的操作方式 CF卡的操作方式与计算机的硬盘操作方式类似,其扇区的寻址也有两种方式:物理寻址(CHS)和逻辑寻址(LBA),物理寻址使用柱面、磁头和扇区号表示一个特定的扇区,起始扇区是0道、0头、1区,接下来是2区等等,逻辑寻址将整个CF卡统一寻址。逻辑块寻址和物理寻址的关系为:L

  单片机与CF卡的接口电路设计 /

  摘要:TMS320VC5402 DSP芯片并行引导的特点和引导的过程中,设计了并行8bit EPROM引导装载的电路,并给出了实现方法。实践证明,该电路和方法在利用TMS320VC5402 DSP芯片设计系统时非常简便,具有很大的实用性。 关键词:DSP 引导装载 并行引导表 TMS320VC5402(以下简称C5402)是德州仪器公司(TI)推出的性价比极高的16bit定点数字信号处理器(DSP),操作速率可达100MIPS,它的内部资源配置为用户构造系统提供了很大便利。 C5402芯片配置有4K%26;#215;16bit片内屏蔽式的ROM(F000h-FFFFh)。在4K ROM资源里,包含了Bootloader程序。

  引言 当前,DSP(Digital Signal Processor)芯片已经大范围的应用于通信、信号处理、雷达、图像处理等多个领域,其强大、高效的运算能力,是其他微处理器不能够比拟的。为充分的发挥DSP运算高效的优势,用户程序通常在DSP内部RAM中运行,这就需要利用DSP的自举引导(Boot loader)功能。在DSP多机系统中,HPI自举是首选。目前,采用HPI自举的实例主要有两种,一种是用单片机作为主控制器,通过PC机串口或者外挂的存储器得到要下载的DSP用户程序数据,这种方案没办法实现系统与PC机之间数据的实时高速传输;另一种是用PC机并口里控制DSP HPI接口,从而把程序写入DSP 的内部RAM,该方案不足以满足嵌入式

  闭环控制器

  【DigiKey“智造万物,快乐不停”创意大赛】+基于STM32H7B3I-DK的

  on))

  人工智能算法(卷3):深度学习和神经网络 ([美] 杰弗瑞•希顿(Jeffery He

  直播回放: 借助 TI DLP® 技术,开始您的下一代4K显示应用设计

  有奖直播 是德科技 InfiniiMax4.0系列高带宽示波器探头新品发布

  MPS电机研究院 让电机更听话的秘密! 第一站:电机应用知识大考!跟帖赢好礼~

  解锁【W5500-EVB-Pico】,探秘以太网底层,得捷电子Follow me第4期来袭!

  【下载】LAT1362 利用STM32 TIMER触发ADC实现分组转换

  【下载】LAT1334 基于MCSDK5.4.8电机库修改两电阻采样方法

  【下载】LAT1347 基于STM32CubeIDE移植ClassB 4.0

  【下载】LAT1340 STM32H5读取温度传感器校准值时进HardFault的原因分析

  【生态】使用STM32CubeMX在STM32U5上配置LPBAM应用程序

  【MPU】轻松使用STM32MP13x如MCU般在Cortex A 核上裸跑应用程序

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  【新品】降本增效这事儿,就看STM32C0,低至0.24美元” ,开机即可物联世界

  【GUI开发】TouchGFX 4.23:支持矢量字体,节省Flash,更丰富的UI!

  【边缘AI】突破边缘AI应用的次元壁:首届意法半导体边缘人工智能峰会举行

  【生态系统】STM32CubeProgrammer和STM32CubeIDE协同调试的方法

  【无线携手创新微MinewSemi共创低功耗模块,引领中国智能连接未来

  一、前言中断是什么?举个例子来说,当我们正在工作时,突然电话响了,这时你会把手里的工作先停下来,然后去接电话,当接完电话后,电话里 ...

  之前使用SysTick滴答定时器都是通过查找内核编程手册配置寄存器让SysTick滴答定时器工作的。其实在内核相关的头文件core_cm4 h中已经有SysT ...

  一、什么是GPIOGPIO(英语:General-purpose input output),通用型之输入输出的简称,可拿来输入高低电平或者输出高低电平。这里的高电平 ...

  一、项目介绍信号发生器在生产实践和科技领域中存在广泛的应用,各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、 ...

  事件是中断的触发源,开放了对应的中断屏蔽位,则事件可以触发相应的中断。事件还是其它一些操作的触发源,比如DMA,还有TIM中影子寄存器的 ...

  综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云: