发作品签到
专业版

多功能测试笔

工程标签

536
0
0
0

简介

ZS-CW32多功能测试笔

简介:ZS-CW32多功能测试笔
仪器仪表训练营

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2023-10-17 03:16:00更新时间:2023-11-21 01:36:27

描述

基于CW32F030的便携式多功能测试笔设计

测试笔的操作方式,轻点住电路板某一节点便能进行测试;晶:晶体管,泛指一切电子电路

一、起心动念

在日常的硬件调试工作中,我们最常使用的仪器仪表可能就是万用表了,虽然万用表号称“万用”,但大部分时候,我们需要使用到的功能无非是电压测量和通断测量。

作为调试的“得力干将”,万用表有时候也会存在一些缺点和局限性,比如:体积较大不便于携带、无法直接反应逻辑电平情况而需要自己判断、不同型号万用表的通断档位阈值电阻不同等等,而最令人头大的,莫过于万用表的COM表笔通常需要接地,而pcb上可能没有直插孔位可以方便的固定笔尖,因此不得不用手辅助“黑表笔“,影响操作灵活性。

因此我在2022年时设计了“逻辑电平测试笔“,针对常用的3.3V和5V的TTL电平进行快速测量,在当时我就决定了做一款”升级版“,时间转眼来到了2023年,我对这支测试笔的构想在脑中逐渐完善,在” CW32生态社区“的支持下我决定将这一设计变为实物。

二、初步构想

对于这支测试笔,我对他的功能有以下期望:

1、电压测量+阈值判断,阈值电平可以根据需求自行设定满足不同逻辑电平的场景,并且保留“简易逻辑电平测试笔“好用的红绿灯提示功能;

2、通断测量,且阈值电阻可以根据需求调整(这可是在葫芦客上千元的万用表中才有的功能,我也要给我的测试笔加上);

3、二极管测量,导通电压测量,并且点亮一颗二极管(注意!不是三极管!!!);

4、PWM输出,方便在一些场景下提供一个已知量对系统进行测试,也可以对无源蜂鸣器等进行测试

5、PWM输入,可以对频率进行测量(甚至是对串口等数据进行简单的解码显示等功能,不过目前技术有限还没有实现)

6、直流输出,模拟出一个需要的直流电平进行测试(感谢李老师提出的这个需求,我在使用中发现非常的实用)

7、可以连接扩展板进行配合测量(也欢迎大家提供扩展模块的思路)

同时,我也计划将本项目开源使更多的人用上他,或根据自己的需求进行改版再设计,因此我还额外注意了以下几点:

1、限制PCB长度在10cm以内,使大家可以在嘉立创“白嫖”PCB

2、阻容元器件均使用0603封装,LED使用0805封装,便于自己制作时进行焊接(一方面是很多人会觉得0402元器件比较难焊接,另一方面是0402元器件基本上都没有丝印,自己焊接如果焊错了会很难检查)

3、项目会尽量控制成本(很多时候给自己做东西会为了精度或者外观而增加较高的成本,为了方便大家复刻本项目会尽可能找到功能和成本的平衡)

三、电路模块设计

在对测试笔进行设计时,我把整体分为了五个部分:

模拟前端

电源与电池管理

单片机及外设

显示屏

人机交互(不包括显示屏的其他交互)

根据模块化的设计思路,我们可以在画电路图时更加有条理,也可以在进行PCBLayout时将布局按照模块进行大致区分,以便于进行走线等操作。

本项目的电路模块设计是一种很常见的模数混合电路的设计,可以适用于许多类似的项目。

在电池管理、电源、单片机等电路模块中,本项目会尽量采用标准化设计,提升项目电路图可阅读性与可继承(复制)性。

四、电路设计

我们根据需求对每个部分进行细化设计,来实现既定目标。

在下面,将会结合电路图和PCB对我的设计和设计思路进行详细的说明。

1、电源与电池管理

1.1 充放电管理

在充电ic部分我选择了常用的TP4057作为主控,电源输入采用了最常见的Type-C接口,虽然在本项目中实用6P接口就已经足够,但考虑到项目扩展性,因此选择了16P接口,并借用了Type-C接口中的SBU1、SBU2引脚进行扩展板连接,之所以没有使用D+D-作为扩展线路,是因为考虑到设备的输出信号可能使得充电器误判,从而发出错误电压造成危险,这在设计中是需要考虑到的。

4eRz2segHCpPTBfF6btfI20I3EISlWJyezEGQEy7.png

