这个例子展示了如何建模的运动汽车活塞通过使用MATLAB®和符号数学工具箱™。
定义的运动汽车活塞和活塞运动创建动画模型。
下面的图显示了模型的汽车活塞。活塞的移动部件由连杆(红线),活塞曲柄(绿线)和活塞式液压缸头(灰色矩形)。
描述活塞通过定义的属性参数:
气缸行程长度
活塞内径
连杆的长度
曲柄半径
曲柄角度
定义的坐标系统的起源O曲轴位置。标签之间最近的距离活塞头和曲轴位置下死点(BDC)。下死点的高度 。标签之间的最远距离活塞头和曲轴位置上死点(TDC)。TDC的高度 。
下图是一个曲柄和连杆的示意图。
活塞的高度相对于原点
活塞高度定义为符号函数使用<一个href="//www.tatmou.com/au/au/help/symbolic/syms.html" class="a">信谊
函数。
信谊pistHeight (L,θ)pistHeight (L,θ)= a * cosθ+√(L ^ a ^ 2 * sin(θ)^ 2);
假设连杆长度
曲柄半径
。情节活塞高度作为曲柄角度的函数区间内的一个革命(0 2 *π)
。
fplot (pistHeight(150、50、θ),[0 2 *π])包含(“曲柄角(rad)”)ylabel (的高度(毫米))
活塞TDC活塞时最高主管和曲柄角度0
或2 *π
。活塞头最低当活塞下死点和曲柄角π
。
你也可以画出活塞高度不同的值
和
。创建一个表面的情节活塞高度利用<一个href="//www.tatmou.com/au/au/help/symbolic/fsurf.html" class="a">fsurf
函数。显示时间间隔内的活塞高度
和
。
fsurf (pistHeight(150年,θ),[30 60 0 2 *π])包含(曲柄半径(mm)的)ylabel (“曲柄角(rad)”)zlabel (的高度(毫米))
燃烧室的长度等于TDC位置和活塞高度之间的差异。活塞式液压缸的体积可以表示为 。
活塞体积定义为符号函数和替代的表达式
与pistHeight
。
信谊pistVol (L,θ,B)pistVol (L,θ,B) =π* (B / 2) ^ 2 * (L + a-pistHeight)
pistVol (L, a,θ,B) =
接下来,定义以下参数的值:
连杆的长度
曲柄半径
孔直径
情节活塞体积作为一个革命曲柄角的函数在区间内(0 2 *π)
。
fplot (pistVol(150年,50岁,θ,86),[0 2 *π])包含(“曲柄角(rad)”)ylabel (“体积(mm ^ 3)”)
活塞体积是最小的,当活塞上死点和曲柄角0
或2 *π
。活塞体积最大,当活塞下死点和曲柄角π
。
假定曲柄旋转30 rpm第一3秒,然后从30到80 rpm稳步增加在接下来的4秒,然后维持在80 rpm。
定义了角速度作为时间的函数使用<一个href="//www.tatmou.com/au/au/help/symbolic/piecewise.html" class="a">分段
函数。乘以角速度
将转速从rpm rad /秒。
信谊t0trpmConv = 2 *π/ 60;angVel (t0) =分段(t0 < = 3, 30日t0 > 3 & t0 < = 7, 30 + 50/4 * (t0-3)、t0 > 7, 80) * rpmConv
angVel (t0) =
计算曲柄角通过集成使用的角速度<一个href="//www.tatmou.com/au/au/help/symbolic/sym.int.html" class="a">int
函数。假设的初始曲柄角
。计算积分的角速度0
来t
。
angPos (t) = int (angVel t0 0, t);
发现活塞高度作为时间的函数替换表达式angPos
曲柄角。
H (t) = pistHeight (150、50、angPos)
H (t) =
情节活塞高度作为时间的函数。注意,活塞的振荡3和7秒之间高度变得更快。
fplot (H (t) 10[0])包含(的时间(秒))ylabel (的高度(毫米))
创建一个动画的活塞移动角速率的变化。
首先,创建一个新的数字。情节的汽缸壁固定位置。设置x设在和y设在长度相等。
图;情节(-43 [-43],[210],“k”,“线宽”,3)在;情节([43 43],[210],“k”,“线宽”3)图(43 [-43],[210 - 210],“k”,“线宽”3)轴平等的;
接下来,创建一个定格动画对象活塞头的使用<一个href="//www.tatmou.com/au/au/help/symbolic/fanimator.html" class="a">fanimator
函数。默认情况下,fanimator
创建一个动画对象通过生成10帧/单位时间内的范围t
从0到10。模型的活塞头一个矩形10毫米的厚度和可变高度H (t)
。通过使用阴谋活塞头<一个href="//www.tatmou.com/au/au/help/matlab/ref/rectangle.html" class="a">矩形
函数。
fanimator (@rectangle“位置”,86 10][-43 H (t),“FaceColor”(0.8 0.8 0.8))
添加动画对象的连杆和活塞曲柄。添加一块文本计算运行时间。
fanimator (@ (t)情节([0 50 *罪(angPos (t)], [H (t) 50 * cos (angPos (t))),的r -,“线宽”3))fanimator (@ (t)情节([0 50 *罪(angPos (t)], [0 50 * cos (angPos (t))),“g -”,“线宽”3))fanimator (@ (t)文本(-25225年计时器:“+ num2str (t, 2)));持有从;
使用命令<一个href="//www.tatmou.com/au/au/help/symbolic/playanimation.html" class="a">那里
播放动画的活塞移动。