分享
分享赚钱 收藏 举报 版权申诉 / 8

类型手机虚拟示波器.docx

  • 上传人:hskm5268
  • 文档编号:7823015
  • 上传时间:2019-05-27
  • 格式:DOCX
  • 页数:8
  • 大小:228.73KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    手机虚拟示波器.docx
    资源描述:

    1、0 引言在电气检修工作中,有时要用到示波器查看各种电压波形,普通的示波器体积大、笨重,最重要的是没有电气隔离,操作时要注意不能触电。随着单片机等电子技术的发展,以及智能手机的普及,设计一个能和手机配套使用的虚拟示波器,成本低,携带使用都方便。1 硬件设计电路包括信号预处理、单片机、蓝牙串口模块和电源 4 部分,电路原理图见图1。图 1:蓝牙虚拟示波器电路原理图1.1 信号预处理单片机 AD 转换电压范围是 03.3V,为了能测量交流信号,把输入信号地端接 RP3 调节出的 1.65V,这样就能测到 -1.65+1.65V 的电压。实际工作中电工测量电压范围从几伏到几百伏,为此加入了电阻降压网络

    2、 R1、R2、R4 、R5、RP1 和 RP2,这样就能测到 60V的电压,再加上个有 x10 挡(放大 10 倍)的示波器探头,最大可测到 600V 电压。LM358 是双运放,接成电压跟随器方式,主要作用是提高输入阻抗,使示波器标入阻抗是 1M,否则示波器探头放到 x10 挡时,测量数值会有偏差。运放还能起到当输入信号过大时,限制输入到单片机的信号幅度,保护单片机的作用。共有 2 个信号输入端,组成双踪示波器,可以比较 2 路信号的相位关系。1.2 单片机选用了飞利浦的单片机 P89LPC938,是基于 80C51 内核的低功耗 FLASH 单片机,其内部有 7.373MHz 振荡器、复位

    3、电路、 8 通道 10 位 AD 转换器, 8K 字节 Flash 程序存储器、768 字节 RAM 数据存储器,这使得外围电路很简洁。为了提高 AD 转换速度和提高通信波特率的准确程度,使用了外部 12MHz 晶振。单片机的 P2.0(AD07)、P2.1(AD06)接双运放 LM358 的电压输出,单片机的 P1.0(TXD)、P1.1(RXD)接蓝牙模块的串口。1.3 蓝牙串口模块蓝牙串口模块主要参数:兼容蓝牙 V2.0 规范、CLASS 2 标准,传输距离最大 10M,支持 SPP 服务(串口)。功能多的蓝牙模块可更改主从设置,默认为从设备,可以和电脑或手机蓝牙连接,还可以更改通信波特

    4、率,默认是 9600bps,可更改为较大的波特率,如115200bps,加快通信速度。默认配对密码是 1234,每次搜索蓝牙模块前先给蓝牙模块上电再搜索,再次搜索时要先把蓝牙模块重新上电,否则可能搜索不到。1.4 电源电源选用电池,携带方便,避免外接电源对测量数据的干扰。经三端稳压变为 3.3V 给单片机和蓝牙模块供电。2 单片机软件编程2.1 程序流程单片机软件用 Keil C51 编写,主要流程是等待手机发来测试命令,收到命令后根据命令采集数据并存储到内部 RAM,采集完一组数据后一起发送给手机,这样一个测试周期完成,等待下一个测试命令,流程图见图 2。手机发出测试命令是 4 个字节,首字

    5、节是头标志“0xDB”,第 2 个字节代表量程选择,如果量程命令是非零字节,表示量程为 15V,如果量程命令是零,表示量程为 60V。第 3、4 字节是采样周期数据,控制采样频率,采样周期范围为 50us10ms,最高采样频率 20kHz。每通道 240 个数据,共采集 480 个数据。2.2 数字变量程单片机 P89LPC938 模数转换精度是 10 位,手机显示用 8 位就可以了,利用 2 位的差别可以实现 4 倍的数字变量程功能。硬件量程为60V,对应转换后的数字是 01023,除以 4 后的范围是 0255,输入信号在15V 范围内时,转换后的数字是 384639,减去 384 后的范

    6、围还是 0255。这样就实现了数字变量程的功能。有了 2 种量程选择,再配合示波器表笔上带的硬件变量程,使用的时候有 4 种量程选择15V、60V、150V 和600V ,能够满足常用的电气设备测量需要。3 手机软件编程3.1 开发环境配置首先安装 J2SE 即 JDK(jdk-6u22-windows-i586-p.exe),安装完成后,在“我的电脑属性高级”中,配置 java 环境变量,设置 3 项属性,JAVA_HOME,PATH,CLASSPATH,若已存在则点击“编辑”,不存在则点击“新建” , JAVA_HOME 指明 JDK 安装路径,PATH 使得系统可以在任何路径下识别 ja

    7、va 命令,设为%JAVA_HOME%bin;%JAVA_HOME%jrebin,CLASSPATH 为 java 加载类(class or lib)路径,只有类在 classpath 中,java 命令才能识别,设为.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar。接着安装 WTK(sun_java_wireless_toolkit-2_5_2-ml-windows) ,默认路径是 C:WTK25。WTK 的全称是 Sun J2ME Wireless Toolkit ,是 Sun 的无线开发工具包。以上软件均可以在 sun 的官方网站免费下载。最后安装 Ecl

    8、ipse 作为开发环境, J2ME 开发包工具可以被绑定在这些集成开发环境中,进一步提高开发效率。本设计用的是 Eclipse3.6.2 和 EclipseMe1.7.9 版本的软件。3.2 蓝牙连接手机蓝牙和蓝牙串口模块之间的连接,是程序设计的重点,也是难点。这个连接过程就是创建一个蓝牙客户端,分查找设备、查找服务、获得连接 URL 和建立连接 4 个主要步骤。具体代码如下:/查找蓝牙设备public void MyInquiry() try /获得本地设备LocalDevice localDevice = LocalDevice.getLocalDevice();/获得发现代理discov

    9、eryAgent = localDevice.getDiscoveryAgent();/开始查找设备discoveryAgent.startInquiry(DiscoveryAgent.GIAC, this); catch(Exception e) e.printStackTrace();/ DiscoveryListener 接口,记录已找到蓝牙设备并显示public void deviceDiscovered(RemoteDevice remoteDevice, DeviceClass cod) trysel.append(remoteDevice.getFriendlyName(true

    10、),null); catch(Exception e)sel.append(remoteDevice.getBluetoothAddress(),null); finallyremoteDevices.addElement(remoteDevice); / DiscoveryListener 接口,查找设备完成public void inquiryCompleted(int discType) if (remoteDevices.size() 0) /加入其它代码,如查找服务 else /查找服务public void MyServices()try RemoteDevice remoteDe

    11、vice = (RemoteDevice)remoteDevices.elementAt(sel.getSelectedIndex();discoveryAgent.searchServices(attrSet, uuidSet, remoteDevice , this); catch(Exception e) e.printStackTrace();/ DiscoveryListener 接口,服务查找成功,得到连接 ULRpublic void servicesDiscovered(int transID, ServiceRecord servRecord)DataElement serv

    12、iceNameElement = servRecordsel.getSelectedIndex().getAttributeValue(0x0100);String _serviceName = (String)serviceNameElement.getValue();String serviceName = _serviceName.trim();btConnectionURL = servRecordsel.getSelectedIndex().getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false);/Discove

    13、ryListener 接口,查找服务完成public void serviceSearchCompleted(int transID, int respCode) if (respCode = DiscoveryListener.SERVICE_SEARCH_COMPLETED) else /打开连接,建立输入、输出通道StreamConnection connection = (StreamConnection)Connector.open(btConnectionURL);经过以上步骤,手机和蓝牙串口模块建立起了连接,用 read、write 方法可以互相通信,传输数据了。 3.3 波形显

    14、示测试程序用的是三星 S3370 手机,屏幕分辨率为 320x240,屏幕上、下侧用于显示手机状态和按键信息,实际可编程使用的分辨率为 200x240,上部 170x240 部分显示波形,下部30x240 显示量程、周期选择菜单。按示波器的习惯把显示波形的界面画出格子,通过查格子可以大致判断波形的幅值和周期。4 结束语制作了测试用电路板见图 3,预留了外接电源插座,使用的是外接 4 节 1.5V 电池。图 3:测试用电路板正反面图上电后不接信号输入,打开手机蓝牙,运行手机上的软件,测试的结果应该显示直线,且直线在中间位置,否则调节 RP3 使测试直线显示到中间位置,然后 2 路输入同样的 10V直流电压信号,调节 RP1、RP2 ,使直线显示到正确位置,调整完毕。对一个可控硅调节控制电路测试,手机显示见图 4。量程 20V 表示纵向每格为 20V,周期 6ms 表示横向每格6ms。2 个按键,每按下 “测量”1 次,测量 1 次并显示波形,按“退出” 则结束程序的运行。按左右按钮选择量程或周期,按上下则调整量程或周期。经测试,达到了预期设计目的。图 4:测试时手机显示的波形

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:手机虚拟示波器.docx
    链接地址:https://www.docduoduo.com/p-7823015.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开