手机虚拟示波器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

0 引言

在电气检修工作中,有时要用到示波器查看各种电压波形,普通的示波器体积大、笨重,最重要的是没有电气隔离,操作时要注意不能触电。随着单片机等电子技术的发展,以及智能手机的普及,设计一个能和手机配套使用的虚拟示波器,成本低,携带使用都方便。

1 硬件设计电路包括信号预处理、单片机、蓝牙串口模块和电源4部分,电路原理图见图1。

图1:蓝牙虚拟示波器电路原理图

1.1 信号预处理

单片机AD转换电压范围是0~3.3V,为了能测量交流信号,把输入信号地端接RP3调节出的1.65V,这样就能测到-1.65~+1.65V的电压。实际工作中电工测量电压范围从几伏到几百伏,为此加入了电阻降压网络R1、R2、R4、R5、RP1和RP2,这样就能测到60V的电压,再加上个有x10挡(放大10倍)的示波器探头,最大可测到600V电压。LM358是双运放,接成电压跟随器方式,主要作用是提高输入阻抗,使示波器标入阻抗是1MΩ,否则示波器探头放到x10挡时,测量数值会有偏差。运放还能起到当输入信号过大时,限制输入到单片机的信号幅度,保护单片机的作用。共有2个信号输入端,组成双踪示波器,可以比较2路信号的相位关系。

1.2 单片机

选用了飞利浦的单片机P89LPC938,是基于80C51内核的低功耗FLASH单片机,其内部有7.373MHz振荡器、复位电路、8通道10位AD转换器,8K字节Flash程序存储器、7 68字节RAM数据存储器,这使得外围电路很简洁。为了提高AD转换速度和提高通信波特率的准确程度,使用了外部12MHz晶振。单片机的P2.0(AD07)、P2.1(AD06)接双运放L M358的电压输出,单片机的P1.0(TXD)、P1.1(RXD)接蓝牙模块的串口。

1.3 蓝牙串口模块

蓝牙串口模块主要参数:兼容蓝牙V2.0 规范、CLASS 2 标准,传输距离最大10M,支持SPP 服务(串口)。功能多的蓝牙模块可更改主从设置,默认为从设备,可以和电脑或手机蓝牙连接,还可以更改通信波特率,默认是9600bps,可更改为较大的波特率,如1152 00bps,加快通信速度。默认配对密码是1234,每次搜索蓝牙模块前先给蓝牙模块上电再搜索,再次搜索时要先把蓝牙模块重新上电,否则可能搜索不到。

1.4 电源

电源选用电池,携带方便,避免外接电源对测量数据的干扰。经三端稳压变为3.3V给单片机和蓝牙模块供电。

2 单片机软件编程

2.1 程序流程

单片机软件用Keil C51编写,主要流程是等待手机发来测试命令,收到命令后根据命令采集数据并存储到内部RAM,采集完一组数据后一起发送给手机,这样一个测试周期完成,等待下一个测试命令,流程图见图2。手机发出测试命令是4个字节,首字节是头标志“0xD B”,第2个字节代表量程选择,如果量程命令是非零字节,表示量程为15V,如果量程命令是零,表示量程为60V。第3、4字节是采样周期数据,控制采样频率,采样周期范围为5 0us~10ms,最高采样频率20kHz。每通道240个数据,共采集480个数据。

2.2 数字变量程单片机P89LPC938模数转换精度是10位,手机显示用8位就可以了,利用2位的差别可以实现4倍的数字变量程功能。硬件量程为±60V,对应转换后的数字是0 ~1023,除以4后的范围是0~255,输入信号在±15V范围内时,转换后的数字是384~639,减去384后的范围还是0~255。这样就实现了数字变量程的功能。有了2种量程选择,再配合示波器表笔上带的硬件变量程,使用的时候有4种量程选择±15V、±60V、±150V和±600V,能够满足常用的电气设备测量需要。

3 手机软件编程

3.1 开发环境配置

首先安装J2SE即JDK(jdk-6u22-windows-i586-p.exe),安装完成后,在“我的电脑—》属性—》高级”中,配置java环境变量,设置3项属性,JAVA_HOME,PATH,CLASSPAT H,若已存在则点击“编辑”,不存在则点击“新建”,JAVA_HOME指明JDK安装路径,PAT H使得系统可以在任何路径下识别java命令,设为%JAVA_HOME%\bin;%JAVA_HOME% \jre\bin,CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar。

接着安装WTK(sun_java_wireless_toolkit-2_5_2-ml-windows) ,默认路径是C:\WTK25。WTK 的全称是Sun J2ME Wireless Toolkit ,是Sun的无线开发工具包。以上软件均可以在sun的官方网站免费下载。

最后安装Eclipse作为开发环境,J2ME开发包工具可以被绑定在这些集成开发环境中,进一步提高开发效率。本设计用的是Eclipse3.6.2和EclipseMe1.7.9版本的软件。

3.2 蓝牙连接

手机蓝牙和蓝牙串口模块之间的连接,是程序设计的重点,也是难点。这个连接过程就是创建一个蓝牙客户端,分查找设备、查找服务、获得连接URL和建立连接4个主要步骤。具体代码如下:

//查找蓝牙设备

public void MyInquiry() {

try{

//获得本地设备

LocalDevice localDevice = LocalDevice.getLocalDevice();

//获得发现代理

discoveryAgent = localDevice.getDiscoveryAgent();

//开始查找设备

discoveryAgent.startInquiry(DiscoveryAgent.GIAC, this);

} catch(Exception e) {

e.printStackTrace();

}

}

// DiscoveryListener接口,记录已找到蓝牙设备并显示

public void deviceDiscovered(RemoteDevice remoteDevice, DeviceClass cod) {

try{

sel.append(remoteDevice.getFriendlyName(true),null);

} catch(Exception e){

sel.append(remoteDevice.getBluetoothAddress(),null);

} finally{

remoteDevices.addElement(remoteDevice);

}

}

相关文档
最新文档