首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

关于直流电机的驱动?该如何解决

2012-12-23 
关于直流电机的驱动?有谁有小直流电机驱动电路图和程序??[最优解释]给你个网址,上面有详细的电路驱动设计,

关于直流电机的驱动?
有谁有小直流电机驱动电路图和程序??
[最优解释]
给你个网址,上面有详细的电路驱动设计,http://wenku.baidu.com/view/07c6a5f8941ea76e58fa043a.html
至于驱动程序
我这有一个自己编的51单片机的驱动程序 PWM(脉宽调制)驱动方式
其中P1口输入N值,即控制平均速度的N值,可以接入八个开关,通过开关来设置高低电平。从而设置出N值

汇编如下
        MOV P1,#0FFH   ;P1口为输入口 
CONT : SETB P3.4      ;为电动机 供电
       MOV R3,P1      ;读入N值
LOOP:  ACALL DELAY
       DJNZ R3,LOOP   ;N个单位延时
       CLR P3.4       ;电动机 断电
;下面三行是求前面输入的脉冲宽度的补
       CPL A
       MOV A,P1
       INC A 

       MOV R3,A       ;将N补赋给R3
LOOP1:ACALL DELAY
       DJNZ R3,LOOP1  ;N补 个单位延时
       AJMP CONT
;延迟程序 其中M 和M1是你设置的延迟时间数值 具体数值你自己设置
DELAY: MOV R5,#M
LOOP2: MOV A,#M1
LOOP3: DEC A
       JNZ LOOP3
       DJNZ R5,LOOP2
       RET
 C语言程序如下:
#include<reg51.h>
 sbit P3_4=P3^4;
 void delay();
void main()
{
 int a;
 P1=0xff;
 P3_4=1;
 a=P1;
 while(a!=0)
{
 delay();
 a--;

}
P3_4=0;
a=~P1;
while(a!=0)
{
delay();
a--;

}

}
void delay()
{int i,j;
for(i=0;i<M;i++)   //这里的M值,M1由你自己根据具体情况设定
{
for(j=0;j<M1;j++)  

}
}

}
[其他解释]
4个三极管或者6个三极管,推荐用6个三极管,2两个PNP,4个NPN,并用其中的两个NPN来驱动PNP,构成一个H桥电路
[其他解释]
用h桥驱动,时隔三极管就ok了,注意三极管的ce之间电流不要超过额定参数,网上多的是
[其他解释]
最简单的单向控制为只用一个MOS管。
[其他解释]
可以用控制小电流推动三极管再用三极管推动继电器就可以了
[其他解释]
baidu
[其他解释]
用三极管搭就可以了
[其他解释]
学习!
[其他解释]
很感谢你们的热情帮助!!!小弟学习了。谢谢!!!
[其他解释]
布置的课程设计有这道题,收获了!!!

热点排行