0%

C620电调 + M3508电机

  • 控制电流范围为-16384~16384(-20A~20A),超过该范围电调自动限制
  • 转速存在上限,额定转速为469rpm,空载转速为482rpm(减速后大轴输出,非直接读取到的转速)。换算为转子转速约为9217rpm,以官方麦轮直径计算可知最高车速约为3.7m/s
  • 发送频率最高至1kHz,更高的频率电调无法响应
  • 发送ID为0x700的CAN包(数据段为空)会设置总线上所有的3508电机进入快速设置ID模式
  • 控制流程图(图源自RoboMaster开发板C型嵌入式软件教程文档.pdf
    图片

    在RoboMaster系列电机中,GM6020电机是通过CAN总线控制电机电压,M3508电机是通过CAN总线控制电机电流。故而当M3508电机接收到CAN总线发送的电流设定值后,会通过一套控制算法来保证电机电流恒定
    M3508电机比GM020电机相比,多了电流比较部分,通过一套控制算法调节电机电压,保证电机电流恒定,由于电机扭矩与电机电流成正比,进而控制电机扭矩恒定。M3508在空载启动时,电机负载扭矩较小,即使设定较小的电流控制值,电机也会很快加速,直至电机电压到达最大电压,之后电流逐渐减少,直至最大转速。

GM6020电机

  • 控制电流范围为-30000~30000,超过该范围仍然会输出,但是到达转速上限后电流会被抑制。已知转速存在限制(默认60rpm),需要外接串口修改上限,上限最高为300rpm。超过对应上限输出电压将被抑制

  • 发送频率最高至1kHz,更高的频率无法响应;

  • 发送频率最低约为5Hz,即为在间隔大于约200ms时间内CAN不发送数据时,电调将默认把输出电流置零

  • 输出电压 = 反电动势 + 转矩电压(电机反馈数据) = 转速/转速常数(Ke)+ 转矩电压

  • 控制流程
    图片

    控制带宽

    电机原始角度输出带低通滤波器,其闭环控制传递函数-3dB点<10Hz(1kHz控制频率测试,只有比例环节,kp=10,系统总是稳定)
    图片
    电机原始转速输出无滤波,其闭环控制传递函数-3dB点约为75Hz(1kHz控制频率测试,只有比例环节,kp=30,穿越频率位于79Hz,幅频尖峰出现在约50Hz附近)
    图片
    电机电流环带宽在80Hz~100Hz之间(1kHz控制频率堵转测试,直接输出扫频电压设定值)
    图片

角速度计/陀螺仪误差模型

通常角速度计的真实值可以简单地用以下式子表示

其中A代表了尺度因子误差以及跨轴影响,b代表角速度计的偏置,其中包含了固有零偏,每次上电带来的随机偏差,温度变化带来的零偏。N则代表角速度计采样值的噪声,可以将量化噪声,角度随机游走以及零偏不稳定等归入此项。后两个也是角速度计两个重要的性能指标。

  • 随机游走:角速度中的白噪声成分范围,单位同噪声系数
  • 零偏不稳定性:在一段长时间内静止放置的角速度计可能的变化范围,一般用deg/h

通常情况下,在短时间的积分中影响计算出的角度的误差主要是偏置项,通常校准偏置有以下几种手段:

  • 偏置设为固定值预先校准
  • 上电后静止采样数据获取偏置
  • 标定温飘曲线,即静止时温度与偏置的关系
阅读全文 »

CORDIC(Coordinate Rotation Digital Computer)算法即坐标旋转数字计算,这个算法的神奇之处在于它可以借助加减法、移位以及查表完成常见的超越函数(三角函数,反三角函数,对数,开根号)的计算,而不用多项式展开或者浮点数的计算。

原理

所谓坐标旋转可以理解为在例如直角坐标系下的通过旋转矢量完成求解,对于一个坐标(x,y) 可以由初始(x_0,y_0)通过旋转矩阵得来,即

以计算正弦和余弦为例,CORDIC算法是预先求出(1/2)^n的反正切制成一个表,当我们输入一个预期角度时,通过比较当前角度与预期角度的大小确定旋转的方向d(仅代表正负符号),然后计算

巧妙的一点是,(1/2)^n恰好可以用右移来完成,而cos(theta)则是作为一个缩放因子,在迭代次数固定时也可以累乘预先计算。

这个迭代每次都会查表并且把反正切对应的角度加入当前角度,直到指定的迭代次数。这时计算出的角度应该非常接近对应角度,而旋转出的x_(n+1),y_(n+1)则应该是分别对应经过缩放的正弦值和余弦值。

阅读全文 »

题目

本以为国电选信号失真度测量装置(A 题)题(几乎和之前的校赛一模一样),难度就会大大下降,结果还是要和所有人一起从零开始熟悉MSP430系列,最后测评还出问题了,寄。

题目这里就不贴了,在校赛的基础上改为直接测量外部信号发生器产生的波形,限定使用MSP430系列,电压范围30mV ~ 600mV,基频固定1kHz,失真度误差在5%以内,发挥部分大概就是手机显示波形和测量结果,更宽的电压范围和更小的误差范围以及1kHz ~100kHz基频范围。

思路

看到这里我大概知道只要把输入信号稍微放大,ADC采样后用FFT分析即可,至于变基频无非就是写算法找频谱峰值,宽电压范围有点麻烦,需要做变增益控制,不过这个可以放着,而手机显示外接个蓝牙串口也可以完成。

阅读全文 »

IMU简述

所谓IMU(Inertial Measurement Unit)是指惯性测量单元,利用惯性的变化测量物体加速运动和旋转。其中目前主流的惯性测量器件是MEMS(微机电)传感器,它将用于机械结构缩小至纳米尺度,可测量机器人加速度与旋转角速度。后面讨论的内容应该可以归为捷联式惯导系统(Strapdown Inertial Navigation System),即测量单元直接安装于被测物体上,与平台式惯导系统区别开来。

需要注意的是,IMU或者说六轴(6Dof)传感器讨论的是三轴加速度计和三轴角速度计(俗称陀螺仪),与AHRS(航姿参考系)或者说9轴(9Dof)传感器是有区别的,后者增加了磁力计,以地磁场作为参考。但是在地面机器人运动并且夹杂大量电机磁干扰的情况下,引入微弱的地磁作为绝对航向并不是一个好主意。

原理

阅读全文 »

Easy Crack

IDA从WinMain看起,最后确定在sub_401080为主函数,判断的逻辑如下图

为了更好观察,编辑String为长度16的字符串

判断逻辑为:第一个字符为E,第二个字符为a,第四五个为”5y”,后面的字符串为”R3versing”,最后还原出的字符串为”Ea5yR3versing”

阅读全文 »

Git命令行基础使用

新建仓库并上传

下载命令行的Git(考虑使用镜像?),打开安装

安装目录自己指定,在后面的安装过程中除了改选Override the default branch name for new respositories为main(主要是为了匹配目前Github的主分支)外其他按照默认即可

图片

阅读全文 »

安装

FreeMASTER 下载
下载FreeMaster 2.5版本,安装时记得选择Custom,在插件里面勾选CMSIS-DAP和Jlink的插件,否则后续可能无法使用对应调试器
图片

项目基础配置

打开FreeMASTER,选Project下的Option,在Common选卡里面选Plug-in Module,下拉列表里面选调试器类型。正点原子的无线调试器是CMSIS DAP,Jlink OB就选Jlink。选完后点Configure,按左下角的Test Connection检查调试器是否正常连接。
图片
如果是Jlink的话在Configure窗口里选Core Type为Cortex-M4(STM32F4就是用Cortex-M4的)再Test Connection即可,如果选CPU Type可能会因为是非NXP芯片而被拒绝
图片
配置完调试器后,在Option窗口里面选MAP Files选卡,Default symbol写Keil生成的axf文件的路径,File format选ELF。可以点下面的View检查是否读取到变量的地址
图片
配置完成调试器和axf文件后,在主界面的Project里面选Variables,点New,在弹出来的窗口里的Address里直接输入你想查看的变量名(同代码写法),如果地址非空则说明识别成功,同时不要忘记配置你的变量类型和长度。变量显示的名称可以在Variable里面改。点确定即可
图片
或者可以点Generate在弹出的列表里选择你想要的变量,点Generate Single Variable,或者如果是连续数组元素的话点Generate array for symbol
图片
这些配好的变量可以在接下来的过程里面使用

这里完成配置之后请保存一次项目到工程的文件夹里,以免配置丢失

阅读全文 »

需求

在我们早期调试里,通常用一个如Jlink或者STLink调试器就可以完成功能调试。但是后期比如说要进行参数调节(PID)或者单片机想要报告数据给上位机就有些麻烦,主要遇到的问题是

  • 写死参数的话,改参数再烧录程序费时费力
  • 目前所有的有线调试器都不可能在机器人快速运动的时候调试,最好是有无线的方案
  • 我们没有合适的工具连续采集机器人的数据,包括静止的和运动

可选方案

以前调参数的方法是插着有线调试器在Keil里面开Watch修改变量,显然这样的方法能用但不可靠。于是在网上找了一圈后,解决方案无非以下两种:

阅读全文 »

校电赛结束了,今年校内赛的题目大多都是前年的国电题目,有将近一个月的时间完成。可以拿来练练手,为后面的比赛做准备。下面介绍一下我们的选题以及对应方案。

选题

校电赛选的题目无非几类,传统电源题(做的人非常少),控制题,仪器仪表题以及最近新兴的视觉/智能题。高频/通信题因为知识水平的问题在校赛里不会出现。而我们队的选题是常规的仪器仪表题:放大器非线性失真研究装置。

img

当时选的具体理由不记得了,大概是选了一圈下来可能觉得信号处理的题目相对简单。

阅读全文 »