51 单片机的直流电机驱动如下图所示为 L298N 焊接的供电板子,怎么用呢
首先,介绍下上面的接口部分,一共五个部分
第一部分: L298N 芯片
这就 不用多说了,百度文库上有很多关于这个芯片的资料,我就不多说了
第二部分: A1 、A2、 B1、 B2 四个接口分别用来连接直流电动机或者是步进电机
A1 和 A2 是一组,驱动一个电机
B1 和 B2 一组驱动另一个电机
第三部分: VDD 接口,可以接一个六节 1
5V 的五号电池的正极
(右边那个 GND 是共地端,要将你用的开发板的 GND 和这个仪器接上,同时也是电源的共地接口)第四部分: 节四节 1
5V 五号电池的正极
负极接 GND
第五部分: 这里一共有六个接口:1
ENA 使能 A1、A2 的接口,也就是说假如 ENA 不接高电平,那么A1、A2 驱动的电机是不可能可以驱动的
2 ENB 同上
3A1、A2、B1、B2 你可以用你的开发板的四个 I\O 口接它们,它们的高低电平将直接影响到第二部分输出的高低电平(经过芯片的放大,这是的电压已经很高了,这就是作用)
假如你想驱动电机 A 运转,可以在 A1 上加高电平 A2上加低电平
这样电机就有了电势差,就可以云装了,调整电势差可以改变正传反转和加减速(PWM 来控制)
下面上源码,源码收集于网上,原著不详,现回馈大家
#include#define uchar unsigned char#define uint unsigned intsbit INPUT1 = P1^0; //控制口sbit INPUT2 = P1^1;sbit INPUT3 = P1^2;sbit INPUT4 = P1^3;sbit ENA = P1^4; //产生 PWM 波sbit ENB = P1^5;uint MA=0,MB=0;uint SpeedA