简 介: 给出了对于基于ESP32设计的智能车竞赛的の比赛系统的硬件调试过程。基本上验证了硬件设计的合理与正确性。在第一部分的“修改建议”中也给出了硬件电路的修改意见。

关键词智能车竞赛比赛系统ESP32电磁感应

§01 基于ESP32的竞赛比赛系统


  根据 AI视觉组基于ESP32的裁判系统第一版本设计要求 ,由龙邱设计制作了比赛系统的硬件模块。下面对于该模块的硬件进行初步调试。

1.硬件模块组成

  龙邱提供的比赛系统的硬件主要包括三个电路板模块:

(1)主控模块

  主控模块的核心ESP32-S放置在电路板的反面,其它的器件和接口都位于电路板的正面。

  主控模块的主要功能包括:

  • ESP32-S控制与通信模块
  • 对于车模通过传感器(感应线圈、LED光电检测板)和激光信号检测功能
  • USB接口、光电板、LED,BEEP接口等。

▲ 主控模块电路板

▲ 主控模块反面的ESP32-s模块

(2)激光信号检测模块

  激光信号检测模块只是用于功能测试。也就是测试单个光电管(中心监测点),四个光电管并联(边缘光电信号)检测。但是整个光电板的尺寸并不符合实际目标检测使用。

▲ 光电模块

  在接收到激光信号接收板上并没有焊接 SP-1CL3陶瓷接收管(¥:2.3) 。在其上焊接SP-1CL3光电管。

▲ SP-1CL3高次接收管

  由于SP-1CL3价格稍高,在另外一块光电模块焊接 PT0805光电三极管 ,进行测试看是否能够满足要求。

▲ SP-1CL3封装示意图

(3)LED、BEEP指示模块

  在收到模块的时候,指示模块上的绿色LED并没有焊接。

▲ LED,BEEP知识模块

2.初步硬件测试

(1)焊接指示模块上LED

  在指示模块焊接绿色LED的时候发现原来模块上留给LED的焊接管脚间距不是100mil,使得LED无法按到底进行焊接。建议将LED的管脚间距修改成100mil。

(2)焊接光电管板

  确定SP-1CL3光电管的极性,可以根据前面的它的数据手册上给出的定义。使用数字万用表测量,可以看到不同的测量结果不同。

使用数字万用电阻档测量:
正向测量:8.3MΩ
反向测量:-4.55MΩ

3.修改建议

  根据硬件初步调试,给出对于原来的设计的修改意见。

(1)修改指示板LED的管脚间距

  指示板上的LED的管脚间距不是100mil,LED按不下去。建议将LED的管脚的间距修改成与LED的封装间距已知,100mil。

▲ 指示板上的LED的管脚间距不是100mil,LED按不下去

(2)蜂鸣器驱动T1的封装

  Speaker的驱动T1(NPN)的封装错误。

▲ SPEAKER驱动T1封装错误

(3)C3,C19焊接错误

  详细参见调试线圈放大电路中的错误。

§02 调试主控模块


  [^65556]:主控板AD设计工程文件:AD\SmartCar\2021\LaserDetect\LQ

1、静态调试[^65556]

(1)静态工作电流

  接入+5V工作电源,工作电流为:24mA左右。另外一个工作电流为90mA左右。具体的区别现在还不太清楚。

(2)稳压输出3.3V

  测量U2(LM1117-3.3V)的PIN2 ,可以测到稳压的电压3.3V。

▲ 图2-1 测试控制主板的静态工作点

2、下载ESP32MicroPython

(1)制作下载转接线

  在电路板上的ESP32的下载线的接口(VGTRNG)为80mil的6PIN。 制作一条6PIN的转接线(100mil →80mil)。

▲ 图2-2 制作ESP32下载线转接线

(2)下载MicroPython

  根据 利用CH340C制作MicroPython ESP8266,ESP32的下载器-改进型 对ESP32下载MicroPython。

  VGTRNG端口距离旁边的拨码开关太近了,使得接入6pin的下载端口有些困难。建议:焊接VGTRNG从背面焊接,这样便可以接触插接6pina插头的问题。

▲ 图2-3 下载端口

  下载结果:静态电流90mA的模块可以正常下载MicroPython,下载之后静态电流变为34mA。静态电流为25mA的模块始终无法正常下载MciroPython。

▲ 图2-4 电路板LED1(DG:ESP32-IO5)被点亮
  电路板LED1(DG:ESP32-IO5)被点亮。

