用单片机PIC18F2550设计示波器
扫描二维码
随时随地手机看文章
一、性能指标
(1)采降速率:334kHz,100kHz,50kHz,20kHz,10kHz.5kHz,2kHz,1kHz,500Hz等9档可调。
(2)工作电压:3.5—5V,采用内置可充电锂电池供电,使用计算机USB口充电。
(3)输入阻抗:1MΩ。
(4)输入电压:±2.5V,±12.5V两档可调,如果接入10:1示波器探棒,最大输入电压可达±125V。
(5)触发方式:边沿触发,无、上升沿、下降沿三档可调,触发电压通过按键循环调整。
(6)具有波形冻结功能。
二、电路原理
电路原理图如下图所示,从图中可以看出微型示波器由电源电路、测量信号输入、信号整理、信号采集、显示及键盘处理等6部分构成。
1.电源电路
为满足便携的需要采用了可充电锂电池作为本机的电源,由于可充电锂电池内置了保护芯片,所以充电电路仅使用了R302一只15Ω的限流电阻构成简易充电电路,经过一个月的试用,情况良好,充满电后本机可以连续工作2个小时,一般情况下本机都是间断使用,可以工作很长的时间。电量降低到一定的时候,由于电池内置保护电路的作用,本机自动断电。由于锂电基本上没有记忆效应,所以可随时将USB电缆的一端插入本机,另一端插入普通PC机的任意一个USB口,为本机充电,充满自停。运放所需的负电源由一片34063及周边电路构成,提供-4.2V电源给运放使用。
2.信号输入电路
信号输入电路由R10、R11、R12、R13、R14、C11、C12和D5、D6构成,完成输入信号的1:1和1:5切换、阻抗匹配以及对后级电路的保护,由于信号输入电压分±2.5V,±12.5V两档可调,所以本机未设交直流切换电路。
3.信号整理电路
T1072中的两级运放及周边电路完成信号整理工作,其中一级运放完成输入阻抗转换工作,另一级完成±2.5V到0~2.5V的信号转换工作以满足信号采集电路的工作需要。
4、信息采集电路
本机的核心是一片PIC18F2550单片机,PIC18F2550是一款采用纳瓦技术的28引脚RAM,256强型闪存USB单片机,拥有32KB闪存,2KBRAM,256字节EEPROM,3个外部中断,4个定时器模块(Timer0到Timer3),2Mb/s)数据传输,支持控制、中断、等时和批量数据传输模式,特别是内置有10路10位模数转换器非常适合制作简易示波器,PIC18F2550的数据手册可到www.
microChip.com.cn下载。信号采集电路由PIC18F2550的内置模数转换电路和R27与TIA31构成的电压基准构成,将0~2.5V模拟信号转换为0~255的数字信号。
5.显示电路
显示电路使用了一片128×64的图形点阵液晶模块,这是一片带有SPI串型接口的黑白点阵液晶。
模块通过7针接口与单片机通信,由于本机只使用了一片显示模块,所以其中的CS1脚可以真接接地,去除电源和地,本机只使用了单片机PB口的PBO~PB3共4个引脚就完成了显示模块的控制。
6.键盘电路
示波器的控制主要有采样率调整、测量量程切换、触发电平调整、触发方式调整、波形快照等,这里测量量程切换使用了一个l×2的拨动开关,其他功能通过4个接在单片机PB4-PB7引脚上的微动开关完成,所有按键均为循环功能键,第一个按键为触发方式循环功能键,按动此键,触发方式在无、上升沿和下降沿间切换;第二个按键为触发电平功能键,触发电平可以从+2.5—2.5V间变化,当然,当量程开关在±12.5V档时触发电平可以从+12.5~12.5V间变化;第三个按键为采样率切换键,采样率可以从67.5μs/div-50ms/div间切换;第4个按键为波形快照键,按下此键画面显示冻结,方便仔细观察波形,再次按动此键,重新开始采样。
三、软件设计
软件采用PICC开发,软件包括按键处理、数据采样和数据显示三个主要功能。按键处理采用中断方式,同时去抖动;数据采样采用了内部时钟作为采样率控制;数据显示使用了软件模拟SPI接口的方法控制液晶模块的显示,下面分别是数据写入和控制写入的基本函数:
具体编程过程中可以采用双缓存技术提高显示速度,即一个缓存写入数据的同时,使用另一缓存显示数据。由于是数字示波器,可以充分利用单片机的计算能力,自动计算出信号频率、平均值、最大值、最小值等参数,其中频率的计算可以通过信号通过平均值的次数,同时考虑当时的采样率即可计算得出;其他值的计算均为简单的算数运算,不过其中要用到浮点数,幸好编译器为我们提供了浮点函数库,如果用汇编完成则会比较麻烦。
四、制作调试
制作过程中要尽量缩小体积以便携带,同时注意布线尽量短捷以减少自激的可能,上图(略)为一种设计供参考:
图中的BNC插座用于接入标准示波器探头,也可以自制简易探头,中图中的探头就是笔者使用标准BNC插头加上一个从旧万用表笔中拆出的探针组装了一个探头,这样手持示波器即可对电路进行测量,下图为插头内部构造照片。左上边的拨动开关用于1:5衰减切换,左下边的拨动开关为电源开关,右上侧为USB接口,用于对内置锂电池进行充电,右边的微动开关从上至下分别为触发方式、触发电平、采样率和屏幕快照按钮。读者在制作过程中要注意尽量减少地线的长度,同时要注意输入信号的地线要与其他地线分开并一点接地。制作过程可以分三步:第一步安装好USB插座和DC-DC转换部分,在使用万用表确认USB接口的1~4脚间无短路的情况下(各类常见USB接口见图8(略),其中1—4脚不可接反,将电路板接入计算机的USB口,这时在T1072的4脚和8脚应该可以分别测到士4~5V的电压,并且基本相等,如不等,可以通过调整R202的值使之相等。同时测一下PIC18F2550的20脚也应有4—5v的电压,以上电压随着计算机的不同而略有差别。接入锂电池,即可开始对电池充电。第二步安装T1072、电压基准T1431及其周边元件和输入网络,安装完成后接入计算机,在输入端接上1.5V的干电池,同时将1:5的输入信号切换开关拨向上侧,在T1072的1脚应该可以测到与电池相等的电压,7脚可以测到约2V的电压。第三步将LCDOscilloscope.hex烧写进PIC18F2550,单片机程序可以采用icd2写入单片机。安装PIC18F2550及其周边相关元件,安装完成后,接入液晶屏,应可看到www.sunxd.com的LOGO显示,过3s给出波形显示,如果没有,可以检查一下单片机周边的晶振,C301、R301等,可以检查相关的部分即可。
五、安装使用
依据电路板设计选用外壳,右图为装入外壳后的情形,使用中主要的可调部分只有两只拨动开关和四只微动开关,可以在使用中略加摸索即可上手。
使用过程中如果屏幕不亮应首先考虑可能是需要充电了。