学习资源

技能竞赛

当前您的位置: 首页 > 学习资源 > 技能竞赛 > 正文

【智能车大赛】智能车教程——硬件篇

发布日期:2021-11-15 浏览量:

滴滴滴,智能车大赛快开始了!你的车能跑了吗?升压模块还好吗?STM32烧了吗......以上的都不是重点,快来听小编胡言乱语!

器件清单

图一智能车套件

 选取底板与直流电机,更具自己的需要可选取2颗电池的电磁仓或3颗,可多备M3、M2.5的螺丝与铜柱。

图二MG90舵机和定向轮

其实单靠两个电机也能完成转弯,加装舵机只是为了转向更迅速,加装舵机需要跟定向轮搭配使用,买智能车套件送的前轮是万向轮,定向轮需要另外购买。

图三STM32F103C8T6核心板

左边与右边都是STM32F103C8T6,两者区别就是右边有更多的扩展口,方便外接更多模块,如oled显示屏等模块。

图四STLinkV2下载器

图三与图四都是ST-Link,根据个人的喜好进行选择。

图五红外模块选择

红外模块分为两种:数字式红外(左边)和模拟式红外(右边)

数字式红外:只能输出1和0,红外发射二级管不断发射红外线,当发射出的红外线没有被反射回来,此时模块的输出端为高电平(有的为低电平);否则,则相反。

模拟式红外:一般有两个输出管脚:AO和DO,AO是输出模拟量的,模块根据红外线的反射强度输出0到VCC范围的电压值,DO跟数字式红外模块一样,输出1和0。本次案例红外模块是由数字式红外改装为模拟式红外,因为右边模块的红外发射管和接收管的摆放方向不符合小车运动过程中检测黑线

图六驱动模块

上图两块模块都是电机驱动模块L298N(左边)、TB6612(右边),经过测试TB6612的驱动能力更强。大家根据自己车的性能自行选择。

图七升降压模块

上图两兄弟长得有点相像,右上图为降压模块LM2596,左下角为升压模块XL6009。升压模块使用前记得先把滑动变阻器调到12V左右,不然太高电压会导致升压模块升压压力太大,从而无法正常工作(钱的味道)。降压模块负责将电源输入端降至5V和3.3V供至其他模块经行实现。(小提示:在电源的输入端接上电容可到达滤波的效果)

若需要具体模块信息点击下面链接查看:https://pan.baidu.com/s/1YsmC404JUHoE4SR0SP0Pgg 

提取码:T307

图八智能车整车展示

 智能车运动原理

上面写了这么长的一段是为了达到水这篇推文的长度,现在步入正题——智能车的运动原理,小车的运动无外乎分为前进、后退、左转、右转。是不是看起来很简单,一看就会,一学就废。

 前进直线行驶:两个电机同时正转,且两个电机的转速需要一致,才能达到直线行驶的效果。

后退直线行驶:控制方案跟前进一样,只是需要两个电机同时反转。

原地左转:左电机反转,右电机正转。即可实现原地左转的功能。

原地右转:跟原地左转原理类似。

在循迹时,我们期望转弯是有一定前进速度的转弯,而不是原地转弯,所以这里,我们以左转为例:

    左电机的速度 = 期望速度 - 转角值;

    右电机的速度 = 期望速度 + 转角值;

代码如下:

   Machine_Out_Left = Speed_Aim-Motor_Out;

      Machine_Out_Right = Speed_Aim+Motor_Out;

      TIM_SetCompare3(TIM1, Machine_Out_Left);

      TIM_SetCompare4(TIM1, Machine_Out_Right);

//Machine_Out_Left是左电机pwm输出,Speed_Aim是目标速度,Motor_Out是转角,TIM_SetCompare3(TIM1, Machine_Out_Left)是最后的pwm输出;

智能车循迹

当小车能动之后,还不能太兴奋,还要注意交通规制。道路千万条,安全第一条!!!

 当小车偏离黑线时,我们要及时让小车纠正回来,回到原定的航线上。当小车有往左偏的趋势时,及时让小车往右进行纠正,让小车保持在黑线中间行驶,代码:

Motor_Out=error*Speed_P;

          //此处的Speed_P为PID中的P

上述公式error是红外模块经过单片机解算后根据智能车在黑线左右输出不同的数值(解算算法下期),如下图,error正负代表的是小车往左往右(注意极性);Speed_P是小车转角的灵敏度,需要根据小车运行经行调参,若调大会导致小车在黑线左右摇晃,若调小会导致小车转向调小,而冲出赛道。

图九红外解算输出

对以上或接下来教程有问题或做车过程中出现问题可加群交流。如教程有错,请指正。

图十交流群二维码

供稿:T307智能车实验室