继电器工作原理与应用指南:从电磁铁到电路控制

继电器知识 继电器的构造:A是电磁铁,B是衔铁,C是弹簧,D是动触点,E是静触点。 图1 继电器内部构造 继电器工作原理:     继电器工作时,电磁铁通电,把衔铁吸下来使D和E接触,工作电路闭合。电磁铁断电时,失去磁性,弹簧把衔铁拉起来,切断工作电路。常见的继电器就是利用电磁铁控制工作电路通断的开关。     继电器实现的控制电路优点:用低电压控制高电压;远距离控制;自动控制。 阅读详情

1. 继电器的基础认知:从电磁铁到电路开关

第一次拆解老式收音机时,我注意到里面有个会"咔嗒"响的小黑盒子,这就是继电器。作为电气控制领域的"老古董",继电器从19世纪发明至今仍是自动化系统的基石。它的本质是一个用电磁力控制机械触点开闭的自动开关,在电路中扮演着"守门人"角色——当控制线圈通电时,通过电磁效应驱动衔铁动作,从而改变触点状态实现电路通断。

继电器最核心的价值在于"以弱控强"。我曾用5V/10mA的Arduino信号通过继电器控制220V/10A的空调压缩机,这种小电流控制大负载的能力,使其成为强弱电之间的安全桥梁。现代继电器的触点材料通常采用银合金(如AgCdO),既能承受大电流冲击,又具备上万次的操作寿命。在工业控制柜里,你常会看到一排排继电器整齐排列,它们默默执行着PLC发出的指令,控制着电机、阀门、加热器等设备的启停。

安全提示:操作高压继电器时务必断电作业,我曾亲眼见过同事因带电检修导致触点拉弧,烧毁了整个控制模块。

2. 电磁继电器的内部解剖与工作原理

拆开一个典型的电磁继电器(以欧姆龙MY4系列为例),其核心结构可分为三大部分:

2.1 电磁系统:能量转换中枢

  • 线圈:直径0.05-0.1mm的漆包铜线绕制数千匝,电阻值从几十欧到几千欧不等
  • 铁芯:通常采用电工纯铁,矫顽力低且磁导率高
  • 轭铁:形成闭合磁路的导磁部件

当线圈施加额定电压(如DC12V)时,根据安培定则会产生磁场。我实测过,一个标称12V的继电器线圈,实际吸合电压可能只需9V(称为"动作电压"),这是设计时的安全余量。

2.2 机械传动机构:力的传递者

  • 衔铁:受电磁力驱动的可动部件
  • 反力弹簧:提供复位力的关键零件
  • 推动卡:将电磁力传递至触点系统

这个环节最易出现机械故障。有次设备频繁误动作,最后发现是弹簧疲劳导致复位力不足,更换后故障

【51/STM32】详解控制系统中的继电器 本文对常见的几种继电器进行了原理分析,并结合单片机与555定时器驱动大功率负载的实例,介绍了电磁型继电器在实际工程中的使用。 阅读详情

相关推荐

继电器的工作原理与应用案例

继电器是一种由相对较小的电流操作的电磁开关,可以打开或关闭更大的电流。继电器的核心是电磁体(当电流流过时变成临时磁铁的线圈)。您可以将继电器视为一种电动杠杆:用微小的电流打开它,然后使用更大的电流打开(“杠杆”)另一个设备。为什么这有用?顾名思义,许多传感器都是非常敏感的电子设备 ,并且只产生很小的电流。但我们通常需要它们来驱动使用更大电流的更大设备。继电器弥补了这一差距,使得小电流能够激活大电流。这意味着继电器可以用作开关(打开和关闭)或放大器(将小电流转换为大电流)。

DOT小文哥的博客 4003

arduino继电器控制风扇_arduino控制继电器

一、arduino控制继电器典型的继电器结构原理图如下:继电器有一个输入回路,一般接低压电源,有一个输出回路,一般接高压电源。输入回路中有一个电磁铁线圈,当输入回路有电流通过,电磁铁产生磁力,吸力使输出回路的触点接通,则输出回路导电(通)。当输入回路无电流通过,电磁铁失去磁力,输出回路的触点弹回原位,断开,则输出回路断电(断)。产品介绍:本模块5V继电器,低电平触发产品介绍:1、本模块符合国际安全...

weixin_39623671的博客 3634

树莓派基础实验4:继电器实验

一、介绍    继电器是一种用于响应施加的输入信号,而在两个或多个点或设备之间提供连接的设备。换句话说,继电器提供了控制器和设备之间的隔离,因为我们知道设备可以在AC和DC上工作,但是他们从微控制器接收信号,因此,我们需要一个继电器来弥补差距。当需要用小电信号控制大量电流或电压时,继电器非常有用。 二、组件 ★Raspberry Pi主板*1 ★树莓派电源*1 ★40P软排线*1 ★继电器模块*...

chinacqzgp的博客 5810

继电器控制与C++编程:实现安全开关控制的技术分享

继电器是一种“自动开关”,它能够利用低电流电路(如树莓派Pico控制的GPIO引脚)去控制高电流电路(如家用电器)。常开(NO)端口和常闭(NC)端口。在本项目中,我们将通过树莓派Pico控制继电器的开与关,模拟一个简单的电气开关控制过程。安全性考虑:当我们使用交流电驱动设备时,如果直接用开关连接电路,会有漏电的风险,而使用继电器可以有效隔离控制电路和高电压电路,提高了使用的安全性。本项目介绍了如何使用C++控制继电器模块,通过树莓派Pico控制继电器的开关,实现对高电压电气设备的安全控制。

