基于STM32F103VCT6单片机和步进电机的三维微位移控制系统设计

发布者:SerendipityJoy最新更新时间:2018-03-25 来源: eefocus关键字:STM32F103VCT6  步进电机  三维微位移控制系统 手机看文章 扫描二维码
随时随地手机看文章

    为实现X-Y-Z三维工作台的精确定位,设计了一种基于STM32F103VCT6单片机和步进电机的三维微位移控制系统。该系统可与上位机实现串口通信,接收上位机命令并把处理结果反馈给上位机;根据光栅传感器提供的位置反馈信息,系统可以通过对步进电机的方向、速度调节来实现精确定位;采用匀加速和匀减速方式对步进电机的速度进行调节,避免了因步进电机的突然加速和急停所带来的丢步和冲击现象。控制系统的测量实验结果表明,步进电机运行平稳,噪音低,定位精度高,控制系统性能稳定可靠。


    微位移控制系统是一种集机械、光学、电子和计算机等多种技术于一体的智能化仪器。在先进制造技术与科学研究中有着极其广泛的应用,也是现代工业检测、质量控制和制造技术中不可或缺的测量设备。微位移控制系统一般由微定位机构、微位移检测装置和控制器组成。控制器是微位移系统的指挥中心,它按照一定的控制算法控制微定位平台,使其按照一定的规律运动,来实现精确定位。
    传统的三维微位移控制系统一般采用步进电机驱动滚珠丝杠来实现定位。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即每施加一个脉冲信号,电机就转动一个步距角,因此脉冲数与电机转动的总步进角度是呈线性关系的。另外,步进电机只有周期性的误差而无累积误差,使得在速度、位置等控制领域用步进电机控制变得非常简单。步进电机开环控制系统主要优点是结构简单,在控制精度要求不高的场合应用较为广泛,但是在实际应用中,若步进电机升、降速控制不合理,会造成步进电机丢步或过冲;在开环控制系统中,由于步进电机丢步现象的存在,无法获知它是否精确地到达了预定位置,也就无法实现高精度的定位。
    为实现三维工作台的精确定位,系统采用步进电机闭环控制系统。系统中,利用光栅传感器的输出作为微位移控制系统的位置反馈信号,实现闭环控制。光栅传感器的分辨率为1μm,自带读数头,可直接输出TTL电平或正弦波信号,为信号处理和与控制系统连接提供了便利。控制系统通过光栅传感器反馈信号来判断是否达到了预定位置,进而做出相应的调整动作。从而达到精确定位的目的。

1 硬件电路设计
1.1 微位移控制系统总体设计
    根据微位移控制系统的设计要求,首先应保证控制系统的定位精度,其次应尽量做到结构简单,成本低,操作简便。基于上述考虑,本文设计了如图1所示的微位移控制系统。其中,采用STM32F103VCT6单片机作为控制核心和数据处理器,基于THB7128驱动芯片设计驱动电路;定位系统采用电动平移台,由步进电机驱动滚珠丝杠进行定位,重复定位精度可以达到3μm;上位机采用VB进行程序设计,实现各种控制命令的发送、数据处理、数据显示等功能;通信方式采用RS 232串行通信,协议简单,操作方便。

a.jpg


    1.2 控制系统外围电路设计

    STM32系列单片机是基于嵌入式ARM Cortex-M3内核的32位微处理器,工作频率为72 MHz,内置高速存储器(包括256 KB的闪存和48 KB的SRAM),含有丰富的增强型I/O端口和连接两条APB总线的外设,还包含3个12位的ADC、4个通用16位定时器和2个PWM定时器,还包含标准和先进的通信接口:2个I2C,3个SPI,2个I2S,1个SDIO,3个USART,1个USB和1个CAN。控制系统外围电路图如图2所示。


b.jpg

    控制系统驱动的步进电机为两相四线制步进电机,硬件配置上,E口的12~14脚负责控制步进电机的运动方向,A口的1,8脚和B口的0脚作为步进电机脉冲输出。输出信号通过74LV245进行输出,提高相应的驱动能力;D口的8~13脚为限位开关输入,B口的6,7脚为光栅反馈信号输入,输入信号通过光电耦合的方式输入,具有良好的电绝缘能力,同时也提高系统工作的稳定性。

    1.3 步进电机驱动电路设计

    步进电机驱动电路基于THB7128进行设计,如图3所示。具有以下特点:采用双全桥MOSFET驱动,低导通电阻RoN=0.53 Ω;最高耐压为40 VDC,最大电流为3.3 A(峰值);多种细分可选(1,1/2,1/4,1/8,1/16,1/32,1/64,1/128);自动半流锁定功能;内置混合

    式衰减模式;内置输入下拉电阻;内置温度保护及过流保护。

    1.4 反馈电路

    STM32单片机的定时器有对于反馈信号特定的工作模式,即编码器接口模式。编码器接口模式基本上相当于使用了一个带有方向选择的外部时钟。这意味着计数器只在0到TIMx_ARR寄存器的自动装载值之间连续计数(根据方向,或是0到ARR计数,或是ARR到0计数)。所以在开始计数之前必须配置TIMx_ARR;同样,捕获器、比较器、预分频器、触发输出特性等仍正常工作。在这个模式下,计数器依照增量编码器的速度和方向被自动地修改,因此计数器的内容始终指示着编码器的位置。计数方向与相连的传感器旋转的方向对应。

