忍者ブログ
  • 2024.10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 2024.12
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/11/23 20:48 】 |
蒸気機関車におけるピストン・クランク機構のバランシング
モノを往復運動させるにゃ力が必要なり。回転させれば遠心力が働く。クランク振り回すのはハンマー投げと同じこと。そして振動が発生する。普通は振動が発生して良いことなんかひとつも無いので、これをどうにか釣り合わせようとする。そんな話の蒸気機関車版。


1、考え方の把握

Balance01_GeneralView.png足回りの、運動しててアンバランスそうな部分に注目する。各部名称はよろしいでせう。



Balance02_RotationPart.png回転部に注目する。ビッグエンド、クランクと、軸をはさんで反対側についてる錘。これは完全にバランスしてて、遠心力どうしは打ち消しあっている。これがバランシングの基本となる。








Balance03_RoundTripPart.png次にピストン・クロスヘッド・スモールエンドに注目すると、これは往復運動するばっかりなので慣性力がレール方向に生じる。これはほっとけばそのまま振動のネタになるので、バランシングを施す。

慣性力は、はじっこで最大になる。




Balance04_Direction.pngはじっこになったときをの全体を見て、働いてる力の合計を見る。

すると、合計の力と反対向きに錘の遠心力が働いてるので、その分錘を重くすることで、慣性力を100%打ち消してみる。つまり、クランクの遠心力の分から超過させる。



Balance05_FullBalance.png見合うだけ増やしたら、水平はゼロになった。水平方向の振動は無くなった。だがしかし・・・





Balance06_HammerBlow.pngクランクが縦になったときを見てみると、超過ぶんは相手が無いのでそのまま縦方向の力となって軸重を変動させてしまう。これがハンマーブロウである。ようするに、バランシングとは錘を使って往復慣性力が働く方向を90度変えることなんである。



だがしかし、このハンマーブロウは線路を破壊したり、スリップの元になったりと悪いことばかり。さりとて往復部は釣り合わせたい。だから蒸気機関車では、一般的には妥協して33~50%だけ釣り合わせることになる。国鉄では25%しか釣り合わせなかったためレール方向の振動が激しかったんである。

2、計算する
何をやってるかイメージがつかめたところで往復慣性力と超過釣合の計算をする。往復部の変位の取り方は弁装置の項でやった通りにする。図と式を再掲。

Vtth2_6.png
簡単にするため・・・というよりは蒸気機関では一般的な手法として、変位x=-クランク半径R×cos(クランクの進角θ)を用いる。









ここで角運動量ωを確認。1秒間にどんだけの角度を回転するかのことなのだけれど、2π[rad]=360[°]、回転円の周上での速度をV[m/秒]、回転半径r[m]として、回転数n[回転/分]のとき、運動した距離は円周[m]×回転数n[回転/分]=2×π×r×n[m/分]=2×π×r×n[m/60秒]=2×π×r×n÷60[m/秒]より、

  角運動量ω[rad/s]=速度V[m/秒]÷回転半径R[m]
  角運動量ω[rad/s]=2×円周率π×回転数n[回転/分]÷60[秒]

また遠心力は回転してる錘の質量をm[kg]として、

  遠心力f[kg]=質量m[kg]×回転半径r[m]×角運動量ω[rad/秒]^2
  遠心力f[N]=質量m[kg]×回転半径r[m]×角運動量ω[rad/秒]^2÷重力加速度g[m/秒^2]

Balance07_Balancing.pngさて、超過釣合錘の遠心力の作用点はクランクの中心なので、そこから遠心力の矢印を書いて、これを水平と垂直に分解して慣性力と一緒に図示してみる。
慣性力の作用点はクランク軸だけど見にくくなるからごまかすよ(´・ω・)ノ



後ろ死点を起点としてクランクの進角を取ると、右を正とし、

  ピストンの変位x[m]=クランク半径R[m]×cosθ
微分して
  ピストンの速度v[m/秒]=-R×ω×sinθ
微分して
  往復部の加速度α[m/秒^2]=-R×ω^2×cosθ
往復部の質量M[kg]として加速に逆らう力である慣性力F=-α×Mより
  慣性力F=M×R×ω^2×cosθ

