线性霍尔测量电机角度
使用线性霍尔传感器测量电机角度
相关文章:
线性霍尔传感器测量电机电角度的问题分析 - 道客巴巴 (doc88.com)
相关论文:
基于线性霍尔传感器的直线电机位置检测及控制技术_赵欣涛
基于线性霍尔传感器的直线电机位置检测方法研究_潘顺平
Math相关
atan2函数
描述
C 库函数 double atan2(double y, double x) 返回以弧度表示的 y/x 的反正切。y 和 x 的值的符号决定了正确的象限。
声明
下面是 atan2() 函数的声明。
double atan2(double y, double x)
参数
- x -- 代表 x 轴坐标的浮点值。
- y -- 代表 y 轴坐标的浮点值。
返回值
该函数返回以弧度表示的 y/x 的反正切,弧度区间为 [-pi,+pi]。
\[[
\begin{align*}
x &= r \cdot \cos(\theta) \
y &= r \cdot \sin(\theta)
\end{align*}
]
\]
Clark变换
Clark变换将三相系统(在 abc 坐标系中)的时域分量转换为正交静止坐标系 (αβ) 中的两个分量。
简单来说就是将三相变成两相用于方便计算
相关资料:
Clark变换的几何意义->非常重要
解算方法
利用基变换来实现三相坐标系(abc)到两相正交坐标系(αβ)
已知三相坐标系的相位依次相差120°且αβ为正交坐标系。
将α轴与a轴重叠,将向量a沿着原点O的方向延长做一条辅助线,∠boe和∠coe等于60°。
计算向量b和向量c到α轴的投影长度:
\[be = \sin(∠boe) = \sin(60°) = \frac{\sqrt{3}}{2} \\ ce = -\sin(∠coe) = -\sin(60°) = -\frac{\sqrt{3}}{2}
\]
因为向量c在α轴的下方所以投影为负
计算向量b和向量c到β轴的投影长度:
\[ bg = -\cos(∠boe) = -\cos(60°) = -\frac{1}{2} \\ ch = -\cos(∠coe) = -\cos(60°) = -\frac{1}{2}
\]
因为向量b和向量c在β轴的左侧所以投影为负
组合出基变换矩阵
根据上面的投影可以得到a,b,c三个向量的坐标:向量
\[a=[1, 0]
\]
,向量
\[b=[-\frac{1}{2},\frac{\sqrt{3}}{2}]
\]
,向量
\[c=[-\frac{1}{2},-\frac{\sqrt{3}}{2}]
\]
所以基变换矩阵为:
\[A = \left[ \begin{matrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2}& -\frac{\sqrt{3}}{2} \end{matrix} \right]
\]
坐标转换公式为:
\[\left[ \begin{matrix} i\alpha \\ i\beta \end{matrix} \right] = \left[ \begin{matrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2}& -\frac{\sqrt{3}}{2} \end{matrix} \right] \left[ \begin{matrix} ia \\ ib \\ ic \end{matrix} \right]
\]
\[i\alpha = ia - \frac{1}{2}ib - \frac{1}{2}ic \\ i\beta = \frac{\sqrt{3}}{2}ib - \frac{\sqrt{3}}{2}ic
\]
角度求解方法
适用条件:
两个线性霍尔传感器,分别输出两个正弦波,相位为120度(就是要求两个霍尔电机呈120度放置)
使用Math方法:
Clark变换 -> atan2函数
这里只对一个周期内的角度进行解算(这里4个周期才是360度,即一个周期才90度)
实际输入数据
霍尔电机得到的数据为相位差相差120度的正弦波形
期望输出数据
线性的,连续的,一维的角度数据
思路
- (选用)将120度相位转化为90度相位,再运用atan2解算角度
- 将两个相位进行反三角函数,对折线进行分段函数映射
具体实现
- 将得到的双相ADC数据进行移动和变幅
- ->得到以X轴为中心震荡的振幅为1的单位双相正弦波数据
- 依据调整过的双线正弦波数据得到三相的正弦波数据
- 三相的和应该为0,因此可以得到第三相的数据
- 将三相数据进行Clark变换,得到相位差为90度的两相数据
- 将得到的两相数据扔到atan2中得到角度


浙公网安备 33010602011771号