esp小车2

esp32智能车系列2(基础款)

首先在制作esp32智能车基础款前我们一定要先要确定项目的目标与目的,我对智能小车要求并不高,他只要能正常的进行全方位的行动。并且能进行一个实时的视频反馈就足够了。所以在小车硬件部分核心开发板上ESP32-CAM成为了首选,安信可(Ai-Thinker)公司开发的ESP32-CAM开发板集成了ESP32S处理器模组和200万像素摄像头模组,低功耗双核32位CPU,内置 520 KB SRAM,外置8MB PSRAM,支持WiFi和蓝牙连接。同时还支持影像识别等多种AI处理模式,便于未来功能的拓展。尽管许多人反映传输过来的视频质量稍显模糊,但考虑到这款开发板仅售20多块钱的价格,其实已经相当实惠了。即使在使用过程中因为烧录等原因出现损坏,也不会让人感到心疼。因此,这款开发板确实成为了学习互联网嵌入式开发入门的首选工具之一。

如果想要了解开发版的一个具体情况,大家可以点击下面链接进去查看。

https://docs.ai-thinker.com/esp32-cam

在选择完核心开发板之后,下一步是考虑如何为小车选择适当的动力源,即需要确定采用哪种类型的电机来为小车提供动力。基于过往的经验和了解,我首先锁定了每分100转的N20减速电机(N20电机有很多种减速比的子型号,我手边有的就是100转。大家也根据自己对小车速度快慢的要求选取其他不同减数比的电机)。这款电机转速适中,拥有出色的转矩,而且它只需要3.3V的电压即可驱动,这与ESP32-CAM开发板的供电电压吻合,可以省去额外的降压或升压模块。电机与板子共用一个电源。

通过两颗电机并列式地分别驱动小车斜对角的两个轮子,就可以赋予小车转向和前进两个方向的自由移动能力。

但如果想用Esp 32 cam上的io口控制减速电机还需要驱动芯片,所以我就又画了一个扩展板,扩展板上面结合了一块ams1117稳压芯片以及2路L9110电机驱动芯片(这款电机驱动芯片的控制操作相当简便,只需调整两个IO口的高低电平输出,即可轻松控制电机的运转。然而,它并不直接支持电机调速功能。)扩展板并且可以用排针直插的方式与esp32 cam连接。再板子给配一块3.7v 200mAh的锂电。

最后再进行车体设计,画一个车壳。我偏爱简约的设计风格,并热衷于将每个细节做到极致的压缩。因此,在设计这款小车时,我并未将车体设计得过于庞大,而是尽可能地贴合开发板、电机以及摄像头的尺寸,确保每个部分都达到最小的占用空间。整体上看,小车呈现出方方正正的外观,显得有点儿不大聪明。

那这一部分的设计都用到了Solidworks三维绘图软件。想了解如何学习进行此类的结构硬件设计,三维建模。可以点击下方链接。

小车的主体部分就已经完成了,其实这时候绝大部分人都开始进行上位机的制作或者说是软件方面的一个设计(绝大部分项目是做一个手机端的APP,上面有视频回传窗,虚拟摇杆或按钮控制小车移动。那当然我也利用APP inventor设计了一个APP用于控制小车,后文会聊到)。但我算是一个实体党,其实并不太喜欢那种虚拟摇杆儿的控制手感,所以我就又设计了一个小型的三通道遥控器。给硬件制作部分又加了一步。这个三通道的实体摇杆儿遥控器,mcu采用的是esp32C3,支持WiFi和蓝牙连接,并拥有很强大的功能拓展能力,之后又连接一个小的OLED显示屏显示一些基础的控制信息(采用iic通讯的显示屏)。

那现在基础款的全部硬件就已经全部设计完了。最后给大家看一下散件图以及成品图。

程序控制上设计了两个方案。一个是比较常见的用手机上的APP进行控制。另一个就是用之前硬件制作出来的遥控器进行控制。我们先来讲一下这个项目比较有特点的控制方式,用遥控器控制的一个设计思路。

