FastBond2阶段2——基于ESP32C3开发的简易IO调试设备
一种用于调试硬件IO接口的工具 1. 该设备通过WiFi或蓝牙连接手机,使用相应的调试软件进行监控;2. 可以快速测试硬件IO支持输入输出、电机控制的功能。可以帮助用户快速进行硬件IO接口的调试,达到快速调试和维护设备的便捷需求。
标签
测试
显示
ADC
开发板
FastBond第二季
2345vor
更新2023-11-02
江汉大学
504

 

 

FvHbfMGZ9ckzmLx97DDayMFdNXuc

1. 项目介绍

之前买了许多国产单片机esp32c3一直在吃灰,没有发挥它的真实价值。非常感谢硬禾组织的Fastbond2活动,刚好两者经过微妙的碰撞。恰可以用于FastBond2活动主题4 - 测量仪器(单片机开发测试领域),或者用于国产ESP32C3单片机简单应用开发教育等领域。回顾立项过程,且听我娓娓道来!

1.1 立项目标

设计用户操作界面,该设备具备简单易用的操作界面,外加显示屏SSD1306和旋转编码器进行显示和控制,用户后期可进行二次开发WiFi或蓝牙连接电脑或手机监控。

1.2 立项指标

  1. 多种数字和模拟信号的输入输出:用户可以选择不同的输入输出模式,并通过设备的操作界面进行设置。例如,用户可以选择某个GPIO口作为模拟输入引脚,然后通过设备的操作界面设置输入的电压值,以模拟外部信号的输入,达到调试简易传感器读取和执行器输出功能。
  2. 支持PWM输出、舵机控制特性:用户可以选择某个GPIO口作为PWM输出引脚,并通过设备的操作界面设置PWM输出的频率和占空比。用户还可以选择某个GPIO口作为舵机控制引脚,并通过设备的操作界面设置舵机的角度。
  3. 因此系统具有一定的电流输出能力、信号辨识能力和显示交互功能。 

2. 市场应用介绍

《FastBond2阶段2——基于ESP32C3开发的简易IO调试设备》是一种基于ESP32C3芯片开发的简易IO调试设备。它具有小巧、便携、功能强大等特点,可广泛应用于各个领域的电子设备调试和开发过程中。

市场应用介绍如下:

  1. 电子产品调试:该设备可以作为一种便携式的IO调试工具,用于电子产品的调试和测试。它支持多种接口,如GPIO、I2C、SPI、UART等,可以方便地与各种电子设备进行连接和通信,帮助工程师快速调试和验证电路功能。

  2. 物联网设备开发:随着物联网技术的发展,越来越多的设备需要与互联网进行连接和通信。该设备可以作为物联网设备开发过程中的工具,帮助开发者快速连接和通信,实现设备与云平台的数据传输和控制。

  3. 教育培训:该设备具有简单易用的特点,适合在教育培训领域使用。学生可以通过该设备学习和实践各种电子接口和通信协议的使用,提高他们的电子技术能力和创新能力。

  4. 嵌入式系统开发:对于嵌入式系统开发者来说,该设备可以作为一种基础工具,用于快速原型设计和验证。通过该设备,开发者可以快速连接和测试各种外设,并进行相关的软硬件开发工作。

  5. DIY爱好者:该设备适合DIY爱好者使用,他们可以利用该设备进行各种创意项目的开发。无论是控制LED灯的亮灭,还是与其他传感器进行数据交互,都可以通过该设备实现,并为DIY爱好者们带来更多的乐趣和创造力。

综上所述,《FastBond2阶段2——基于ESP32C3开发的简易IO调试设备》具有广泛的市场应用前景。它可以满足不同领域的需求,为电子产品调试、物联网设备开发、教育培训、嵌入式系统开发和DIY爱好者等提供了简单、便捷、高效的解决方案。

3. 项目设计思路

项目地址:Scheme-it | 嵌入式快速调试设备 | DigiKey

