7、常见执行器的工作原理与控制方法

常见执行器的工作原理与控制方法

1. 继电器

继电器是一种常用的执行器,其功能类似于普通开关,用于在两个端子之间建立电接触。继电器的高功率侧端子可以处理交流和直流电压。

1.1 继电器的保护

在继电器的工作过程中,为了防止对晶体管或电路其他部分造成损坏,通常会使用一个续流二极管。续流二极管以正常不导通的极性绕过继电器中的线圈,其阴极指向正电源电压。任何反向电压都会通过二极管,而不是晶体管。一般会选用肖特基二极管,因为它具有快速开关的特性。

1.2 继电器的应用

继电器可以控制交流电源和灯具等设备的连接,通过闭合或断开触点来实现设备的开启和关闭。需要注意的是,有些继电器可以处理高达 240V 的交流电压,这是一个潜在的致命电压,必须由经过适当培训和具备资质的人员来操作。

2. 电机

电机是将化学或电能转化为机械能的装置,通常通过旋转轴来提供扭矩。这里主要讨论电机的类型及工作原理。

2.1 直流电机

直流电机基于静止的磁场(定子)和一个或多个由外部电压源电激励的线圈。通过与旋转同步地反转激励电压的极性,使线圈被迫旋转。旋转部分称为转子,同步开关是换向器。

2.1.1 工作原理

转子上的扭矩由电子在外部磁场中所受的洛伦兹力提供。当转子旋转半圈后,外部磁场的极性会阻止线圈继续旋转,此时换向器会反转电流的极性,使旋转得以继续。

2.1.2 常见问题及解决方法