小车自身的一个运动上的控制其实非常简单。只需要通过调整两个电机的2组一共4个io口的高低电平就可以调整小车运动或停止,一颗电机的两个管脚中,一个为高电平而另一个为低电平时,电机将开始转动。若这两个管脚的电平状态发生改变(即一个由高变低,另一个由低变高),电机的转动方向也会随之改变。若两个管脚的电平状态相同(均为高电平或低电平),则电机将停止转动。这样的话,两个电机同时正转小车前进,同时倒转小车后退。一个电机正转,一个反转就可以实现小车的左右转弯。

而软件上最关键的一部分在于我们如何将控制命令有效地发送给小车。这就涉及到了如何选用一个合适的通讯协议来确保遥控器与小车之间能够稳定、高效地取得联系。我在这里运用的是espnow通讯协议。这种协议使小车主板上的esp32Cam与实体遥控器上的esp32c3建立起Now低功耗双向通讯,从而精准控制小车的运动。而在小车的采集画面的实时传输方面,我采用了WiFi技术。通过构建一个局域网络,esp32cam的视频流能够发送至路由器,随后手机客户端进入这个局域网络,获取视频流,实现实时的视频观察。这样的设计不仅提升了传输效率,还确保了画面的清晰度和流畅性。当然这些程序也全部都是在arduino开发环境中完成的。

第二种方案使用APP控制。通讯模式采用的是WiFi下的UDR通讯,APP的一个开发与制作以及这种通讯技术的使用的详细内容我会放在Esp 32智能车系列3(Pro max版)中详细介绍。

北航实验学校中学部科技夏令营

为了让同学们能更好的感受科学魅力,拓展创新思维,培养独立思考和团队合作精神,北航实验学校中学部学生发展中心于7月7日至10日组织了2024年科技夏令营活动。来自“科技创新研究院”的20名同学参加本次活动。Engineering lab工作室在第三天的活动中为大家带来了”未来开空车的设计与制作为”主题的steam课程,并收到较好的反响。

本次课程自上午10时启动,直至下午3时圆满落幕,总计提供了5小时的高效学习时间。在这段时间里,同学们对太空车的复杂结构与精妙控制方式有了更为深入的理解与掌握。此次课程不仅加深了同学们对太空探索领域的兴趣与热爱,还激发了他们探索未知宇宙的热情。

同学们认真聆听

同学们现场制作太空车

结构学习

结构设计学习

在机器人的研发过程中,结构硬件设计无疑是奠定坚实基础的关键环节。要想在这一领域深入探索,扎实的理论知识与技能不可或缺。对于初学者而言,学习机械绘图是踏入结构设计大门的必经之路。尽管现代三维设计软件已逐渐淡化了传统手绘的界限,但坚实的手绘基础依然能为后续的数字绘图工作提供宝贵的助力,因为它培养了空间想象力和精准表达的能力。所以我还是真的非常推荐初学者在真正学习三维绘图之前去看一看机械制图这些书,从最常用最传统的标线,符号这些基础入手。

 

当完成基础机械绘图的学习后,选择合适的绘图软件便成为下一步的重要任务。市面上的绘图软件各具特色,如专长于复杂场景建模的3D Max,精准应用于平面机械工程设计的AutoCAD,以及我们今天要特别推荐的SolidWorks。我之所以强烈推荐SolidWorks,是因为它以其全面性在众多设计软件中脱颖而出。SolidWorks由达索系统公司(Dassault Systèmes)开发,这家巨头还拥有UG(现称为NX)和CATIA等重量级产品。与专注于航空器设计、拥有卓越曲面建模能力和丰富标准件的NX不同,SolidWorks更像是一个功能齐全、易于上手的“全能选手”。它不仅涵盖了从零件设计、装配模拟到运动仿真的全流程功能,还以其直观的界面和强大的兼容性赢得了广大工程师的喜爱。工程师们常常把NX比作为带着草莓奶油的蛋糕。而Solid works就是一块儿蛋糕胚,有蛋糕的味道,虽然不那么好吃,但也足以填饱肚子。

 

