arduino学习笔记-17-ULN2003驱动直流电机
ULN2003驱动直流电机
ULN2003芯片
在 ULN2003 内部,有七个高耐压、大电流 NPN 达林顿管构成的反相器,输入 5V 的 TTL 电平,输出可达 500mA/50V。ULN2803 里面有八个反相器,它们的电气性能是相同的。
ULN2003有16个引脚,1B7B输入分别对应1C7C输出,1个GND,1个COM。
引脚8接地,引脚9是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用,作为驱动电流。如果该脚接地,实际上就是达林顿管的集电极对地接通。
直流电机
功能描述
通过加速和减速按键,能够控制负载/电机两端电压,改变电机转速。PWM频率一定时,脉冲宽度越大,占空比越大,提供给电机的平均电压越大,电机转速就越高。反之脉冲宽度越小,则占空比越小,提供给电机的平均电压越小,电机转速就低。
接线图
代码
1 | // 定义引脚 |
- 但是由于代码本身没有按键去抖动的保护,按下按键后,作用到电机的结果有延迟,或者速度控制不是很稳定。后续可以进一步改进,提高系统稳定性。
- analogRead()读取到的电机接口状态在0-1023之间,尽管初始化时已经通过analogWrite()将状态设为0,但是一开始读取到的接口状态并非0而是334左右,这意味着一开始作用到电机上的电压约为384/1024*5=1.631V,可能是ULN2003驱动板的作用,这个现象还可以继续深入探索。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Binhao's Blog!