基于STM32F103VCT6单片机的微位移控制系统设计
为实现X-Y-Z三维工作台的精确定位,设计了一种基于STM32F103VCT6单片机和步进电机的三维微位移控制系统。该系统可与上位机实现串口通信,接收上位机命令并把处理结果反馈给上位机;根据光栅传感器提供的位置反馈信息,系统可以通过对步进电机的方向、速度调节来实现精确定位;采用匀加速和匀减速方式对步进电机的速度进行调节,避免了因步进电机的突然加速和急停所带来的丢步和冲击现象。控制系统的测量实验结果表明,步进电机运行平稳,噪音低,定位精度高,控制系统性能稳定可靠。 微位移控制系统是一种集机械、光学、电子和计算机等多种技术于一体的智能化仪器。在先进制造技术与科学研究中有着极其广泛的应用,也是现代工业检测、质量控制和制造技术中不可或缺的测量设备。微位移控制系统一般由微定位机构、微位移检测装置和控制器组成。控制器是微位移系统的指挥中心,它按照一定的控制算法控制微定位平台,使其按照一定的规律运动,来实现精确定位。
传统的三维微位移控制系统一般采用步进电机驱动滚珠丝杠来实现定位。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即每施加一个脉冲信号,电机就转动一个步距角,因此脉冲数与电机转动的总步进角度是呈线性关系的。另外,步进电机只有周期性的误差而无累积误差,使得在速度、位置等控制领域用步进电机控制变得非常简单。步进电机开环控制系统主要优点是结构简单,在控制精度要求不高的场合应用较为广泛,但是在实际应用中,若步进电机升、降速控制不合理,会造成步进电机丢步或过冲;在开环控制系统中,由于步进电机丢步现象的存在,无法获知它是否精确地到达了预定位置,也就无法实现高精度的定位。
为实现三维工作台的精确定位,系统采用步进电机闭环控制系统。系统中,利用光栅传感器的输出作为微位移控制系统的位置反馈信号,实现闭环控制。光栅传感器的分辨率为1μm,自带读数头,可直接输出TTL电平或正弦波信号,为信号处理和与控制系统连接提供了便利。控制系统通过光栅传感器反馈信号来判断是否达到了预定位置,进而做出相应的调整动作。从而达到精确定位的目的。
1 硬件电路设计1.1 微位移控制系统总体设计
根据微位移控制系统的设计要求,首先应保证控制系统的定位精度,其次应尽量做到结构简单,成本低,操作简便。基于上述考虑,本文设计了如图1所示的微位移控制系统。其中,采用STM32F103VCT6单片机作为控制核心和数据处理器,基于THB7128驱动芯片设计驱动电路;定位系统采用电动平移台,由步进电机驱动滚珠丝杠进行定位,重复定位精度可以达到3μm;上位机采用VB进行程序设计,实现各种控制命令的发送、数据处理、数据显示等功能;通信方式采用RS 232串行通信,协议简单,操作方便。
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所示。
控制系统驱动的步进电机为两相四线制步进电机,硬件配置上,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;同样,捕获器、比较器、预分频器、触发输出特性等仍正常工作。在这个模式下,计数器依照增量编码器的速度和方向被自动地修改,因此计数器的内容始终指示着编码器的位置。计数方向与相连的传感器旋转的方向对应。
图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寄存器,计数器使能)
|