零基础入门学用Arduino 第四部分(一)

2024-06-18 23:36

本文主要是介绍零基础入门学用Arduino 第四部分(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

重要的内容写在前面:

  1. 该系列是以up主太极创客的零基础入门学用Arduino教程为基础制作的学习笔记。
  2. 个人把这个教程学完之后,整体感觉是很好的,如果有条件的可以先学习一些相关课程,学起来会更加轻松,相关课程有数字电路(强烈推荐先学数电,不然可能会有一些地方理解起来很困难)、模拟电路等,然后就是C++(注意C++是必学的)
  3. 文章中的代码都是跟着老师边学边敲的,不过比起老师的版本我还把注释写得详细了些,并且个人认为重要的地方都有详细的分析。
  4. 一些函数的介绍有参考太极创客官网给出的中文翻译,为了便于现查现用,把个人认为重要的部分粘贴了过来并做了一些修改。
  5. 如有错漏欢迎指正。

视频链接:​​​​​​​4-1-1 电机基本结构与工作原理_哔哩哔哩_bilibili

太极创客官网:太极创客 – Arduino, ESP8266物联网的应用、开发和学习资料

一、电机的基本结构与工作原理

1、概述

(1)电机又称为电动机、马达,是一种通过电磁感应定律将电能转化成机械能,并可再使用机械能产生动能以驱动其它装置的电气设备

(2)使用Arduino控制的电机主要分为三类,分别是直流电机、步进电机及伺服电机,其中伺服电机在第二部分中有介绍,这里不再赘述。

(3)电机根据工作电源种类分为直流电机(DC)、交流电机(AC)和交直流两用电机(Universal)三类,很显然,直流电机只能由直流电源供电,交流电机只能由交流电源供电,而交直流两用电机可使用直流或交流电源供电。Arduino开发板通常配合直流电机进行应用开发。

2、直流电机

(1)直流电机根据有无电刷可分为有刷直流电机(BDC)和无刷直流电机(BLDC)。

(2)有刷直流电机的基本结构如下图所示。

①有刷直流电机有两个“定子”(下图所示的两侧的黑色块状物),电机在工作时它们基本固定不动,其作用是提供一个磁场;定子之间的一对半圆环是电机的“换向器”,将两对半圆环连接在一起的是电机的线圈,它和换向器共同构成电机的“转子”,顾名思义,电机在工作时转子将会不断地进行旋转;在换向器两边各有一个电刷,在转子转动时,电刷会不断与换向器产生摩擦。

②有刷直流电机连接上电源后,线圈中将会有定向电流流过(下图所示的蓝色箭头),在磁场的作用下,线圈将会受安培力(下图所示的红色箭头),从而带动转子进行旋转;当线圈旋转到与磁感线垂直的位置时,换向器的两个半圆环互换连接的电源极性,由此线圈中的电流流向发生翻转,在磁场的作用下,线圈将会受反向的安培力,于是转子会按照先前的旋转方向继续运动,直到下一次线圈旋转到与磁感线垂直的位置,线圈中的电流流向会再次发生翻转,由此可以实现转子按同一个方向不断旋转。

③当线圈旋转到与磁感线垂直的位置时,安培力的方向与线圈完全平行(安培力的力矩为0),理论上安培力没办法继续带动线圈转动,不过由于惯性,线圈还是可以向前旋转一小段距离,从而摆脱安培力力矩为0的位置,只是这样的话,转子的旋转在靠近安培力力矩为0的位置时运动速度会减慢,从而导致转子的旋转非常诡异,为此可以给直流电机增设若干组线圈及换向器,这样,当一个线圈与安培力平行时,其它线圈的安培力力矩不为0,从而克服转子在某一时刻安培力力矩为0的缺陷。

(3)无刷直流电机的基本结构如下图所示。

①无刷直流电机的转子是永磁铁(下图所示的黑圈),它产生一个永磁场;定子则是由三组线圈(以及下图所示的灰色物体)组成。

②为定子的一组线圈A通电时,线圈A将会产生一个电磁场,磁场方向如下一图所示,线圈A产生的电磁场与转子的永磁场产生交互(异极性相吸,同性极相斥),从而带动转子进行旋转;当转子旋转到两极非常接近线圈A的磁场两极时,线圈A断电,同时为线圈B通电,磁场方向如下二图所示,线圈B产生的电磁场与转子的永磁场产生交互(异极性相吸,同性极相斥),从而带动转子进行旋转;当转子旋转到两极非常接近线圈B的磁场两极时,线圈B断电,同时为线圈C通电,磁场方向如下三图所示,线圈C产生的电磁场与转子的永磁场产生交互(异极性相吸,同性极相斥),从而带动转子进行旋转。

③当转子旋转到两极非常接近线圈C的磁场两极时,线圈C断电,同时为线圈A通电,不过这次要给线圈A通一个与上一次反方向的电流,因为转子旋转半圈后极性的位置也与初始时颠倒了;同理,当转子旋转到两极非常接近线圈A的磁场两极时,线圈A断电,同时为线圈B通一个与上一次反方向的电流,当转子旋转到两极非常接近线圈B的磁场两极时,线圈B断电,同时为线圈C通一个与上一次反方向的电流,这样,转子就完成了一圈的旋转。

④按照上述的工作原理,每一时刻只有一组线圈通电,另外两组线圈处于一个空闲状态,为了提升电机的工作效率,可以在为转子两极一侧的一组线圈通电的同时,为转子两极另一侧的线圈也通上电,不过前者产生的磁场会吸引转子的两极,而后者产生的磁场会排斥转子的两极,由此可以提升转子的旋转速度。

⑤直流无刷电机中还有一个传感器与控制器,传感器会实时地将转子的状态反馈给控制器,控制器根据传感器的反馈对线圈组进行通电和断电。

3、步进电机

(1)不同于一般的直流电机(步进电机也属于直流电机),步进电机是以步进形式运转的,每执行一次步进都会保持当前状态一段时间,然后执行下一次步进

(2)步进电机的优点:

①可精确控制电机输出轴的角度。

②低速运行时可获得更高的扭矩。

③开环控制/性价比高。

(3)步进电机可分为双极性步进电机单极性步进电机,双极性步进电机通常有4根引线,单极性步进电机通常有5-6根引线。

①下图所示的是双极性步进电机结构的概念图(事实上双极性步进电机的结构要比下图复杂得多),通常电机的定子由电磁铁构成,而电磁铁又由铁芯及电磁线圈组成,电机的转子可以是一个永磁体(也可以没有任何磁性,这里以永磁体为例)。

[1]首先给电磁线圈通电,通电后线圈将产生电流,线圈电流将产生电磁场,电磁场存在南北极划分,由于转子的永磁铁也存在南北极划分,加上异性相吸、同性相斥,转子将会受磁场相互作用的影响而旋转。

[2]当第一次旋转结束时,可以给另一个线圈通电,通电后线圈将产生电流,线圈电流将产生电磁场,从而继续带动转子旋转。

[3]第二次旋转结束后,再给第一次旋转时通电的线圈通电,不过这次的电压方向要与之前相反,因为转子已经旋转了半周,这样,转子将进行第三次旋转;同理,第三次旋转结束后,再给第二次旋转时通电的线圈通电,这次的电压方向要与之前相反,这样,转子将进行第四次旋转,至此转子将完成一周的旋转。

[4]在上面的介绍中的步进电机的步进角度为90°,也就是每次转子的旋转角度为四分之一圆。

[5]双极性步进电机通常有4根引线,这4根引线就是电磁线圈的引线。

②下图所示的是单极性步进电机结构的概念图(事实上单极性步进电机的结构要比下图复杂得多),它与双极性步进电机非常相似,区别在于单极性步进电机的电磁线圈有三根引线,中间的引线总是接电源正极或接地(这里以连接电源正极为例)。

[1]将一个定子一端的导线接地,该定子线圈将产生线圈电流,线圈电流产生电磁场,在电磁场的作用下永磁体转子发生转动;一次转动结束后,给另一个定子一端的导线接地,该定子线圈将产生线圈电流,线圈电流产生电磁场,在电磁场的作用下永磁体转子继续发生转动。

[2]第二次旋转结束后,将第一次接地的定子的另一端的导线接地,该定子线圈将产生与第一次电流方向相反的线圈电流,线圈电流产生电磁场,在电磁场的作用下永磁体转子继续发生转动;同理,第三次旋转结束后,将第二次接地的定子的另一端的导线接地,该定子线圈将产生与第二次电流方向相反的线圈电流,线圈电流产生电磁场,在电磁场的作用下永磁体转子继续发生转动,这样,转子将进行第四次旋转,至此转子将完成一周的旋转。

[3]在上面的介绍中的步进电机的步进角度为90°,也就是每次转子的旋转角度为四分之一圆。

[4]单极性步进电机通常有5-6根引线,它们都是电磁线圈的引线,对于只有5根引线的情况,是将总是接电源正极或接地的两根引线合并在了一起。

③单极性步进电机的相对输出扭矩低,控制电路相对简单,而双极性步进电机通常输出扭矩较高,控制电路相对复杂。

(4)步进电机的一些参数:

①定位转矩:电机不通电时,转子自身的锁定力矩。

②保持转矩(静力矩):电机通电但没有转动时,定子锁定转子的力矩。

③步进角度:电机转子每次旋转的角度

④相数:可独立通电的定子电磁线圈组数。(上面的举例都是两相步进电机)

(5)步进电机还可分为永磁式步进电机、反应式步进电机和混合式步进电机。

①永磁式步进电机的转子用永磁材料制成,上面有详细介绍的都是永磁式步进电机。

②反应式步进电机的转子用软磁材料(软磁材料易被周围磁场吸引,但它本身没有磁性)制成。

[1]如下图所示,反应式步进电机有6个定子,它们分别由一个线圈和铁芯组成,互相面对面的线圈在电路上是连接在一起的,转子则是位于中心的一个十字软磁材料,它由一系列的十字钢片组成。

[2]首先为线圈组A通电,线圈组A产生的电磁场将会吸引转子保持在当前位置,把这个位置称为第一个转子位置(下一图所示红线);接着为线圈组B通电,线圈组B产生的电磁场将会吸引转子旋转到另一个位置,把这个位置称为第二个转子位置,它与第一个转子位置相差30°;接着为线圈组C通电,线圈组C产生的电磁场将会吸引转子旋转到另一个位置,把这个位置称为第三个转子位置,它与第二个转子位置相差30°。

[3]上述过程反复进行,可实现转子在同一个方向不断旋转,每次步进转动30°,这个30°就是该电机的步进角度。如果不希望步进角度太大,在给线圈组A通电的同时给线圈组B通电,这样,转子就会仅旋转15°,如下二图所示;接着再断掉线圈组A的电源,转子会继续旋转15°,如下三图所示,以此类推,这种步进方式叫做半步进。

③混合式步进电机结合了上述两种电机的特点,以NEMA 17为例,它的步进角度一般是1.8°。

[1]NEMA 17的转子由三部分组成,分别是转子内部的永磁铁以及扣在其两极的两个齿轮帽,齿轮帽本身不具有磁性,但它被扣在永磁铁上后便有了磁性。

[2]NEMA 17转子的齿轮帽有50个齿,与之相接触的定子则仅有48个齿(转子两极侧的定子各48个齿),将这48个齿分成4组,用下图的四种颜色表示,在电机工作前要调整转子的位置,绿色组齿与转子齿半对齐,黄色齿与转子齿完全错开,蓝色组齿与转子齿半对齐,红色组齿与转子齿完全对齐。

[3]NEMA 17是一个两相电机,转子一侧的8个线圈可分为两组,一组中有4个线圈。

#1 以转子南极为例,首先为线圈组A通电,线圈组A中一对线圈会成为电磁场的北极,另一对线圈会成为电磁场的南极,与转子齿对齐的红色组齿,其线圈处的磁场极性与转子南极相异,二者互相吸引,与转子齿错开的黄色组齿,其线圈处的磁场极性与转子南极相同,二者互相排斥。

#2 接着为线圈组B通电,受与转子齿半对齐的蓝色组齿和绿色组齿对应线圈的磁场影响,转子会进行小幅度的转动,转动到转子齿与蓝色组齿完全对齐、与绿色组齿完全错开的位置,与初始位置正好相差1.8°。

#3 轮流为线圈组A、B通电,可以实现转子不断以每步1.8°进行旋转。如果想要实现转子以每步0.9°进行旋转,可以参考之前介绍的半步进方式,工作过程是相似的。

#4 转子北极一侧的转子齿和南极一侧的转子齿完全交错。

这篇关于零基础入门学用Arduino 第四部分(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073375

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

MySQL-CRUD入门1

文章目录 认识配置文件client节点mysql节点mysqld节点 数据的添加(Create)添加一行数据添加多行数据两种添加数据的效率对比 数据的查询(Retrieve)全列查询指定列查询查询中带有表达式关于字面量关于as重命名 临时表引入distinct去重order by 排序关于NULL 认识配置文件 在我们的MySQL服务安装好了之后, 会有一个配置文件, 也就