当液面在圆形的上半部分的时候,由图 2可知,我们可以这样计算液体截面积S:
方法:液体截面积S=红色扇形面积+蓝色三角形ABC的面积
设传感器测得的管道顶部距离液面的距离为dis,已知圆管的半径为r,点C为圆心.
1. 求红色扇形面积:计算思路是这样的,先计算下半圆弧的角度β,根据角度β与全圆角度的比例等于红色扇形的面积相对于全圆面积的比例计算出红色扇形的面积,即:角度β/(2π)=S红色扇形/圆的面积,可知:S红色扇形=角度β/2π*圆的面积,这个就要求求出角度β和圆的面积。
2. 先求角度β。要求出角度β可以先求出角度α,再由公式β=2π-2α得出角度β。
3. 要求角度α,在三角形BCD中可以由三角函数cos(α)=DC/BC=(r-dis)/r得出cos(α),再对其进行反余弦计算α=acos((r-dis)/r)得出角度α,其中acos为C语言中反余弦函数。
4. 那么可知β=2π-2* acos((r-dis)/r),再由S红色扇形=角度β/(2π)*圆的面积,可知:
S红色扇形=(2π-2* acos((r-dis)/r))/(2π)*(π*r*r)=(π-acos((r-dis)/r))*r*r
5. 求蓝色三角形ABC的面积:由公式S三角形ABC=1/2*AB*DC,DC=r-dis是已知的,那么应当先求AB,要求AB,那么应当先求得L,再由AB=2*L得出。
6. 由三角函数r*r=DC*DC+L*L,那么L=sqrt(r*r-DC*DC),其中sqrt为C语言中开根计算函数。
7. 那么S三角形ABC=1/2*AB*DC=1/2*2*L*(r-dis)=L*(r-dis)= sqrt(r*r-(r-dis)* (r-dis))*(r-dis)
8. 最终地:液体截面积S= S红色扇形+S三角形ABC=(π-acos((r-dis)/r))*r*r+ sqrt(r*r-(r-dis)* (r-dis)) *(r-dis)
l 当液面在管道截面圆心以下
由图 3可知,当液面在管道圆心以下时,液体的截面积S=S扇形abc-S三角形abc, ,其中点C为圆心,那么就得先求出扇形ABC的面积和三角形ABC的面积。
1. 求扇形ABC的面积:这里用另外一种方法求扇形的面积,由扇形面积公式S=1/2*Lab*r可知,应当先求出弧长Lab。由比例式:角度ACB/全圆角度=Lab/圆周长可知:Lab=角度ACB/全圆角度*圆周长,要求出弧长Lab,就得先求出角度ACB,而角度ACB=2*α。
2. 角度α可以由三角函数求出:cosα=CD/AC=(dis-r)/r,那么α=acos((dis-r)/r),那么角度ACB=2*α=2* acos((dis-r)/r);
3. 那么Lab=角度ACB/全圆角度*圆周长=(2* acos((dis-r)/r))/(2π)*(2π*r)=2*acos((dis-r)/r)*r
4. 那么S扇形abc=1/2*Lab*r=1/2*2*acos((dis-r)/r)*r*r=acos((dis-r)/r)*r*r;
5. 接着计算S三角形abc:同样地由勾股定理:AD*AD+DC*DC=AC*AC得出,AD=sqrt(r*r-(dis-r)*(dis-r));
6. 那么:S三角形abc=1/2*AB*DC=1/2*(2*AD)*DC=sqrt(r*r-(dis-r)*(dis-r))*(dis-r);
7. 最终地:液体的截面积S=S扇形abc-S三角形abc= acos((dis-r)/r)*r*r- sqrt(r*r-(dis-r)*(dis-r))*(dis-r)。
至此,管道内液体的截面积计算完毕,接着就可以在这个仪表的控制器里面编写程序了,用if语句判断液位与圆心的关系,C语言本身的数学计算能力可以处理三角函数,假如不能,可以列个三角函数-弧度的对应表,用查表法来计算三角函数。业务Q:2531-263-726
更多精彩,欢迎关注微-信-公-众-号:yonkotech