3、MicroPython程序测试

  编程参考文档: MicroPython 官方网站

(1)测试LED1,LED2

  测量电路板的LED1(IO5),LED2(IO18)的闪烁。

板载LED的IO:
LED1:IO5
LED2:IO18
from machine                import Pin
import time
led1 = Pin(5, Pin.OUT)
led2 = Pin(18, Pin.OUT)
while True:led1.on()led2.off()time.sleep_ms(200)led1.off()led2.on()time.sleep_ms(200)

▲ 图2-5 运行测试程序

(2)测试Beep

BEEP控制端口:
Beep:IO21
驱动波形:PWM
from machine                import Pin,PWM
import time
led1 = Pin(5, Pin.OUT)
led2 = Pin(18, Pin.OUT)
beep = PWM(Pin(21))
beep.freq(800)
beep.duty(511)
while True:led1.on()led2.off()beep.duty(0)time.sleep_ms(200)led1.off()led2.on()beep.duty(511)time.sleep_ms(200)

▲ 图2-6 BEEP以及驱动T1

(3)测试SW与LED

SW1端口设置:
SW1:GPIO4
SW2:TXD2(GPIO17)
SW3:GPIO2
SW4:GPIO15
BPLED端口:
LED1:GPIO26
LED2:GPIO25
LED3:GPIO33
LED4:GPIO32

  下面的测试程序通过拨动对应的SWn,n=1,2,3,4来改动PLEDn,n=1,2,3,4的状态。

from machine                import Pin,PWM
import time
led1 = Pin(5, Pin.OUT)
led2 = Pin(18, Pin.OUT)
beep = PWM(Pin(21))
beep.freq(800)
beep.duty(511)
pled1 = Pin(26, Pin.OUT)
pled2 = Pin(25, Pin.OUT)
pled3 = Pin(33, Pin.OUT)
pled4 = Pin(32, Pin.OUT)
sw1 = Pin(4, Pin.IN, Pin.PULL_UP)
sw2 = Pin(17, Pin.IN, Pin.PULL_UP)
sw3 = Pin(2, Pin.IN, Pin.PULL_UP)
sw4 = Pin(15, Pin.IN, Pin.PULL_UP)
while True:led1.on()led2.off()beep.duty(0)time.sleep_ms(200)led1.off()led2.on()beep.duty(511)time.sleep_ms(200)if sw1.value() == 0:pled1.off()else: pled1.on()if sw2.value() == 0:pled2.off()else: pled2.on()if sw3.value() == 0:pled3.off()else: pled3.on()if sw4.value() == 0:pled4.off()else: pled4.on()

4、测试ADC1,ADC2

(1)端口电压测量

ADC1,ADC2端口:
ADC1:PIN4(SENSOR VP)
ADC2:PIN5(SENSOR VN)
ADC1,ADC2静态电压:
ADC1:1.045V
ADC2:1.047V

▲ 图4-0 ADC1,ADC2信号放大电路

  • ADC1,ADC2的电压是由3.3V经由R1(10k),R2(22k)分压之后的电压:

VADC1,2=3.3×10k22k+10k=1.03VV_{ADC1,2} = {{3.3 \times 10k} \over {22k + 10k}} = 1.03VVADC1,2​=22k+10k3.3×10k​=1.03V

  • U4 的VREF电压,测量电压为:0.564V。是3.3V经过2k与10k分压:
    Vref=3.3×2k10k+2k=0.55VV_{ref} = {{3.3 \times 2k} \over {10k + 2k}} = 0.55VVref​=10k+2k3.3×2k​=0.55V

(2)激光接收电路

▲ 图4-1 激光接收板的电路

▲ 图4-2 激光接收板的PCB图

(3)产生200Hz的驱动信号

  根据 AI视觉组基于ESP32的裁判系统第一版本设计要求 ,激光发送的信号是经过 125Hz 调制后的信号。下面使用Arduino Nano来产生调试信号,驱动激光器发送测试的激光信号。

▲ 图4-3 用于产生125Hz的Arguino Nano驱动板

  利用D2输出125Hz的50%占空比的波形。

