直流电机多键控制可以实现正转反转,不同速度的转_直流电机的正反转控制

其他范文 时间:2020-02-27 17:10:00 收藏本文下载本文
【www.daodoc.com - 其他范文】

直流电机多键控制可以实现正转反转,不同速度的转由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“直流电机的正反转控制”。

单片机课程设计报告

直流电机控制

一、电源电路:

电源用5V电池供电,转换电路由四个二极管组成,这个设计是为了防止电源正负极接反造成电路烧坏。

二、最小系统:

三、直流电机驱动原理图:

利用PWM功率驱动电路来驱动直流电机,只要ZDJ_A的电压比ZDJ_B的电压高,电机正转。如果ZDJ_BD的电压比ZDJ_A的电压高,电机反转。

四、系统整体原理图:

五、问题及解决方法:

问题:在运行程序的时候出现错误不能生成HEX文件?

解决方法:检查程序发现少了一个“}”,加上就可以生成HEX文件了。

问题:运行程序的时候电机不转动?

解决方法:单片机的管脚的连线和程序中的不同,改变连线就可以转动了。

六、程序流程图:

七、实验心得体会:

通过软件的设计及运行,实验达到了预期的效果,实现了直流电机正转、反转、加速和减速。这次设计让我对直流电机有了进一步的了解、在设计电路的过程中,培养了我的设计思维,增强了自己的实际操作能力,也让我认识到理论与实践有一定的差距,在以后的学习过程中,我会更加注重理论与实践结合起来,让自己不断的进步。最后,对张老师表示衷心的感谢,老师,您辛苦了。

八、实验程序:

#include #include #include #define uint unsigned int #define uchar unsigned char sbit k0 = P2^0;sbit k1 = P2^1;sbit k2 = P2^2;sbit k3 = P2^3;sbit k4 = P2^4;sbit k5 = P2^5;sbit k6 = P2^6;sbit k7 = P2^7;sbit C1 = P1^0;sbit C2 = P1^1;delay(uint ims);//延时函数 void main(){ while(1){ if(k6 == 1){

//一种最快的占空比

if(k7 ==1)

{ delay(20);

C1 = 1;

delay(30);

C1 = 0;delay(1)

C2 = 0;

}

else

{

delay(20);

C2 = 1;

delay(30);

C2 = 0;

delay(1);

C1 = 0;

}

}

if(k5 == 1){

//一种第二快的占空比

if(k7 ==1)

{ delay(20);

C1 = 1;

delay(20);

C1 = 0;

delay(1);

C2 = 0;

}

else

{

delay(20);

C2 = 1;

delay(20);

C2 = 0;

delay(1);

C1 = 0;

} }

if(k4 == 1){

//一种第三快的占空比

if(k7 ==1)

{ delay(20);

C1 = 1;

delay(10);

C1 = 0;

delay(1);

C2 = 0;

}

else

{

delay(20);

C2 = 1;

delay(10);C2 = 0;

delay(1);

C1 = 0;

} }

if(k3 == 1){

//一种第四快的占空比

if(k7 ==1)

{ delay(20);

C1 = 1;

delay(6);

C1 = 0;

delay(12);

C2 = 0;

}

else

{

delay(20);

C2 = 1;

delay(6);

C2 = 0;

delay(12);

C1 = 0;

} }

if(k2 == 1){

//一种第五快的占空比

if(k7 ==1)

} { delay(20);C1 = 1;delay(6);C1 = 0;delay(18);C2 = 0;} else { delay(20);C2 = 1;delay(6);C2 = 0;

delay(18);C1 = 0;} if(k1 == 1){ //一种第6快的占空比

if(k7 ==1){ delay(20);

C1 = 1;

delay(6);

C1 = 0;

delay(24);

C2 = 0;} else { delay(20);

C2 = 1;

delay(6);

C2 = 0;

delay(24);

C1 = 0;} } if(k0 == 1){ //一种最慢的占空比

if(k7 ==1){ delay(20);

C1 = 1;

delay(6);

C1 = 0;

delay(30);

C2 = 0;

}

else

{

delay(20);

C2 = 1;

delay(6);

C2 = 0;

delay(30);

C1 = 0;

} } if((k6==0&&k5==0&&k4==0&&k3==0&&k2==0&&k1==0&&k0==0)==1){

//电机停转

C1 = 0;

C2 = 0;} } }

delay(uint ims){ int i;for(i = 0;i

下载直流电机多键控制可以实现正转反转,不同速度的转word格式文档
下载直流电机多键控制可以实现正转反转,不同速度的转.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文