1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【Robomaster】电控入门手册

【Robomaster】电控入门手册

时间:2021-05-15 08:38:59

相关推荐

【Robomaster】电控入门手册

文章目录

0 电控介绍0.1 电控学习内容0.2 物资准备1 C语言学习1.1 学习资料1.2 学习规划1.2.1 基础1.2.2 函数1.2.3 数组1.2.4 进阶2 Arduino培养方案2.1 Arduino简介2.2 学习资料2.3 学习规划2.3.1 点灯2.3.2 中断2.3.3 PWM/模拟输入2.3.4 串口通讯3 STM32培养方案3.1 STM32简介3.2 学习资料3.3 安装教程3.3.1 CubeMX3.3.2 Keil MDK53.4 学习规划3.4.1 点灯/中断3.4.2 定时器/PWM3.4.3 串口通讯3.4.4 (拓展)I2C3.4.5 (拓展)SPI3.4.6 (拓展)CAN4 (拓展)RM电控入门

0 电控介绍

0.1 电控学习内容

电控组主要负责的是机器人的控制,包括嵌入式开发、通信、电机选型与驱动以及控制算法等。目前我队主要使用的主控芯片型号是STM32F4系列,编程语言为C,硬件外设为HAL库。

0.2 物资准备

预备物资:

可以自行购买,薪火培训时也会发放。

1 C语言学习

1.1 学习资料

C语言是理工科的大学必修课,也是电控方向的基础,因为目前C语言是基于单片机的嵌入式开发的主要语言。

IDE:Dev C++(仅作C/C++学习使用,后期开发会更换IDE)。

慕课链接

/learn/249

博客链接

/qq_23079443/article/details/81108901

以上给出的博客是和慕课配套的,我们在”1.2 学习规划“中,对整篇博客进行了参考性的分解,每一个Step大约可用3天完成,按照计划同步学习慕课和博客,完成相关练习,C语言的基础入门就差不多完成了。

补充资料:强烈推荐浙江大学翁恺老师的《C语言程序设计》和《C语言程序设计进阶》,讲解清晰细致,习题量和难度也适中,在中国大学mooc、网易云课堂等主流中文mooc网站均能找到。

1.2 学习规划

1.2.1 基础
C语言概览。重点看规范文档,掌握各种语句数据类型(第1~2章)。了解各种运算符(第3章)。学习顺序、选择、循环3种基本程序结构,掌握if-else、for、while、do-while、switch-case、break、continue等语句的用法,goto有所了解即可(第4章)。
1.2.2 函数
自创函数+参数类型+返回值(5.1~5.6章节)。局部与全局变量+变量存储类型+递归函数+内外部函数(5.7~5.13章节)。多做练习,熟练使用函数简化程序,降低模块耦合度。
1.2.3 数组
学习遍历数组并实现简单应用(6.1~6.5章节)。字符串与数组处理(6.6~6.8章节)。多维数组应用和练习(6.9~6.12章节)。
1.2.4 进阶
了解指针及其应用。了解结构体、链表等结构。如有余力,可以学习一点点数据结构与算法

2 Arduino培养方案

2.1 Arduino简介

Arduino是一款便捷灵活、方便上手的开源电子原型平台。有同名的开发环境Arduino,库函数丰富且实用,不必完全了解原理也可以快速上手做项目,非常适合新手入门单片机。我们希望通过短期的教程,让大家掌握点灯、流水灯、呼吸灯、模拟输入、中断、串口通信等基本操作,以及PWM等基本原理,体验开发过程。

2.2 学习资料

本方案”2.3 学习规划“中主要使用/circuit/2937#/details这套Arduino入门教程,目录如下图所示。

补充资料

w3cschoo的arduino教程,文档风格的目录,博客风格的叙述,合适入门:/arduino/Arduino中文社区:/forum.phpCSDN,中文IT技术社区,干货不少,不仅仅是arduino,遇到各种技术问题都可以试着搜索一下:/ 与非网:/?utm_campaign=dianzixinxigang&utm_medium=navi&utm_source=cirmall&utm_content=eefocus&utm_term=eefocus百度、谷歌、b站(视频教程)、有道词典(看文档/代码时查单词)等工具,熟练使用搜索引擎是非常重要的技能。

2.3 学习规划

以下每个模块大约用3天时间可以完成,主要参考”2.2 学习资料“中给出的《Arduino入门教程》。

2.3.1 点灯
安装软件。阅读以下材料,了解基础知识。

Arduino 菜鸟通俗版解读系列(1)数字接口/模拟接口

/p/839e8f58335c

Arduino菜鸟通俗版解读系列(2)数字接口/模拟接口

/p/db31d92689af

Arduino菜鸟通俗版解读系列(3)库

/p/9ea91a63181f

《Arduino程序设计基础》函数参考文档(简要浏览即可,不需要完全记住)

/?file=home-首页

Arduino各开发板的比较

/thread-42417-1-1.html阅读《Arduino入门教程》中的(1)~(3)篇,并完成这3个实验。

2.3.2 中断
按键开关控制:阅读《Arduino入门教程(4)》,完成互动交通信号灯。体验外部中断:阅读博客《各种Arduino外部中断程序》,链接为/qq_35576988/article/details/55001384,并完成博客中的示例。体验定时器中断:阅读博客《Arduino定时器中断 外部中断》,链接为/qq_39591322/article/details/89155079。
2.3.3 PWM/模拟输入
体验PWM:阅读《Arduino入门教程(5)》,完成呼吸灯实验。了解PWM原理:阅读以下博客。

Arduino笔记3·PWM的原理和效果

/3137.html

Arduino系列教程之 – PWM的秘密

/xuanyuanlei1020/article/details/49902779 学习模拟输入:阅读以下资料,并按步骤完成实验。

