兄弟们是这样的我在看代码的时候是非常想知道原理是什么的,今天在研究震动传感器是如何影响警报器的。这个过程有点呕心沥血了....
整体是这样的
最终代码是这样的,当然警报器只是接线的问题,这个都不是关键
Tips:为什么给传入低电平的时候铁片会由com-NC -> com-NO?是什么原理呢?
四、总结:低电平触发的本质是 “线圈通电”
无论电平高低,继电器动作的核心条件是线圈是否有电流通过:
- 低电平触发(如 NPN 管电路):
低电平使晶体管导通,线圈通电→磁场吸引铁片→NC 断开,NO 接通。 - 高电平触发(如 PNP 管电路):
高电平使晶体管导通,线圈通电→同理。
关键误区:“低电平” 本身不直接控制触点,而是通过控制晶体管等开关元件,间接决定线圈是否通电。因此,继电器的动作本质是电磁感应现象,与电平高低的逻辑关系由外围电路决定。
个人总结:
这是一个基于震动传感器触发警报的电路控制逻辑,核心是通过继电器切换电路通断,实现震动报警功能,具体分析如下:
- 供电关系:电源为警报器供电,同时为继电器等元件提供工作电压。
- 继电器控制逻辑:
- 常态:继电器COM口连接常闭端(COMMC),此时警报器电路未导通,不报警。
- 触发状态:传感器检测到震动,输出低电平信号至控制电路。代码中检测到低电平后,使继电器线圈通电
- 触点切换:继电器通电后,电磁感应使内部衔铁动作,COM口从常闭端COMMC切换到常开端COM NO。
- 报警回路导通:COM口连接COM NO后,电源、继电器COM-NO触点、警报器形成串联回路,警报器得电发声。
电源会为继电器提供电能。
继电器工作需要一定的电流通过其线圈来产生磁场,从而使触点动作。电源为继电器线圈提供了所需的电流,维持线圈的正常工作,确保继电器能够根据控制信号(如震动传感器传来的低电平信号经处理后)准确地实现触点的闭合或断开,进而控制警报器等负载电路的通断。同时,电源也为继电器内部的电子元件等提供了稳定的工作电压,保证继电器的正常运行。
震动传感器传过来的低电平是一个电信号。
它本质上是一种电压状态的表示,通常在数字电路中,规定了一定的电压范围来表示逻辑“0”(低电平)和逻辑“1”(高电平)。当传感器感受到震动时,其内部的电路会发生变化,从而输出一个符合低电平电压范围的信号。
这个低电平信号本身一般不会直接提供足够的电流来驱动继电器。通常是这个低电平信号被传送到一个控制电路(例如微控制器)中,控制电路接收到低电平信号后,根据预先编写的代码或逻辑,通过其输出引脚输出一个能驱动继电器的电流信号,使继电器的线圈通电,进而产生电磁力来控制继电器的触点动作。所以,震动传感器传来的低电平是触发信号,而驱动继电器的电流是由控制电路在接收到触发信号后提供的。
低电平信号传到继电器后,继电器就工作啦。这个信号相当于一个触发指令,继电器内部的电磁机构在接收到信号后,就利用电源提供的电流产生磁场,磁场吸力使铁片动作,从而改变触点状态。
主要就是在研究代码的时候发现真的代码是这样那么简单的写出来了,但是实际的原理是什么呢???到底代码烧录进去,是怎么工作的呢??包括继电器等等外设又是怎么运行的呢??
(解答的话主要是看个人总结,一针见血)
实际现象:
当震动发生时,继电器触发并保持 2 秒
若 2 秒内震动停止,继电器仍保持吸合(因为没有else重置)
若震动持续,继电器会不断被重新触发
就是说要是我while里面写这样的代码,警报器会一直响,虽然while循环检测在第二次循环的时候就已经检测不到低电平了,但是继电器仍保持吸合
要是这样子写,两秒后检测到无低电平,那么就会2秒后警报器停止
但是这样子写最符合逻辑了,延时结束后就停止
最后总结:全网最细
这个当震动传感器,感受到振动后,会传入一个低电平到单片机,单片机又将这个低电平信号传入继电器,继电器接受到低电平信号之后,内部控制电路发生改变,让电源供电,然后由于电磁感应(供电之后就会有电磁感应),铁片就会由NC贴合NO,然后警报器与电池形成串联,就开始叫,随后我们加入延时,(我们这边是软件延时)延时的话单片机就什么都做不了了,就纯数数,数玩之后,单片机传一个1的信号给继电器,继电器内部的控制电路又发生了改变,改变就是切断电源,那么没有了电源就没有电磁感应了,那么铁片就会复位,那么就会com 与 NO断开,与NC连接,那么电池和警报器形成不了串联了就不响了,
得救了:原来是继电器的内部控制电路发生改变,继电器的铁片才会发生改变,因为电源的电磁感应,然后这个(内部控制电路发生改变)我们该怎么改变呢,由单片机传进去的信号改变!!!!只有信号改变了,那么继电器内部的控制电路才会改变,不然就不变!!!!!啊2个小时才理解的但是好爽.......AI都要被我问吐血了哈哈