Arduino篇—电机的控制

电子说

1.3w人已加入

描述

相关知识

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

电位器

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

电位器

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

具有启动电流小,噪音低的特点,电压范围在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);


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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分