得捷电子的Scheme-it工具融合了原理图、框图和流程图绘制等功能,支持多种格式导出。并且,得捷电子提供原理图kicad格式导出的功能,同步导出对应器件的封装,减少查找封装的麻烦。Scheme-it无需专门下载安装,在浏览器在线运行,上手速度很快。这里我非常迅速画了系统的方案框图:

Fl-4s98mDtwosGncQOVTaueXPuJ3

这里面的外设驱动详细内容见:【Arduino环境下驱动合宙esp32c3单片机基本外设】

4. 项目方案框图和原理图解释

4.1 系统设计流程图

接下来就是一步一个脚印把模块调通,最后进行解耦实验,有机会就用3D打印机打印一个外壳。如系统设计流程图所示

Fm55p8LJ3a5RLQfqVex-XyjOY4Qd

系统设计流程图是一个用于描述系统设计过程的流程图。在这个流程中,首先进行的是项目立项,然后进入系统设计阶段,包括结构设计和硬件模块设计。在硬件模块设计中,又包括硬件模块设计和软件模块设计。然后进行联合调试,如果调试成功,就进行系统设计修改,如果调试失败,就回到硬件模块设计进行更改,直到调试成功。最后,进行是总结并记录归档。

4.2 电路原理图

这里采用kicad绘制的原理图,这里面的蜂鸣器电路设计有缺陷,因此我加250Ω电阻直接飞线绕过三极管驱动蜂鸣器,我之前画过电路图(设计有诸多不合理,欢迎大家批评指正),但从来都没有打板子,这是我第一次打板子验证项目,非常感谢硬禾给机会,太感动了!

Fr8LhWCRhJ3WQXEHP-y2lIgybRU-

设计用户操作界面,该设备具备简单易用的操作界面,外加显示屏SSD1306和旋转编码器进行显示和控制,用户后期可进行二次开发WiFi或蓝牙连接电脑或手机监控。
多种数字和模拟信号的输入输出:用户可以选择不同的输入输出模式,并通过设备的操作界面进行设置。 引出了开发板全部可用端口,其中包括GPIO、ADC、UART、IIC、SPI端口。

这里面的外设驱动详细内容见:【Arduino环境下驱动合宙esp32c3单片机基本外设】

5. 设计中用到规定厂商的元器件介绍

这里采用了 乐鑫科技(Espressif)的ESP32-C3-MINI-1-N4,由于之前合宙esp32c3可以等效替代,对此采用这款合宙esp32c3开发板代替,是采用ESP32-C3-MINI-1-N4模组设计的。

FkXqcBL-xaYsjBdrUMOdmTVFC9-Z

 

ESP32­C3­MINI­1技术规格书

ESP32-C3 系列芯片

期待后期有发光发热的地方叫上鹏鹏哦!

6. PCB绘制打板介绍及遇到的问题和解决方法

 6.1 PCB板图

工程整体采用两层板结构;

底层覆铜设计,右边是覆铜效果,左边没有覆铜效果;

采用esp32c3单片机放在中间,底部板载USB供电,靠上设计SSD1306屏幕显示,基本外设左右排开,左边有SPI、舵机端口、ADC和WS2812。右边设计有蜂鸣器和旋转编码器,中间开发板的端口全部引出。

设计的尺寸非常小宽7.37*长8.64,四周设计了立柱。

Fm0Cd_2yqqk2jVuU0gDEQRzD3eyB

6.2 3D封装效果图

Fi-fiCoSXtPqG18kVr2d9UdWReZ4

所选封装比较杂乱,偏向传统与现代工业融合

第一次下单 嘉立创返回说我没有阻焊层,修改ganber文件导出后,第二次下单工艺信息,大约5天左右就到啦!国产雄起

Fnt3tIfQkyJkZIo75DeKDH6lLgRy

6.3 实物图

打板图

Fs_NHkmH9dLsjHwWNhHtOTk89QWD

实物图

FhdYmagvJ3E92wlvhvW9tHOb39vA

 6.4 遇到的问题

1. 蜂鸣器驱动设计错误,解决办法:直接连接IO口,不过pwm控制效果区别不明显

2. WS2812封装对应错误,解决办法:选择引出的GPIO驱动,完美!

3. 没有丝印层需要对照原理图接线。