Ph09y29SZyjSIvL35rdhy5hidLyFYRLZswNMzM64.png

2、单片机及外设等

2.1 CW32单片机核心系统

标准的单片机核心系统配置,其中因为本项目不需要用到高精度时钟和低速晶振进行长时间计时,因此则省略这部分电路(这边画了,但是设置为不需要转入PCB、不导入BOM,主要是为了别的项目在使用时可以直接复制使用,主打一个CV工程师。

本项目不使用bootloader烧录,因此BOOT引脚直接拉低(标准画法可以参考被注释的部分,本项目的PCB面积较为紧张,就直接接地了)。SWD接口为PA13、PA14,本项目中通过1.0间距的排针引出,不过在实际使用中不需要焊接排针,只需要使用探针(项目工程里有探针的转接板)顶住接口就可以进行下载。排针引出接口包括SWD、RST、MCUVCC等,方便进行调试(PCB上的复位按键不能SMT焊接,因为贴片焊盘和排针直插焊盘复用,回流焊会漏锡造成虚焊甚至短路!复位按键的设计是为了在烧录完成后,确定不会再烧录的情况下焊接,既可以挡住排针的孔(没错,我有强迫症),也可以当作复位按键使用(仿佛说了一句废话),即使不焊接也可以使用镊子等金属物品短接RST和GND孔洞进行复位操作。

UdzxcZML4yZjZbM72zI5XkgbHXuAEpnYosi55nZr.png

sDftUJYDKzox9NUH1BW7StnT1CnBQbMfU1sXqCP3.png

2.2 用户操作输入

本项目的用户操作部分使用了一颗五向摇杆开关,可以理解等效为五颗普通按键开关,编程起来也是作为普通按键即可。

不同方向的摇杆开关对应的功能会在程序部分进行说明,此处不做赘述。

ZYzQCbcN2QFdcrupWYCbSHMqb2qGa4s34g60T1pv.png

2.3 显示屏

本项目采用了一块0.96寸TFT显示屏,显示屏分辨率80*160,采用ST7735显示驱动芯片,通过FPC与PCB焊接进行连接,通过SPI接口进行通信。

yoGj4Oeq51V8VDm7wR1jf85XduF10BnjgjSG0ZMI.png

2.4 其他人机交互

nLfcK0tmgvllTKA5v0p6XFiKmpo2BNxrKQu5nlSe.png

如上图所示,多功能测试笔有一红一绿两颗LED用于电平指示,其中绿色用来指示低电平、红色用来指示高电平(焊接时需要注意LED的颜色),两颗LED与MCU的连接均为灌电流模式(注:LED和显示屏同时起作用,其中LED作为快速指示灯,方便用户通过余光就能确定当前的状态)。

一颗无源蜂鸣器用于额外的指示(比如通断测试),增强用户感知。需要注意的是此处使用的是无源蜂鸣器,不能使用有源蜂鸣器(那么小体积也没有常规的有源蜂鸣器)。

需要注意的是,我 在蜂鸣器供电中串接了一颗200Ω的电阻来限制电流,如果在实际使用中你觉得蜂鸣器提示音太轻或者太响,可以更换此电阻,但不能将阻值设计的太小,否则会因为过大的电流拉低系统电压,从而引发异常!

还有一颗侧贴的LED作为笔尖照明灯,方便在机壳内部等较为昏暗的场景进行测试,可以根据需要更换限流电阻来设定自己需要的亮度。

2.5 BLE蓝牙

为了方便测试笔与电脑或手机连接,我选择使用蓝牙BLE技术进行无线数据传输。

之所以不使用更加常用的CH340等串口转USB直接连接,主要有以下三点考虑:

① 数据线有一定的重量和硬度,需要拖着数据线操作会不如无线时灵活;

② 不建议一边插着数据线一边使用,会让表笔的浮地变成接地,进而可能在测试时造成短路(具体原因在模拟电路章节会分析)

③ 最重要的一点:安全因素!如果因为操作失误造成测试笔输入一个较高的电压,并且防护电路时效造成单片机烧毁,那这个高压极有可能沿着数据线直接输入手机或电脑,造成严重的损失!

DOxmf2YA03c1lG4JfbeWkjFHJ0yi58s4pR6gLS5J.png

3.1 模拟前端基本设计

虽然本项目不是要做一个10G的示波器(而且我目前也做不出来),但模拟前端的设计思路都是类似的,即:我会采集什么养的信号,和我的设备会采集什么样的信号,如果觉得这不好理解,那我打个比方,我会听到英语,但我只听得懂中文,所以:我需要一个翻译器,那么这个翻译器就是我们需要的“模拟前端”。

那我们回到测试笔这个项目,我对系统的设计目标是这样的:可以采集0~+15V的信号,能够输出0~+5V的信号,OK,这就是最基本的需要实现的目标,是不是非常简单呢。

但是本项目有一个特殊的情况:我想要完成在一根表笔上完成输入输出的全部功能(我这种人一看就是一个变态甲方),那就需要对输入、输出、或其他情况进行切换。这时候有聪明的小伙伴肯定马上想到了:继电器,是的,继电器确实在这样的场景下十分的好用,但是他又带来了另外一个问题:体积,而本项目作为一支便携式测试笔,我自然是不想把设备做的太大的(太大了用起来也不方便啊),那继电器在这样的情况下就不那么适用了,因此我们需要请出另外的切换器了,他就是模拟开关。

P608X0QjKphfI8F4upGQhv918DFPdG7j62kwkpR7.png

3.2 模拟电路电源

根据我们选用的HT4053A,其最大工作电压为18V,为了留出一定的余量,我将系统电压设计在17.5V,由于前级电压为电池直接供电,电压约为4.2V~3.5V,因此我们需要一个升压电路为模拟前端进行供电。

在芯片选型时,我选择了常用的MT3608芯片,2A的输出电流足够使用,并且1.2MHz较高的开关频率也有助于后级进行滤波。升压电感为一颗4.7μH的电感,SMD252010P的迷你封装(2.5*2.0*1.0mm)有助于节约PCB面积(也比较的好看),但是其虽然体积娇小,也有着1.6A的额定电流和2A的饱和电流,足够系统使用。在分压电阻配置方面,虽然看似随意,但也有一定讲究,不合适的配置将影响电源输出电压的纹波和负载调整率等性能,但因为篇幅限制,在此不做赘述,感兴趣的同学可以自行查阅相关资料进行学习。

需要注意的是本项目未使用双电源供电,即只有正电源没有负电源,因此测试笔也只能输入/输出正电压信号,如果需要输入负信号,后级电路也会需要进行一定的修改,本项目出于对体积的考虑,最终决定采用单电源方案。

sPvUYQff0m7ri8kz2VCcUKMXKQyFUAxPvFTAgpMJ.png

3.3 信号输入输出电路

pHhSQig6NvbJa41mWBEOKyc5HjeTJkHczTVlIgIn.png

五、硬件焊接与组装

硬件的组装有很多顺序,掌握良好的焊接与调试的习惯将有助于帮您节约时间并方便快速定位问题点,同时便于记录完整详实的测试报告,方便软件工程师进行自主测试和后期的软硬件联调工作(也可以防止软件工程师来找硬件问题背锅)。

5.1 PCB焊接

PCB的焊接也是有顺序之分的,并不是一股脑全部焊接好就不行,而是这样全部焊接后一旦出现了问题会比较难以定位问题点,并且如果是电源部分出现问题,很有可能还会损坏大片的电路。下面我来介绍一下该项目的推荐焊接和焊接过程中的测试顺序:

① 焊接Type-C接口、充放电管理,焊接电池测试充放电管理,完成后拆除电池

② 焊接开关机电路、五向开关,长按键开机测试电源是否正常输出

③ 焊接模拟电源,测试电源是否正常,有条件的情况下测试输出纹波

(★一定记住先焊接电源并完成测试后才能焊接后级的电路,防止电源出现问题一波带走)

④ 焊接模拟开关、模拟开关控制信号电平转换电路,手动给信号测试电平转换

⑤ 焊接全部模拟前端电路,给模拟信号测试AIN测试点电压

⑥ 焊接单片机、红绿色指示灯,随后便可烧录程序观察开机是否正常

⑦ 焊接其他外设、笔尖、尾插(焊接方法可以参考“硬件组装说明”部分内容)

⑧ 焊接显示屏

建议跟随我以上的顺序进行逐级焊接测试,即使遇到元器件失效等问题,也可以快定位。

当然如果你不想那么复杂,那我总结一下焊接的顺序:电源(AVC测试点),模拟前端(AIN测试点)、单片机与外设、如果像我一样习惯使用热风枪焊接的话需要最后使用烙铁焊接容易被热风枪吹坏的元器件:蜂鸣器、显示屏等

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
test_pen-master.zip
18
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航