
22年省赛无线充电可循迹小车
简介
本项目旨在构建一个无线充电循迹小车,利用红外传感器检测黑线,TB6612驱动电机,嘉立创地正星模块作为主控,并通过自制无线充电模块实现持续供电。软件部分采用PID控制算法,确保小车沿黑线稳定行驶。
简介:本项目旨在构建一个无线充电循迹小车,利用红外传感器检测黑线,TB6612驱动电机,嘉立创地正星模块作为主控,并通过自制无线充电模块实现持续供电。软件部分采用PID控制算法,确保小车沿黑线稳定行驶。开源协议
:GPL 3.0
描述
无线充电循迹小车
一、题目介绍
二、项目简介
本项目为2022年全国电子设计大赛-A-无线充电小车
三个主控:
循迹控制:立创·地正星MSPM0L1306开发板
电能发射:STM32G030F6P6
电能接收:STM32G030F6P6
循迹:2路模拟灰度传感器
驱动:TB6612
通信:IO通信
三、项目实现
硬件实现:
小车搭建及控制(小车控制主板):
1.用淘宝购买四轮车作为小车底盘
2.用tb6612作为电机驱动
3.红外循迹模块作为传感器检测黑线信号
4.用嘉立创地正星模块作为主控对小车进行整体控制
无线电接收:
1.使用STM32G030F6P6主控
2.使用四片CSD17570Q5B(MOS)搭建全桥电路
3.使用LM5106驱动MOS管,进而驱动全桥电路
4.使用INA180A3IDBVR检测输入电流大小
5.使用线圈与高频贴片电容(NP0)搭建LC谐振电路
无线电发射:
1.使用STM32G030F6P6主控
2.使用四片SB1045L肖特基二极管搭建全桥整流电路
3.使用两片搭建数控BUCK电路
4.使用一片LM5106驱动MOS管,进而驱动数控BUCK电路
5.使用一片LM7461与一片CSD17570Q5B(MOS)搭建理想二极管,给放置电容电流倒灌
6.使用TPS62120DCNR、TPS61201DRCT芯片共同组成稳压电路,给主控芯片和国产升压芯片MT3608供电
7.使用国产升压芯片MT3608输出12v给小车控制主板供电
8.使用INA180A3IDBVR检测电容充电电流大小
9.使用分压电阻测量电容电压和线圈经过整流滤波后电压大小
软件实现:
循迹控制:
1.循环检测与无线电接收板通信引脚电平,若被拉低,另一引脚输出高电平(一共两根通信引脚),跳出循环检测
2.红外循迹模块检测小车偏离黑线误差
3.误差输入pid控制器
4.id控制器输出信号到小车电机速度pid输入
5小车速度pid输出信号到tb6612驱动器驱动电机旋转,实现小车沿黑线循迹行驶。
无线电发射:
1.STM32G030F6P6主控产生一定频率的方波信号
2.方波信号输入到H桥使输出端产生15v的方波
3.该方波接入LC谐振电路从而谐振出一定频率的正弦波
无线电接收:
1.STM32G030F6P6主控通过adc实时检测电容充电电流和电压大小
2.通过数控BUCK实时控制进行恒功率充电
3.当检测到充电电流小于一定值时,主控控制国产MT3608芯片输出12V给主板电机驱动,并拉低通信引脚
4.另一引脚检测到高电平时主控进入低功耗模式,降低车辆耗电(一共两根与主板通信引脚
四、分模块分析
硬件分析
1.红外循迹模块
改装效果图:
改装原理图:
2.电机驱动
淘宝购买tb6612电机驱动模块
3.小车底盘
淘宝购买小车底盘
4.主板
自行设计满足孔位主板
嘉立创地正星模块主控:
TB6612模块驱动:
电机输出:编码器接口
通讯接口:
12V输入、3.3v输出、5v输入接口及各自独立开关:
PCB外观:
5.无线充电发射模块
自行无线充电发射模块
STM32最小系统:
5v稳压、调节R17、R18比例调节输出电压至5V:
3.3v线性稳压:
LM5106MOS驱动:
MOS搭建H桥及LC谐振电路:
输入电压与输入电流测量电路:
PCB外观:
6.无线充电接收模块
自行设计无线充电接收模块
LC谐振电路及全桥整流:
数控BUCK及理想二极管、可以控制输出给超级电容器功率和防灌流功能:
STM32G0最小系统:
MOS驱动:
超级电容升压输出12V电压、MT3608可通过EN引脚控制是否输出电压:
电阻分压测量电容输入电压和系统输入电压、测量电容输入电流:
与主板通讯:
人机交互按钮和Led:
3.3v稳压、先降压再升压使得电容电不管高压还是低压都能被稳压为3.3v:
PCB外观:
7.超级电容组保护模块
自行设计超级电容保护模块:
超级电容串联+BW6106保护芯片+MOS管对1206大面积电阻散热放电:
PCB外观:
软件分析:
CUBUMX和Sysconfig图形化编程软件为我们节省了大量时间,建议大家在使用一款芯片是先看看是否有图形化编程软件可以用
接下来代码里面包含PID算法使用,如果不了解PID算法的可以参考学习以下这篇文章
https://blog.csdn.net/best_xiaolong/article/details/106953286
1.无线充电发射:
CUBEMX互补定时器配置:
代码初始化:
按下按键输出互补PWM及LED状态改变:
2.无线充电接收:
CUBEMX整体配置:
CUBEMX定时器配置:
CUBEMXADC配置:
CUBEMX串口配置9600波特率:
CUBEMXIO引脚配置:
代码初始化(启动ADC、开启定时器、初始化IO、初始化系统参数、等待系统稳定):
充电电流检测小于1ma与主板通讯接口拉低,检测到主板反馈后进入低功耗模式:
充电电流、输入电压、充电电压、充电功率获取及计算:
恒功率充电控制函数:
积分分离式PID实现:
数控BUCK调节函数:
3.小车控制:
SysconfigADC配置:
SysconfigPWM定时器配置(两路pwm控制两个电机):
Sysconfig定时器中断配置:
SysconfigIO配置:
红外对管IO:
电机驱动IO:
与无线电接收板通讯IO:
初始化函数:
接收来自无线电接收板信号并作出反馈:
ADC获取电压信号:
ADC获取电压信号比较得出是否灰度传感器在黑线上:
获得误差并控制电机速度定时器中断函数:
五、调试及电路板接线分析加外壳设计
调试:
1.将接收端输入总连接跳线帽断开。
2.不断调节发射端互补pwm波的频率,用电压表测量接收端电压大小,直到最大,根据LC谐振电路规则此时电能传输效率最高
LC谐振讲解:https://blog.csdn.net/jk_101/article/details/130691200
此处测量电压大小:
3.调节控制主板pid p值大小,使得小车稳定沿黑线行驶,只用了p,所以3和-3为pid p值大小,整体调节这两个数即可,例如2 -2。
接线分析:
发射端:
1.将线圈接到黄圈所示位置
2.将电源线正负极分别接到红圈和黑圈处,红圈正极,黑圈负极(注意正反!!!):
小车主板及接收端:
如下图连接所示:
外壳设计:
小车接线后较丑,故设计一个外壳将裸露的线材包裹起来,我是采用solidworks设计的,外壳上的孔洞用于线材走线和线圈安装预留
车头上再加两个眼睛,看起来萌萌的。
六、视频演示
加上外壳前:
BILIBILI视频链接:【2022年电赛,无线充电小车,lc谐振加buck降压为电容充电】https://www.bilibili.com/video/BV1BTkgYTEXF?vd_source=27957dbfcacc33f5942de02f228e7f4e
加上外壳后:
BILIBILI视频链接:【2022年电赛无线充电小车】
https://www.bilibili.com/video/BV1yzNReYEZQ/
感谢嘉立创星火计划为这个项目提供了大部分资金
设计图

BOM


评论