因此,对于致力于机器人硬件设计的朋友们来说,SolidWorks无疑是一个值得深入学习和掌握的强大工具。

 

接下来,我将从个人视角出发,带领大家深入探索SolidWorks的世界,并分享我的使用体验。首先,正如前文所述,SolidWorks以其直观易学的特点著称,其建模逻辑清晰,即将线条编织成面,再由面构建成立体,这样的过程让初学者也能迅速掌握,轻松绘制出基本的长方体、圆柱体或球体等形状。因此,在短时间内学会根据三视图绘制简单图形和零件并非难事。

 

然而,学习的道路从不平坦,当跨过基础门槛后,真正的挑战才刚刚开始。在SolidWorks的深入应用中,我们不再仅仅是图纸的“搬运工”,而是需要成为能够解决实际工程问题的设计师。这时,机械设计基础的学习变得至关重要,它涵盖了材料力学、机构学、机械设计原理等多个方面,这些知识将指导我们如何设计出既满足功能需求又考虑成本效益的零件。与此同时,我们还需要将设计思维与制造工艺紧密结合,深入理解加工工艺的局限性与成本考量,以确保设计方案的可行性。从最初的3D打印原型验证,到线切割、CNC加工等工艺的探索,当你在设计加工的零件逐渐增多,你的熟练程度也会逐渐增强,但刚开始的时候可能一个零件你需要修改几十次才能达到预期,在后来基本绘制完再修改一次就基本可以进入投产或使用了。当然这些都是基本零件的绘制与制作。

 

SolidWorks的强大之处远不止于此,之所以他被众多机械研究领域所使用是因为它大的装配体配合能力。你可以把所有的零件在这里面组装起来,使用多个配合让机械动起来。最基础的平面固定,重合,平行这些基本配合算是比较简单的,想让两个齿轮完美的结合起来,让同步带进行动力传输这部分的学习还是挺困难的,所以说SolidWorks是入门简单,熟练掌握困难的一个软件。

 

而且solid works这套软件内还包含了非常多的插件以及扩展功能。比如说力学simulation仿真。流体仿真,动画渲染。这仿真渲染软件虽然远不如那些市面上专门的软件好用,功能能没有那么齐全,但对于目前的学习来说也足够使用了。所以如果大家有时间的话,学一学它的扩展功能与插件还是非常有必要的。而且从我的一个感受来看,做了个那个works里面自带的simulation,应该算是众多应力分析里面手最快使用起来最方便的一款软件了。

 

之后再想说一下我们要如何去学习这款软件,很多人可能会选择去选择花钱报一个短期的课程,可能线上也可能线下,但我觉得没有这个必要。我先说一下我的一个个人情况,在我刚开始接触这个软件的时候,完全就是按照软件里面使用操作说明,一点点学习使用。并没有跟着课程进行学习。还有就是其实在b站上就有很多非常棒的一些课程,有三小时速通。也有近百小时从入门到精通详细的讲解。具体如何选择就看大家自己的需求了。如果让我具体推荐一些课的话,我比较推荐阿奇设计分享的十个小时的课程。讲的真的非常详细全面,里面的每一个小事例都很利于提高你的绘图技术,一边听课一边跟随他的步骤绘制,可以有很大的提升,后期我也是有跟着他的课程又温习巩固了

esp32智能车系列1(项目概要)

esp32智能车系列1(项目概要)

基于单片机开发的智能小车一直都是嵌入式开发或者说是机器人初学者的首选项目。那你是否也想拥有一个桌面级的智能小车呢,那从今天开始我将手把手带你制作一系列三款智能小车。全部内容我将会分四期分享给大家,持续时间为两个月。

         esp32智能小车系列硬件开发,3个车型组成。基础款可由app或手柄控制,可回传视频图像,适合作为初学者。mini版本在功能不变的同时拥有更小的体积, 更适合作为迷你机器人二次开发使用,promax版是标准版的全面升级,提升至四驱动,加装悬挂,独立视频外理芯片,可进避障,巡线。适合深度学习使用。

