手把手教你打造智能小车(3)-小车跑起来 如何让小车动起来?

手把手教你打造智能小车(3)-小车跑起来 如何让小车动起来?_58汽车

本文介绍了如何使用树莓派和L298N电机驱动板来控制小车的直流电机,包括电机的安装、L298N模块的接线以及通过Python编写代码控制电机正反转和速度调节。通过编写web程序,实现了通过网络发送指令来控制小车的行驶方向,为智能小车制作提供了基础步骤和详细教程。

下面这些配件是制作小车需要的东西,直接到网上购买,某宝上都有,就不给链接了,免得有做广告的嫌疑。

有这些就可以打造可以进行方向控制的小车了,至于功能升级要用到的传感器,在后面的教程里会具体再说。

有关树莓派的准备工作已经做好了,下面正式开始小车的制作。首先把小车车架拼好,买来的车架包括4个直流电机、4个轮胎、一个电池盒、各种螺丝以及接线等等。如下图。

车架一般是配有有说明书的,组装车架本身也并不复杂,用固定片把各个电机固定好就基本OK了,需要注意的是马达朝向、螺丝朝向等小细节,有时候朝向不对会卡住轮子,或者不方便后续的绕线等操作。下图是电机安装图。

图中的接线,红色代表正极,黑色代表负极。之后连接L298n电机驱动板的时候是要这样对接的。所以同一侧的电机,正负极应该是相对的。不过装错了也问题不大,后期跑起来的时候,感觉方向不对可以拆了重装。所以这一次,我们没有必要把所有螺丝都拧上,免得拆起来麻烦。

树莓派一般使用L298n模块来驱动电机。L298N的实物图如下。

这个模块要与树莓派和直流电机相连,并且由一个独立的12V左右的电源供电。

引脚的接法如下。

12vpower:接7~12v直流电源。接树莓派GPIO口输出的5v是不能带动的,而且对树莓派来说也并不安全。所以推荐独立的电源。上文提到4节干电池或者3节18650锂电池都可以。

PowerGND:接地口。接树莓派的任何一个GND口都可以。

5vpower:这个需要接树莓派GPIO口的5v输出接口。

AEnable:接GPIO口。电机A使能和PWM调速。

LogicInput:接4个GPIO口。上面两个脚Input1、Input2(靠近AEnable)控制电机A;下面两个脚Input3、Input4(靠近BEnable)控制电机B。

BEnable:接GPIO口。电机B使能和PWM调速。

OutputA:接电机A。

OutputB:接电机B。

总结一下就是AEnable、Input1、Input2控制电机A的运行,BEnable、Input3、Input4控制电机B的运行。

A电机是指左边的电机,B电机是指右边的电机。这里我们一边同时接两个电机。

如何控制的呢?下面是对电机A进行控制的真值表。

直流电机旋转方式IN1IN2IN3IN4使能端A使能端BM1正转高低—-高–反转低高—-高–停止低低—-高–M2正转—-高低–高反转—-低高–高停止—-低低–高

按照真值表的指示,给各个接口施加相应的高低电平,电机就可以工作了。

树莓派和L298n以及马达接线连接起来之后,我们就应该来试试如何用树莓派通过Python来控制这个马达的转动。

树莓派的33、11、12脚分别连到AEnable、IN1、IN2(把短接帽拿掉)。

由控制表可知给33脚高电平,11脚高电平,12脚低电平,电机就会正转。

新建motorStart.py文件,写入代码:

代码写完之后我们保存退出,接着执行一下观看马达有没有转动。

刚刚说过,AEnable是用来控制A电机的行驶速度的,那么该如何实现了。实现方式就是之前说过的PWM。使用PWM控制AEnable端的平均电压的高低,较高的电压使车速增加,较低的电压使车速减小。而控制平均输出的电压的高低就是占空比。在carCtrl.py文件中加入如下代码

我们发现,电机的行驶速度减慢了。如果电机没有减速,而是直接停下了,那么有可能是电源电压太低了,请使用12V及以上的电源。

我们已经让马达转起来了。那么,接下来只要写t_up(),t_down(),t_left(),t_right()四个函数,就可以控制小车的行驶方向了。但是,我们在玩的时候,总不能每次都使用命令行来控制小车吧,其实,我们可以通过编写web程序使用网络来发送控制指令。

我们使用Python中的Flask框架来搭建web程序。首先需要安装Flask框架,运行如下代码

请注意,我这里使用的Python3,在此之前,你需要运行先安装Python3,树莓派默认的是Python2。

然后就是搭建一个前端界面,并且把控制小车方向的代码写入其中,具体就不说了,直接看我在Github上的代码就好了。

运行时,打开命令行,切换到myPiCar目录,执行

可以看到自动跳出来一个网页,里面就是我们操作小车的界面。

应各位网友要求,放上完整代码地址GitHub

系列目录:

《手把手教你打造智能小车(0)-写在前面的话》

《手把手教你打造智能小车(1)-树莓派及其使用配置》

《手把手教你打造智能小车(2)-点亮LED灯》

《手把手教你打造智能小车(3)-小车跑起来》

《手把手教你打造智能小车(4)-使用传感器自动避障》

《手把手教你打造智能小车(5)-使用舵机打造摄像机云台》

以上内容由58汽车提供。如有任何买车、用车、养车、玩车相关问题,欢迎在下方表单填写您的信息,我们将第一时间与您联系,为您提供快捷、实用、全面的解决方案。

原创文章,作者:58汽车,如若转载,请注明出处:https://car.58.com/7013701/