0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arduino篇—电机的控制

冬至子 来源:X的创客课堂 作者:MRXY 2023-11-01 11:32 次阅读

相关知识

电机(俗称“马达”)是指依据电磁感应定律实现电能转换或传递的一种电磁装置。又分为发电机和电动机,这里我们主要涉及的是电动机的概念。

图片

电动机主要包括一个用以产生磁场的电磁铁绕组或分布的定子绕组和一个旋转电枢或转子和其它附件组成。在定子绕组旋转磁场的作用下,其在电枢鼠笼式铝框中有电流通过并受磁场的作用而使其转动。

图片

直流电机:是将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。

具有启动电流小,噪音低的特点,电压范围在1.5V~6V。

电路搭建

所需材料

arduino UNO * 1
直流电机 * 1
可调电位器 * 1
杜邦线若干

接线方式

方式一、 将直流电机的正极和负极直接接到UNO板子的5V和GND,会发现电机开始转动,当将接线互换时,电机的转动方向同样也会发生改变。

图片

方式二、 将电机正极接入UNO的PWM控制引脚,可以通过编程实现控制电机的转速。

图片

方式三、 编程实现通过电位器来控制马达的转速的接线方式。

图片

程序编写

练习一、程序控制电机转动

参考方式二的接线,尝试通过编程的形式来控制电机运动,让电机的转速由快到慢,再由慢到快工作。

图形化方式:

使用for循环,变量i每0.5秒先进行自增,然后进行自减。将变量i赋值给模拟输出3号引脚,控制电机的转速。

图片

代码方式:

/* 项目名称:马达转速自动控制
 * 项目时间:2022.02.22
 * 项目作者:MRX
 */
int motor_Pin = 3;
void setup() {
  pinMode(motor_Pin,OUTPUT);
}


void loop() {
  for(int i = 50; i <= 255; i++){
    analogWrite(motor_Pin,i);
    delay(500);
  }
  delay(1000);
  for(int i = 255; i >= 50; i--){
    analogWrite(motor_Pin,i);
    delay(500);
  }
  delay(1000);
}

练习二:电位器控制电机转速

参考接线方式三,编程实现通过旋转电位器来控制电机的转速。

图形化方式:

注意模拟输入的区间范围为01023,模拟输出的范围为0255。

图片

代码方式:

/* 项目名称:电位器控制转速
 * 项目时间:2022.02.22
 * 项目作者:MRX
 */
int motor_Pin = 3;
int AR = 0;
void setup() {
  pinMode(motor_Pin,OUTPUT);
  pinMode(A0,INPUT);
}


void loop() {
  AR = (map(analogRead(A0), 0, 1023, 50, 255));
  analogWrite(motor_Pin,AR);


}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电位器
    +关注

    关注

    14

    文章

    996

    浏览量

    66533
  • 直流电机
    +关注

    关注

    36

    文章

    1694

    浏览量

    69922
  • 电动机
    +关注

    关注

    73

    文章

    4045

    浏览量

    95370
  • 电磁感应
    +关注

    关注

    17

    文章

    765

    浏览量

    57854
  • 电磁场
    +关注

    关注

    0

    文章

    783

    浏览量

    47108
