基于STM32或者GD32平台配合IMU6887陀螺仪智造的小米类型骑行平衡车
引言:
近些年来随着微传感器Sensor的进步,运用陀螺仪技术读取物体姿态的产品应用而生,搭配先进的ARM系列单片机,使得算法能及时跟踪物体变化的姿态,再驱动传动机构电机便能实现体感控制器。
陀螺仪:
其本身输出的是角速度和加速度数据,物理上我们可以通过公式运用这两个参数很容易的得到角度值,但物体静止时可以使用简单的公式便能得到角度,一旦物体运动时,得到的角度变差之毫厘谬以千里;因此我们有了常规的两种姿态解算算法即1.四元素法和2.卡尔曼滤波算法,这两种算法是现如今运动类产品里使用最多的;
姿态解析算法对比:
两种算法各有优缺点,简而言之,四元素法因为采用浮点运算所以对平台要求高,72MHZ主频的ARM平台系列单片机运算一次可以得到pitch yaw roll三个方向的角度,所需时间约0.8mS,但卡尔曼滤波算法只能得到一个或者两个方向的角度,耗时约0.3mS;相同的算法如果放在8位的单片机上运行,则四元素法需要约2.5mS,卡尔曼需要约1mS.
平台运算速度要求
首先讲下电机的响应到力矩的产生过程,无刷电机动力来源于三相电流,换相来源于霍尔采样,这样一个单纯的采集到电机输出一个力矩,需要耗时约T0=2mS,这里所说的无刷控制是空间矢量控制法即FOC。
再回到单片机运算速度上,通常读取陀螺仪采用I2C法,频率调到400KHZ,读取三个轴方向的角度和加速度耗时约0.2ms,这时将得到的