3.小车前进后退左右综合实验

您当前位置: 首页 > G1-树莓派履带坦克 > 编程语言视频教学

小车前后左右综合实验

3.小车前后左右综合实验.zip  点击下载

实验三:树莓派平台-------小车前进后退左右综合实验 

1、实验前准备

image.png 

 

                 1-1 树莓派主控板

 

image.png 

1-2  2个直流减速电机


2、实验目的

 ssh服务登录树莓派系统之后,编译运行小车前进后退左右实验后,先延时2s,前进1s,后退1s,左转2s,右转2s,原地左转3s,原地右转3s,停止0.5s,并且一直循环下去。

 

3、实验原理

对于2路直流减速电机的控制我们采用的是TB6612FNG驱动芯片来驱动电机。通过控制驱动芯片的AIN1,AIN2,BIN1,BIN2,PWMA,PWMB的电平高低来控制电机的正转,反转,停止。本次实验主要是控制AIN1,AIN2,BIN1,BIN2的电平状态,进而通过控制PWMA,PWMB在0-255之间控制小车的速度。一路PWM控制小车一侧电机的速度。

对于履带机器人的转动如下方法:

1)德国式逆向传动

image.png 

两边的传动轮反转,履带车辆围绕中心点进行转动。

优点:

1、可以围绕中心原地打转

2、对履带损耗较小

3、对成员舒适度高

缺点:

机械设计复杂

现在这种方法已经很少使用。

 

2)目前各国主流的单向转向法:

image.png 

锁死一条履带,另一条履带转动来转弯

优点:设计简洁,机械复杂度低。

缺点:不能原地转向,只能围绕锁死的履带中心转弯

 

在实践中,往往并不锁死一边履带,而是通过调节两个履带的速度来转弯:

image.png 

靠内侧的履带速度慢,靠外侧的履带速度快,以此实现转弯。

相对于锁死一边履带的方式,这样的转弯半径稍大。

4、实验步骤

4-1.看懂原理图

image.png 

 4-1 树莓派主控板电路图

image.png 

 

4-2 电机驱动芯片TB6612FNG

image.png 

4-3 树莓派40PIN引脚对照表

4-2 由电路原理图可知AIN1,AIN2,PWMA,BIN1,BIN2,PWMB分别接在树莓派主控板上的40,38,36,37,35,33物理引脚上。

AIN1-----40----29(wiringPi编码)

AIN2-----38----28(wiringPi编码)

PWMA-----36----27(wiringPi编码)

BIN1-----37----25(wiringPi编码)

BIN2-----35----24(wiringPi编码)

PWMB-----33----23(wiringPi编码)

image.png 

4-4 引脚控制逻辑表

4-3 程序代码如下:

注:因为树莓派的40pin均可作为普通的GPIO口来使用,想用到PWM,则需要用到wiringPi中的软件PWM库。可以在任意的树莓派GPIO上输出PWM信号。使用前需包含相应的头文件:

#include <wiringPi.h>

#include <softPwm.h>

当编译程序时,必须加上pthread库,如下:

具体详情见树莓派软件与文档文件夹中的wiringPi用户手册! 

代码见源文件。

输入:

gcc CarRun.c -o CarRun -lwiringPi -lpthread

./CarRun

image.png 

运行完毕后初始化所有IO

./initpin.sh初始化引脚。