/*
**==============================================================================
** TEST2PWM.C:             -- by Dr. ZhuoQing, 2021-06-07
**
**==============================================================================
*/
#define ON(pin)                 digitalWrite(pin, HIGH)
#define OFF(pin)                digitalWrite(pin, LOW)
#define VAL(pin)                digitalRead(pin)
#define IN(pin)                 pinMode(pin, INPUT)
#define OUT(pin)                pinMode(pin, OUTPUT)
const int LED_PIN = 2;
//------------------------------------------------------------------------------
void setup(void) {pinMode(LED_PIN, OUTPUT);
}
//------------------------------------------------------------------------------
void loop(void) {ON(LED_PIN);delay(4);OFF(LED_PIN);delay(4);
}
//==============================================================================
//                END OF FILE : TEST2PWM.C
//------------------------------------------------------------------------------

▲ 图4-4 D2输出的125Hz的波形

▲ 图4-5 Arduino Nano驱动激光管

▲ 图4-6 接收到的激光发送信号

5、测量OUT1、OUT2

(1)静态电压

OUT1,OUT2管脚:
OUT1:PIN6(IO34)
OUT2:PIN7(IO35)
静态端口电压:
OUTA:559mV
OUTB:553mV
VREF:560mV

▲ 图4-6-1 线圈放大电路

(2)测量线圈放大波形

  在最初调试的时候,线圈1的输出时钟是平稳的波形,线圈无法感应磁铁通过。经过检查发现,电路板上C3,C19焊接反了。

放大通路耦合电容:
C3:103,放大滤波电容
C19:106,信号耦合电容

▲ 图4-7 C3,C19电容

▲ 图4-8 静态放大输出带有50Hz的信号

※ 初步调试总结 ※


  对于来自于LQ制作的基于ESP32的裁判系统进行了初步调试。主要硬件需要修改部分在前面电路修改建议给出了。

1、后期调试

  • 基于ESP32的竞赛裁判系统功能调试-计时线圈功能
  • 基于ESP32的竞赛裁判系统功能调试-光电条检测板
  • 基于ESP32的竞赛裁判系统功能调试-激光信号调试
  • 基于ESP32的竞赛裁判系统功能调试-与微机通讯

基于ESP32的竞赛裁判系统功能调试-硬件修改建议 中给出了对于第一版本的硬件修改意见。


■ 相关文献链接:

  • AI视觉组基于ESP32的裁判系统第一版本设计要求
  • SP-1CL3 陶瓷接收管 光电接收二极管 红外线接收管
  • PT0805光电三极管
  • 利用CH340C制作MicroPython ESP8266,ESP32的下载器-改进型
  • MicroPython 官方网站

● 相关图表链接:

  • 主控模块电路板
  • 主控模块反面的ESP32-s模块
  • 光电模块
  • SP-1CL3高次接收管
  • SP-1CL3封装示意图
  • LED,BEEP知识模块
  • 指示板上的LED的管脚间距不是100mil,LED按不下去
  • SPEAKER驱动T1封装错误
  • 图2-1 测试控制主板的静态工作点
  • 图2-2 制作ESP32下载线转接线
  • 图2-3 下载端口
  • 图2-4 电路板LED1(DG:ESP32-IO5)被点亮
  • 图2-5 运行测试程序
  • 图2-6 BEEP以及驱动T1
  • 图4-0 ADC1,ADC2信号放大电路
  • 图4-1 激光接收板的电路
  • 图4-2 激光接收板的PCB图
  • 图4-3 用于产生125Hz的Arguino Nano驱动板
  • 图4-4 D2输出的125Hz的波形
  • 图4-5 Arduino Nano驱动激光管
  • 图4-6 接收到的激光发送信号
  • 图4-6-1 线圈放大电路
  • 图4-7 C3,C19电容
  • 图4-8 静态放大输出带有50Hz的信号

