51单片机直流电机实验

直流电机实验
  • 直流电机
    5v直流电机为例:
    轴长:8mm
    轴径:2mm
    电压:1-6v
    参考电流:0.35-0.4A(电流无正负之分,两端加上直流电即可工作)
    3v 转速:17000-18000 转每分钟
    外观实物图如下:
    在这里插入图片描述

  • ULN2003简介
    1.ULN2003 是一个单片高电压、高电流的达林顿晶体管阵列集成电路。它是由7 对 NPN 达林顿管组成的,它的高电压输出特性和阴极箝位二极管可以转换感应负载。单个达林顿对的集电极电流是 500mA。达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED 气体放电),线路驱动器和逻辑缓冲器。
    2.主要特点

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

  • 高电压输出:50V

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

  • 继电器驱动器
    3.原理图
    在这里插入图片描述
    如图,该芯片由7对达林顿晶体管构成,实现的功能相当于非门,即输入低电平则输出高电平,输入高电平则输出低电平。
    达林顿晶体管原理图
    在这里插入图片描述

  • 原理实现
    1.原理图
    在这里插入图片描述

J47的4个排针与芯片上的输出管脚相连,输入端为p1口。直流电机一端通过排线接j47的VCC电压,另一端通过排线接j47的其他4个中的任意一个端口上。(由于该模块电路是集成的,所以使用单片机 P10~P15 管脚即可)要使直流电机工作,芯片的其中一个输入端需输入高电平,则输出为低电平,电机一端接高电平,一端为低电平,正常工作。若输入为低电平,则输出为高电平,电机停止工作。

  • 代码实现

#include "reg51.h"			 //此文件中定义了单片机的一些特殊功能寄存器
#include<intrins.h>
typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;
sbit moto=P1^0;

/*******************************************************************************
* 函 数 名         : delay
* 函数功能		   : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
	while(i--);	
}

/*******************************************************************************
* 函数名 :主函数
*******************************************************************************/
void main()
{
	u8 i;
	moto=0; //初始为关闭状态
	for(i=0;i<100;i++)   //延时5S,电机关闭。循环以一次大约50ms,100次为5s
	{
		moto=1;//输入高电平,输出为低电平,电机启动	
		delay(5000); //大约50ms
	}
	moto=0;//电机关闭
    while(1)//一直死循环,防止电机启动
	{
	}
}

  • 实验结果
    电机启动5s后关闭
  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值