电控组 | 2022暑期学习建议


✦
#1 职能介绍
电控组主要负责机器人的嵌入式软件和硬件开发,包括搭建控制框架,外设驱动,算法设计,机器人调试等工作。其最终目的是保证机器人稳定运行,并实现各种酷炫功能。
✦
#2 你能在电控组学到什么
1.单片机相关应用知识;
2.PID,Kalman,MPC等算法原理及应用;
3. CubeMX,Keil,git,QT等开发软件的使用
4. Simulink,Webots,Vrep等仿真软件的使用。

单片机基础
单片机开发是电控组成员的基本技能。实验室的绝大部分工作内容(包括算法实现和仿真验证)都是依托单片机实现的。从底层原理到上层逻辑,都是每个成员需要牢牢掌握的基本功。因此,若你提前对某款单片机的较为熟悉,或是曾经有过相关项目经历,便能够在电控组的招新中有较大的优势。
✦
#1 学习内容
首先,学习STM32的基础知识,了解单片机的基础概念。如:STM32的时钟系统, STM32的内部组成,定时器的原理,DMA数据传输方式,以及单片机的总线架构等。
其次,使用STM32的开发板进行程序的运行和验证。如:制作一个电子密码锁,实现一个电子日历、电子时钟,制作一台遥控小车。
学习CubeMX和Keil MDK软件的使用,并尝试使用CubeMX生成一个实际能够使用的Keil 工程。
了解各种通信协议的特点、实际通信过程,并实践使用其中的两到三种,如:UART, CANIIC、SPI、USB2.0。
学习使用烧录器,如:使用Jlink烧录,利用Keil的Debug功能进行调试。
✦
#2 学习途径
1.B站搜索STM32,学习单片机的原理及开发技能;
2.上ST官网搜索对应芯片相关说明文档下载阅览;
3.B站搜索Jlink使用教程,学习烧录器的使用。
焊接
✦
#1 学习内容
1.了解贴片和直插式电子物料的焊接方式和技巧;
2.了解芯片的不同封装类型和代号。
✦
#2 学习途径
你可以购买焊接练习板进行焊接练习,也可以上B站学习焊接不同类型物料的基本技巧。
电路基础任务
下图为一电源模块原理图,具备交流转直流、输出电压可调、过流保护的功能。

观察上面的原理图,分析并回答下列问题:
(1)请说明二极管D1,D2,D3,D4的作用。
(2)请说明如何调节输出电压及其调节原理(输出电压计算公式)。
(3)请说明上图电路如何实现过流保护功能。
(4)请说明触发过流保护后如何使电路恢复到正常状态。
(5)分析思考本题中对于三极管的使用与第3题中有何区别。
硬件设计任务
(1)根据以下原理图,绘制PCB。

要求:手动布线,阻容元件均使用0603封装,C1,C2使用10uF/0603/10V(立创商城物料编号C19702)贴片电容,Q1,Q2替换为SS8050。
问题:当两个LED灯色一致,三极管参数一致,R3=R1,R4=R2时,闪烁周期T=R1*C1*In2≈0.7*R1*C1。但是做出来以后,会发现实际振荡周期与计算不符。请问实际相比计算是偏大还是偏小?原因是什么?
(2)设计一块最小系统板,使用AD20软件完成原理图和pcb以及其封装库,多尝试几次,将板子的面积不断缩小,体会前期布局以及走线规划的重要性。
操作系统
RTOS(实时操作系统)是单片机上应用最广泛的操作系统,它会按照排序运行、管理系统资源,并为开发应用程序提供一致的基础。机器人实验室使用的RTOS是FreeRTOS,一款开源免费使用的、易于在嵌入式系统上面移植开发的实时操作系统。
✦
#1 学习内容
1.学习FreeRTOS的基本概念和原理如:任务、队列、信号量的概念,任务的优先级,操作系统的作用,实现多任务的原理。
2.实际使用FreeRTOS运行代码。完成手动移FreeRTOS, 或直接使用CubeMX生成部署上FreeRTOS的Keil工程。创建多个任务并同时运行。多个任务之间使用队列进行通信。
✦
#2 学习途径
你可以在B站搜索FreeRTOS寻找相关视频教程,也可以购买第三方教程文档资料,跟着上面的篇章学习。

