欢迎来到欧宝登录入口官方网站

基于555多谐振荡器及STM32的简易智能阻值测量仪

来源:欧宝登录入口    发布时间:2024-09-14 03:18:22

  在电子世界中小到电阻,大到功率器件每一个元器件都有自己的阻值和阻抗,且大部分元器件是以阻值来衡量该元器件是不是正常。在元件检验工作中常常使用万用表对元件进行仔细的检测,有时为满足生产而对一批元器件进行全检,涉及的数量比较大,使用万用表进行仔细的检测需要重复进行,降低了检验效率。

  制作一款简易智能阻值测量仪能在某些特定的程度上提高检测效率,由于全检检测时的阻值在一个范围内波动,使用555 多谐振荡器作为阻值检测电路无需频繁转换电容,价格低,结构及原理简单。阻值异常的元件会让此检测电路出现异常,以此筛选出异常的元件。

  该测量仪的硬件测量系统由STM32、555 多谐振荡器、按键、显示模块等组成。如图1 所示。

  555 多谐振荡器不需要外加起始触发信号,即可产生一定频率和一定幅度的矩形波信号,其频率与外接的阻值和容值有关。

  在给555 多谐振荡器模块加电时,由于外接的电容电压不能突变,则555 集成芯片处在置位状态,输出电平U=1,集成芯片内部的放电管Td 截止,Vcc 通过外接R1 和待测元件R2 对电容C 进行充电;当Uc 上升到2/3Vcc 时,输出电平U0=0,放电管Td 导通,电容电压通过待测元件R2、放电管Td 对地放电;当Uc 下降到1/3Vcc 时,输出电平U0 由0 变成1,放电管Td 截止,Vcc 再开始对电容充电,此过程循环往复,在输出端U0形成连续的矩形脉冲[1]。其555 多谐振荡器模块工作波形图如图2 所示。

  该仪器使用STM32F 系列单片机作为主控芯片,相比51 单片机,该芯片有51 个I/O 口,集成了8 个TIM定时器,除了TIM6、7 外都具有输入捕获功能[2],可拿来测量脉冲宽度,满足进行多个元件测量的需求,如图3 所示。该芯片集成了多个定时器且有多个通道可对外部信号源做测量,能轻松实现对555 多谐振荡器的频率测量,并且通过软件计算求得测量阻值,接收通过按键电路输入的阻值阈值,与测量的阻值作比较,若超过设定范围则报警。

  该系统使用通用串行总线方式下载程序,该总线 标准,因此就需要将通信电平USB 和TTL 电平相互转换。采用CH640G 集成芯片设计USART 串口模块,且在此模块中已将数据的接收发送引脚相互交叉连接,给程序下载提供了一个可靠的路径,如图4 所示。

  系统中STM32 需要3.3 V 电压工作,而555 多谐振荡器的工作电压为5 V,需要一个电源模块分别供电;在该仪器中集成了灯光报警和多个555 多谐振荡器,需要用负载能力强的电源模块。采用LM7805 电源芯片实现12 V 外部供电电压,外接μF 滤波电容和防止大电压输出的保护二极管将12 V 电压降到5 V[3],给多个555多谐振荡器和LCD1602 显示屏供电,如图5 所示。

  采用ASM1117 集成电源芯片的固定输出版本能高效地将电压线 V。外接稳压二极管使电路输入端电压稳定在5 V 左右,避免浪涌电压将损坏芯片;为了达到输出较为稳定的目的,输出端接上一个220 μF 电容,组成典型的降压电路,将5 V 电压降到3.3 V,给STM32 控制器和灯光报警电路供电,如图6 所示。

  该系统中的按键模块采用矩阵形式,4 行4 列16 个键,其中有代表0~9 数字的按键,1 个输入确认按键,3 个为阻值单位(Ω,kΩ,MΩ),1 个为输入清除按键。按键电路通过8 根线连接到单片机I/O 口,让单片机对这些I/O 口轮流检测,以确定行数和列数,最后通过软件求得输入值,如图7 所示。

  该系统用LCD1602 作为显示屏,显示屏为ASCII码字符,只能显示字符,一行可以显示16 个字符,总共有2 行[4],用来显示按键电路输入的值、测量值。其工作时候的温度符合仪器要求且价格低,适合在该系统内使用。由于STM32 的I/O 口可以配置上拉电阻,在使用时无需外接上拉电阻。

  在第3 引脚接上可调电阻器,以调节LCD1602 显示屏的对比度,通过配置LCD1602 的4、5、6 引脚的电平状态可以读取和写入LCD1602 显示屏的状态、数据和指令。第15、16 引脚为LCD1602 显示屏的背光电源正负极,而剩余的第7 至第14 引脚为数据口,如图8 所示。

  上电开始时,该系统首先最STM32 初始化,接着进入键盘输入子函数,等待输入阈值;然后通过STM32 控制给555 多谐振荡器测试电路上电开始测试,通过输入捕获测量测试电路的频率,再通过软件计算得出测量阻值(如图9)。

  该系统中555 多谐振荡器的频率较高,且有必要进行多个快速测试,则需要STM32 进行快速反应,故STM32 选取外部高速时钟源,可进行PLL 锁相环倍频,让工作频率达到72 MHz[2]。其流程图如图10 所示。

  初始化主要是对传输数据速率等进行设置,需要设置相关的时钟、引脚的输入输出模式和传输数据格式,另外还需设置中断服务函数来读取数据,如图11 所示。

  当输入捕捉到跳变电平时,将当前定时器的值存放到对应的寄存器中,完成一次对脉冲宽度的计算。因此就需要开始定时器和I/O 口的时钟,初始化定时器,配置定时器的计时频率和计算周期;初始化输入捕获,定义其触发捕获的对象及其上升或下降沿;最后还要编写一个中断服务函数,用来计算脉冲宽度和开启其他通道的输入捕获。

  先让1 个连接键盘行的I/O 口为低电平,剩下的3个行I/O口均为高电平,接着对4 个列I/O口各检测一次,查看其列I/O 口是否有低电平,若检测到某一列为低电平,则能确定哪一行、哪一列的按键被按下。以同样的方法依次将行I/O 口设为低电平,再各自检测一次列I/O 口是否为低电平。将最终值作为阈值与测试的值比较,显示在LCD1602 显示屏上。其流程如图13 所示。

  上电使能LCD1602 显示屏,选择写命令形式,设置显示模式为16×2,5×7 点阵和8 位数据指令接口,接着将显示屏设置为开显示和不显示光标状态,每写1 个字符地址指针自动加1,清屏后将屏幕设置为写数据形式。显示键盘输入的值后重新把数据指针定位到屏幕的第2行,用来显示测试的值和测试结果。在使能、对屏幕设置和数据写入后要进行延迟操作,保证屏幕的稳定性。

  阻值测量在电子元器件的检验中使用的次数及其频繁,若要对成千上万的元器件进行仔细的检测,要消耗相当长一段时间,非常耗时费力,使用该仪器做测量节省了时间和人力。该仪器电路简单,测量误差不大,适合实际使用。智能化仪器是现代工业的迫切需求,本文提供了一个设计实现大量检测阻值的仪器思路,可以在较短时间、较少人力条件下实现元器件全检目的,未来可优先考虑使用ABB 机器人和该系统联动,达到全自动高效检验的目的。

  [3] 张永瑞,杨林耀,张雅兰.电路分析基础[M].西安:西安电子科技大学出版社,2000.

新闻资讯