我想用单片机控制马达,来实现马达的转动,有没有单片机的高手来帮忙我下!非常感谢!

我对单片机不怎么了解,只是刚刚入门,,我想问下能不能先教我怎么控制那个马达就行,因为我想做一个制作,比较纯硬件类的,但像靠单片机来控制下马达,让它稍微有点智能化。

我只取单片机中的小马达老帮我实现!

有没有高手能帮我下,说的明白点,因为毕竟我只是初学者,我知道咱们百度里面有很多单片机高手的!!!

非常感谢!!!
还有我的单片机是AT89C51的。

直流电机正反转

6.1子情境内容:用单片机AT89C51控制直流电机正反转。在此将由89C51的P2.0,P2.1通过晶体管控制继电器,当P2.0输出低电平,P2.1输出高电平时,三极管Q1导通,而三极管Q2截止,从而导致与Q1相连的继电器吸合,电机因两端产生电压而转动。由P3.0,P3.1,P3.2控制电机的正传、反转和停止。

6.2 子情境目标:

(1)掌握趋动电机正反转的电路

(2)用PROTEUS实现电机正反转电路的设计,并进行实时交互仿真

6.3 知识点链接

二极管保护电路:

在图5-33中,在两个继电器的两端都反相接了一个二极管,这个二极管非常重要,当使用电磁继电器时必须接。原因如下:线圈通电正常工作时,二极管对电路不起作用。当继电器线圈在断电的一瞬间会产生一个很强的反向电动势,在继电器线圈两端反相并联二极管就是用来消耗这个反向电动势的,通常这个二极管叫做消耗二极管,如果不加这个消耗二极管,反向电动势就会直接作用在趋动三极管上,很容易将三极管烧毁。

6.4 任务步骤

6.4.1 步骤一:PROTEUS电路设计,实现用单片机AT89C51控制直流电机正反转原理图如图5-33所示。

 

图5-33直流电机正反转原理图

1、选取元器件

①单片机:AT89C51

②电阻:RES*

③直流电机:MOTOR

④按钮:BUTTON

⑤三极管:NPN*

⑥继电器:RELAY*

     ⑦二极管:DIODE*

2、放置元器件、放置电源和地、连线、元器件属性设置

直流电机正反转的原理图如图5-33所示,整个电路设计操作都在ISIS平台中进行。与子情景3相似,故不详述。

(1)关于元器件属性的设置在此实例中需要特别注意:

①三极管基极的限流电阻更改为1K欧姆

②双击电机图标,弹出如图5-34所示的电机属性对话框,在Nominal Voltage一栏中将默认值更改为5v

④ 双击继电器图标,在弹出的如图5-35所示的继电器属性对话框中,在Component Value一栏中将默认值更改为5 v

 

图5-34更改电机属性

 

图5-35更改继电器属性

6.4.2 步骤二:源程序设计与目标代码文件生成

(1)程序流程图

 

图5-36 电机正反转流程图

(2)源程序设计

#include<reg51.h>       

sbit p20=P2^0;            //P2^0的功能是控制三极管的导通和截止

sbit p21=P2^1;            //P2^1的功能是控制三极管的导通和截止

sbit p30=P3^0;            //声明直流电机的正传位置

sbit p31=P3^1;            //声明直流电机的反转位置

sbit p32=P3^2;            //声明直流电机的停止位置

void main()

{

while(1)               //无穷循环

{

if(p30==0)   //若按下p30

{

p20=1;   //P2^0控制的三极管截止

p21=0;   //P2^1控制的三极管导通,线圈吸合,两者共同控制电机正转

}

if(p31==0)//若按下p31

{

p20=0;//P2^0控制的三极管导通,线圈吸合

p21=1;//P2^1控制的三极管截止,两者共同控制电机反转

}

if(p32==0)//若按下p32

{

p20=1;//P2^0控制的三极管截止

p21=1;//P2^1控制的三极管截止,两者共同控制电机停转

}

}                                          

}

追问

还有想说如果可能的话那个单片机开发箱里面的遥控也能用上,我不知道他是干啥用哈!

谢谢谢谢!

追答

他是用来接收的还是发送的,说具体点。想做遥控汽车吗?

追问

不是的,是想做传送带上的马达。

追答

实际的传送的吗?要用遥控啊?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-18
这个很简单,做一个遥控器,芯片可以选AT89C2051,再做一个接收控制器,通过遥控器控制控制器上的马达。原理在这里没法给你说清楚啊。遥控部分可以用红外来做,你去了解一下红外编码吧,单片机控制马达的启停以及转速可以由单片机控制可控硅的导通角来改变输出的电压,以控制马达的转速。有问题再问我。追问

敢问阁下QQ

追答

964405035

本回答被提问者采纳
第2个回答  2011-05-18
可以采用电机驱动芯片L298n 后,你用单片机和L298n的ena,enb和单片机相连,通过控制ena和enb的占空比可以控制电机的转速。
相似回答