智能小车驱动

本文所用到的电机就是淘宝很常见的TT直流减速电机,对于这种电机做一般的课设是够了,需要好的性能可以去买那种金属的更好的电机。

电机驱动选用L298N驱动模块,此模块也是用得比较多的驱动模块,淘宝大概9元多一点一个。

那我们的代码是直接控制电机驱动IO口的。假如电机驱动分别是A0A1B0B1四个口子可以驱动两个电机,那么out口也是对应的,可以连接到电机的两个端子口。

代码中是两轮驱动的代码:有比较详细的注解可以看看。我会再更新PWM控制电机

/****************************************************************************
硬件连接
P1_6 接驱动模块ENA 使能端,输入PWM信号调节速度
         P1_7 接驱动模块ENB 使能端,输入PWM信号调节速度


         P3_4 接IN1
         P3_5 接IN2            
         P3_6 接IN3
         P3_7 接IN4
 
关于单片机电源:驱动模块内带稳压芯片,当电池输入最低的电压7V时候可以输出稳定的5V
分别在针脚标+5 与GND 。这个电源可以作为单片机系统的供电电源。
****************************************************************************/


#include<AT89x51.H>


#define Left_moto_go      {P0_0=0,P0_1=1;} //P3_4 P3_5 接IN1  IN2        当 P3_4=0,P3_5=1; 时左电机前进
#define Left_moto_back    {P0_0=1,P0_1=0;} //P3_4 P3_5 接IN1  IN2        当 P3_4=1,P3_5=0; 时左电机后退                
#define Right_moto_go     {P0_2=0,P0_3=1;} //P3_6 P3_7 接IN1  IN2当 P3_6=0,P3_7=1; 时右电机前转
#define Right_moto_back   {P0_2=1,P0_3=0;} //P3_6 P3_7 接IN1  IN2当 P3_6=1,P3_7=0; 时右电机后退

      void main(void)
      {
while(1) /*无限循环*/
{
Left_moto_go; 
Right_moto_go; 
}

}


完整的PWM可调速循迹资源地址:http://download.csdn.net/download/weixin_40342500/10251732

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值