本帖最后由 wengjiahao 于 2023-10-10 10:22 编辑
紧张刺激的四天三夜电赛,我和我的小伙伴们锲而不舍,坚持不懈,攻克难关。
摘要
本装置以 STC32G 单片机为核心控制器件,结合 LM311 振荡电路等电路组成。LC 振荡电路作为装置的核心,通过监测 LM311 输出频率的变化来检测电感和电容元件的故障,并通过检测二极管两边 IO 口信号的 变化来判断二极管的故障问题。这种方案具有结构简单、调节便捷的特点。为了实现只允许按一次启动键的功能,我们采用了单片机主控模块发送控制信号,并通过继电器控制电路中各个部分的开关,从而实现对元件故障位置和类型的准确定位和识别。同时,通过精心设计的程序,单片机可将检测结果传输到液晶屏上显示,使 操作人员能够直观地了解电路中的故障情况。 题目分析方案一:NE555 无稳态 RC 谐振电路。NE555 集成电路是一种常见且价格低廉的集成电路,其可以被用来产生方波信号的无稳态RC谐振 电路。NE555 集成电路具有简单的引脚布局和操作方式,使得使用起来非常方便。但是 NE555 的无稳态RC 谐振电路精度较低:相对于一些专用的振荡器电路,NE555 无稳态电路的频率和幅值稳定性较差,容易受到外部条件的影响。
方案二:LC 振荡电路。
LC 振荡电路可以产生非常稳定的振荡信号,频率稳定度较高;通过调整电感和电容的数值,可以实现广泛的频率范围,适应不同的应用需求。通过调整电容和电感元件的数值,LC 振荡电路可以实现对电容和电感值的精确测量,满足高精度测量的要求。在实验中,我们对 NE555 无稳态 RC 谐振电路进行了测试,发现它并不能有效地检测线路网络中的电容短路问题。然而,在实验 LC 振荡电路时,我们观察到它能够准确地检测到线路网络中出现的任何元件的单一问题。故我们选择了方案二。 总体设计框图 理论分析与设计1 检测原理分析
通过单片机采集检测系统输出的频率变化,我们可以判断线路网络中电感或电容是否正常;同时,通
过单片机采集的电压信号,我们可以判断二极管是否存在故障。
1.1 检测电感电容故障原理分析
测量的原理是由单片机通过对 LM311 输出端进行频率的采集。我们将线路网络视为一个整体,将其
作为 LC 振荡电路中的电感 L 和电容 C。当线路网络中的电感或电容出现故障时,LC 振荡网络就会发生
改变,进而导致 LM311 的输出频率发生变化。
1.2 检测二极管故障原理分析
二极管开路故障检测的原理是将二极管的 B-或 A-引脚与单片机的 IO 口相连。当将输入端的 IO 口
设置为高电平时,另外一边的 IO 口也会接收到高电平信号。通过这种连接方式,我们可以利用单片机的
IO 口来检测二极管是否正常工作。然而,如果二极管存在开路故障,输入端 IO 口的高电平信号将无法传
递到另一端的 IO 口,导致另一端无法接收到高电平。这种现象表明二极管存在开路故障。
2 故障定位原理分析
通过单片机采集 LM311 输出端的频率,并与预设的正常频率进行比较,我们可以准确地判断是哪个
电感或电容元件出现故障。另一方面,根据输入高电平,通过对接收信号的观察,我们可以确定二极管是
否正常工作。
2.1 电感电容故障定位原理分析**
当线路网络中的电感或电容出现故障时,这会导致 LM311 振荡电路的输出频率发生变化。不同的电
感或电容元件故障会引起不同的输出频率变化。在电路正常工作的情况下,我们可以根据 LC 振荡公式得
到一个预设的频率。当电感或电容元件出现故障时,振荡电路的参数发生改变,从而导致振荡频率的变化。
当电路正常工作时,根据 LC 振荡公式可得
2.2 二极管故障定位原理分析
二极管开路故障定位的原理是将二极管的 B-或 A-引脚与单片机的 IO 口相连。左右两个 IO 口分别
设置为高电平,通过检测接收到的信号可以判断二极管的工作状态。如果接收到高电平信号,表示对应方
向的二极管正常;而如果接收到低电平信号,则说明对应方向的二极管损坏。通过对左右两边的检测结果
进行判断,可以确定二极管的故障位置或者判断二极管是否正常工作。检测图如图 2,电路图如图 3 硬件电路组成1降压模块设计
本模块采用 78M05 芯片进行降压操作。78M05 是一款稳压器芯片,它可以将输入的高电压稳定地降压到 5V 输出。与其他降压芯片相比,78M05 在降压过程中消耗的电压较少,能够有效地提供稳定的电压输出。因此,使用 78M05 芯片进行降压操作可以确保系统获得稳定可靠的电源供应。模块如下图
2检测模块设计
通过对 LM311 输出端进行频率的采样,然后依据采集的频率不同再计算出是哪个电容或电感出现故障。检测二极管的好坏时,用继电器控制线路的通断,保证互不干涉。模块大致如下图 3 电路框架设计
电路框图如图 5所示。该系统采用了单电源供电的设计,经过降压处理后,为整套系统供电。在系统
中,线路间的连接和切换是由单片机控制的继电器来实现的。通过单片机的精确控制,我们能够实现对各
个部分的连接和切换,以便进行准确的故障检测操作。当系统工作时,单片机根据预设的程序和逻辑,控
制继电器的开关状态,从而实现对线路的连接和切换。通过合理的连接和切换,以便单片机进行频率的采
集和分析。通过单片机的控制,我们可以根据采集到的频率信息,与预设的正常频率进行比较和分析,从
而准确地判断是哪个电感或电容元件出现故障。 程序流程图如图 该系统以 STC32G 单片机为控制核心,利用其强大的处理能力和丰富的接口资源,实现对故
障频率的信号采集和处理。在系统中,首先对每种故障产生的不同频率进行信号采集,通过单片机的输入
引脚将信号输入到系统中。接下来,系统将采集到的信号和原始程序进行校准。通过比较采集到的信号和
预设的正常频率范围,系统可以判断是否存在故障,并进一步确定是哪种元件故障。在测试过程中,系统
将根据不同频率的输入信号,实时在屏幕上反应相应的问题。以便操作者直观地了解故障情况。
主程序代码 void main() { u8 i = 0; int j; float T = 0; sys_int(); Timer0Init(); Timer1Init(); Timer3Init(); UartInit(); LCD_Init(); LCD_CLS(); eeprom_read_power_on(); P_SW2 = 0x80; XOSCCR = 0xc0; //启动外部晶振 while (!(XOSCCR & 1)); //等待时钟稳定 CLKDIV = 0x00; //时钟不分频 CLKSEL = 0x01; //选择外部晶振 P_SW2 = 0x00; D_CHECK_A = 0; D_CHECK_B = 0; Relay_open(); EA = 1; Usart_send("AF:31\r\n"); while(1) { if(open_short_cir_job) { if(Sub==1)Sub_1(); if(Sub==2)Sub_3(); if(Sub==3)Sub_3(); if(Vocie_fun_flag) { if(_1s_voice_time>=200) { Find_LC_voice(); _1s_voice_time = 0; _1s_voice_time_flag = 0; } } open_short_cir_job = 0; } if(eep_w_job) { eeprom_write_fun(); eep_w_job = 0; } if(dis_job) { dis_play(); dis_job = 0; } } }
实物及PCB原理图展示通过利用 LM311 比较器和 LC 振荡电路搭建基本的线路故障检测系统。让单片机接受 LM311 输出
端频率并经过处理结合继电器实现自动检测,我们成功满足了设计要求。这个系统能够自动检测线路中的
故障,并能够准确地判定和显示故障的位置和类型。 PCB及原理图采用嘉立创EDA专业版设计
具体电路及代码,可附件下载
|