c.jpg


    图4是一个计数器操作的实例,显示了计数信号的产生和方向控制,还显示了当选择双边沿时,输入抖动是如何被抑制的;抖动可能会在传感器的位置靠近一个转换点时产生。在这个例子中,假定配置如下:

    CC1S=01 (TIMx_CCMR1寄存器,IC1FP1映射到TI1)

    CC2S=01 (TIMx_CCMR2寄存器,IC2FP2映射到TI2)

    CC1P=0  (TIMx_CCER寄存器,IC1FP1不反相,IC1FP1=TI1)

    CC2P=0  (TIMx_CCER寄存器,IC2FP2不反相,IC2FP2=TI2)

    SMS=011 (TIMx_SMCR寄存器,所有的输入均在上升沿和下降沿有效),

    CEN=1 (TIMx_CR1寄存器,计数器使能)

    2 系统软件设计

    2.1 上位机软件设计

    上位机界面基于VB进行设计,包括初始状态设定,步进电机命令输入,运行模式选择,调频的实现,限位开关,反馈显示,如图5所示。

d.jpg

    2.2 下位机软件设计

    下位机程序基于RealView MDK开发环境进行开发。RealView MDK集成了业内最领先的技术,包括μVision3集成开发环境与RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成FLASH烧写模块,强大的Simulation设备模拟,性能分析等功能。程序采用模块化设计,在主函数中实现系统的时钟配置、中断配置、通用输入/输出配置、硬件初始化和用户函数的调用。用户函数包括步进电机运动程序、反馈信号处理程序、限位信号处理程序、频率调节程序等。驱动步进电机所需的脉冲由定时器中断产生。定时器工作模式的向上计数模式,当计数器溢出时产生更新事件。所有的寄存器都被更新,计数器重新开始计数。在程序中设置脉冲启动频率为50 Hz,加减速频率为50 Hz/脉冲,可以改善步进电机运动的平稳性,流程图如图6所示。


c.jpg

    
2.3 串口通信协议的编写
    上位机与下位机通信采用串口通信,波特率为9 600 b/s、8位数据、一个停止位、无校验、无流量控制、接收发使能。
   f.jpg

    上位机与下位机之间的控制命令采用9个字节每帧,包括电机选择、命令、数据、校验等。

    3 实验

    在微位移系统测量实验过程中,采用步进电机步进角为1.8°;步进电机驱动器为8细分;定位机构滚珠丝杠导程为4 mm;光栅传感器分辨率为1μm。理论上每发一个脉冲丝杠移动2.5μm。发送为20 000个脉冲,脉冲频率2 000 Hz。理论上光栅传感器产生50 000个脉冲。控制系统对反馈信号进行计数,并发送偏差命令进行实时修正直到最后达到预定位置。同时也进行了速度调节实验,步进电机运行平稳,验证了系统的可靠性。

    4 结论

    基于STM32F103VCT6单片机的微位移控制系统实现了对上位机命令的响应、处理及数据交互。通过接收上位机发送的各种命令,STM32F 103VCT6单片机控制系统产生相应的控制信号,并通过步进电机带动滚珠丝杠完成规定的动作。同时通过处理位置反馈信号来判断运动是否到位,使三维微位移系统的运动精度大大提高。而且步进电机采用升、降速控制,避免了步进电机的直接启动与急停,大大地改善了步进电机运动的平稳性,而且输出脉冲频率可以在20 kHz以内调节,具有很宽的速度范围,具有很强的适应性。整体上满足了微位移控制系统的要求。


关键字:STM32F103VCT6  步进电机  三维微位移控制系统 引用地址:基于STM32F103VCT6单片机和步进电机的三维微位移控制系统设计

上一篇:基于ARM核的AT91SAM7X256的TWI接口控制方法
下一篇:基于STM32F107VCT6微控制器的控制系统设计

推荐阅读最新更新时间:2024-03-16 15:58

