零基础入门学用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

相关文章

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

MySQL复合查询从基础到多表关联与高级技巧全解析

《MySQL复合查询从基础到多表关联与高级技巧全解析》本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧... 目录前言:1.基本查询回顾:1.1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J1.2.按照部门

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键