收藏 人收藏

    评论

    相关推荐

    如何使用Arduino控制无刷电机

    所以基本上在本教程中,我们将使用 Arduino 控制无刷电机。这里 A2212/13T 无传感器 BLDC 外转子电机与 20A 电子速度控制
    的头像 发表于 11-10 17:50 1.2w次阅读
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>无刷<b class='flag-5'>电机</b>

    如何使用Arduino的蓝牙控制伺服电机

    使用伺服电机在机器人技术中很常见,以实现精确控制。在这里,在本教程中,我们将向您展示如何通过蓝牙连接将伺服电机Arduino UNO和Android设备无线使用。我们已经使用
    发表于 11-16 16:19 3270次阅读
    如何使用<b class='flag-5'>Arduino</b>的蓝牙<b class='flag-5'>控制</b>伺服<b class='flag-5'>电机</b>

    如何使用Arduino控制多个伺服电机

    在这里,我们将向您展示如何使用Arduino控制多个伺服电机。将多个伺服电机Arduino连接似乎很容易,但是如果我们将所有伺服连接到
    的头像 发表于 11-16 17:19 6020次阅读
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>多个伺服<b class='flag-5'>电机</b>

    Arduino智能小车测试

    为后续的研究先做资料的铺垫,如果错误,欢迎指正Arduino智能小车——测试Arduino 智能小车-电机控制delay 延时处理:del
    发表于 09-16 07:11

    arduino如何控制电机驱动?

    arduino如何控制电机驱动?
    发表于 10-09 07:21

    怎样使用Arduino控制无刷电机

    部分)。将ESC的信号线(大部分为白色或黄色)连接到任何Arduino的PWM引脚,我将其连接到D8引脚并在Arduino Sketch中将其指定为引脚8。您可以使用多个引脚来控制许多电机
    的头像 发表于 09-29 17:47 2.1w次阅读

    如何使用MATALB和Arduino控制步进电机

    今天我们将学习如何使用 MATALB 和 Arduino 控制步进电机
    发表于 11-01 17:45 2573次阅读
    如何使用MATALB和<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>步进<b class='flag-5'>电机</b>

    使用Arduino Uno和POT控制伺服电机

    电子发烧友网站提供《使用Arduino Uno和POT控制伺服电机.zip》资料免费下载
    发表于 11-10 14:19 0次下载
    使用<b class='flag-5'>Arduino</b> Uno和POT<b class='flag-5'>控制</b>伺服<b class='flag-5'>电机</b>

    如何使用Arduino和操纵杆控制BLDC电机

    电子发烧友网站提供《如何使用Arduino和操纵杆控制BLDC电机.zip》资料免费下载
    发表于 11-24 10:10 0次下载
    如何使用<b class='flag-5'>Arduino</b>和操纵杆<b class='flag-5'>控制</b>BLDC<b class='flag-5'>电机</b>

    Arduino/Android蓝牙多伺服电机控制

    电子发烧友网站提供《Arduino/Android蓝牙多伺服电机控制.zip》资料免费下载
    发表于 02-08 15:14 0次下载
    <b class='flag-5'>Arduino</b>/Android蓝牙多伺服<b class='flag-5'>电机</b><b class='flag-5'>控制</b>

    Arduino控制伺服电机来演奏乐器!

    第1:用Arduino控制曲别针电动机第2:非接触式开关的制作与控制第3:自制电磁执行器的
    的头像 发表于 02-20 10:15 1121次阅读
    用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>伺服<b class='flag-5'>电机</b>来演奏乐器!

    ros与arduino通信控制直流电机

    前言:在成功通过arduino开发板控制直流电机后,开始尝试用ros与arduino通信来控制直流电机
    发表于 03-31 11:45 4次下载
    ros与<b class='flag-5'>arduino</b>通信<b class='flag-5'>控制</b>直流<b class='flag-5'>电机</b>

    Arduino无刷电机控制教程

    在本教程中,我们将学习如何使用 Arduino 和 ESC 控制无刷电机。如果您想了解更多 BLDC 电机的工作原理,您可以查看另一文章或
    发表于 05-05 11:34 2次下载
    <b class='flag-5'>Arduino</b>无刷<b class='flag-5'>电机</b><b class='flag-5'>控制</b>教程

    arduino控制步进电机代码

    Arduino是一种开放源代码的电路板平台,它可以用于控制各种不同的电子设备,包括步进电机。步进电机是一种电动机,可以通过下达特定的指令来控制
    的头像 发表于 02-14 16:29 1671次阅读

    如何使用Arduino UNO板和电位器控制伺服电机

    在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO板和电位器控制伺服电机
    的头像 发表于 02-11 10:11 2031次阅读
    如何使用<b class='flag-5'>Arduino</b> UNO板和电位器<b class='flag-5'>控制</b>伺服<b class='flag-5'>电机</b>