遠心力は錘の質量をm[kg]、錘の重心の回転半径をr[m]として、
  遠心力f[kg]=m×r×ω^2
またクランクの進角θ[rad]として
  水平分力fh[kg]=m×r×ω^2×cos(θ+π)=-m×r×ω^2×cosθ
  垂直分力fv[kg]=m×r×ω^2×sin(θ+π)=-m×r×ω^2×sinθ
垂直分力はそのままハンマーブロウとなる。

慣性力と水平分力を合計すると、
  M×R×ω^2×cosθ-m×r×ω^2×cosθ=(M×R-m×r)×ω^2×cosθ

3、まとめ

ということで、超過釣合錘m[kg]の重心の回転半径r[m]、往復部の質量M[kg]、クランク回転半径R[m]、動輪回転数n[回転/分]のとき、

 ハンマーブロウfv[kg]=-m×r×(2×π×n÷60)^2×sinθ
 不釣合力Fub[kg]=(M×R-m×r)×(2×π×n÷60)^2×cosθ
 釣合率ξ[%]=m×r÷(M×R)×100

内燃機関のようにロッドが短い機関を考えるときは、往復部について2θの項まで考えておけば充分である。
PR
【2011/11/13 20:13 】 | 蒸気機関車の機構学 | 有り難いご意見(1) | トラックバック()
大学の学長だろうが関係無し8
こんな記事に書くことでもない気がするんだが、電気鉄道ハンドブックを読んだら東海道新幹線じゃ異状時の抑止解除で一斉に列車が起動・・・だなんてことがないように順次解除してるそうな。そりゃ設備容量云々に関わるんだから当然だわね。1列車で1000Aに制限してるようだし。実効で25kV×1000A×0.85=21250kW(補機込)までってことかいな?500系やN700系を見るに18000kWのようだが。

そして100系はアンペア数で制限が入った旨の記述があったから、270km/h運転断念の理由が一つ増えたってところか。
【2011/11/10 18:05 】 | 新幹線のアンチは考えが足りない | 有り難いご意見(0) | トラックバック()
運転理論2、ある区間における所要時分の計算(仮アップ)
1、走行パターン

均衡速度Vb、当区間への進入速度Vi、次の区間への進出速度Vo(=次の区間のVi)、勾配nが条件として与えられる。しかし、加速しきれなかったり、速度が低下したりで次の区間へVoで進出できるかどうかは分からない。またVoが低ければ、減速しきるためにViが低くなければならない。それら全てのパターンをグラフとして書き出してみると次の通り。

Unten3_1.pngパターン1、これはVi≦Vbのとき。
区間長D、進入速度Vi、進出速度Vd、制限速度Vlを定めたとき、D=Dx=Da+Dbとして加速曲線と減速曲線の交点は下限値条件無しでDa、Dbを用い、
   D=Da(n,Vi,Vx)+Db(n,Vo,Vx)=Da(n,0,Vx)-Da(n,0,Vi)+Db(n,0,Vx)-Db(n,0,Vo)
   D+Da(n,0,Vi)+Db(n,0,Vo)=D(n,0,Vx)+Db(n,0,Vx)=加減速距離に対応するVx
を満たすVxを考える。これはエクセル上ではデータ範囲の値を上限として必ず存在する。次に
   D=Da(n,Vi,Viex)を満たすViex ⇒ D+Da(n,0,Vi)=加速距離に対応する速度=Viex
   D=Db(n,Vo,Vosx)を満たすVosx ⇒ D+Db(n,0,Vo)=減速距離に対応する速度=Vosx
