导航:首页 > 操作系统 > 51单片机的电动驱动模块

51单片机的电动驱动模块

发布时间:2023-08-13 18:10:55

㈠ 51单片机一般有哪些常用的简单模块

内部有UART、TIMER,还有的51有WATCHDOG,SPI,AD。
外部常用控制模块有,LCD(如1602,12864等),7SegLED,IR,KEY,继电器等等。

㈡ 51单片机开发板和驱动模块怎么连接

+ 5V和GND是电源,通常称为正极和负极,可以连接到微控制器板板上DC-10插座中的电源接口(+ 5V连接到VCC,GND连接到GND),前提是没有从该下载端口向微控制器板供电。

IN0~IN4连接到微控制器上的任何IO端口,只要在编程期间设置IO,P0~P3中的任何四个IO都可以。当然,为了方便起见,通常并联在一起,例如P2_0至P2_3。驱动模块的驱动电源输入不应取自MCU板,而应使用其他电源为其供电。

(2)51单片机的电动驱动模块扩展阅读:

5V和GND分别是电源箱接地,驱动板上的5V可以与MCU相连,(当然,如果遇到麻烦,可以与MCU的5V相连),其为L298的L298提供逻辑电源。驱动板必须将GND连接到微控制器的GND。

至于控制电动机的旋转方向的IN1,IN2,IN3和IN4,一般来说,IN2和IN1控制电动机。 IN3和IN4控制电动机。例如,如果IN1和IN2分别为0和1,则向左转,反之亦然。当IN1和IN2都为高或低时,单击以停止。 IN3和IN4也是如此。黄色的跳线帽是输入PWM,用于控制电动机速度。

㈢ 51单片机开发板和驱动模块怎么连接

我记得我回答过这个问题的,怎么又出现了。+5V和GND是电源,接到5V电源的正负极就可以了,IN1~IN4是控制IO,接到单片机的任意四个IO就可以了,比如P20到P23。

㈣ 51单片机怎么驱动直流电机c语言

51单片机驱动直流电机程序(用的是l298n芯片):

#include<reg51.h>

#include<math.h>

#defineuintunsignedint

#defineucharunsignedchar

#defineN100

sbits1=P1^0;//电机驱动口

sbits2=P1^1;//电机驱动口

sbits3=P1^2;//电机驱动口

sbits4=P1^3;//电机驱动口

sbiten1=P1^4;//电机使能端

sbiten2=P1^5;//电机使能端

sbitLSEN=P2^0;//光电对管最左

sbitLSEN1=P2^1;//光电对管左1

sbitLSEN2=P2^2;//光电对管左2

sbitRSEN1=P2^3;//光电对管右1

sbitRSEN2=P2^4;//光电对管右2

sbitRSEN=P2^5;//光电对管最右

uintpwm1=0,pwm2=0,t=0;

voiddelay(uintxms)

{

uinta;

while(--xms)

{

for(a=123;a>0;a--);

}

}

voidmotor(ucharspeed1,ucharspeed2)

{

if(speed1>=-100&&speed1<=100)

{

pwm1=abs(speed1);

if(speed1>0)

{

s1=1;

s2=0;

}

if(speed1==0)

{

s1=1;

s2=1;

}

if(speed1<0)

{

s1=0;

s2=1;

}

}

if(speed2>=-100&&speed2<=100)

{

pwm2=abs(speed2);

if(speed2>0)

{

s3=1;

s4=0;

}

if(speed2==0)

{

s3=1;

s4=1;

}

if(speed2<0)

{

s3=0;

s4=1;

}

}

}

voidgo_forward(uintspeed)

{

s1=1;

s2=0;

s3=1;

s4=0;

pwm1=speed;

pwm2=speed;

}

voidgo_back(uintspeed)

{

s1=0;

s2=1;

s3=0;

s4=1;

pwm1=speed;

pwm2=speed;

}

voidstop()

{

s1=1;

s2=1;

s3=1;

s4=1;

pwm1=0;

pwm2=0;

}

voidturn_right(uintP1,uintP2)//右转函数

{

s1=1;

s2=0;

s3=0;

s4=1;

pwm1=P1;

pwm2=P2;

}

voidturn_left(uintP1,uintP2)//左转函数

{

s1=0;

s2=1;

s3=1;

s4=0;

pwm1=P1;

pwm2=P2;

}

voidtracking()

{

if((LSEN1==0)&&(LSEN2==0)&&(RSEN1==0)&&(RSEN2==0))//没有检测到

{

go_forward(100);

}

if((LSEN1==1)&&(LSEN2==0)&&(RSEN1==0)&&(RSEN2==0))//左一检测到

{

turn_left(40,80);//左转右轮》左轮

delay(N);

}

if((LSEN1==0)&&(LSEN2==1)&&(RSEN1==0)&&(RSEN2==0))//左二检测到

{

turn_left(40,60);//左转右轮》左轮

delay(N);

}

if((LSEN1==0)&&(LSEN2==0)&&(RSEN1==1)&&(RSEN2==0))//右一检测到

{

turn_right(60,4);//右转左轮》右轮

delay(N);

}

if((LSEN1==0)&&(LSEN2==0)&&(RSEN1==0)&&(RSEN2==1))//右二检测到

{

turn_right(80,40);//右转左轮》右轮

delay(N);

}

if((LSEN1==1)&&(LSEN2==1))

{

turn_left(0,100);

delay(1000);

}

if((RSEN1==1)&&(RSEN2==1))

{

turn_right(100,0);

delay(1000);

}

}

voidavoidance()

{

}

voidinit()

{

TMOD=0x02;//timer0同时配置为模式2,8自动重装计数模式

TH0=156;//定时器初值设置100us中断

TL0=156;

ET0=1;

EA=1;

TR0=1;//开启总中断

}

voidmain()

{

init();

while(1)

{

tracking();

}

}

voidtimer0()interrupt1//电机驱动提供PWM信号

{

if(t<pwm1)

en1=1;

else

en1=0;

if(t<pwm2)

en2=1;

else

en2=0;

t++;

if(t>100)

t=0;

}

(4)51单片机的电动驱动模块扩展阅读

L298N是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。一般情况下,功率部分的电压应大于6V否则芯片可能不能正常工作。

㈤ 51单片机电源模块如何实现稳定可靠的供电

前端供电端电压稳定且功率足够,电源模块所带的负载合理,并带有相应的滤波电路、短路保护、反接保护等。

阅读全文

与51单片机的电动驱动模块相关的资料

热点内容
怎么样分解压缩包图标 浏览:619
php两年工作经验简历 浏览:763
怎么提前解压房贷 浏览:698
反诈宣传app哪里可以拿到用户资料 浏览:855
华为交换机命令配置 浏览:11
电机pid算法实例c语言 浏览:972
安装ue5未找到金属编译器 浏览:963
l1压缩性骨折微创手术 浏览:615
看电脑配置命令 浏览:108
单片机调用db数值偏移量 浏览:446
奔驰smart车型压缩机功率 浏览:527
服务器预留地址获取 浏览:1004
云库文件夹怎么设置 浏览:295
文件夹目录制作自动跳转 浏览:454
在哪个音乐app能听exo的歌 浏览:849
pdf超级加密 浏览:49
苹果手机app安装包怎么解压并安装 浏览:907
中原30系统源码 浏览:187
程序员如何遵纪守法 浏览:501
java的webxml配置 浏览:964