关于Esp 32小车项目,我想与大家分享的是,这是一个侧重于学习的项目,旨在为初学者提供一个工科入门的实践体验。由于我对此开源项目的设计完成度很高,即使您没有深厚的工科背景,也能轻松参与并完成。具体而言,您只需下载相关的学习资料,购买必要的器材,接着通过专业厂商打印PCB板,使用3D打印技术制作车壳,并进行简单的组装。之后,将现成的程序烧录到设备中,您就能体验到项目完成后的成果,感受工科学习的乐趣。

然而,如果您有志于深入这一领域,并期望未来能在这一专业方向上有所建树,我建议您从基础开始,亲自参与并独立完成电路图和结构图纸的绘制。我发布的内容可以作为您学习的参考,但更重要的是,您应该在此基础上进行探索、改进和创新。这样,您不仅能获得工科学习的实践经验,还能培养独立思考和解决问题的能力。

接下来,我将详细介绍通过参与这个项目,您可以获得哪些的知识和技能。

 

首先,在结构硬件设计方面,您将掌握使用SolidWorks进行三维绘图的基本技巧,这将是未来工科学习中不可或缺的一项技能。

  其次,在电路硬件方面,您将学会使用Ultium Designer进行简单的电路绘制,并深入了解PCB的制作工艺、加工方式和流程以及学会白嫖宇宙无敌的嘉立创″PCB免费打样。

在编程部分,将会学习到最入门的单片机arduino的相关知识,以及在arduino开发环境下的嵌入式开发,掌握一点的c与c++(其实并不太准确,arduino开发环境下的语言是c++的一个子集。)

 

此外,您还将学习到电机、微机和模拟电路等相关知识,这些知识将帮助您更全面地理解电子系统的工作原理和设计方法。

总的来说,通过参与这个项目,您将接触到未来工科学习中所需的多种工具性软件和知识。这些技能将为您的工科学习之路提供坚实的支持。

 

        所以在项目正式开始之前大家可以先提前把这些常用的工具性软件下载下来。尽可能的了解学习一下,使接下来的项目上手更加容易。为项目的正式开始做好充足的准备。

未来太空车设计制作挑战(太空车移动平台越障能力)

未来太空车设计制作挑战(太空车移动平台越障能力)

该项目是一个太空车模型设计与制作项目,旨在通过缩比模型展示实际太空探测任务中的工程挑战和技术应用。项目包括太空车结构与目的学习,结构设计、控制器选型与编程、动力系统设计、红外遥控系统设计以及悬挂装置设计等方面的内容。学生们将使用提供的基础硬件套件包,结合自身创意进行太空车模型的制作,并在此基础上进行进一步的创作开发。通过该项目,学生们将学习到硬件制作、程序编写、遥控系统设计等技能,并展示他们对月球探测技术的理解和应用能力。最终的预期成果是每组完成一台缩比例太空车模型,具有远程操控功能和翻越复杂地形的能力,可为相关研究和教育提供实物展示,促进对月球探测技术的理解和探索。

基本信息

项目名称

未来太空车设计挑战

项目持续时间

5-20小时(可根据需求定制课时)

核心驱动问题

太空车移动平台越障能力

学科

数学,信息技术,物理,工程学

项目年级

初一至初三

课程内容

一.课程引入

 1.太空探索的意义。

2.太空车的角色。

3.组建团队,分成5个小组,确定团队成员、分工、公约。

二.太空车基础知识

1.太空车的类型。

2.无人太空车的组成。

3.悬挂系统设计。

4.动力系统设计。

5.学习红外遥控系统设计。

6.学习 mixly 编程。