を考えると、Vx、Vl、Viex、Vosxのうち最低値を最高速度Vmとし、(1)を基本とし
   D=加速距離Da+巡航距離Dc+減速距離Db ⇒ Dc=D-Da(n,Vi,Vm)-Db(n,Vo,Vm)
   Tt=Ta(n,Vi,Vm)+(D-Da(n,Vi,Vm)-Db(n,Vo,Vm))/Vm×3600+Tb(n,Vo,Vm)
   Tt=MAX(0,Ta(n , 0→Vm)-Ta(n , 0→Vi))+(D-MAX(0,Da(n , 0→Vm)-Da(n , 0→Vi))-MAX(0,Dd(n , 0→Vm)-Dd(n , 0→Vo))/Vm×3600+MAX(0,Td(n , 0→Vm)-Td(n , 0→Vo))
Vm=Viexのとき次区間のViはViexとなる。Vm=Vosxのとき次区間のVoはVosxとなる。



Unten3_2.pngパターン2、これはVb<Viのとき
減速を開始する速度をVvとすると下限値条件無しでDd、Dbを用い
   D=Dd(n,Vi,Vy)+Db(n,Vo,Vy)=Da(n,0,Vi)-Da(n,0,Vy)+Db(n,0,Vy)-Db(n,0,Vo)
   -D+Da(n,0,Vi)-Db(n,0,Vo)=Da(n,0,Vy)-Db(n,0,Vy)=加減速距離に対応するVy
を満たすVyを取る。次に
   -D+Da(n,0,Vi)=加速距離に対応する速度=Viey
   D+Db(n,0,Vo)=減速距離に対応する速度=Vosy
を考えるが、以上3数はエラーが出るので「Iferror」で回避する。(5)はVo<Vy<Viで、(6)はVy<VoでVieyが次区間のViを規定、(7)はVi<VyでVosyが前区間のVoを規定。以上から(1)を基本として
   Dd(n,Vi,Vb)+Db(n,Vo,Vb)≦Dのとき、Vv=Vb
   D<Dd(n,Vi,Vb)+Db(n,Vo,Vb)でVo<Vv<ViのときVv=Vy
   D<Dd(n,Vi,Vb)+Db(n,Vo,Vb)でViey<VoのときVv=Viey
   D<Dd(n,Vi,Vb)+Db(n,Vo,Vb)でVosy<ViのときVv=Vosy
   として
   D=下降距離Dd+巡航距離Dc+減速距離Db ⇒ Dc=D-Dd(n,Vi,Vv)-Db(n,Vo,Vv)
   Tt=Td(n,Vi,Vv)+(D-Dd(n,Vi,Vv)-Db(n,Vo,Vv))/Vv×3600+Tb(n,Vo,Vv)
   Tt=MAX(0,Ta(n , 0→Vi)-Ta(n , 0→Vv))+(D-MAX(0,Da(n , 0→Vi)-Da(n , 0→Vv))-MAX(0,Dd(n , 0→Vv)-Dd(n , 0→Vo)))/Vv×3600+MAX(0,Td(n , 0→Vv)-Td(n , 0→Vo))
Vv=Vieyのとき次区間のViはVieyとなる。Vm=Vosyのとき次区間のVoはVosyとなる。

2、判断パターン

Unten3_3.pngバカ正直にこれらのパターンを判断しようとするとこんな感じに8段階にごちゃごちゃ判断しなければならないのだが・・・










① 減速のみの区間をVosとViによって判定
  VosはVlとVbとViに関わらず次式で求められる。

  Vos=Lookup(D+Lookup(Vo,速度Table,n減速距離Table),n減速距離Table,速度Table)

 パターン1(8)とパターン2(8)は共にVos<Viのとき無条件で減速のみの区間でかつVosを前区間に渡さなければならないことを示す。当該区間の進入速度Viの上限値としてViに修正をかけると、Vosを直接用いた計算が要らなくなる。

② 減速が無い区間をVoとVieによって判定
  Vbを単純に「MATCH(0,加速度Table,-1)」で求めると、0<加速度を満たす最大速度を返してくる。これはVbが誤差で正しいVbの下に出るためで、絶対値積算グラフで「MATCH(0,加速度Table,-1)+d」Vbを求めることで回避する。よってVieは加速と下降で分け、

  Viex=Min(Lup(D+Lup(Vi,速度T,n加距T),n加距T,速度T),MATCH(0,加速度T,-1))
   Viey=Max(Iferror(Lup(-D+Lup(Vi,速度T,n加距T),n加距T,速度T),0),Match(0,加速度T,-1)+d)

として計算する。「-D+Lup(Vi,速度T,n加距T)」が負の値を取るとき、対応する加速距離は無いのでエラーが出るが、これはつまりVb以下で逆加速を取ってるからなのでVbを取るようにエラーで0が返るようにIFERROR関数を設定しておく。これでVie≦Voを満たしたときに減速が無いことを判定できる。ければならないことを示す。当該区間の進出速度Voの上限値としてVoに修正をかけると、Vieを直接用いた計算が要らなくなる。

③ 前後区間の整合性を取る
 進入速度・進出速度は、区間の前後で停車するなら0にする、当該区間より制限が低かったらその低い制限に合わせる、さらに①②より前の区間のVie、後ろの区間のVosを制限速度の一つと考える・・・の3点について整合性を取ることで最終的な決定を見る。が、区間長に対して加速が鈍いときは隣接区間だけでなくその向こう、それで足りなければそのまた向こうの区間まで考慮しなければならないが、これは繰り返し計算をすることで実現し得る。短い区間があればあるほど、最高速度が高ければ高いほど繰り返しが必要になる。

3、関数を再定義

Da=Max(0,Lookup(V2,速度Table,n加速距離Table)-Lookup(V1,速度Table,n加速距離Table))
Ta=Max(0,Lookup(V2,速度Table,n加速時間Table)-Lookup(V1,速度Table,n加速時間Table))
Dd=Max(0,Lookup(V1,速度Table,n加速距離Table)-Lookup(V2,速度Table,n加速距離Table))
Td=Max(0,Lookup(V1,速度Table,n加速時間Table)-Lookup(V2,速度Table,n加速時間Table))
Db=Max(0,Lookup(V2,速度Table,n減速距離Table)-Lookup(V1,速度Table,n減速距離Table))
Tb=Max(0,Lookup(V2,速度Table,n減速時間Table)-Lookup(V1,速度Table,n減速時間Table))

ということで、改めてこんな関数を定義してみる。DはDistance、つまり走った距離。TはTime、つまり走った時間。小文字は、aは加速、dは均衡速度より高い速度で区間に進入、bは減速の場合。aとdはグラフとしては同じものを使う。前回のエクセルについて、加速曲線を伸ばすと曲線が上に反っていく。これがdの部分。逆に言えば速度が上昇してるときは、そこから先は使えない。使えないから均衡速度Vbを使って判断しなければならない。

IF(Vl<Vb,1,-1) を用いると、Vl、Vbを与えることで同じ加速距離Tableを用いてることからDaとDd、TaとTdを統合でき、

  D=Max(0,IF(Vl<Vb,1,-1)*(Lookup(V2,速度Table,n加速距離Table)-Lookup(V1,速度Table,n加速距離Table)))
  T=Max(0,IF(Vl<Vb,1,-1)*(Lookup(V2,速度Table,n加速時間Table)-Lookup(V1,速度Table,n加速時間Table)))

として統合できる。このときVi、Vo、V、Vl、Vbを定めたときの時間計算式を

  Tt=Max(0,T(n,Vi,V))+(D-Max(0,D(n,Vi,V))-Max(0,Db(n,Vo,V)))/V×3600+Max(0,Tb(n,Vo,V))

と再定義できる。

4、走行パターンの整理統合

2によりパターン1、2にあるような、実際の走行速度とVi、Voが乖離するパターンが無くなるので、そこを判断する必要が無くなる。よってパターン1は(1)に(2)(3)(4)(5)が、(6)に(7)(8)、パターン2は(1)に(2)(3)(4)(5)が、(6)に(7)(8)が収斂し、それぞれ整理してみると、

Vl<Vbのとき、

① パターン1(1)加速、Vlで巡航、減速。(加速距離0、巡航距離0を考慮。)
このときV=Vlで良い。
② パターン1(6)制限まで加速せずに減速。(減速開始速度Vx≒Vlを考慮。)
このとき次式からV=Vxで良い。
  Vx=Lookup(D+Lookup(Vi,速度Table,n加速距離Table)+Lookup(Vo,速度Table,n減速距離Table),n加減速距離xTable,速度Table)

以上二つからV=IF(Vl<Vb,MIN(Vl,Vx),)として2のTtを求める式を用いれば良い。

Vb<Vlのとき
  Dd+Db=Max(0,Lookup(Vi,速度Table,n加速距離Table)-Lookup(Vb,速度Table,n加速距離Table))+Max(0,Lookup(Vb,速度Table,n減速距離Table)-Lookup(Vo,速度Table,n減速距離Table))
  Vy=Lookup(Lookup(Vie,速度Table,n加速距離Table)-Lookup(Vo,速度Table,n減速距離Table),n加減速距離yTable,速度Table)

③ D≦Dd+Dbのとき、パターン2(1)で、V=Vb+dでよい。
④ Dd+Db<Dのとき、パターン2(6)で、V=Vyで良い。ViとVoが修正されているので必ずVo≦Vy≦Viを満たす。

以上二つからV=IF(Vb<=Vl,Max(Vb,Vy),)として2のTtを求める式を用いれば良い。


これらの判定をまとめて、性能曲線や制限速度、ViとVoから所要時間を1区間について算出するエクセルは次の通り。



・・・と思ったら容量制限でござるorz

 
【2011/11/09 06:35 】 | 運転理論 | 有り難いご意見(0) | トラックバック()
弁装置の動きについて3~ラップの付与の意味とエクセル化~
1、ラップの付与

Vtth3_1.png前回までのままだと弁を動かしたとき、給気か排気かしかなく膨張行程が無い。膨張させることで蒸気の熱エネルギーを回転力に変換させてるわけなので、膨張行程を付与する。つまり、弁体を伸ばし、給気ラップ・排気ラップを付与する。









Vtth3_2.png動き度合によって給排気がどう切り替わるかはこのような判定方法を取ることになるが、これじゃ小難しいのでグラフで見てみよう。



Vtth3_3.png見やすさ優先で便宜的にバルブの行程をピストン行程と合わせてみた・・・が、縦グラフだといろいろ微妙なので・・・










Vtth3_4.png横にしてみる。膨張行程は、圧縮行程とバーターになることが一目で理解できる・・・んではないかな?さて、開度の判定方法もわかったことだしということで、このグラフに近いグラフをエクセルに作らせてみる。




2、エクセル化した

http://blog.cnobi.jp/v1/blog/user/8081b41d86f00e289bca187351ddd727/1320784966

Vtth3_5.png




こんなグラフを得る。少々式が怪しいので手直ししたほうがいいかもしれないが、それは今後。滑り子の下げ量をいろいろ変えてみるといいと思う。
【2011/11/09 05:47 】 | 蒸気機関車の弁装置 | 有り難いご意見(0) | トラックバック()
弁装置の動きについて2~弁装置と行程の式化~

1、スティーブンソン式

Vtth2_1.png

前後進と早め動作の両立としては、前進用、後進用の弁装置用クランクピンを設け、リンクと滑り子で切り替える方法がある。ただしクランクピンを複数設けねばならないから、面倒ではある。










2、ワルシャート式

Vtth2_2.png

今度はクランクピン自体は90度遅れの位置のままで早め動作を与えることを考えると、クロスヘッドから動きを取って合併テコで拾ってやれば良い。しかしこれでは切り替えが不能なのだが、前後進で弁装置用クランクピンがちょうど180度反対側であるため・・・


Vtth2_3.png加減リンクを噛ませてラジアスロッド・・・心向棒を上下させて切り替えられるようにする。ついでに弁装置用クランクピンをメインのクランクピンと同じ回転中心になるよう調節するには・・・









Vtth2_4.pngこんなふうにすればいい・・・はずなんだが、どうやら微妙に違うらしい。でもまぁ一応こういうことにしておく。









3、数式化

Vtth2_5.pngまず二項定理の確認。













Vtth2_6.pngそしてクランク運動の数式化。蒸気機関車はたいていロッドが長いので、厳密ささえ求めなければ

x=-Rcosθ

で考えておけばよい。






4、弁装置の運動の数式化

Vtth2_7.pngまずスティーブンソン式。










Vtth2_8.png次にワルシャート式。狙いは同じながら、2種でずいぶん異なる数式を得る・・・ような気はするが・・・結局は一つのサインカーブになる。



 

 
【2011/11/09 04:42 】 | 蒸気機関車の弁装置 | 有り難いご意見(0) | トラックバック()
<<前ページ | ホーム | 次ページ>>