51:电机(ULN2003D)

1:介绍

我们51单片机使用的是直流电机

直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 直流电机主要由永磁体(定子)、线圈(转子)和换向器组成

除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等


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

2:原理图

A:大功率直接驱动:

在这里ULN2003D芯片相当于一个三极管 , COM脚的作用是当你使用ULN2003来驱动继电器时,可以将COM脚接到继电器的VCC端,利用ULN2003内部的反向二极管作保护继电器,消除继电器闭合时产生的感应电压,从而起到保护继电器。

**只能朝一个方向转,**这种电机并不具备调换电机正负方向的功能

电路图:注意里面是有一个非门

B:H桥驱动

**可以转向,**这种电机可以换电机正负方向的功能,我们这节并不涉及,在智能小车案例中应用较为多少

3:电机调速(pwm)

一般都会和定时器一起使用

​​​​​​​

A:实例代码

cpp 复制代码
#include <REGX52.H>
//一般来说&是清零;|是置1
unsigned int Counter=0,Compare=0;
sbit in1= P1^0;
void Init_time()		//1微秒@12.000MHz
{   
	TMOD &= 0xF0;		//设置定时器模式
	TMOD |= 0x01;		//设置定时器模式
	TL0 = 0x9C;		//设置定时初值
	TH0 = 0xFF;		//设置定时初值
	TF0 = 0;		//清除TF0标志
	TR0 = 1;		//定时器0开始计时
    //中断配置
    ET0=1;   //打开中断允许位
	EA=1;  //使能总开关
    Compare=20;
}



void Timer0_Routine() interrupt 1
{   
  
    //每隔1微秒启动中断函数
    Counter++;
    /*因为它是16位,没有自动装载\
    每次进去中断函数都会从0开始计数.计数到65536在中断
    所以加上 TL0 = 0x18;TH0 = 0xFC;让它从64536计数
    这个就是手动装载
    */
    TL0 = 0x9C;		//设置定时初值
	TH0 = 0xFF;		//设置定时初值
   
  
      if(Counter==100){
            Counter=0;
         if (Counter<Compare)
        {   
          in1=1;  
        }
        else{  
         in1=0;
     }

    }


}
void main(){ 
    Init_time();//初始化定时器
    while (1);
}
相关推荐
点灯小铭18 分钟前
基于单片机的程控放大器设计与实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
范纹杉想快点毕业24 分钟前
《嵌入式硬件从入门到精通:电源 / 模电 / 数电 / 通信核心全解析》
java·开发语言·数据库·单片机·嵌入式硬件
打酱油程序员1 小时前
舵机工作原理与控制详解
单片机·嵌入式硬件
Wave8451 小时前
FreeRTOS的常用函数和剪切
单片机·嵌入式硬件
C.咖.2 小时前
STM32 ——嵌入式 存储系统、时钟系统(F407 系列)
stm32·单片机·嵌入式硬件
llilian_163 小时前
晶振有什么好用的检测仪器?石英晶振测试仪 晶体测试仪
服务器·单片机·嵌入式硬件·其他
FreakStudio4 小时前
串口协议解析实战:以 R60ABD1 雷达为例,详解 MicroPython 驱动中数据与业务逻辑的分离设计
python·单片机·pycharm·嵌入式·面向对象·硬件·电子diy
brave and determined4 小时前
可编程逻辑器件学习(day24):异构计算:突破算力瓶颈的未来之路
人工智能·嵌入式硬件·深度学习·学习·算法·fpga·asic
ACP广源盛139246256737 小时前
GSV2201S(1201S)@ACP#支持嵌入式 MCU 的 DisplayPort 1.4 到 HDMI 2.0 转换器
单片机·嵌入式硬件·电脑·音视频
d111111111d7 小时前
MPU6050简介(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习