目录
一、本节介绍
在本实验中,您将学习如何使用驱动芯片L293D和SunFounder Uno板控制小型直流(DC)电机的方向和速度。为了使初学者更容易,我们将让直流电机左右旋转,自动加速和减速。
二、材料准备
- 1 *小型直流电机
- 1 * L293D
- 1 * Arduino Uno板
- 1 *面包板
- 1 * USB数据线
- 杜邦线
三、原理讲解
L293D
这是一个非常实用的芯片,可以独立控制两台直流电机。在这个实验中,只有一半的芯片被使用。由于芯片右侧的大多数引脚用于控制第二个电机,因此不会在此使用。
L293D有两个引脚(Vcc1和Vcc2)供电。Vcc2用于为电机供电,而Vcc1为芯片供电。由于这里使用小型直流电机,请将两个引脚连接到+ 5V。如果使用大功率电机,请将Vcc2连接到外部电源。同时,L293D的GND应连接到Arduino Uno板的GND。
直流电机规格
电压:3-6V
主要尺寸:长25mm,厚15mm,宽20mm
电机轴长度:9mm,轴径2mm
额定电压:3v
参考电流:0.35-0.4A
3v旋转速度:13000 RPM
四、实验步骤
步骤1:建立电路
原理图
步骤2:编写程序
步骤3:编译代码
步骤4:将程序上传到Arduino Uno板
直流电机的叶片将以相应的速度开始左右旋转。
本节课程序:
[scu name=”arduino-ide-post” platform=”arduino:avr:uno”]
/**************************************/
//直流电机控制
//直流电机将开始向左和向右旋转,其速度将相应变化
//网址http://www.qutaojiao.com/category/course/arduino
//2017.10.17
/***************************************/
const int motorIn1 = 9; // 电机的一个引脚连接到引脚9
const int motorIn2 = 10; // 电机的另一个引脚连接到引脚10
/***************************************/
/****************************************/
//驱动电机的功能顺时针旋转
void clockwise(int Speed)
{
analogWrite(motorIn1, Speed); ///设置电机的速度
analogWrite(motorIn2, 0); //停止电机的motorIn2引脚
}
//驱动电机的功能逆时针
void counterclockwise(int Speed)
{
analogWrite(motorIn1, 0); //停止电机的motorIn1引脚writeWrite
analogWrite(motorIn2, Speed); //设置电机的速度
}
void setup()
{
pinMode(motorIn1, OUTPUT); //将motorIn1引脚初始化为输出引脚模式
pinMode(motorIn2, OUTPUT); //将motorIn2引脚初始化为输出
}
/****************************************/
void loop()
{
clockwise(200); //顺时针旋转
delay(1000);
counterclockwise(200); //逆时针旋转
delay(1000);
}
/****************************************/
[/scu]
不错