Arduino笔记2:模拟信号输入及实例(关于SerialChart的部分可以不看)

/3049.html

Arduino内置教程-模拟-模拟输入(原理图不作要求/archives/07/336.html)

2.3.4 串口通讯
阅读以下材料并完成实验,了解一些关于通信的基础知识。

Arduino基础入门篇23—串口通讯

/TonyIOT/article/details/82848062

Arduino菜鸟通俗版解读系列(4)串口通信—USART

/p/28ad2e68d7be

Arduino菜鸟通俗版解读系列(7)串行通信,串口通信,波特率

/p/d805edf60815

3 STM32培养方案

3.1 STM32简介

STM32是加入机器人队后主要使用的开发板,它拥有比Arduino更强大的性能。STM32的学习是本次培训计划的重点和难点,之前C语言和Arduino的学习即是为STM32的学习作铺垫。

3.2 学习资料

前期主要依靠”微雪课堂“、洋桃视频等,后期更多依赖开发手册和CSDN论坛。

微雪课堂STM32CubeMX系列教程:

/study/article-629-1.html

洋桃电子:

/video/BV1MW411q7Jn?from=search&seid=8564727660527860260

硬石开发手册:

/download/weixin_45839498/12350816?utm_source=bbsseo

补充资料:b站搜索正点原子、野火的stm32视频教程。

3.3 安装教程

3.3.1 CubeMX

我们会先用CubeMX生成基础的工程,并在此基础上编写自己的代码。CubeMX安装教程可查看链接:/ybhuangfugui/article/details/52225736

3.3.2 Keil MDK5

请按如下顺序安装:

安装MDK-523.exe安装Keil.STM32F1xx_DFP.1.1.0.pack和Keil.STM32F4xx_DFP.2.12.0.pack使用破解机破解keil安装STLINK驱动安装JLINK驱动(即文件Setup_JLink_V496.exe)

3.4 学习规划

以下每个模块大约可用3天时间完成。

3.4.1 点灯/中断
阅读以下内容,学习嵌入式开发所需的c语言基础。

关于嵌入式开发的C语言基础总结

/m0_37697335/article/details/79515389

洋桃视频前6步,链接在”3.2 学习资料“中给出。点亮第一盏灯,可参考以下视频(视频来源于某位不愿透露姓名的dalao扬神)。

/video/av26331717体验按键的外部中断:

(1)基础任务:使用按键的外部中断控制LED灯,使得按一下按键/huazhen1234/article/details/44985071LED灯亮灭3次;

(2)进阶任务:在面包板和LED灯的外设下,做一个依次亮灭的流水灯。

可参考以下资料:

微雪课堂的GPIO和外部中断篇(重点看CubeMX的配置和生成代码,对于优先级、寄存器参数、汇编底层可以只有个大概的了解,链接在”3.2 学习资料“中给出)

硬石开发手册(浏览相关内容即可)

3.4.2 定时器/PWM
阅读微雪课堂的基本定时器篇,并按步骤完成实验,通过定时器中断控制LED灯闪烁,间隔1s。硬件生成PWM呼吸灯:

(1)基础任务:使LED灯每3秒呼吸一次;

(2)进阶任务:完成依次亮灭的流水灯,但以呼吸灯的形式亮灭。

可参考以下资料:

微雪课堂的PWM篇(重点看配置和代码)

扬神的示例视频

/video/av29353267/?p=2

补充资料:定时器模拟产生PWM也可以实现呼吸灯,可参考下面这篇博客。

STM32学习笔记一(LED,跑马灯,呼吸灯)/huazhen1234/article/details/44985071

3.4.3 串口通讯
了解串口通信,利用之前的按键中断发送中断信号,并将收到的信息通过串口发送给电脑,可参考以下资料。

STM32 USART同步异步串行通讯

/view/5cc4dc75e87101f69e3195f1.html?tdsourcetag=s_pcqq_aiomsg&qq-pf-to=pcqq.c2c

微雪课堂的串行通信篇(按照教程操作即可,主要熟悉串口的发送接收函数,以及中断函数)

3.4.4 (拓展)I2C
了解STM32 io口模式。

STM328种IO口模式区别

/li707414287/article/details/104579505了解I2C通讯协议。

I2C通讯协议介绍

/weixin_34044273/article/details/92024131直观上了解读写流程。

I2C总线和SPI总线

/u010667082/article/details/47039951I2C不但可以用硬件生成,也可以用软件模拟。尝试用I2C读取MPU6050的数据,并利用串口将数据发送给电脑,可参考以下资料:

微雪课堂的I2C篇(硬件生成参考)

IIC协议解释(软件模拟参考)

/cheerk/article/details/80542332

STM32 IO口模拟I2C+驱动MPU6050

/Zach_z/article/details/75331275

3.4.5 (拓展)SPI
可参考微雪课堂、开发手册,以及以下博客。

【STM32】SPI的基本原理、库函数(SPI一般步骤)

/qq_38410730/article/details/80318821

STM32—cubeMX+HAL库的SPI接口使用

/u014470361/article/details/79015712

3.4.6 (拓展)CAN
可参考微雪课堂、开发手册,以及以下博客。

CAN通信详解

/hanchaoman/article/details/70059072

stm32的can总线理解及应用——程序对应stm32f103系列

/qq_29413829/article/details/53230716

使用STM32F103做CAN的收发通信

/qq_36355662/article/details/80607453

STM32 CAN总线说明

/windows260/article/details/51138072

CAN通讯总结-基于STM32

/u010183728/article/details/80857127

STM32 CAN 过滤器、滤波屏蔽器配置总结

/u012587637/article/details/52032630

4 (拓展)RM电控入门

可参考扬神的Robomaster电控入门系列博客。

/sasasatori/p/1158.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。