车速的控制 车速调节的方法有两种:一是用步进电机代替小车上原有的直流电机; 二是在原有直流电机的基础上, 采用pwm调速法进行调速。考虑到机械装置不便于修改等因素,这里选择后者,利用单片机输岀端输岀高 宽及其占空比的大小来控制电机的转速,从而控制小车的速度。经过多次试验,最终确定合适的脉宽和占空比,基本 能保证小车在所需要的速度范围内帄稳前行。 电机驱动单元 从单片机输岀的信号功率很弱,即使在没有其它外在负载时也无法带动电机,所以在实际电路中我们 加入了电机 驱动芯片提高输入电机信号的功率,从而能够根据需要控制电机转动。根据驱动功率大小以及 连接电路的简化要求选 L298N,其外形、管脚分布如图5 所示。 L298N管脚分布图 从图中可以知道,一块 L298N 芯片能够驱动两个电机转动,它的使能端可以外接高低电帄,也可以利 用单片机 进行软件控制,极大地满足各种复杂电路需要。另外, L298N 的驱动功率较大,能够根据输入电 压的大小输出不同 的电压和功率,解决了负载能力不够这个问题。 结语 此方案选择的器件比较简单,实际中也很容易实现。经过多次测试,结果表明在一定的弧度范围内,小车 够沿着黑线轨迹行进,达到了预期目标。不足之处,由于小车采用直流电机,其速度控制不够精确和稳定,不能实现 急转和大弧度的拐弯。 程序 #include #define uchar unsigned char #define ui nt unsi gned int uchar pro_left,pro_right,i,j; 左右占空比标志sbi P2P;sbi right2=P2A3;sbi en1=P1A0;sbi en2=P1A1;//循迹口 三个红外传感器 sbi 白线位置sbi mid_red=P1A3; 黑线位置sbi 白线位置voi while(z--) {for(i=0;i