电刷和换向器之间的滑动接触有时会在极性反转时产生火花,这可能会导致电气干扰。可以通过连接一个小电容(如 100n

相关推荐

利用硬盘音圈电机DIY拍击时钟:从执行器原理到Arduino控制实践

音圈电机是一种基于洛伦兹力原理的直线电机,通过电流在磁场中产生力实现精密直线运动。其核心在于将电能直接转化为机械能,具有响应快、精度高的特点,广泛应用于硬盘驱动器、光学设备等高精度定位领域。在工程实践中,音圈电机常作为伺服系统的执行元件,通过闭环控制实现纳米级定位。本项目创新性地将硬盘中的音圈电机执行器改造为开环脉冲驱动器,利用其瞬时爆发力驱动滚珠在倾斜轨道上运动,从而将抽象的时间信息转化为直观的物理位置显示。这一应用不仅展示了音圈电机在精密运动控制之外的创意潜力,也为电子爱好者和硬件开发者提供了将废弃精密

weixin_33726313的博客 672

智慧农业执行器控制实战:风机、卷帘、水肥机、电磁阀全解析

在智慧农业项目中,传感器与平台固然重要,但真正决定项目长期稳定运行的,往往是风机、卷帘、水肥机、电磁阀等执行器的控制是否可靠。执行器属于感性或电感负载,不能按普通开关思路处理,需根据负载类型合理选配接触器、热继电器,并设计硬件互锁与反电动势抑制。掌握驱动原理、联动逻辑和故障保护机制,能有效提升温室大棚等场景的自动化水平。本文结合工程实践,系统梳理四类常见农业执行器的选型接线、控制策略与现场踩坑经验,帮助工程师与开发者构建更稳、更落地的智能控制系统。

weixin_34124651的博客 370

7、常见执行器的原理与应用

本文详细介绍了常见执行器的原理与应用,涵盖继电器、直流电机、伺服电机和步进电机的工作机制、控制方法及实际应用场景。文章探讨了继电器的保护措施、电机的速度与方向控制、多种励磁模式,并总结了执行器在机器人手臂、模型铁路等领域的综合应用。同时,分析了执行器选择、安装调试、维护保养的关键要点,展望了其向智能化、集成化和高效化发展的趋势,为工程实践提供了全面的技术参考。

ll5678的博客 109

7、常见执行器与电机的工作原理及控制方法

本文详细介绍了继电器、直流电机、伺服电机和步进电机等常见执行器的工作原理、特点及控制方法。涵盖了继电器的开关机制与保护电路,直流电机的H桥正反转与PWM调速,伺服电机的位置反馈控制,以及步进电机的多种激励模式、接线方式和驱动实现。文章还分析了不同工作模式下步进电机的相位关系与性能对比,并提供了在实际应用中根据需求选择合适执行器的指导原则,适用于电子电路与自动化系统的开发与应用。

svm4gardener的博客 131

8、执行器与Arduino微控制器入门

本文深入介绍了电子电路中执行器与Arduino微控制器的基础知识,涵盖模拟电压和周期性信号的生成方法,详细分析了solenoid磁铁、泵、阀门、液压系统及人机交互设备等执行器的工作原理。同时,对比了Arduino UNO、ESP8266和ESP32微控制器的硬件特性与应用场景,并指导如何使用Arduino IDE进行编程开发。结合实际案例与常见问题解决方案,文章还展望了集成化、智能化及物联网驱动下的未来发展趋势,为电子爱好者和工程师提供了全面的技术参考。

ww90123的博客 100

4、微夹钳:工作原理、构造与控制方法

本文系统介绍了微夹钳的工作原理、构造与控制方法,涵盖其在MEMS、电子、医疗和材料科学等领域的应用。文章分析了微观尺度下粘附力对操作的影响及应对策略,探讨了多种微执行器的类型与适用场景,并详细阐述了基于表面张力的毛细管微夹钳设计及其智能控制系统架构。通过实际案例展示了微夹钳在微装配和生物操作中的高效性与可靠性,提出了抓取成功率、操作精度和夹持稳定性等评估指标。最后,展望了微夹钳向更高精度、智能化、自动化和多功能集成发展的趋势,为微机器人技术在生产自动化中的深入应用提供了理论支持和技术路径。

convnet3designer的博客 87

8、执行器与Arduino微控制器的全面解析

本文全面解析了执行器与Arduino微控制器的工作原理及应用,涵盖了模拟电压生成、周期性信号生成、执行器类型及其应用场景,以及Arduino硬件和软件开发环境的使用方法。通过实际案例分析和代码示例,展示了它们在智能家居和工业自动化等领域的具体应用。文章还讨论了性能优化策略和未来发展趋势,为读者提供了深入理解与实践指导。

zero1的博客 161

7、机电执行器的原理与应用

本文详细介绍了机电执行器中的继电器、直流电机、伺服电机和步进电机的工作原理、特点及应用。涵盖了各类执行器的控制方法与驱动电路,包括使用H桥控制直流电机正反转、PWM调速、伺服电机的位置控制以及步进电机的多种激励模式。同时对比了不同执行器的优缺点,提供了选型建议,并给出了基于Arduino的控制示例代码,帮助读者理解和实现各类执行器的编程与应用。

ww90123的博客 104

7、机器人传感器与执行器的应用指南

本文详细介绍了机器人中常用传感器与执行器的应用方法,涵盖GPS数据解析、I2C扩展外设的使用,以及各类电动执行器的工作原理和控制方式。重点讲解了有刷直流电机、无刷直流电机、步进电机和RC伺服电机的特点、驱动电路及Arduino代码实现,并对比了气动、液压等专用执行器的适用场景。文章还提供了电机控制优化策略和选型流程图,帮助开发者根据需求选择合适的执行器类型,为构建高效、稳定的Arduino机器人系统提供全面指导。

alpha的博客 93

8、传感器与微控制器:执行器与Arduino入门指南

本文介绍了执行器的基本原理与应用,涵盖模拟电压生成、周期性信号输出及多种执行器(如螺线管、泵、阀门、液压系统和人机交互设备)的工作方式。同时详细讲解了Arduino系列微控制器(包括UNO、ESP8266和ESP32)的硬件结构与编程入门方法,提供了Arduino IDE配置步骤、常见问题解决方案以及小型起重机和唤醒机制等实践项目建议,帮助读者掌握传感器与执行器在物联网和自动化控制中的实际应用。

ll5678的博客 129

深入学习S7-1200 PLC工作原理与应用

可编程逻辑控制器(PLC)是自动化控制领域的重要技术,自从20世纪60年代诞生以来,PLC经历了由简单到复杂的发展历程。从最初仅具备逻辑运算能力的简单设备,发展到现在的高性能、高可靠性的智能设备,PLC技术在工业控制领域扮演了至关重要的角色。在自动化控制系统中,PLC(Programmable Logic Controller)是核心组件之一,其执行程序的周期称为扫描周期。扫描周期是指PLC从读取输入状态开始,经过程序执行,更新输出状态,直到下一个周期开始的整个过程。

weixin_42575109的博客 901

新能源减速器换挡执行器:滚珠丝杠选型、BLDC控制与耐久验证

换挡执行器是电动化传动系统中将电控指令转为直线位移与换挡力的关键部件。其基本原理是电机输出扭矩,经减速与丝杠副转换为轴向推力,再通过位置闭环与电流环实现力位协同,从而在毫秒级完成拨叉定位。相比液压方案,电驱执行器待机功耗低、低温响应快,滚珠丝杠正效率可达90%以上,小扭矩电机即可输出足够换挡力。该技术广泛用于两挡电驱变速箱、AMT和eAxle换挡机构。围绕新能源减速器滚珠丝杠换挡执行器,可进一步拆解选型计算、BLDC电机匹配、建模仿真、台架排查及润滑密封耐久验证等工程链路。

weixin_34133829的博客 388

ESP32-IDF HTTP服务器实战:从零搭建Web控制界面

本文详细介绍了如何在ESP32平台上使用ESP-IDF框架从零搭建HTTP服务器,并创建Web控制界面。内容涵盖环境配置、服务器基础设置、Web页面处理、GPIO控制接口实现及AJAX异步请求处理,帮助开发者快速掌握物联网设备Web控制开发。

efc123456的博客 1063

手把手教你用AFL挖掘C程序漏洞:从安装到实战(附常见错误排查)

本文详细介绍了如何使用American Fuzzy Lop (AFL)对C/C++程序进行模糊测试,从环境准备、目标程序插桩编译、初始语料库构建到实战运行与结果分析。重点讲解了AFL的安装、常见错误排查(如核心转储配置、执行速度优化)以及提升测试效率的高级策略(如持久模式、并行化),帮助开发者和安全工程师高效挖掘程序漏洞。

weixin_29014237的博客 407

Python xlwings报错解决:从‘NoneType‘到完美运行WPS表格的完整指南

本文深入解析了使用Python xlwings库自动化WPS表格时遇到的经典'NoneType'报错(AttributeError: 'NoneType' object has no attribute 'apps')的根源与解决方案。核心在于pywin32版本与WPS的兼容性问题,文章提供了从版本降级、依赖管理到构建健壮自动化环境的完整实战指南,帮助开发者彻底解决兼容性难题,实现稳定运行。

n4o5p6q7r的博客 301

富斯遥控器-ros机器人控制

富斯遥控器-ros机器人手柄控制

zkh7758的博客 1697

懒人精灵手游内存技术分析

教学声明:全套教程教学用到的游戏采用手游私服网游进行测试,不针对任何游戏。教学只做计算机技术研究,不做其他用途。

yizhihaoren123的博客 1655

rk3568 点亮双LVDS 屏

承接文章《rk3568点亮LCD(lvds)》中仅仅只能使用亮单LVDS;经过厂商的努力,陆续发布新补丁。目前支持双lvds显示,缺憾是需要自己额外移植相关补丁。受限于通信频率和VOP编码能力,支持最大分辨仍然是1920x1080、60fps。

weixin_35723192的博客 3006

《网络安全自学教程》- Windows基线检查加固

Windows安全配置,基线检查标准,基线加固方式

wangyuxiang946的博客 1万+

热视觉2:使用Python和OpenCV从图像中测量温度

这篇博客将介绍学习热/中远红外视觉的基础知识,gray8 和 gray16 图像(即最常见的热成像格式)之间的差异,学习如何使用Python和OpenCV从热图像中的每个像素点测量温度,并以不同的调色板显示结果。以及如何实时计算视频流和UVC热像仪的每个像素温度。

qq_40985985的博客 6711

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

深度学习工具包 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")

上一篇: 15、游戏开发:视野系统与地图生成的优化与拓展
下一篇: 16、探索有趣的地牢地图生成算法
zero1
博客等级 码龄24年 951粉丝 1198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值