基于ESP32智能车竞赛比赛系统硬件初步调试-5-6相关推荐

  1. 基于ESP32智能车竞赛裁判系统第二版硬件调试-6-26

    简 介: 对于新版的比赛裁判系统进行硬件测试,验证了新版的硬件满足比赛的要求.对于感光板的不同区域灵敏度不同的问题,最后验证是由于LED的分布电容所引起的时间常数不同造成了.对于单条串联的LED修改成 ...

  2. 上传智能车竞赛比赛成绩

    01 上传比赛成绩 现在到了2022年年底,根据中国高等教育协会全国大学生科技竞赛排行榜要求,需要上传2022年比赛成绩. 上传要求 相关联系人 微信联系人: 全国大学生智能车+卓晴:总的比赛联系群: ...

  3. 整理第十六届全国大学智能车竞赛比赛数据

    简 介: 整理提交了第十六届全国大学生智能车总决赛的数据. 关键词: 智能车竞赛,总决赛 #mermaid-svg-QA3wJFTY8KGVWeUO {font-family:"trebuc ...

  4. 智能车竞赛计时系统感应线圈放在节能充电线圈上输出电压会多大?

    简 介: 直接将计时系统的感应线圈放置在节能充电线圈上,可以测到得到300 ~ 400 V的高频电压. 关键词: 智能车竞赛,裁判系统,高频,高压 #mermaid-svg-NvfujY80O2qyY ...

  5. 第十六届全国大学生智能车竞赛比赛获奖证书格式说明以及下载链接

    简 介: 本文给出了 第十六届全国大学生智能车竞赛 获奖证书的格式说明以及制作方法.证书的格式也参照了 第十五届智能车竞赛电子证书格式说明 .同时,获奖证书下载链接在后面给出. 关键词: 全国大学生智 ...

  6. 第十六届全国大学生智能车讯飞智慧餐厅智能车竞赛比赛成绩

    简 介: 2021年第十六届全国大学生智能车迅飞智慧产餐赛题组相关的比赛成绩 关键词: 智能车竞赛,迅飞智慧餐厅 §01 比赛成绩 一.智慧餐厅安徽赛区成绩表(公示版) 排名 学校 队伍 场地号 任务 ...

  7. 第十六届智能车竞赛比赛进行中 - 参赛队员提出的问题

    简 介: 本文汇总了一些参加第十六届智能车竞赛学生提出的问题以及相应的回答. 关键词: 智能车竞赛,提问与回答 §01 规则缺陷   卓大大,我是今年华北赛区智能视觉组的参赛选手,这次比赛,我们其他任 ...

  8. 智能车竞赛比赛校赛进展

    卓大大好,全国各地的智能车大佬们好,一年一度的全国大学生智能汽车竞赛又要拉开帷幕了,大佬们的车车都跑到几米了?希望各路大佬手下留情,给我们这些小菜鸡们一些机会. ▲ 图1 单车比赛现场 从3月到4月中 ...

  9. 基于ESP32的智能车竞赛新版裁判系统的软件功能要求与实现

    简 介: 本文给出了第十六届智能车竞赛裁判系统最终的软件设计和功能实现.并进行了验证,是它可以满足比赛基本计时要求. 最后给出了完整的程序. 关键词: 智能车竞赛,ESP32,视觉AI §01 智能车 ...

最新文章

  1. GDCM:DICOM文件转储ADAC文件的测试程序
  2. andriod studio 查看项目依赖_Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图...
  3. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 基于数据库资源的多语言实现...
  4. gensim训练word2vec并使用PCA实现二维可视化
  5. 2017 开源软件排行_2017年开源大会精选
  6. 将机器学习模型部署为REST API
  7. Dubbo zookeeper 初探【转】
  8. 如何用Camtasia进行内容补充?
  9. 本地安装AD插件教程,Altium AD插件安装 DXP插件安装 本地安装 导CAD DWG DXF
  10. 大数据采集技术和预处理技术
  11. 7.Excel数据分析-员工考勤表
  12. window10 Embedded 各分支
  13. PR视频剪辑(项目包装)
  14. 我要偷偷的学Python,然后惊呆所有人(最后一天)
  15. 关于泛型中包含级联的List转化为json数据的处理
  16. pd.plotting.register_matplotlib_converters() 的作用
  17. opboot怎么刷入固件_竞斗云系列四:Opboot1.09+128M固件刷机
  18. 老鹰-第一次Python笔记
  19. Mac同济大学毕业论文Latex模板环境配置
  20. Verilog RTL 代码设计——译码器计数器

热门文章

  1. 无限城市助力智慧城市 挥毫创新3.0时代
  2. [知识储备]用RequireJS +zepto开发微信公众号
  3. 在window和linux上通用的SprtLock类头实现文件
  4. 利用openssl签署多域名证书
  5. POJ2828 Buy Tickets【线段树,逆序遍历】
  6. 小希的迷宫(并查集)
  7. 你用什么态度去看待世界,你就会得到什么样的世界
  8. javaScript通用数据类型校验
  9. 申请重新邮寄CCNA证书成功!!!!!(转)
  10. loj6070【山东集训第一轮Day4】基因