Arduino电机屏蔽的教程和一个简单的项目。
概述
的Arduino电动机保护是一个盾牌,让你控制各种负荷,一个典型的Arduino pin不能驱动。电机屏蔽具有相当多的特点,如电流测量和驱动单个步进电机的能力。这个屏蔽的核心是L298P双全桥驱动器,可以在很短的时间内处理最多3安培或每个通道连续处理2安培。完整的示例代码可用于附带的压缩文件夹中的所有部分。
电源要求
连接在电机屏蔽上的电动机需要充足的电源。通过使用USB连接,电流将经常被限制在500mA或1安培。许多电机将吸取更多的电流超过USB源可以供应。为了降低损坏usb接口的风险,需要使用外部电源。
设置
为了使用这个屏蔽,您需要初始化屏蔽使用的几个引脚。这个设置代码通常放在setup函数中。为了使用屏蔽的所有功能,引脚8、9、12和13需要初始化为输出引脚。这可以通过下面的代码实现:
pinMode(8、输出);//Channel A Brake Pin Initialize pinMode(9,OUTPUT);//通道B制动销初始化pinMode(12,OUTPUT);//Channel A Direction Pin Initialize pinMode(13,OUTPUT);//初始化通道B方向引脚
方向键控制
为了控制电机的方向,使用引脚12 (A通道)和引脚13 (B通道)。为了驱动马达前进*这个插脚需要抬高。引脚可以被压低以使电机反转。
重要提示:迅速改变方向会导致意想不到的后果。从机械角度来看,从前进到快速逆转可能会损坏齿轮箱。从电的角度来看,它可以引起大的电流和电压峰值。为了解决这些问题,电动机需要从一个方向转向另一个方向,其间要有一个小的停顿。一个例子可以在Basic_Control中找到。伊诺,附呈。
*由于“前进”方向的电机取决于应用,本教程“前进”将指屏蔽上的+螺丝端子上的正电压。
速度控制
为了控制电机的速度,引脚3(通道A)和引脚11(通道B)可以使用PWM信号来改变电机的速度。要在arduino上使用PWM特性,需要调用analogWrite函数。在函数中需要定义一个引脚和0-255之间的速度需要定义。一个例子可以在Basic_Control中找到。伊诺,附呈。
制动
Arduino电机屏蔽上的电机驱动器有能力应用引擎刹车。制动器的工作原理是把电动机的两个端子短路在一起。制动器由销8(通道A)和销9(通道B)控制。
电流传感
Arduino电机屏蔽的另一个特性是能够确定电机(或任何感应负载)正在吸收的电流量。电流感应对于机器人的应用是有用的,例如牵引力控制和确定机器人是否正在推动一个物体。当前感应引脚为A0(通道A)和A1(通道B)。当达到最大通道电流(2安安)时,电机屏蔽将在当前感应引脚上输出3.3v。
经过少量的数学运算,可以确定每个整数将代表2.96mA。因此,例如,如果模拟头(A0)产生121的值,电机(或负载)是0.36安培。一个例子可以在Current_to_Serial中找到。伊诺,附呈。
简单的项目-速度和方向控制与电位器
通过Arduino电机屏蔽和电位器,可以控制小电机的速度和方向。
部分需要:
- Arduino UNO(或相似的)
- Arduino电动机保护
- 小型直流电机
- 电位计(我用的是5K欧姆单匝)
- 4节AA电池座(或类似的12v),带电池
步骤:
1.把马达屏蔽插到Arduino上。
2.连接电位计。电位器的刮水器去引脚A2,其他去Vin(假设你正在用完USB电源)和GND。
3.把马达。这个项目使用“通道A”。
4.接上AA电池组。一定要用电压表再次检查极性!
5.在附带的zip文件中,有一个Arduino IDE的文件,名为“pot_motor_control.ino”。使用Arduino IDE,将代码上传到你的Arduino板。要将代码上传到Arduino,请按圆圈中的右箭头。
6.你准备好了!移动电位器,调整电机的速度和方向。
现在,您有一个伟大的方式来控制电机的方向和速度使用Arduino。这是为您的下一个机器人项目提供动力的好方法。在下一篇文章中,我将向您展示如何将其合并到机器人平台中。构建快乐!
自己尝试一下这个项目吧!BOM。
因为Arduino需要7V,所以在屏蔽上只给它供电6V不是问题吗?我知道它无论如何都能工作,因为我做了类似的事情,但我想知道这是否会长期损害arduino。
把护盾和arduino分开供电不是更正确吗?
你能得到的最大输出电压是多少?这可以控制吗?
是我的问题还是这个指南上A通道和B通道的制动销号码不正确?应该是:
通道A =引脚9
通道B =引脚8