邓校长的编程课堂专栏 1431

继电器——电磁式继电器

关于电磁式继电器,固态继电器,干簧继电器,热继电器

Jodan132的博客 8928

继电器工作原理与驱动电路设计实战指南

继电器作为电气控制领域的基础元件,通过电磁感应原理实现小电流控制大功率负载的安全隔离。其核心构造包含线圈绕组、铁芯结构和触点系统等关键部件,利用磁场变化驱动机械触点动作。在工业自动化、电力系统等场景中,继电器发挥着电路隔离、信号转换和功率放大等重要功能。现代继电器技术已发展出固态继电器(SSR)和智能继电器等新型态,但传统电磁继电器仍占据主要市场份额。合理的驱动电路设计需要考虑续流保护、光耦隔离等关键技术,而触点保护方案和选型策略直接影响设备可靠性。通过深入理解继电器的工作原理和工程实践要点,可以有效提升控

weixin_42631411的博客 335

继电器电路设计与应用综合指南

继电器是一种电控式开关,其核心工作原理是使用较小的电流控制较大电流的通断。这一特性使得继电器在复杂的控制电路中起到关键作用。继电器电路通常由输入部分、控制部分和输出部分构成,能够实现对电路的远程控制和保护。

weixin_42124497的博客 1655

四路固态继电器控制模块设计教程与应用

四路固态继电器控制模块是一种集成了四个固态继电器的电路板,它允许同时控制多个电路负载。该模块特别适用于需要独立控制多个设备的场合,例如工业自动化、家用电器控制和汽车电子等领域。相比传统继电器,四路固态继电器控制模块具有响应速度快、无噪声、无需维护、抗干扰能力强和使用寿命长等优点。

weixin_30600615的博客 1033

逆向某团mtgsig参数时,我踩过的3个坑:从H5guard混淆到Python校验

本文详细解析了逆向某团mtgsig参数时遇到的三大挑战:H5guard混淆破解、环境补全检测与Python结果校验。通过实战案例,揭示了JavaScript加密算法的逆向技巧,包括控制流混淆拆解、隐蔽环境检测点规避以及跨语言校验的解决方案,为开发者提供了一套完整的逆向工程避坑指南。

weixin_27722377的博客 1050

解决Keil uVision许可证管理中Unknown Product错误

嵌入式开发中,IDE工具的许可证管理是确保开发环境正常运行的关键环节。Keil uVision作为ARM架构的主流开发工具,其许可证系统采用加密验证机制,通过产品版本识别实现授权控制。当出现Unknown Product错误时,通常源于版本兼容性问题或区域发行版差异,这直接影响开发工具链的可用性。特别是在维护历史项目或使用中国特供版时,开发者常会遇到此类问题。通过分析许可证类型、调整安装配置或建立虚拟化开发环境等工程实践方案,可以有效解决这类授权验证故障,保障嵌入式项目的持续集成与交付效率。

weixin_33743248的博客 358

手把手教你用AppsFlyer SDK实现延迟深度链接(附Android/iOS代码示例)

本文详细介绍了如何使用AppsFlyer SDK实现延迟深度链接,提供Android和iOS双平台代码示例,帮助开发者解决跨平台精准跳转与用户归因问题。通过实战案例和高级场景分析,提升应用的用户转化率和广告投放效果。

sre5engineer的博客 690

ali140滑块

ali 140滑块采用补环境的方式进行逆向,需要的文件主要为这两个,其中collina.js是最主要的环境校验和参数加密的逻辑,这两个文件放本地进行补环境。然后挂上代理,先保证能够正常运行代码,补了些许后能够正常运行了,我们打印最主要的加密函数看看:n值就是得到:挂上代理看看鼠标事件,不管加密逻辑,关心入参即可:收集一些鼠标事件传进记录的函数。其余就是处理一些环境值,一些resetSA的逻辑就行。截图记录:

bboysteed的博客 1670

Dirsearch的下载、安装和使用(全)

Dirsearch工具的下载、安装和使用,超详细超全面

weixin_68416970的博客 1万+

044、Edge Impulse的音频分类实战

上周调试一块STM32WBA52开发板,板载PDM麦克风死活采不到有效数据。示波器怼上去,时钟线波形漂亮得像教科书,数据线却像心电图——全是毛刺。折腾半天发现是电源纹波干扰,给麦克风单独加了个LC滤波,世界清净了。这种坑,做音频分类的嵌入式工程师迟早要踩一遍。

2401_88858637的博客 46

Magisk如何针对性隐藏Root避免被检测

Magisk隐藏特征码有两种途径,一种是通过插件,一种是定制源码。插件的方式相对简单,但是使用范围也有限,好处是成本低好上手。定制源码难度大,成本高,好处是稳定,后续也好更新维护。

zhonglunshun的专栏 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: Rockchip | 深入解析SD卡启动流程与固件升级机制
下一篇: Multisim仿真OCL功率放大器设计:从原理到工程实践
一林黄葉
博客等级 码龄6年 30粉丝 1527原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值