循迹小车小型直流电机驱动,超级简单!

1. 直流电机介绍

轴长:8mm

轴径:2mm

电压:1-6v

参考电流:0.35-0.4A

3v转速:17000-18000转每分钟

小型直流电机

从上图可以看出这个电机跟小时候玩的赛车很像哈,其实是一个东西,右侧的最上面的平面的下方有两个点,一个VCC,一个GNd,可以自行选择一边,反向就是相反旋转的控制方式。

2.直流电机模块电路

这个模块既可以用来五线四相步进电机,也可以用来简单的直流电机的应用。

3. ULN2003芯片的使用

ULN2003是一个单片高电压、高电流的达林顿晶体管阵列集成电路。它是由7对NPN达林顿管组成的,它的高电压输出特性和阴极箝位二极管可以转换感应负载。单个达林顿对的集电极电流是500mA。达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED气体放电),线路路驱动器和逻辑缓冲器。 ULN2003的每对达林顿管都有一个2.7kΩ串联电阻,可以直接和TTL或5V CMOS装置。

上为集成封装,下为模块贴片

主要特点

* 500mA 额定集电极电流(单个输出)

* 高电压输出:50V

* 输入和各种逻辑类型兼容

* 继电器驱动器

内部集成图

可以看出,内部集成了7对非门,左侧输入一个高电平时右侧输出一个低电平。

4 . 直流电机实验

通过两根杜邦线即可实现电机的简单驱动。一端接在模块的右侧M1的Vcc上,一段接在左侧M1的1端(可随意选择)

接下来编写程序:

#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器

#include //因为要用到左右移函数,所以加入这个头文件

typedef unsigned int u16; //对数据类型进行声明定义

typedef unsigned char u8;

sbit moto=P1^0;

void delay(u16 i)

{

while(i--);

}

void main()

{

u8 i;

moto=0; //关闭电机

for(i=0;i<100;i++) //循环100次,也就是大约5S

{

moto=1; //开启电机

delay(5000); //大约延时50ms

}

moto=0; //关闭电机

while(1)

{

}

}

快去试试你的电机吧~~~~~

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();