7. 关键代码及说明

总共迭代了四个版本

7.1 版本1.0

是通过ChatGPT生成的,然后结合自己开发的外设调试,搭建了基本框架,可以屏幕显示,有舵机、ws2812和ADC交互控制显示,需要安装以下5个库

  1. #include <U8g2lib.h>
  2. #include <Encoder.h>
  3. #include <ESP32Servo.h>
  4. #include <FastLED.h>
  5. #include <WS2812FX.h>

原理图文件、PCB文件和可编译下载的代码Arduino文件见(项目-软硬件-附件处)

 7.2 版本1.1

增加了蜂鸣器控制,设计四级菜单,WS2812由三种颜色增加到10种,解决旋转编码器无法减法控制,添加按键返回功能

 7.3 版本1.2

增加了蓝牙交互,设计五级菜单,通过蓝牙上传设备状态信息,并且可接收手机端数据,但未完成控制设备。值得注意这个版本最稳定

 7.4 版本1.3

设计了两个线程,完成了实时的蓝牙交互,不过ws2812控制不稳定。推荐版本1.2

8. 功能展示及说明

8.1 主菜单显示

主菜单显示,所有设备初始化,舵机归位,灯灭,蜂鸣器静音

FoZh7c6TlMq13HDhL6IVj8UzLSi7

8.2 舵机控制

舵机显示60度位置,屏幕同步数值

FgZcWL3GP1bLCqXNMiO0LWSGHfJ_

8.3 WS2812控制

WS2812显示蓝色灯,屏幕同步数值

FgwwWyAz29jLgKvKRqzoQ0K8RasD

8.4 ADC读取

实时读取光敏ADC,屏幕同步数值

Fm8za2TrxH5ebQlczbYd7bETxkoi

8.5 蜂鸣器PWM

蜂鸣器输出PWM,屏幕同步数值

Fu14bKJt-ihbg5Es690IYAdQu586

8.6 蓝牙交互

手机连接ESP32 BLE vor蓝牙,发送数据

FsrfFPzTowL2JZR6h1uLT4ZT8hnc

 屏幕读取状态

FkbtiauhjierrOFg7mj-cWDS6g9P

 手机实时接收设备信息

FvLUb4S3nVm8Qm8nsSEwGpAA9ngp

 电脑串口显示设备状态和接收手机数据

FhwA_8F9YNauUagzijoHiVrivEfs

9总结

这是我第四次参加嵌入式相关的网上比赛活动

这次最大的收获是第一次实现了PCB板设计、制作和调试全流程,加深了对手机蓝牙双向通信,对esp32国产单片机更有信心!
这次最大的遗憾是没有加入蓝牙控制程序,相信大家自己解决哒。

建议:

  1. 希望得捷电子优化国内访问网站浏览和提高scheme-it工具设计水平;
  2. 期待硬禾联合各大平台推出更多有质量有意义持续性的创客活动!

非常感谢硬禾联合得捷电子官方组织的FastBond2活动,大家都为这个国内嵌入式生态出一份力,只要努力认真做了都会有所收获,期盼这些作品在将来某一天为构建美好未来贡献一份微博之力!
我后期会持续更新我测评的一系列国内开发板测评,并且作为宣传大使努力鼓励大家有所获参加有质量的硬禾活动🛹🛹🛹每天都一点点结合实际需求联动丰富生活,从而实现对外部世界进行充分的感知,尽最大努力认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。🤣🤣🤣
🥳🥳🥳再次非常感谢硬禾的Lucia支持等等🥳🥳🥳期待这一次的成绩哟!
参考文献:

FastBond2阶段1——基于ESP32C3开发的简易IO调试设备 - 电子森林 (eetree.cn)

【esp32c3配置arduino IDE教程】-CSDN博客

【Arduino环境下驱动合宙esp32c3单片机基本外设】-CSDN博客

附件下载
项目工程原件.zip
原理图文件、PCB文件和可编译下载的代码文件
团队介绍
项目名称:基于ESP32C3开发的简易IO调试设备 团队口号:好好学习天天向上 联系方式qq:3126171871 微信:15072641561
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号