如果SIM卡服务提供商支持USSD短信,查询余额可由主用户。含平衡USSD消息,将被转发到主用户。
步骤1:电源
为了确保装置可以连接到标准的安全系统(报警系统、电动车库门、电动门电机),单位将从12V直流通常可在系统供电。
适用于<strong>12V</strong>电源端子、保护和<strong>0v</strong>,由1A保险丝。额外的终端提供<strong>了2v</strong> 1,也是保护熔断器。
二极管D1保护单元反极性连接12V的线。
电容C1和C2滤出在12V电源线的任何噪音。12V电源用于发电机组的继电器。
5V电源由一lm7805l电压调节器,并为sim800l GSM模块所需要的输出稳定的+5V,以及微处理机。电容C3和C4滤除噪音可能对+5V电源线是存在的。使用相对大尺寸的电解电容,为sim800l GSM模块并使用相当多的电力传输时。
没有散热片上电压调节器的要求。
步骤2:数字输入
数字输入信号都是12V的,并且必须与5V微控制器接口。为此,光电耦合器,用于从5V系统12V信号分离。
1K的输入电阻限制输入电流的光电耦合器在10ma。
由于空间的限制,没有空间可在PC板上5V的上拉电阻。微控制器的设置使输入引脚的弱上拉。
目前在无信号输入(低)的光电耦合器,没有电流流过光耦的LED。因此,光耦晶体管关闭。微控制器中的弱上拉会拉起来的收藏家几乎5V,而且会被视为逻辑高的微控制器。
带12V应用(高)的光电耦合器的输入,在10ma流过光耦的LED。因此,光耦晶体管将被打开。这将把收集到的几乎为0V,将被视为逻辑低的微控制器。
请注意,由微控制器看到输入倒比12V输入。
正常的代码读取输入引脚看起来如下:
布尔输入= //读出数字接口的值(inputpin);
正确的反转信号,使用下面的代码:
<strong>布尔输入=!//读出数字接口的值(inputpin)</strong>;//注意!在读前
现在,由微控制器看到输入对应的12V输入。
最后输入电路包括4个数字输入。每个输入终端连接到PC板上。
步骤3:数字输出
通常,一个电路的驱动只有最小数量的继电器,最好的方法是使用一个晶体管驱动电路如图所示。它是简单的,低成本的,有效的。
电阻器提供下拉到地,与晶体管的基极电流限制。晶体管是用来增加电流可驱动继电器。与仅为1mA从微控制器引脚拉,晶体管可以切换负载100mA。足够用的继电器类型最多。二极管是二极管中飞回来,继电器开关保护电路从高电压尖峰。使用这种电路的附加利益,是继电器的工作电压可以不同于微控制器的电压。因此,而不是使用一个5V继电器,一个可以使用的任何直流电压48V。
引入ULN2803
一个项目需要更多的保护,更高的元件数量。这将使PCB设计更加困难,并可能使用了宝贵的电路板空间。但使用晶体管阵列,像ULN2803,必将有助于保持PCB尺寸小。
的ULN2803非常适合于微控制器3.3V和5V输入,可驱动继电器到48V直流。这ULN2803有8个人的晶体管电路,安装所需的所有组件,开关继电器电路。
最终的输出电路由一uln3803,驾驶4 12V直流输出继电器。每个继电器触点可在PC板的终端。
步骤4:微控制器振荡器
振荡器电路
微控制器需要一个振荡器正常工作。让Arduino Uno的设计,电路将使用标准的16mhz振荡器。两个选项是可用的:
水晶
这种方法使用一个晶体负载电容器连接到两个。这是最常见的选择。
谐振器
基本上是一个晶体谐振器和加载电容器在一个单一的3引脚封装。这减少了零件的数量,并增加在PC板上的可用空间。
保持尽可能低的元件数量,我选择使用16MHz的谐振器。
步骤5:指示灯
没有任何电路,LED将是什么?提供了对PC板3mm的发光二极管。
1k电阻用来限制电流通过LED小于5mA,当使用3mm高亮度发光二极管,亮度好。
对于状态LED容易解释,使用两种颜色。由两个LED闪烁的标志相结合,相当多的信息可以从只有两LED获得。
红色LED
红色LED用来指示故障的条件下,长时间的延迟,任何错误的命令。
绿色LED
绿色LED用来指示健康和/或正确输入命令。
步骤6:微处理器复位电路
出于安全原因,一些单位的功能仅可在10分钟后供电单元。