raspberryPi_继电器模块(relay)+风扇模块(fan)连接原理图/硬件调试

继电器模块型号和样式

型号

  • jqc-3ff-s-z

样式1:

端口介绍
左侧

负载侧,该侧是接入负载以及专门给负载供电的一侧
负载可以是led小灯/小风扇等)

  • 常开端
  • 公共端(配合另一个端口)
  • 常闭端

右侧(指示灯侧)

继电器受控信号部分(单片机接入到继电器)

  • IN(开发板型号控制端)

继电器供电部分

  • GND(任意合适电源负极)
  • VCC(任意合适电源正极)
    在这里插入图片描述
双侧图

在这里插入图片描述

样式2:

在这里插入图片描述

DC/IN 引脚介绍

(单片机接入端)
DC(direct current)直流电(可以由单片机提供或者外接电源)

  • DC+:直流电正极
  • DC-:直流电负极
  • IN:接入单片机信号控制引脚

继电器的使用和接入

  • 继电器接入单片机(step1)
  • 测试负载接入继电器(step2)

继电器负载侧的电源可以是外接电源

在这里插入图片描述

  • 图中风扇部分电路(继电器负载部分)所标注的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灯
  • 小风扇

  • 两者许多相似的特性,都可以测试继电器可用性,但以上都有·极性·区分。
  • 一定要插到位,其次旋紧螺丝要旋的足够紧!!!
  • 确保足够的电压,5v口允许的话,用5v;
  • 如果仅有3.3v口可用作电源正极,那么请让继电器独占这个口(最好直接插在开发板上的口上,而不要通过面包板间接来链接,减少和其他模块的电压竞争)

Fritzing 接线图

  • 6条线实现测试
  • (这里画的3.3v,如果还有5v口,都用5v)
    在这里插入图片描述

关于继电器的内部线路

继电器模块的的使用方法、引脚说明、内部结构参考链接

  • NC即常闭端(normal close);

  • COM即公共端(common);

  • NO即常开端(normal open)
    用的比较经常的NO、COM组合(有时候也用NC,COM组合)

  • 负载的正极记为LoadP(ostive),负极记为LoadN(egative);

  • 此外,NC,COM哪个接入vcc/gnd,哪个接入负载的某一极没有必须的规定

    • 如果负载的正极(LoadP)接入vcc,那么NO或COM与LoadN对接,对应剩下的COM或NO接入单片机的某个GND即可(单片机的vcc/GND在这一部分中充当电源(电池)的角色

总结

引脚

  • 理论上,非要接入单片机不可的引脚只有1个(IN),其余的引脚可以通过外界电源来代替单片机的vcc/gnd;
  • 实际操作中也确实如此
  • 而负载部分的电路则完全可以由外部电源供电。

对于电路的理解

分为两部分(相对独立,但又有联系)

  1. 继电器接入单片机
  2. 负载接入继电器
  • 在接入继电器之前(指继电器与负载接入的那部分COM所在侧),我们就应该明确要选用的电源,一般为了方便,可以直接使用单片机的vcc/gnd来作为接入继电器接入负载的电源角色;
分析流程
  • 分析控制关系:开发板控制继电器,继电器控制负载(实现开发板间接控制外接负载
  • 分析电源:继电器供电和负载(风扇)供电
    • 供电来源比较灵活,两个供电来源可以来自开发板,也可以其他单独设置电源
  • 构想电流走向(可以预先设计电路图,这是个良好的习惯,对于熟练的人,行动之前心中也会过一遍电流走向;)这可以让接线过程更加流畅,出更少的问题

硬件模块调试

异常的原因:

  • 程序问题
  • 模块问题
    • 线路逻辑
    • 电源电压问题(多模块之间都要检查)
      调试手段
  • 灯泡代替法(比如检查继电器负载)
  • 试触法(检查模块是否损坏)(对于简单模块,直接让直接接触gnd/vcc(3.3/5v)来排查
posted @   xuchaoxin1375  阅读(49)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示