请教,关于单片机控制电机正反转的问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 03:11:12
请教一下各位,我想做的是:单片机80C51根据一个输入端(假如为P1.0)和电机的前状态来控制电机的正反转。
我目前的设计是,利用单片机的P2.0、P2.1端口分别驱动两个继电器控制电机的正反转运行。
当P2.0为1、P2.1为0时,三极管Q1饱和导通,继电器K1线圈得电吸合,常开开关闭合与+12V相连,三极管Q2截止,继电器K2线圈失电释放,常闭开关闭合与地相连,这样电机上端接+12V、下端接地而正转;
当P2.0和P2.1均为0时,两个继电器线圈均失电释放,电机上下两端均接地而停止转动;
当P2.0为0、P2.1为1时,继电器K1失电释放,K2线圈得电吸合,电机上端接地,下端接+12V而反转。
还有一个状态显示端口,P2。2接LED。当P2。0为高时电机正转后P2。2就高电平,LED点亮,若P2。1为高时电机反转后,P2。2就置低电平,LED就熄灭。
但是,如果我想在P2。0和P2。1后加一高电平和开关以实现单片机不工作时的手动控制电机正反转的功能,若是这样,单片机就无法实现根据前状态来控制电机的正反转了。
所以请问各位,若要同时实现手动和单片机控制两种功能,要如何改进电路或是在程序上要如何设计呢?谢谢!

可以利用H型PWM电路来驱动电机,具体的PWM波形由单片机软件编程实现,主要是利用到了单片机的定时器,软件产生定时中断,通过定时时间的不同来产生不同占空比的PWM波形,然后通过H型电路驱动,不同的电平输出可以使H型的晶体管导通情况不同,以此来改变电流的方向,从而来控制电机的转向。这个单片机软件最好用C语言来写,还是比较简洁的。。。

手动时,利用单片机的输入口P1.1。
在单片机P1.1为0时,实现由单片机控制正反转,
在单片机P1.1为1时,将P2.0和P2.1置低,实现手动控制正反转。

有现成的DJ803集成电路,可以实现你的愿望。

L298N电机驱动IC 能实现调速和正反转控制

在线路中可以利用 继电器 互锁 实现
详情 可以学习一下 电气控制