详解步进电机的工作原理和操作模式
什么是步进电机? 步进电机是将电脉冲信号,转变为角位移或线位移的开环控制电机,又称为脉冲电机。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。当步进驱动器接收到一个脉冲信号时,它就可以驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”。 步进电机的旋转是以固定的角度一步一步运行的,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时可以通过控制脉冲频率,来控制电机转动的速度和加速度,从而达到调速的目的。步进电机多用于数字式计算机的外部设备,以及打印机、绘图机和磁盘等装。 02 步进电机的特点 步进电机工作时的位置和速度信号不反馈给控制系统,如果电机工作时的位
[嵌入式]
详解<font color='red'>步进电机</font>的工作原理和操作模式
微型步进电机
微电机是微机电系统中的关键执行部件。随着电子技术和精密加工技术研究的深入,微电机正朝着微型化、多功能化和模块化方向发展。同时,微电机材料也不局限于微电子技术中常用的硅,也包括陶瓷、金属、复合材料等。如何将这些微小的、材料和性能各异的零件可靠地装配成完整的微电机产品,是微电机制造中重要的工艺过程。除了必要的装配机器人和操作手外,连接技术是整个装配过程中的核心部分。 胶接是使用胶粘剂把零件连接起来,并且零件表面不熔化的工艺 。相对于微焊接、固相键合等微连接方法,微胶接具有以下几个优点: ①应用范围广,能够胶接同种或不同种材料的零件; ②低的固化温度,可以避免高温环境对微零件造成的尺寸变化、应力不均甚至性能破坏等影响; ③高的固化强
[模拟电子]
微型<font color='red'>步进电机</font>
51单片机学习笔记:步进电机控制,正转反转等
步进电机应用广泛, 例如打印机、磁盘驱动器、玩具、汽车雨刷、手机震动、机械夹具、刻录机等各种机械控制场合 一些概念: 拍数N 定子控制绕组每改变一次通电方式,即为一拍 一个磁场通电周期是 A-B-C-D-A 完成一个磁场周期性变化所需脉冲数, 也指电机转过一个齿距角所需脉冲数,用N表示 拍数又等于相数的1倍或2倍, 以四相电机为例, 有4相4拍, A-B-C-D-A... 4相8拍, A-AB-B-BC-C-CD-D-DA-A... 齿距角θz 一个通电循环周期(比如4拍)转子转过一个齿距角 齿距角又等于360除以转子齿数Z, θz=360/Z 步距角θs 步距角,即在没有减速齿轮的情况下,对于一个脉冲信号,转子所转过的机械
[单片机]
51单片机学习笔记:<font color='red'>步进电机</font>控制,正转反转等
TMC428型3轴步进电机控制器的原理及应用
摘要:TMC428是TRINAMIC公司最新开发的步进电机运动控制器,它可减少电机控制软件设计的工作量,降低开发成本。以它为核心(包括TMC236型步进电机驱动器)构成的3轴步进电机驱动控制系统具有尺寸小、控制简单的优点,可同时控制3个两相步进电机。 关键词:步进电机 控制器 TMC428 1 主要性能特点 TMC428是小尺寸、高性价比的二相步进电机控制芯片。它带有二个独立的SPI口,可分别与微处理器和带有SPI接口的步进电机驱动器相连以构成完整的系统。其控制指令可由微处理器通过SPI接口给定。TMC428提供了所有与数字运动控制有关的功能,包括位置控制、速度控制及微步控制等步进电机常用的控制功能。这些功能如果让微处理器
[工业控制]
步进电机在打印机驱动器的应用
  引言   步进电机广泛应用于对精度要求比较高的运动控制系统中,如机器人、打印机、软盘驱动器、绘图仪、机械阀门控制器等。目前,对步进电机 http://bbsic.big-bit.com/ 的控制主要有由分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。分散器件组成的环形脉冲分配器体积比较大,同时由于分散器件的延时,其可靠性大大降低;软件环形分配器要占用主机的运行时间,降低了速度;专用集成芯片环形脉冲分配器集成度高、可靠性好,但其适应性受到限制,同时开发周期长、需求费用较高。   步进电机控制   步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此
[嵌入式]
plc控制步进电机直接控制
  目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿 车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用 与智能化控制的科学家、工程师。   单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:   1.在智能仪器仪表上的应用   单片机具有体
[嵌入式]
2相和5相步进电机比较
2 相和 5 相步进电机比较 您已将运动控制解决方案的搜索范围缩小到步进电机。现在是决定 2 相还是 5 相的时候了?ORIENTAL MOTOR 制造两相 (1.8°/0.9°) 和五相 (0.72°/0.36°) 步进电机和驱动器。我们在这两种技术方面的经验为我们提供了独特的视角。ORIENTAL MOTOR 进行了逐项快速比较,以澄清 2 相与 5 相争论的困惑和迷思。该指南涵盖了两种技术在步进电机性能关键领域的基本差异:分辨率、振动、扭矩、精度和同步性。ORIENTAL MOTOR 经验丰富的技术支持人员也可以为这两种技术提供更深入的解释。 2相,5相,有什么区别? 2 相和 5 相步进电机之间有两个主要区别。第一
[嵌入式]
2相和5相<font color='red'>步进电机</font>比较
STM32F103VCT6低功耗测试(待机模式)
只测试了待机模式,待机模式实现系统的最低功耗。 原理图如下,一开始全部焊接了,其中S2用来进入待机,S1用来唤醒 测试程序为: #include stm32f10x.h #include system_stm32f10x.h void Sys_Standby(void) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); //使能PWR外设时钟 PWR_WakeUpPinCmd(ENABLE); //使能唤醒管脚功能 PWR_EnterSTANDBYMode(); //进入待机(standby)模式 }//系统进入待机模式void Sys_Ente
[单片机]
<font color='red'>STM32F103VCT6</font>低功耗测试(待机模式)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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