RoboMasterA型开发板是大疆DJI推出的一款面向机器人的开源主控,MCU为STM32F427IIH6,可搭配DJI飞控SDK使用。
先熟悉一下整块开发板的接口:
可以看到,开发板配有丰富的通信接口。电源电压接口较多,如2、15、20、21、24、25和26,使用时应该注意。无人机涉及的接口主要包括有2.可控电源输出接口、8.PWM×8、15.3.3V电源输出接口、16.UART、23.PWM、24.电源输入接口。
考虑到电源部分的重要性和开发板的电源接口多,先熟悉电源部分。
24V电源接入接口24(电源输入接口),开发板有保护电路以及缓启动部分。电压用途包括
①最大
20V
的电源输出;
②经LM25116降压稳压器后输出
12V@10A
的用于给TX30摩擦轮供电或者再经MP2233整流降压后输出
3.3V@3A
的电压;
③经TPS54540芯片降压输出
5V@5A
,作用是对2×8路
PWM
供电;
④经TPS54540DC-DC芯片降压输出
5V@2A
,作用是对
5V通讯接口
如CAN、串口供电;
⑤经MP2456GJ降压芯片后输出
5V@500mA
电压,给
DBUS、BUZZER
供电,或者再经LP5907MFX线性稳压器输出
3.3V@250mA
电压为
MCU、IMU
供电
这半年有幸得到了一些资金支持,决定尝试用大疆的配件做一些有意义的东西。但是真正开始使用的时候却遇到了很多问题,大疆的产品从硬件到软件方面都有很多让人迷惑的行为,而同时网上的参考资料也很少,这些都让我在前期使用的时候摸不着头脑。后期虽然这些问题都得到了解决,但也浪费了大量时间。于是打算把我们使用的经历和相关代码做一个分享,以便后续其他人的使用。如有错误,希望指正。
一. 硬件部分介绍:
这里我使用的是大疆提供的
A型
开发板
,使用大疆产品有个缺点便是大疆的接口都是配套产品而非通用产品,一旦使用了大疆的产
通讯方式按照不同的分类标准可以分为有线通讯和无线通讯、串行通讯和并行通讯、同步通讯和异步通讯。
串行通讯发送的数据是一帧一帧依次发送,并行通讯是多帧数据同时发送;
同步通讯指通讯时接受和发送是同时进行的(打电话),异步不是同时进行(发邮件)。
通讯中有两个重要的概念,通讯帧和通讯协议。
通讯帧是通讯信息最小单元,其中一般包含起始位、数据位、校验位和停止位。某些通讯方式如CAN总线还有标识位。
通讯协议的作用是规定数据帧的格式,使通讯双方能够识别,解析信息。在
学习
阶段,可以不用了解通讯协议的为什么,
当我们拿到A
板
接电后测量一下电压会发现,
板
子上这四个电源输出接口的输出电压是0,但是我们需要的是24V,需要怎么做?
首先要明白为什接电后电压为0:
这个答案在A
板
的用户手册里面,我将截图放在下面。
从表格说明里面可以看出,该电源输出接口是使用程序开启的,如果程序里面没有写“开启代码”,这四个接口的输出电压就是0。在用户手册后面也有交代。
Robo
master
官方提供了一系列性能强大的直流无刷减速电机及配套电调,这里介绍三款步兵上用的电机&电调——M3508电机&C620电调,GM6020电机(内部集成电调),M2006&C610电调。这些电调的手册,与驱动demo等可以上官网下载:
Robo
Master
产品 配件 / 通用产品。
这里以M2006动力系统DEMO程序源码为例解释代码,代码上官网下载:M2006 动力系统 (
robo
master
.com)
一、关于CAN
代码开源 第二十一届
Robo
Master
机甲大师竞赛Ares战队 空中机器人六轴无人机云台 程序框架
项目希望探索出,能够给
Robo
Master
比赛中的所有机器人都能使用的一套代码架构,即不同的机器人仅需要修改程序中的结构体和控制器即可复用。因此在设计程序架构时,尽量提高了代码的复用性,并将函数模块化和参数化。
对于很多朋友来说,资料的拷贝似乎很容易,但是拿到一份程序后,如何debug却是一件头疼的事情。本资料分享的是
robo
master
步兵车主控程序及debug经验分享,邀请了6位小伙伴参与我们的主控程序提前DEBUG的活动!他们试用完后,撰写了试用报告,给了大家很多有用的建议!
robo
master
步兵车主控程序截图:
debug经验分享截图,具体查看其链接:
可能感兴趣的项目设计:
robo
master
步兵车底盘3D图纸 无私奉献
开发板
A型
芯片资料,遥控器用户手册,DBUS接口说明,DBUS参数,配置STM32CubeMX,时钟树配置,USART通信接口,Asynchronous(异步通信),配置DMA(直接存储器访问),常规配置及生成代码,配置工程文件(keil5MDK),声明数据结构体和缓存数组,Debug在线调试,ST-Link引脚图,如果对你有帮助,谢谢你的点赞支持!
motor.h:
***************************************(C) COPYRIGHT 2021 CSS***************************************
* @file motor.h
* @brief this file contains the common defines and funct
这里以博世传感器公司产出的BMI088型号的IMU为例,其里面有3轴高精度加速度计和3轴高精度陀螺仪,其他的特性不再介绍同时这里的IMU是安装在大疆公司出产的
Robo
Master
开发板
C型,
单片机
芯片是STM32F407IGH6,其外围电路已经设计好,只需要读取IMU数据即可。本篇不会介绍SPI、I2C等嵌入式通信协议,需要有一定嵌入式开发基础的同学来看文章末附代码。