三.设计太空车

 1.发布任务。

 2.分发设计方案,设计图。以及太空车基础套件儿。

3.各小组进行方案设计,绘制设计图。列出还需要的额外零件。

 4.老师下到各小组进行一对一辅导。

四.制作,测试阶段

1.领取改造使用的套件外的材料。

 2.根据提供的基础硬件套件包,并结合自己的设计进行太空车的制作。

3.用 mixy,编写控制程序并进行调试,答辩 PPT 制作。

五.项目汇报与越障竞赛。

1.各小组进行项目汇报,每组5分钟,讲述设计思路以及实现的功能。老师进行评分。

2.障碍越野赛,每组2次机会,记录行进完赛道所用的时间。并换算成相应分数。

 3.跟据总分进行排名,并颁奖。

 

寄读者

写给读者

 首先,欢迎各位访问Engineering工作室的官网。我们工作室专注于中高等教育阶段的机器人教育,内容覆盖从初中衔接课程到大学本科阶段。

我们的网站精心划分为四大板块。其中,核心板块是学习交流社区。在这里,我将定期与大家分享工程学的学习方法、学习心得,并推荐一些优质课程,这些课程的教育水平主要针对大学本科阶段。我会引导大家从本科入学阶段的衔接课程开始,比如arduino单片机和solid works三维绘图,AltiumDesigner电路绘图等工具性的基础学习。在完成上述工具性内容的学习后,大家将进入理论层面的深入探索。这一阶段将涵盖理论力学、材料力学、平面机械原理、机械设计、模拟电子、数字电子、电工学以及机器人学概论,机电控制原理等课程。为了深入理解这些理论,大家需要投入大量时间阅读文献和教材。然而,这一部分的学习确实需要耐心,因为大部分时间会花费在按照课本内容学习、编写代码和记忆基本机械结构上,而需要动手实践的部分相对较少。为了缓解这种学习压力并激发学习兴趣,我建议大家在这一阶段可以浏览网站上的开源项目板块。在那里,你可以找到一些创意性小制作,这些项目不需要过多的理论知识,却能提升你的动手能力,并帮助你度过这个相对枯燥的学习阶段。随着时间的推移,我们将逐步深化学习,进一步探索如ROSOpenCVsimulink等深度学习的机器人操作系统或视觉识别系统。一旦接触到这一阶段,便意味着已经迈入了机器人学的广阔天地。然而,真正的进步和成就,还需依赖于个人的潜力和不断的自我探索。完成这些核心课程的学习,通常需要两到三年的时间,这恰好是本科阶段的学习周期。因此,我们承诺学习交流社区板块第一轮内容将持续更新至少三年,以确保学习者能够获取到所有关键的学习资源和内容。未来,我们将继续拓展更新内容,特别是聚焦于机器人的深度学习和AI应用,以紧跟行业前沿,满足学习者对新技术、新知识的渴求。

为了保持内容的时效性和互动性,我计划每月至少更新两次这个板块的内容。同时,我也会在这里分享我在项目中遇到的一些技术挑战,期待大家共同参与,共同解决。

 

第二个板块是开源项目区。这个板块主要展示我制作的一些项目,它们适合所有教育阶段的同学们去了解和学习。在这里,我会发布一些需要强大理论体系支撑的开源项目,比如FoC闭环控制器和基于OpenCV开发的视觉识别步进电机机械臂等。这些项目主要面向目前在校的大学生,旨在通过项目硬件与理论知识的结合,帮助他们巩固学习成果,并鼓励大家进行二次开发,例如用于毕业设计。

同时,这个板块也会发布一些创意性小制作,如ESP32智能车和使用舵机为驱动的四足机器人等。这些项目都经过了我的二级封装或完整的硬件产品化,使得即便你只需要会Scratch这类模块化编程,初中阶段的电路基础知识,一点点的平面机械原理,也能轻松完成。这些创意小制作的目的是激发大家对机器人学和工程学的兴趣,因为纯粹的理论学习确实可能让人感到吃力,尤其是考虑到内容的丰富性和难度。

