赞
踩
简介:利用模块化的思路,三段式智能小车,分别为底盘PCB,循迹避障PCB和电源板PCB。后期可以根据需求更换扩展。灵活方便。采用梁山派为主控的智能小车,功能涵盖了的循迹、避障、蓝牙遥控和ADC电压检测等。
一、硬件设计
使用基于GD32F470ZGT6为主控的智能小车,硬件结构采取三段式的模块化结构,分为循迹避障板、电源板和底盘板。循迹避障板负责检测运行路线和前方障碍物。电源板模拟电动汽车为智能小车提供动力能源。底盘板就是我们的核心基座,上面包含核心板的扩展接口,蓝牙和wifi的扩展接口以及基本的按键和OLED显示。说了这么多其实核心就是想白嫖立创,废话不多说,直接上图。
板与板之间的固定采用插针的固定方式,模拟了类似钢筋混凝土的结构,并通过前后轮的电机固定螺丝辅助固定,保证了牢固性。
采用了SS1040B的大电流肖特基二极管,最大电流可达10A,为后续小盆友设计功率更大的小车提供拓展,封装兼容SS34可以直接焊接。按键采用了常用的6脚按键,按起来不用那么用力。。
2.电机驱动电路
该电路核心驱动为RZ7899,第一回使用,最大的方便除了它的大电流还有就是它的简单的外围电路,如果使用其他DRV8701什么的还得做电流检测的电阻好多麻烦的电路。这个芯片就很简单输入与主控直连,输出与电机直连,节省的时间可以直接去搞代码了。
3.ADC检测电路和蜂鸣器电路
ADC采用电阻采样实时检测电源电压,当电源电压低于阈值时,主控通过蜂鸣器电路进行鸣叫报警。本例的蜂鸣器电路采用了常见的NPN三极管S8050作为驱动蜂鸣器的芯片。
4.循迹和避障电路
红外循迹电路是以 ITR9909传感器为核心,使用LM393比较器进行检测输入状态,这里跟官方提供的一样,利用传感器和比较放大器393配合输出高低电平,主控通过状态变化来判断是否检测到黑线。
二、软件程序
循迹模式子程序
- void Tracing_Black(void)
- {
- //直行
- if(Track1==RESET&&Track2==RESET&&Track4==RESET&&Track5==RESET)
- {
- Car_Forward(75);
- }
- //停止
- if(Track1==SET&&Track2==SET&&Track4==SET&&Track5==SET)
- {
- Car_Stop(0);
- }
- //一般左转
- if(Track1==RESET&&Track2==SET&&Track4==RESET&&Track5==RESET)
- {
- delay_1ms(50);
- //直角左拐
- if(Track1==SET&&Track2==SET&&Track4==RESET&&Track5==RESET)
- {
- Car_Forward(75);delay_1ms(900);
- Car_Left(75);delay_1ms(1600);
- Car_Stop(0);
- }
- else
- {
- Car_Left(50);
- }
- }
- if(Track1==SET&&Track2==RESET&&Track4==RESET&&Track5==RESET)
- {
- Car_Left(75);
- }
- //一般右转
- if(Track1==RESET&&Track2==RESET&&Track4==SET&&Track5==RESET)
- {
- delay_1ms(50);
- //直角右拐
- if(Track1==RESET&&Track2==RESET&&Track4==SET&&Track5==SET)
- {
- Car_Forward(75);delay_1ms(900);
- Car_Right(75);delay_1ms(1600);
- Car_Stop(0);
- }
- else
- {
- Car_Right(50);
- }
- }
- if(Track1==RESET&&Track2==RESET&&Track4==RESET&&Track5==SET)
- {
- Car_Right(75);
- }
- }
三、焊接调试成品
焊接调试过程比较简单,还是我之前提到的RZ7899大大简化了驱动电路,使得无论是PCB布线还是焊接调试都提供了极大的方便。三段式PCB的固定方式由于之前孔位都经过测量,对接的也很顺利。有困难的同学也可以直接用插针和插座的固定方式,那样做起来可能会更有立体感。
项目开源地址:【立创开发板】三段式模块化智能小车 - 嘉立创EDA开源硬件平台
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。