这一节我们主要是讲电机相关的内容,我们先了解不用pwm来控制电机,而是只是使用GPIO来GPIO来控制电机的正反转和停止,但是只是使用电机驱动不起来电机,因为我们的GPIO输出的功率驱动不了电机,所以我们还是需要一个驱动电路或芯片来驱动电机,本节我们就使用GPIO来控制电机驱动芯片来控制电机转动几秒之后停止。
硬件:
本节使用的驱动芯片是ULN2003,不仅可以用来驱动我们的直流电机,还可用来驱动五线四向步进电机。关于直流电机,直流电机就是将电能转化为机械能(直流电动机)或者将机械能转化为电能的装置(直流发电机)。直流电机由两部分组成,分别是定子和转子,定子的主要作用是产生磁场,由机座、电磁极、换向极、端盖、轴承、和电刷等装置组成。运行时转动的装置称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行转换的枢纽,所以通常又称为电枢,由转轴,电枢铁心、电枢绕组,换向器和风扇组成。
关于ULN2003芯片的内部原理图大致如上所示,我们更重要的其实只需要了解它的使用,其实它的内部就是一个逻辑非,输入低输出高,输入高输出低,只是电流或者电压的级别发生了变化,关于ULN2003的接口如下所示(其实大多电流或者电压驱动芯片都是大致的内容,就是为了放大电流或者电压,我们只需要用我们的控制器能够控制高低,其他的其实基本都不用管)。
这个芯片一共有7个输入,当然也就有7个输出,我们使用其中其中一个来输入,一个输出就可以把电机驱动起来了。
软件:
#include "reg52.h"
sbit mtoa = P1^0;
void delay(int n){
while(n--);
}
void main(){
mtoa = 1;
delay(10000);
mtoa = 0;
while(1){
}
}