这一板块面向广泛的学习者,无论是大学生还是中学生,都值得点进来探索一番,尝试亲自动手实践。对于大学生而言,这里提供了一个绝佳的实践机会,有助于提升学习兴趣并深化理论知识的理解。而对于中学生,这则是一次宝贵的课外实践经历,不仅能够培养兴趣,还能为未来专业课程的学习提前规划方向。

 

第三个板块是Steam教育课程,这一板块专门针对初高中阶段的学生,同时也提供给科技教育机构、社团以及学校科技性夏令营。我们精心打造的Steam教育课程系统完备且严谨,不仅涵盖了科学、技术、工程、艺术和数学等多个领域,更融合了前沿科技与创新教育理念。值得一提的是,我们拥有这些课程的全部版权,确保了学生和机构们能够独家体验到我们的优质课程。

我们Steam教育课程的最大特点和优势在于我们提供的极其有创意且性能卓越的硬件支持。这些硬件不仅为学生提供了实践操作的平台,更激发了他们探索未知、创新实践的欲望。我们深知,在科技教育中,硬件的支持至关重要,因此我们不断投入研发,力求为学生提供最先进、最实用的学习工具。

在教学方法上,我们始终坚持以项目式学习、探究性学习为核心指导思想进行课程安排。通过引导学生参与实际项目,让他们在实践中学习、在探究中成长。我们鼓励学生发挥主观能动性,培养他们的创新思维和解决问题的能力。同时,我们也注重团队合作与沟通能力的培养,让学生在与他人合作中学会倾听、理解和尊重。

总之,我们的Steam教育课程致力于为学生提供一种全新的学习体验,让他们在科技的海洋中畅游,探索未知的世界。我们相信,通过我们的努力和学生的积极参与,一定能够培养出更多具有创新精神和实践能力的优秀人才。

 

最后一个板块是“科技好物市场”,尽管目前这一板块仍处于紧张的筹备阶段,距离正式上线还有一段时间。但我们坚信,这一板块的推出将为广大机器人学爱好者带来极大的便利和惊喜。

设立“科技好物市场”的初衷,源于我们深刻认识到,在机器人学的学习过程中,控制学是至关重要的一环,它要求学习者投入大量的精力和时间去深入理解与实践。而为了更好地掌握控制学的精髓,学习者往往需要借助一些高质量的硬件来辅助学习,进行实地操作和实验。

因此,我们精心策划了“科技好物市场”这一板块,旨在为学习者提供一系列优质的硬件产品,这些产品不仅性能卓越、质量可靠,而且与机器人学和控制学的课程内容紧密相关。我们相信,通过这一板块,学习者能够更加方便地找到适合自己学习需求的硬件产品,从而更高效地掌握机器人学的知识和技能。总之,“科技好物市场”的推出,将为广大机器人学爱好者提供一个更加便捷、高效的学习平台,让每一位学习者都能够在机器人学的道路上走得更远、更稳。

 

读到这里,我深信在座的每一位都是对机器人和工程学怀有无限热爱的朋友。你们对知识的渴望和对技术的追求,正是我们网站存在并不断发展的核心动力。在此,我再次向你们表示热烈的欢迎!我们的网站是一个专为机器人和工程学爱好者精心打造的交流平台,致力于分享最新的行业动态、技术教程和项目案例,为大家提供一个互相学习、交流和成长的空间。

当然,我们也非常期待与各位有志之士展开合作。如果你对我们的网站感兴趣,或者有任何合作项目想要探讨,欢迎点击这里与我们取得联系。我们期待与你的合作,共同推动机器人和工程学领域的发展。

最后,我要衷心感谢每一位朋友的支持和关注。你们的参与是我们网站不断前进的动力源泉。我们坚信,在大家的共同努力下,我们的网站将成为机器人和工程学领域最具影响力和价值的交流平台。让我们携手并进,共同创造美好的未来!