文章目录
- 继电器模块型号和样式
- 样式1:
- 双侧图
- 样式2:
- DC/IN 引脚介绍
- 使用继电器
- 继电器接入单片机
- 测试负载接入继电器
- 风扇的可用性调试
- 注意
- 测试代码
- 触发电平
- code (new)
- code(old)
- 测试继电器模块可用性
- Fritzing 接线图
- 关于继电器的内部线路
- 总结
- 引脚
- 对于电路的理解
- 硬件模块调试
继电器模块型号和样式
- 型号:jqc-3ff-s-z
样式1:
双侧图
- 指示灯侧(vcc/gnd/in)
该侧也是接入单片机的一侧 - 负载侧
该侧是接入负载以及电源的一侧
样式2:
DC/IN 引脚介绍
DC(direct current)直流电(可以由单片机提供或者外接电源)
DC+:直流电正极
DC-:直流电负极
IN:接入单片机信号控制引脚
使用继电器
继电器接入单片机
测试负载接入继电器
图中风扇部分电路(继电器负载部分)所标注的GND/5V 可以通过外接电源供电;也可以直接在单片机上的某对GND/VCC上。
风扇的可用性调试
- 风扇需要足够的电压来驱动,一般就接在5v(vcc/gnd)
- 但是风扇可以产生反电动势,对单片机可能造成损害,所以一般其中的一个管脚接在继电器的负载部分(您可以通过led等来调试继电器的可用性)
- 风扇的负极是黑色(GND)/红色接入正极(vcc)
注意
- 小风扇区分正负极(反接无效)
- ethernetW5100 堆叠时:不要压地过紧(可以那个卡片隔一隔,容易造成异常的电路问题)
测试代码
触发电平
编写此段代码是,我用的继电器是电平触发闭合NO;
以具体情况为准
code (new)
int pinRelay = 5; //管脚D3连接到继电器模块的信号脚(TX)
void setup()
{
// 为了提供串口显示,需要设置baud
Serial.begin(9600);
Serial.println("start test the electric relay the circuit...");
// 这一步不能忘记
pinMode(pinRelay, OUTPUT); //设置pinRelay脚为输出状态
//注意电压问题,3.3v的引脚需要直接插入,如果被公用可能导致电压不足导致无法闭合继电器
}
void loop()
{
int timeHigh = 3000;
int timeLow = 1000;
Serial.println("pull pinRelay High time(ms):");
Serial.println(timeHigh);
digitalWrite(pinRelay, HIGH); //输出HIGH电平,继电器模块闭合
delay(timeHigh); //维持指定秒的高电平
Serial.println("pull pinRelay Low time(ms):");
Serial.println(timeLow);
digitalWrite(pinRelay, LOW); //输出LOW电平,继电器模块断开
delay(timeLow); //维持指定秒数的低电平
}
code(old)
int pinRelay = 12; //管脚12连接到继电器模块的信号脚(根据自己接线,需求、喜好可以调整)
void setup()
{
// 为了提供串口显示,需要设置baud
Serial.begin(9600);
Serial.println("start test the electric relay the circuit");
pinMode(pinRelay, OUTPUT); //设置pinRelay脚为输出状态
}
void loop()
{
Serial.println("close the circuit (3secondes...)");
digitalWrite(pinRelay, HIGH); //输出HIGH电平,继电器模块闭合
delay(3000); //等待3秒
Serial.println("try to broke the circuit(3secondes...)");
digitalWrite(pinRelay, LOW); //输出LOW电平,继电器模块断开
delay(3000); //等待3s
}
- 图片上的是一块Ethernet W5100.下面被盖着一个arduino uno;
测试继电器模块可用性
- led灯
- 小风扇
两者许多相似的特性,都可以测试继电器可用性,但以上都有·极性·区分。
- 一定要
插到位
,其次旋紧螺丝要旋的足够紧!!! - 确保足够的电压,如果是用3.3v作为电源正极,那么请让继电器独占(最好直接插在单片机上),5v口允许的话,用5v;
Fritzing 接线图
- 6条线实现测试
关于继电器的内部线路
继电器模块的的使用方法、引脚说明、内部结构
- NC即常闭端(normal close);
- COM即公共端(common);
- NO即常开端(normal open)
用的比较经常的时NO、COM组合(有时候也用NC,COM组合)
NO和COM谁接入负载(比如led灯、小风扇)的正极,谁接。。
负载的正极记为LoadP(ostive),负极记为LoadN(egative);
当NO,COM,LoadP,LoadN构成闭合回路时,想让负载工作,这就需要由正极和负极在个回路中出现,同时还要符合负载的接入方向,负载才可以工作
此外,NC,COM哪个接入vcc/gnd,哪个接入负载的某一极没有必须的规定 - 如果负载的正极(LoadP)接入vcc,那么NO或COM与LoadN对接,对应剩下的COM或NO接入单片机的某个GND即可(单片机的vcc/GND在这一部分中充当电源(电池)的角色
- 继电器的另一端和单片机的vcc/gnd,以及一个控制引脚相连,这样单片机可以通过继电器模块来控制NO的闭合或(NC开路(断路))
总结
引脚
- 理论上,非要接入单片机不可的引脚只有1个(IN),其余的引脚可以通过外界电源来代替单片机的vcc/gnd;
- 但是实际操作中也确实如此
- (如果vcc/gnd接入到的外接电源,继电器将常态闭合)
- 而负载部分的电路则完全可以由外部电源供电。
对于电路的理解
分为两部分(相对独立,但又有联系)
- 继电器接入单片机
- 负载接入继电器
- 在接入继电器之前(指继电器与负载接入的那部分COM所在侧),我们就应该明确要选用的电源,一般为了方便,可以直接使用单片机的vcc/gnd来作为接入继电器接入负载的电源角色;
- 所以可以由如下流程
- 选定并接入vcc/gnd
- 构想电流走向(可以预先设计电路图,这是个良好的习惯,对于熟练的人,行动之前心中也会过一遍电流走向;)这可以让接线过程更加流畅,出更少的问题
硬件模块调试
异常的原因:
- 程序问题
- 模块问题
- 线路逻辑
- 电源电压问题(多模块之间都要检查)
调试手段
- 灯泡代替法(比如检查继电器负载)
- 试触法(检查模块是否损坏)(对于简单模块,直接让直接接触gnd/vcc(3.3/5v)来排查