目录
1:介绍
2:原理图
编辑 A:大功率直接驱动:
B:H桥驱动
3:电机调速(pwm)
编辑
A:实例代码(大功率直接驱动)
1:介绍
我们51单片机使用的是直流电机
直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 直流电机主要由永磁体(定子)、线圈(转子)和换向器组成
除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等
2:原理图
A:大功率直接驱动:
在这里ULN2003D芯片相当于一个三极管 , COM脚的作用是当你使用ULN2003来驱动继电器时,可以将COM脚接到继电器的VCC端,利用ULN2003内部的反向二极管作保护继电器,消除继电器闭合时产生的感应电压,从而起到保护继电器。
只能朝一个方向转,这种电机并不具备调换电机正负方向的功能
电路图:注意里面是有一个非门
B:H桥驱动
可以转向,这种电机可以换电机正负方向的功能,我们这节并不涉及,在智能小车案例中应用较为多少
EN1=1,IN1=0,IN2=1 电机正转 ENX默认为高电频;当ENX为低电频不会响应控制信号
EN1=1,IN1=1,IN2=0 电机反转 IO口 INX默认为低电频
EN2=1,IN3=1 ,IN4=0 电机正转 ENX为使能段; EN1为左电机使能段,EN2为右电机使能段,
EN2=1,IN3=0 ,IN4=1 电机反转
c:H桥驱动实例
左电机正转 (电流从电机正级流向负级表示--正转)
左电机负转 (电流从电机负级流向正级表示--负转)
3:电机调速(pwm)
一般都会和定时器一起使用文章来源:https://www.toymoban.com/news/detail-622507.html
文章来源地址https://www.toymoban.com/news/detail-622507.html
A:实例代码(大功率直接驱动)
#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);
}
到了这里,关于51:电机(ULN2003D)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!