单片机直流电机驱动电路

核心提示电机电流小于1A用8050和8550搭H桥是最便宜的方案,电路也非常简单,电流小于3A可以使用l298N(l298N的原理图我这没有,你自己百度搜把),电流小于43A可以使用BTS7960(这个芯片我用过,主要用于大电流直流电机驱动,挺贵的

电机电流小于1A用8050和8550搭H桥是最便宜的方案,电路也非常简单,

电流小于3A可以使用l298N(l298N的原理图我这没有,你自己百度搜把),电流小于43A可以使用BTS7960(这个芯片我用过,主要用于大电流直流电机驱动,挺贵的但是性能很好,学生不建议使用)

,这三种方案元件价格是由低到高的,具体哪个你自己考虑,调速都是使用PWM,

还有就是可以使用MOS管搭H桥也可

单片机PWM驱动电路

//单片机中LED显示电路用三极管驱动电路四个数码管。可以参考一下

#include<reg52.h>

sbit led0=P3^2;

sbit led1=P3^3;

sbit led2=P3^4;

sbit led3=P3^5;

sbit ledd=P3^7;

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

unsigned char g,s,b,d,a;

unsigned ?int num;

void delay(unsigned char x)

{

unsigned char i,j;

for(i=x;i>0;i--)

for(j=110;j>0;j--);

}?

void display()

{

P1=table[d];

led3=0;

delay(5);

led3=1;

P1=table[b];

led2=0;

delay(5);

led2=1;

P1=table[s];

led1=0;

delay(5);

led1=1;

P1=table[g];

led0=0;

delay(5);

led0=1;

}

void ont()

{

num=0;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

}

void main()

{

ont();

while(1)

{

if(a==20)

{

a=0;

ledd=~ledd;

num++;

d=num/1000;

b=num%1000/100;

s=num%100/10;

g=num%10;

}

display();

if(num==10000)

{

num=0;

}

} }

void time_0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

a++;

}

其中DC-IN 为 20V DC-OUT 为根据需要输出电压,可能为5V,可能为12V。 VCC为5V。PWM为单片机输出信号。DC-OUT输出电流最大为2A(其中2图中8050仅1.5A,是否有合适的三极管推荐)

 
友情链接
鄂ICP备19019357号-22