51四轮五路红外寻迹小车

       要求:把基础的C语言过关,学习一下硬件的原理(电机的控制,循迹模块怎么使用),PWM调速。

#实验器材:

51单片机(最小系统板),

两个L298N驱动模块(分别驱动两个直流电机),

5个红外循迹模块,

小车底盘带电机,

降压模块(用于12V转5V),

12V锂电池,

杜邦线,排针(我的接口不够就引出了VCC和GND)

下面说一下硬件的接法:

L298N

四轮循迹小车要用两个驱动模块,前两个轮共用一个,后两个共用一个,具体的连线装车教程可以参考一下b站up主“ANME俱乐部“的组装视频。

若要对直流电机进行pwm调速,需拔掉使能通道A,B的盖帽,然后对使能端输出pwm脉冲,即可实现调速,当使能信号为0时,电机处于停止不转状态,也就是接上电源后也不转;当使能信号为1,IN接口为1时电机转动。

红外循迹模块

降压(稳压)模块

由于我用的是12V的锂电池,所以用了个降压模块降成了5V来给单片机单独供电

调速

在并没有了解过PWM的情况下,怎么调速呢?

        当时我有一同学用stm32做的小车,用延时就实现了小车的调速,完成了地图上复杂的循迹。我用实践证明,用延时确实是可行的。

        后来学了PWM,试着用PWM调速

PWM,就是通过改变高低电平的占空比实现,

void Timer0_Init()	
{ 
	TMOD|=0x01;  		//way0
	TH0=(65536-50)/256;  
	TL0=(65536-50)%256;  
	ET0=1; 				//开启定时器0中断
	TR0=1;				//启动定时器
	EA=1;				//开启总中断
}

void Timer0Init() interrupt 1 
{ 
	TH0=(65536-100)/256;  
	TL0=(65536-100)%256;
	t++;  
	if(t<pwmA)     { zuoqian=0;zuohou=1;}     
	else           { zuoqian=1;zuohou=0;}
	 
	if(t<pwmB)	   {youqian=0;youhou=1;} 
	else		       {youqian=1;youhou=0;} 

	if(t>=100)	 
	{t=0;}  
}

未完

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

去看唐老鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值