开云app下载软件安装

0510-85310683
联系我们 / Contact us
当前位置:首页 > 产品中心

基于串行通信的压电陶瓷驱动器的设计

更新时间:07-11 08:27
作者: 产品中心

  由于其奇妙的压电效应被科学家们应用在与我们正常的生活紧密关联的领域,以实现能量转换、传感、驱动等功能。在电场作用下产生的形变量很小,最多不超过本身尺寸的千万分之一。利用这微小的变化能制作精确控制机构——压电驱动器,对于精密仪器和机械的控制等领域作用巨大。压电驱动器具备极高的位移分辨率以及抗干扰能力,并且操控方法简单,非常适用于微位移驱动,目前已被大范围的应用于国防、生物医学、光电子等诸多领域[1-2]。调节上的电压能够使用手动和计算机控制的方式,随着高性能D/A芯片的应用,使得计算机控制更加精确。计算机和外部电路(含单片机)的通信能够最终靠串口来实现。由于[3]具有高效可靠、价格实惠公道、遵循统一的标准等特点,使得串口通信在系统控制[4-5]的范畴中一直占据着非常非常重要的地位。

  图1所示为系统的结构框图。由于上下位机串行口工作电平不一致,它们之间通过MAX232芯片将TTL电平转换为RS232电平。单片机选择了ATMEL公司的精简指令集单片机ATmega16,该款单片机功耗低,在正常模式下只有1.1 mA,最高工作频率可达16 MHz,具有可擦写的16 KB的可编程Flash,其内部的USART是一个高度灵活的串行通信设施,用起来十分便捷。D/A芯片采用ANALOG公司的12 bit分辨率的AD5344,AD5344具有并行输入接口,需要的控制线也不多,并且具有双缓冲输入逻辑,一片AD5344有4路输出。计算机通过串行口将数据发送给单片机,单片机将接收到的数据放在内部的SRAM中,接收完毕后,再将数据取出,通过数据端口输出到D/A,D/A的模拟输出信号(电压)用来控制压电陶瓷。

  上位机程序的编写采用VisualBasic 6.0的编程环境,使用的MSComm通信控件,很容易就能实现串口通信,使用时要对串行通信的信息格式和协议进行设置。每个通信控件对应一个串口,如果要访问多个通信口,则要设计多个通信控件。

  计算机和单片机之间的通信采用查询的工作方法,计算机为上位机(主机),单片机为下位机(从机)。上位机主要负责发送控制命令,以及数据的发送接收、处理、计算、数据的显示等功能。上位机程序分为四个部分:界面设计、程序初始化、数据通信、数据处理。程序流程如图2所示。

  主程序界面大致上可以分为数据的输入框和命令控件按钮,输入框用于输入提供给压电陶瓷电压的数值,命令控件按钮用于实现命令和数据的发送和接收,界面还放置一个显示通信状态的文本框。程序界面如图3所示。

  图3中的“设置”按钮用于将文本框中的电压值(CH1~CH4)通过串口发送到单片机,单片机再把数据传给模数转换器。“清零”按钮用于将输出数据都设置为零。

  具体的程序代码包括串口的初始化及数据的发送与接收。串口的初始化代码如下:

  

  Atmega16内部的USART是一个高度灵活的串行通信设施,用起来十分便捷,单片机串行通信的波特率发生器可由其片内时钟产生,波特率寄存器UBRR用于设置所需要的波特率, 对于异步正常模式波特率的计算公式为BAUD=fosc/16(UBRR+1),对于9 600 b/s的波特率(和上位机一致),在fosc=8 MHz的情况下,UBRR的值为51。数据的传送格式为:1个起始位,8位数据位,1位停止位。程序流程如图4所示。

  基于串行通信设计了压电陶瓷驱动器,使用Visual Basic 6.0提供的串行通信控件可以轻轻松松实现串口数据的交换。系统的开发周期短、效率高,并且串行通信程序的调试能借助很多的工具软件(如串口调试助手),因此使用串行通信好处很多。虽然现在有的计算机的主板并不带串行接口(如笔记本电脑),而由USB接口替代,但一样能使用串行通信。方法是采用USB转串口的方法,硬件上需要一根转接线,使用的时候要安装驱动,其串口号由Windows自动分配,即系统虚拟了一个串行端口,这个端口和真实的串行端口使用方法完全一样。

  [1] 陈修涛,侯再红,谭逢富,等.一种基于压电陶瓷的目标精跟踪系统[J].微计算机信息,2010,26(8-1):32-33.

  [2] 朱华征,范大鹏,张智永,等.精密光路偏转及焦距调整机构的发展[J].激光与红外,2009,39(10):1028-1032.

  [3] 李肇庆,韩涛.串行端口技术[M].北京:国防工业出版社,2004.

  [5] 王平,张新东.基于智能仪表的数据采集系统设计[J]. 自动化与仪表,2009(4):9-10.

cache
Processed in 0.005137 Second.