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

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

ID:5927540

大小:23.00 KB

页数:2页

时间:2017-12-29

基于串行通信的压电陶瓷驱动器的设计_第1页
基于串行通信的压电陶瓷驱动器的设计_第2页
资源描述:

《基于串行通信的压电陶瓷驱动器的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、电源招聘专家基于串行通信的压电陶瓷驱动器的设计压电陶瓷由于其奇妙的压电效应被科学家们应用在与人们生活密切相关的领域,以实现能量转换、传感、驱动等功能。压电陶瓷在电场作用下产生的形变量很小,最多不超过本身尺寸的千万分之一。利用这微小的变化可以制作精确控制机构——压电驱动器,对于精密仪器和机械的控制等领域作用巨大。压电驱动器具有很高的位移分辨率以及抗干扰能力,并且控制方法简单,非常适用于微位移驱动,目前已被广泛应用于国防、生物医学、光电子等诸多领域[1-2]。调节压电陶瓷上的电压可以采用手动和计算机控制的方式,随着高性能D/A芯片的应用,使得计算机控制更加精确

2、。计算机和外部电路(含单片机)的通信可以通过串口来实现。由于串行通信[3]具有高效可靠、价格便宜、遵循统一的标准等特点,使得串口通信在系统控制[4-5]的范畴中一直占据着极其重要的地位。VisualBasic6.0提供了串行通信控件,可以轻松实现串口数据的交换。本文介绍通过PC和单片机之间的串行通信来实现压电陶瓷驱动器的设计,其中计算机作为上位机,单片机作为下位机。1硬件基础图1所示为系统的结构框图。由于上下位机串行口工作电平不一致,它们之间通过MAX232芯片将TTL电平转换为RS232电平。单片机选择了ATMEL公司的精简指令集单片机ATmega16,

3、该款单片机功耗低,在正常模式下只有1.1mA,最高工作频率可达16MHz,具有可擦写的16KB的可编程Flash,其内部的USART是一个高度灵活的串行通信设备,使用起来非常方便。D/A芯片采用ANALOG公司的12bit分辨率的AD5344,AD5344具有并行输入接口,需要的控制线也不多,并且具有双缓冲输入逻辑,一片AD5344有4路输出。计算机通过串行口将数据发送给单片机,单片机将接收到的数据放在内部的SRAM中,接收完毕后,再将数据取出,通过数据端口输出到D/A,D/A的模拟输出信号(电压)用来控制压电陶瓷。2上位机程序设计 上位机程序的编写采用V

4、isualBasic6.0的编程环境,使用VisualBasic6.0的MSComm通信控件,非常容易就能实现串口通信,使用时要对串行通信的信息格式和协议进行设置。每个通信控件对应一个串口,如果要访问多个通信口,则要设计多个通信控件。2.1程序流程及界面设计 计算机和单片机之间的通信采用查询的工作方法,计算机为上位机(主机),单片机为下位机(从机)。上位机主要负责发送控制命令,以及数据的发送接收、处理、计算、数据的显示等功能。上位机程序分为四个部分:界面设计、程序初始化、数据通信、数据处理。程序流程如图2所示。 主程序界面主要分为数据的输入框和命令控件按钮

5、,输入框用于输入提供给压电陶瓷电压的数值,命令控件按钮用于实现命令和数据的发送和接收,界面还放置一个显示通信状态的文本框。程序界面如图3所示。 图3中的“设置”按钮用于将文本框中的电压值(CH1~CH4)通过串口发送到单片机,单片机再把数据传给模数转换器。“清零”按钮用于将输出数据都设置为零。电源招聘专家2.2程序代码 具体的程序代码包括串口的初始化及数据的发送与接收。串口的初始化代码如下:MSComm1.CommPort=1;使用COM1串口MSComm1.Settings="9600,n,8,1";数据格式:波特率9600b/s,无奇偶校验,8位数据,

6、1位停止位MSComm1.OutBufferCount=0;清空发送缓冲区MSComm1.InBufferCount=0;清空接收缓冲区MSComm1.PortOpen=True;打开串口MSComm1.InputMode=1;以二进制形式取回数据MSComm1.InputLen=0;一次读取缓冲区内全部数据 由于篇幅的限制,关于数据的发送和接收部分的代码不再给出了。3下位机的通信程序设计 下位机程序包括初始化部分、数据接收部分和数据输出部分等。Atmega16内部的USART是一个高度灵活的串行通信设备,使用起来非常方便,单片机串行通信的波特率发生器可由

7、其片内时钟产生,波特率寄存器UBRR用于设置所需要的波特率,对于异步正常模式波特率的计算公式为BAUD=fosc/16(UBRR+1),对于9600b/s的波特率(和上位机一致),在fosc=8MHz的情况下,UBRR的值为51。数据的传送格式为:1个起始位,8位数据位,1位停止位。程序流程如图4所示。 初始化部分程序代码如下:ldir16,0x20outUCSRA,r16;设置串口通信模式ldir17,0x00outUBRRH,r17ldir16,0x33outUBRRL,r16;设置串口通信的波特率ldir16,0x86outUCSRC,r16;设置串

8、口通信的数据格式ldir16,0x18outUCSRB,r16;使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。