拓展学习-仿真工具
✦
#1 Simulink
Simulink是MATLAB中的一种可视化仿真工具。它是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成,以及嵌入式系统的连续测试和验证。
在机器人实验室中,我们常用Simulink进行控制算法的仿真,参数整定,以及响应曲线的绘制。
学习内容
1.学习基础模块库中的模块使用方法;
2.设计和搭建PID控制器的仿真模型。
参考链接
https://ww2.mathworks.cn/products/simulink.html
https://blog.csdn.net/weixin_45728705/article/details/120122303
✦
#2 Webots
Webots是一款开源的多平台机器人仿真软件,其仿真频率最高可以达到1000Hz,为机器人的建模、编程和仿真提供了完整的开发环境。尤其是对于移动机器人的仿真, Webots的表现尤为突出。
在机器人实验室中,Webots主要用于四足机器人、机械臂的仿真。它加快了机器人的研发速度,降低了测试成本。
学习内容
1.学习仿真环境的搭建,如模型导入,模型参数配置,仿真参数配置等;
2.搭建简易的小车模型,编写控制器,控制小车的运动速度。
✦
#3 Vrep
Vrep是具有集成开发环境的机器人模拟器,基于分布式控制架构:每个对象/模型可以通过嵌入式脚本、插件、ROS或BlueZero节点、远程API客户端或定制解决方案进行单独控制。这使得Vrep 非常通用,非常适合多机器人应用。
在机器人实验室中,Vrep主要用于步兵机器人,英雄机器人,哨兵机器人等RoboMaster比赛机器人兵种的仿真,对机器人的进一步迭代方向具有指导意义。
学习内容
1.学习仿真环境的搭建,如模型导入。模型参数配置,仿真 参数配置等;
2.使用Vrep中任意内置机器人模型,编写Lua控制器,控制其简单运动,如控制小车前进后退。
拓展学习-ROS
ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。
ROS设计者将ROS表述为“ROS=Plumbing+Tools+Capabilities+Ecosvstem”,即ROS是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体。
ROS的架构为分布式节点,即将整个机器人系统内部划分为多个相互独立,而又可以相互通信的节点。这样子的架构可以很方便地进行外设拓展以及应用迁移。

学习内容
1学习ROS中的Publisher-Subscriber模型和Client-Server模 型;
2.使用任意通信模型,控制Demo--小海龟的运动。
参考链接
https://www.ros.org/
https://www.quyuehome.com/

小贴士
以上学习内容中,单片机相关内容建议都进行学习了解,有能力的同学最好能够购买核心板或者开发板进行响应的功能实现。此部分为学习重点,面试时也会重点考核。
掌握此部分知识后,同学们可以挑选拓展学习中感兴趣的内容进行学习。由于时间有限,选择其中一个部分进行学习即可。如有余力,再学其他。此部分内容主要用于挖掘同学们的兴趣点,面试中欢迎大家展示学习成果,但不计入考核分数。如入队,也可根据此更好地安排学习和分工。
实践是检验理论的一个重要手段,面试的时候会考核大家实践任务的完成情况以及提前学习内容的掌握情况,大家一定要用心完成,不能只是一股脑背题库哦。
面试时请携带能够代表个人水平的比赛作品或展示小任务的完成情况,详情请见后续招新咨询qq群通知~


竞赛组&项目组分流须知
实验室的技术开发分两个大组——竞赛组和项目组,每个大组下分设电控组,机械组与视觉组。竞赛组主要参与RoboMaster机甲大师赛,而项目组主要参加华为嵌入式大赛、ROBOCON、全国大学生机械创新设计大赛等团队规模相对较小的比赛。
加入竞赛组,可以感受到大型团队里协作配合的氛围,并且基于较为完善的培养体系,能够系统地学习和掌握开发机器人所需的知识。同时会负责从零到一开发机器人,并在机器人交流和对抗中,不断迭代和完善机器人,成为一名追求极致的工程师。
相比于竞赛组,项目组更注重理论的探索和学习,因此仿真的运用会更加频繁和必要。因为参加的比赛规模较小,并且比赛规则每年变动较大,因此队员开发的自由度较大,更加考验队员的创新能力,以及设计的鲁棒性。
两大组别在机械、电控、视觉三个方面的学习和考核要求一致。在前期,两大组的新队员会统一培训培养,后期则会按照报名和面试结果进行分流。
文案 / 电控组
美工 / 胡钰滢
编辑 / 赵茹涵
审核 / 徐心卓





阅读 2149