基于STM32F103VCT6的微位移控制系统设计

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

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

a.jpg[page]

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

[page]

    图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所示。

[page]

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的微位移控制系统设计

上一篇:以STM32为核心控制芯片实现闸门测量技术解析方案
下一篇:基于STM32F103RCT6的电脑鼠控制系统方案解析

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

RS232串口通信在PC机与单片机通信中的应用
0 引言 随着信息技术的飞速发展和科技进步,在许多现代化集中管理的控制系统中,需要对现场数据进行统计、分析、打印、报警等,同时又要对现场设备进行实时控制,完成各种操作。单片机作为控制系统中必不可少的部分,在各个领域得到了广泛的应用。由于单片机具有体积小、价格低廉、适应性强的特点,一般在工业控制系统中,各种数据的采集和执行机构的控制都是由单片机来完成。而单片机的计算能力有限,难以进行复杂的数据处理。在功能比较复杂的自动控制系统中,通常以工控机为上位机,单片机为下位机,由单片机完成数据的采集及对设备的控制,而由上位机完成各种复杂的数据处理及对单片机的控制。在分布式控制系统中大多采用单片机作为下位机来进行数据采集和现场控制,在这些应用
[单片机]
RS232<font color='red'>串口通信</font>在PC机与单片机通信中的应用
基于WinCE的GPS导航数据提取的设计与研究
    Windows CE 是一个开放的、可裁剪的、32位实时嵌入式窗口操作系统,具有可靠性好、实时性高、内核体积小的特点,广泛应用于各种智能式设备的开发。系统通过微软提供的Platform Builder定制需要的Windows CE5.0系统,运行在硬件平台上。硬件平台采用博创科技PXA270实验箱,该实验箱嵌入式处理器是基于ARMV5E的Xscale核心PXA270,并支持串口通信。     GPS导航芯片采用天宝iQ 46240,将接收到的数据通过串口发送给处理器。串口是计算机系统与外部串行设备之间的数据传输通道,是嵌入式通信最可靠、最通用的通信方式。程序员利用Windows API函数可以编写出高效、可移植性的应用
[嵌入式]
基于单片机的光电鼠标传感器带速度精密测量及其控制系统
引言 带传动是工业生产中使用普遍的传输装置,其常用的速度检测装置是安装在电机旋转端的光电编码器。但设备在长期使用中,因磨损等不可预计情况,使得电机转速与带传动速度出现严重的不一致。这种半闭环控制方式在需要较高精度的带传动速度控制上误差很大。光栅尺等因价格昂贵、对现场环境要求高,往往对于普通工况中的的带传动装置改装并不很适用。鉴于此,本文提出了使用一般商用的光电鼠标代替传统的检测器件,通过AT89S51单片机实现现场的PID控制,使带传动速度达到我们满意的要求。 1、检测系统硬件组成 1.1OM02光学 传感器 芯片及鼠标控制器 这款光学COMS传感器是一款针对个人计算机所配置的非接触式光电鼠标芯片。他集成有数字信号处理器(D
[单片机]
基于单片机的光电鼠标传感器带<font color='red'>速度</font>精密测量及其<font color='red'>控制</font>系统
linux和单片机的串口通信
最近做无线传输方面的东西,需要cc2430开发板和tq2440进行数据串口通信。os为linux。 linux驱动在移植后时已经写好了,所以直接写应用层的程序即可,跟pc的写法类似。 修改自tq的serial_test demo程序,由pc端得串口ttyS0和tq2440的uart1口进行数据通信,互发字符串。 Uart.h文件: #ifndef UART2_H #define UART2_H #define FALSE 0 #define TRUE 1 #define WORDLEN 32 struct serial_config { unsigned char
[单片机]
linux和单片机的<font color='red'>串口通信</font>
MSP430F149小系统开发板实现RS232串口通信
/***************************************************** 程序功能:MCU不停向PC机发送数据,在屏幕上显示0~127对应 的ASCII字符 ------------------------------------------------------ 通信格式:N.8.1, 2400 ------------------------------------------------------ 测试说明:打开串口调试精灵,正确设置通信格式,观察屏幕 调试说明:该程序通过USB口,在sscom32上可以观察到现象。 用的是com6串口。在调试的时候,
[单片机]
PIC18F452+Proteus双机通信 串口通信 键盘更改波特率源程序
系统功能 1、实现双机之间的通信 (1)在主机上通过4*4键盘上的键值“1”“2”“3”设定波特率(2400、4800、9600),发给从机,两者正常通信; (2)从机将采集到的压力信号传到主机,主机通过LCD显示在第一行,我们可以观察到主机的LCD显示的数和从机的保持一致。 (3)主机通过获取按键“5”“6”“7”,改变从机的ADC采样率分别为“10s”“20s”“30s”,由于ADC采样率不易直接观察改变,可将采样率的值通过从机的三个不同颜色的小灯显示。 2、从机通过ADC采样获取压力传感器模拟输出端口的电压值,并将电压值转化为压力值,通过自身的LCD显示; 3、主机获得从机采集的压力值之后,和初始设定的压力值(我设置
[单片机]
PIC18F452+Proteus双机通信 <font color='red'>串口通信</font> 键盘更改波特率源程序
stm32专题十一:串口通信(一) USART理论
/************************************************************************************************************/ RS232(负逻辑):由三条线(RX、TX、GND)组成。-15v ~ -3v代表逻辑1,+3 ~ +15v代表逻辑0,这里的±是相对于GND而言。 RS485:与232不同,485采用差分双绞线。RS-485总线标准规定了总线接口的电气特性标准即对于2个逻辑状态的定义:正电平在+2V~+6V之问,表示一个逻辑状态;负电平在-2V~-6V之间,则表示另一个逻辑状态;数字信号采用差分传输方式,能够有效减少噪
[单片机]
stm32专题十一:<font color='red'>串口通信</font>(一) USART理论
ARM7与FPGA相结合的应用
  ARM7与FPGA相结合在工业控制和故障检测中的应用   工业控制中往往需要完成多通道故障检测及多通道命令控制(这种多任务设置非常普遍),单独的CPU芯片由于其外部控制接口数量有限而难以直接完成多路检控任务,故利用ARM芯片与FPGA相结合来扩展检控通道是一个非常好的选择。这里介绍用Atmel公司ARM7处理器(AT91FR40162)和ALTERA公司的低成本FPGA芯片(cyclone2)结合使用完成多通道检控任务的一种实现方法。    各部分功能简介   图1为此系统的结构连接框图。如图所示,ARM芯片与FPGA芯片之间通过数据总线、地址总线及读写控制线相连,而与终端PC则通过串口通信;FPGA与目标设备通过命令控
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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