历史上的今天
返回首页

历史上的今天

今天是:2025年03月25日(星期二)

正在发生

2018年03月25日 | 基于STM32F103VCT6单片机和步进电机的三维微位移控制系统设计

2018-03-25 来源:eefocus

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


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

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

a.jpg?imageView2/2/w/550


    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?imageView2/2/w/550

    控制系统驱动的步进电机为两相四线制步进电机,硬件配置上,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?imageView2/2/w/550


    图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?imageView2/2/w/550

    2.2 下位机软件设计

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


c.jpg?imageView2/2/w/550

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

    上位机与下位机之间的控制命令采用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以内调节,具有很宽的速度范围,具有很强的适应性。整体上满足了微位移控制系统的要求。


推荐阅读

史海拾趣

Extech公司的发展小趣事

随着市场竞争的加剧,Extech公司意识到单一的产品已经无法满足客户的需求。因此,在1998年,公司推出了自主研发的产品工艺规划系统XTCAPP和产品数据管理系统XTPDM。这两款软件在推出后迅速成为市场上的主流产品,其高度的集成性和易用性赢得了客户的广泛赞誉。通过这两款软件的推出,Extech公司在CAD/PDM领域进一步巩固了自己的领导地位。

ETL [E-Tech Electronics LTD]公司的发展小趣事

在国内市场取得一定成功后,ETL开始积极拓展国际市场。公司参加了多个国际电子展会,与全球各地的客户和合作伙伴建立了广泛的联系。同时,ETL还通过与国际知名企业的合作,不断提升自身的技术水平和产品质量。这些努力使得ETL的产品逐渐走向国际市场,为公司的发展注入了新的动力。

Amprobe公司的发展小趣事

在追求经济效益的同时,ETL也积极履行社会责任。公司注重环保和可持续发展,采用环保材料和绿色生产工艺,降低生产过程中的能耗和排放。此外,ETL还积极参与公益事业,为社会做出了积极贡献。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了基础。

Grayhill公司的发展小趣事
通过合理选择外部元件和调整电路参数,确保输出电压的稳定性满足设计要求。
Cambridge Electronic Industries Ltd公司的发展小趣事

面对日益严峻的环境问题和社会责任,CEI积极响应可持续发展的号召。公司加大了对环保技术的研发投入,推出了多款节能、环保的电子产品。同时,CEI还关注员工福利和社会公益事业,积极参与社会捐赠和公益活动。展望未来,CEI将继续坚持技术创新和可持续发展战略,为电子行业的繁荣和发展做出更大的贡献。

通过以上五个故事,我们可以看到Cambridge Electronic Industries Ltd公司在电子行业里发展起来的艰辛与辉煌。他们凭借技术创新、市场拓展、品质管理和可持续发展等方面的努力,逐渐成为了电子行业的佼佼者。

ETA Electric Industry Co Ltd公司的发展小趣事

在市场不断拓展的同时,ETA Electric Industry Co Ltd非常注重产品质量管理。他们引入了国际先进的质量管理体系,并严格执行每一项质量控制标准。公司还设立了专门的质量检测部门,对每一批出厂的产品进行严格把关。这种对质量的极致追求,赢得了客户的广泛认可和信赖。

问答坊 | AI 解惑

哪个可以发个毕业 设计论文不???

单片机烟雾检测报警器电子毕业设计 等等的毕业设计论文,,,哪个发个连接…

查看全部问答>

wince开发系列问题——2,接系列问题1

编译,连接,都通过了,也生成了EXE;(,我是移植的代码,作了修改:wince开发系列问题——1有详细描述如何解决问题的,可能问题出现自我解决问题的方法) 但是悲剧的是: 在模拟器里跑不成,问题如下   void CbmpView::OnDraw(CDC* ...…

查看全部问答>

EVC4.2下的系统托盘没有图标

我按照网上的一些代码,就是无论如何都是空图标,透明的。 真的没有图标吗? 我明天发一下我的代码…

查看全部问答>

有没有做过ADSP的?

如何使用C来编写两个processor?…

查看全部问答>

【多功能手持示波函数表】进度汇报

  由于七月外地的比赛,拖了好多天,一直到7月底才开始动工,这个初步情况如下:   1.EEWORLD购买ADI所有的芯片已经到位   2.所有芯片资料都已经阅读和理解完毕   3.所有原理图和PCB已经设计完成并已经制板,开始进入了焊接 ...…

查看全部问答>

51单片机的传输方式?

我想向大家请教一下,51单片机的数据传输方式是由输入设备先经过存储器再到数据处理器,还是反过来呢? 如果是前一种的话,数据处理之后就直接存储还是先到地主找数据再返回到存储器,由存储器向输出设备?请各位大虾多多打救啊。…

查看全部问答>

富士通DIY工业控制板原理图及PCB发布

PCB图跳票了好几次,都不好意思了。不说了,直接上货。 [ 本帖最后由 ltbytyn 于 2012-11-28 12:58 编辑 ]…

查看全部问答>

一天的成果+样片申请经验

昨天申请的样片到了,今天淘宝的最小系统也到了,一个人在实验室焊贴片 这是我第一次焊贴片,焊了4块,有两块焊的很完美,还有两块修修补补也成功了 两个块MSP430F149,两块MSP430F168,引脚是兼容的,用的一种板子 实验室有热风台,开始以为 ...…

查看全部问答>

wince 的fatutil.dll 有什么用?

fatutil.dll 这个看有些人实现多fat 分区会用到这个dll ,在SLC nandflash 上,我现在要做这个功能,但是行不通,这个fatutil.dll 什么用的?…

查看全部问答>

晒WEBENCH设计的过程+移动电源设计之一

移动电源电路设计: 输入1:3.3到4.2V,输出5V,这个是电池逆变电路 输入2:4.5V到5.5V,输出3.7V,这个是电池充电电路 设计步骤: 第一步,选择两个输入和两个输出,添加电源和负载 第二步,编辑优化设计参数 第三步,检视和编辑项目设计 ...…

查看全部问答>