形状記憶合金 (SMA) の宇宙アクチュエータ応用 — マルテンサイト変態と展開機構

太陽電池パドルの展開機構を設計するとき、伝統的に使われてきたのはバネと火工品ピンプラーの組み合わせです。発射時はピンで畳んだまま固定し、軌道上では火薬で爆破してピンを抜き、バネで一気に開く——シンプルですがいくつも問題があります。火工品は1回切りで再展開できないこと、爆発の衝撃が他のサブシステム(とくに光学センサ)を傷めること、機構部品が多くなり信頼性が下がること。「もしも開かなかったら」が衛星寿命を直接決めてしまう、非常に神経を使うポイントなのです。

ここに 形状記憶合金(Shape Memory Alloy, SMA) を使うとどうなるでしょう。SMAは、低温で塑性変形させたあとに加熱するだけで、もとの形にスルリと戻る不思議な金属です。展開機構なら「冷えた状態で折り畳んでおき、軌道上で電流を流して加熱する」だけで、無音・無バックラッシで構造が展開していきます。火工品の衝撃も、バネの座屈も要らない。実際、Hubble宇宙望遠鏡の軌道上修理ミッション(Hallite機構)、Skybox/Planetの小型衛星アンテナ、ISSの軌道上実験など、形状記憶合金は宇宙アクチュエータとして着実に応用が広がっています。

しかし、なぜそんなことが可能なのでしょう?金属が「形を覚えている」とは、いったいどんな物理現象なのか。本記事では、SMAの根本である マルテンサイト変態 という結晶構造の相転移から出発して、形状記憶効果と疑似弾性の二つの現象を物理的に整理します。さらに代表的合金(NiTi、CuAlNi、Fe-Mn-Si)の特性、応力ーひずみー温度の3次元相図、Brinson/Tanakaモデルによる構成則を導きます。最後にPythonでヒステリシスループと宇宙環境(150 K日陰/350 K日向)での駆動応答をシミュレーションし、実際の設計感覚をつかみます。

本記事の内容

  • マルテンサイト変態の結晶学(オーステナイト⇄マルテンサイト、双晶、B19’相)
  • 形状記憶効果と疑似弾性(超弾性)の物理メカニズム
  • 応力ーひずみー温度の3次元相図とヒステリシスループ
  • 代表合金(NiTi、CuAlNi、Fe-Mn-Si)の物性比較
  • Brinsonモデル/Tanakaモデルによる構成則
  • 宇宙アクチュエータ応用(太陽電池パドル、アンテナ、デブリ捕獲アーム、ヒンジ)
  • Pythonで応力ーひずみー温度ループ、駆動温度プロファイル応答、宇宙環境性能評価

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

なぜ「形を覚える」金属が存在するのか

普通の金属を曲げると、その曲げは塑性変形として残ります。アルミの空き缶を凹ませても、加熱して放っておけば元に戻る、なんてことは起きません。なぜなら塑性変形は 転位(dislocation) という結晶欠陥の移動によって起こるため、加熱しても転位が消えるわけではないからです。

ところが形状記憶合金は違います。ここで起きている「変形」は転位ではなく、結晶構造そのものの相転移 によるものです。つまり原子の並び方(結晶相)が変わっただけで、原子の隣同士の関係は破られていません。だからこそ、温度を変えると元の並び方に戻ることができる——そういう物質が形状記憶合金なのです。

具体的には、高温では立方晶系(B2構造、オーステナイト相と呼ぶ)が安定で、これが低温に冷えると単斜晶系(B19’構造、マルテンサイト相)にカチッと相転移します。冷えた状態(マルテンサイト相)では、結晶は「双晶(twin)」と呼ばれる細かいドメイン構造を取り、外力でこの双晶配向を組み替えると見かけ上の塑性変形ができます。しかし加熱すると、エネルギー的に安定なオーステナイトに相転移し、それと同時に格子は「親相」の対称性に戻る——これが形状記憶です。

ここで疑問が生まれます。「相転移なら水と氷でも起きるのに、なぜ形が記憶されるのか?」 鍵は、相転移が 拡散を伴わない(diffusionless) ということです。原子は遠くに動かず、隣同士の関係を保ったまま、剪断的にカチッとずれるだけ。この種の変態を マルテンサイト変態 と呼びます。次のセクションで、その結晶学的な仕組みを詳しく見ていきましょう。

マルテンサイト変態の結晶学

拡散を伴わない相転移

通常の固体ー固体相転移(たとえば鉄の $\alpha \to \gamma$ 変態)でも原子位置は変わりますが、必ず原子の拡散を伴います。これに対しマルテンサイト変態は、原子が拡散する時間がないほど速く、剪断によって格子が一気にスリップする変態です。発見されたのは焼入れ鋼(オーステナイトを急冷してマルテンサイトを得る、刃物の硬化処理)が最初で、そこから「マルテンサイト変態」の名前が来ています。

この変態は、原子の隣接関係を変えないため、母相と娘相の間には厳密な 結晶学的方位関係(orientation relationship) が成り立ちます。NiTiの場合、高温のB2相(CsCl型立方晶)から、低温のB19’相(単斜晶)への変態が知られており、その格子変形は次のような剪断と微小膨張の組み合わせで記述できます。

$$ \bm{F} = \bm{R}\,\bm{U}, \quad \bm{U} = \begin{pmatrix} \alpha & 0 & 0 \\ 0 & \beta & \gamma \\ 0 & \gamma & \delta \end{pmatrix} $$

ここで $\bm{F}$ は変形勾配テンソル、$\bm{R}$ は剛体回転、$\bm{U}$ はビーンの Bain変形(純粋なストレッチ)です。$\alpha \approx 1.02$、$\beta \approx 0.93$、$\gamma \approx 0.05$ 程度の値で、これがNiTiの「7%程度の最大回復ひずみ」の起源になります。

双晶(twin)と複数のバリアント

ここからが重要です。B2の対称性は立方晶(点群 $m\bar{3}m$、対称操作48個)であるのに対し、B19’は単斜晶(点群 $2/m$、対称操作4個)です。したがって、同じB2結晶から派生するB19’は、結晶学的に等価な複数の方位を取れる——具体的にはNiTiでは 24個のマルテンサイトバリアント が存在します。

これらのバリアントは、互いに 双晶関係 で結ばれており、適当な界面(双晶面)を介して隣接できます。冷却によって生じたままのマルテンサイトは、これらのバリアントがランダムに混じった「自己調節(self-accommodated)」状態にあります。各バリアントの剪断成分が打ち消し合うため、マクロには形が変わりません——これがマルテンサイト変態が「冷えただけでは見かけ上変形しない」理由です。

ところが外力をかけると、応力が小さくなる方向に有利なバリアントが成長し、他のバリアントを侵食して 再配向(reorientation) が起こります。これは双晶界面の移動なので、転位を伴わず可逆的です。これが、マルテンサイト相での「みかけの塑性変形」(実は弾塑性ではない!)の正体です。

オーステナイト⇄マルテンサイトの温度依存性

変態は温度に対して連続でなく、4つの特性温度で記述されます。

  • $M_s$(マルテンサイト変態開始温度):オーステナイトから冷やしてマルテンサイトに変わり始める温度
  • $M_f$(マルテンサイト変態終了温度):完全にマルテンサイトになる温度
  • $A_s$(オーステナイト逆変態開始温度):加熱して逆変態が始まる温度
  • $A_f$(オーステナイト逆変態終了温度):完全にオーステナイトに戻る温度

これらは $M_f < M_s < A_s < A_f$ の順に並びます。$A_s > M_s$ となる差が ヒステリシス で、NiTiでは典型的に30 K前後です。なぜ差が生まれるのか?それは、変態が原子の協調的剪断によるため、相界面の移動に有限の駆動力(過冷却/過熱)が必要だからです。熱力学的には、ギブズエネルギー差を相界面エネルギーが食い潰し、$T_0 = (M_s + A_f)/2$ という平衡温度の周りに不可避な臨界差ができます。

応力をかけると、変態温度が変化します。Clausius-Clapeyronの関係に似た式

$$ \frac{d\sigma}{dT} = -\frac{\Delta S}{\varepsilon_L} $$

が成り立ち($\Delta S$ は変態のエントロピー差、$\varepsilon_L$ は最大変態ひずみ)、NiTiでは経験的に $d\sigma/dT \approx 6$〜$8$ MPa/K となります。つまり、応力を加えると変態温度が高温側に押し上げられる。逆に温度一定で応力を上げていけば、ある臨界応力でマルテンサイトが誘起される——これが疑似弾性の根拠です。

ここまでで「結晶構造が変わって形が変わる」仕組みは見えました。では、これがどう「形状記憶効果」と「疑似弾性」の二つの巨視的現象につながるのか、整理してみましょう。

形状記憶効果と疑似弾性

二つの動作モードの違い

SMAには大別して2つの動作モードがあります。

  1. 形状記憶効果(Shape Memory Effect, SME):低温(マルテンサイト状態)で塑性的に変形させ、加熱で元の形に戻す。温度駆動。
  2. 疑似弾性/超弾性(Pseudoelasticity, Superelasticity):オーステナイト状態($T > A_f$)で大きく変形させると、応力誘起マルテンサイトが生成し、除荷で完全に戻る。応力駆動。

両者は同じ物理(マルテンサイト変態)の二つの現れ方ですが、用途は全く違います。SMEは温度を「スイッチ」にするので、アクチュエータ(展開機構など)に向きます。疑似弾性は応力に対する大ひずみ回復性を提供するので、ステント(医療用)や免震ダンパに向きます。宇宙アクチュエータの主役はSMEで、本記事の主たる対象でもあります。

SMEの動作シーケンス

SMEの典型的な動作を、ヒンジを例にステップで追います。

  1. 製造時(オーステナイト状態, $T > A_f$):所望の「展開後の形」に成形し熱処理(NiTiなら500°C前後で形状記憶処理)。
  2. 冷却(マルテンサイト状態, $T < M_f$):応力なしでは自己調節双晶のためマクロな変形は起きない。
  3. 変形(マルテンサイト状態):折り畳むために力を加える。バリアントの再配向で塑性的に見える変形を加える(残留ひずみ最大 6〜8%)。
  4. 保管・打上げ:折り畳んだ形を維持。応力なしで保管しても元に戻らない(双晶配向は安定)。
  5. 加熱(軌道上で $T > A_f$):オーステナイトに逆変態すると同時に、結晶対称性が母相のものに戻るため、マクロ形状も製造時の形に 回復 する。
  6. 再冷却(マルテンサイト状態):自己調節双晶になる。マクロ形状はオーステナイト時の形のまま。

ここでポイントは、ステップ6で マクロ形状は変わらない ことです。SMEは1ウェイ(片方向)動作で、加熱で「覚えた形」に戻りますが、冷却で「畳んだ形」に勝手に戻ったりはしません。再展開には新たに外力が必要です。なお双方向(two-way)形状記憶という現象もあり、特殊な熱機械サイクルでトレーニングすると、冷却でも特定の形に戻るようになりますが、回復ひずみは小さく(2%程度)、宇宙ではあまり使われません。

疑似弾性の応力ーひずみ曲線

疑似弾性の典型的なヒステリシスを言葉で描写しておきます。オーステナイト状態($T > A_f$)で、引張試験を始めると、まずフックの法則に従って線形に応力が立ち上がります。ある臨界応力 $\sigma_{Ms}$ に達すると、応力誘起マルテンサイト変態が始まり、応力ほぼ一定のプラトーが現れます(4〜8%のひずみまで延びる)。変態が完了するとマルテンサイトの線形弾性域に入り、再びリニアになります。

除荷すると、別のプラトー(応力 $\sigma_{As}$、$\sigma_{Ms}$ より低い)でマルテンサイトがオーステナイトに戻り、最後はオーステナイトの線形弾性で原点に戻ります。閉じたループの面積が 散逸エネルギー で、変態の不可逆部分(界面摩擦と双晶界面の散逸)に対応します。NiTiワイヤでは、室温で 8% の往復で 10〜30 MJ/m³ という極めて高い比エネルギーが散逸でき、これが免震・耐震ダンパに使われる根拠です。

ここまでで2つのモードの定性的な像が掴めました。これらを定量化するには、応力ーひずみー温度の3変数を一つのフレームで扱う構成モデルが要ります。次に Brinsonモデル を導入しましょう。

Brinsonモデル — 応力ーひずみー温度の構成則

モデルの基本式

SMA構成則として最もよく使われるのが Brinson モデル(Brinson, 1993)です。Tanakaモデル(1986)を改良したもので、マルテンサイト体積分率を「応力誘起」と「温度誘起」の二つに分解できる点が特徴です。

全マルテンサイト体積分率を $\xi$ とし、応力誘起マルテンサイト $\xi_s$(応力配向した単一バリアント)と温度誘起マルテンサイト $\xi_T$(自己調節双晶)に分けます。

$$ \xi = \xi_s + \xi_T, \quad 0 \le \xi \le 1 $$

応力ーひずみー温度の構成式は、ヤング率の変態依存性を取り込んで

$$ \sigma – \sigma_0 = E(\xi)\,(\varepsilon – \varepsilon_0) – \Omega(\xi)\,(\xi_s – \xi_{s,0}) + \Theta\,(T – T_0) $$

と書けます。$\sigma_0, \varepsilon_0, \xi_{s,0}, T_0$ は基準状態の値、$\Theta$ は熱膨張係数 $\times E$、$\Omega(\xi)$ は「変態テンソル」と呼ばれる係数で、応力誘起マルテンサイトが生むひずみを表します。$\Omega(\xi) = -\varepsilon_L E(\xi)$ と置くのが一般的で、$\varepsilon_L$ は最大回復ひずみ(NiTiでは 6〜7%)。ヤング率は混合則

$$ E(\xi) = E_A + \xi\,(E_M – E_A) $$

で補間します($E_A$ オーステナイトのヤング率、$E_M$ マルテンサイトのヤング率)。NiTiでは $E_A \approx 75$ GPa、$E_M \approx 28$ GPa と、オーステナイトの方が約3倍硬いことが特徴です。

変態運動則(kinetics)

体積分率 $\xi_s, \xi_T$ の時間発展は、応力と温度の経路に依存します。Brinsonはコサイン関数で滑らかにつなぐ運動則を提案しました。代表的に、応力誘起マルテンサイト変態($\xi_s$ の生成)は次で記述されます。

冷却中($T < M_s$)にマルテンサイト変態が進行する場合、温度から決まる目標値 $\xi^*$ は

$$ \xi^*(T) = \frac{1 – \xi_0}{2}\cos\!\left[\frac{\pi}{M_s – M_f}(T – M_f)\right] + \frac{1 + \xi_0}{2} $$

応力による変態($\sigma$ が $\sigma^M_s$ から $\sigma^M_f$ へ増加)では

$$ \xi_s = \frac{1 – \xi_{s,0}}{2}\cos\!\left[\frac{\pi}{\sigma^M_s – \sigma^M_f}\big(\sigma – \sigma^M_f\big)\right] + \frac{1 + \xi_{s,0}}{2} $$

逆変態(オーステナイトに戻る)は、$A_s, A_f$ を使った同様のコサイン式で

$$ \xi = \frac{\xi_0}{2}\left\{\cos\!\left[\frac{\pi}{A_f – A_s}(T – A_s)\right] + 1\right\} $$

となります。これらの式の意図はシンプルで、「直線でなめらかに変態率を遷移させるとモデルが滑らかにならない」ため、コサインで端点を $C^1$ 滑らかにつないでいるだけです。

応力ー温度相図

これらの運動則を $\sigma$-$T$ 平面に描くと、4つの境界線で区切られた相図が現れます。Clausius-Clapeyron的に、応力の変化は変態温度を一定勾配 $C_M = d\sigma/dT$ で動かすため、$\sigma^M_s(T) = C_M(T – M_s)$、$\sigma^M_f(T) = C_M(T – M_f)$、$\sigma^A_s(T) = C_A(T – A_s)$、$\sigma^A_f(T) = C_A(T – A_f)$ のような直線群が引かれます。

$\sigma$-$T$ 平面上で「自分が今どの領域にいるか」と「過去にどの境界を越えたか」で、SMAの状態($\xi_s, \xi_T$)が決まります。次のPython実装ではこの相図を可視化します。

変態温度に対する応力の感度

工学設計で最も使う関係は「応力をかけると変態温度がどれだけ上がるか」です。先の式から

$$ M_s(\sigma) = M_s(0) + \sigma / C_M $$

NiTiでは $C_M \approx 7$ MPa/K なので、たとえば 200 MPa を負荷すると $M_s$ は約 29 K 上昇します。逆に、与えられた温度で変態を起こすのに必要な臨界応力が決まる、ということでもあります。アクチュエータ設計では「目的の応力で動かすために、変態温度をどう設定すべきか」という逆問題を解くことになります。

理論はここまでで揃いました。次は具体的な合金系の特性を見比べ、宇宙で何を使うかの判断材料を揃えます。

代表的なSMA合金系

NiTi(ニチノール)— 王道の選択

最も広く使われているのが NiTi(Nitinol) です。50 at% Ni と 50 at% Ti を主成分とし、組成や熱処理で $M_s$ を $-100$°C から $+100$°C 程度まで自在に調整できます。回復ひずみが大きい(〜8%)、疲労寿命が長い(適切な応力なら $10^5$ 回以上)、耐食性が優れる、生体適合性がある——と、ほぼ全ての指標でバランスが取れています。

宇宙応用での欠点は、変態温度がほぼ室温近傍にあることで、軌道上の温度サイクル(120 K〜380 K)の影響を強く受ける点です。日陰では勝手にマルテンサイト化、日向ではオーステナイト化が起きるため、受動的な熱変動でアクチュエータが意図せず動作することがあります。これを避けるには、断熱や能動温度制御、あるいは合金組成の調整で変態温度を狙った範囲に押し込みます。Ni を 51 at% に増やすと $M_s$ が下がり、逆に Ti リッチにすると上がります。

CuAlNi、CuZnAl — 高温域の合金

NiTi では $A_f$ を 150°C 以上に上げるのが難しいため、より高温で動作させたい場合は CuAlNi(Cu-Al-Ni)や CuZnAl が使われます。$A_f$ を 200°C 程度まで持ち上げられ、コストもNiTiの数分の一です。

ただし、回復ひずみが小さい(〜4%)、脆い、結晶粒界破壊しやすい、疲労に弱い、と多くの問題があります。宇宙では「高温で1回〜数回しか動作させない、使い捨て展開機構」のような用途に限られます。

Fe-Mn-Si — 鉄基SMA

Fe-Mn-Si系(典型的に Fe-28Mn-6Si-5Cr など)は、鉄ベースで安価かつ強度が高い形状記憶合金です。FCC(オーステナイト)↔HCP($\varepsilon$ マルテンサイト)の変態で動作します。回復ひずみは 2〜4% と小さいものの、降伏応力が高く(500 MPa以上)、土木構造物のラッピング材や建築の制振材として使われています。

宇宙応用では、強度を要する大型構造の展開(数メートル以上のアンテナ骨格)に使われる可能性があります。NiTi より重い反面、機械的強度が必要なケースに向きます。

高温SMA — NiTiPd、NiTiHf

近年の研究材料として、$A_f$ が 400°C を超える NiTiPdNiTiHfNiTiZr が注目されています。Hf や Zr を 10〜20 at% 加えることで変態温度を大幅に上げられます。航空エンジンの可変ジオメトリやロケットの推進制御に応用が期待されますが、コスト・加工性・疲労特性ではまだNiTiに劣ります。

合金選定の判断軸

宇宙アクチュエータでSMAを選ぶときの判断軸を整理すると、次の4つが核です。

  1. 動作温度範囲:目的温度 vs $A_s$/$A_f$ の関係。$A_f$ より十分高い駆動温度を確保できるか。
  2. 回復ひずみ:必要な変位/長さ=ひずみが、その合金の限界ひずみ以下か。
  3. 応力レベル:負荷応力に対し変態応力が十分低いか(応力が高すぎると変態しない)。
  4. 疲労寿命:1回切りか、複数回開閉か。多サイクル必要ならNiTi一択。

これらの観点を持つと、合金選定がぐっと工学的に整理できます。次は、これら材料を実際に使ったアクチュエータ駆動方式を見ましょう。

SMAアクチュエータの駆動方式

ジュール加熱(直接通電)

SMAワイヤをそのまま電気抵抗ヒータとして使う方法です。ワイヤに電流 $I$ を流せば $P = I^2 R$ で発熱し、温度が上がります。NiTiワイヤは抵抗率が約 $100 \mu\Omega\cdot\mathrm{cm}$(純銅の約60倍)で、自己発熱に向いています。これが最もシンプルかつ宇宙で多用される方式です。

時間応答は熱容量と放熱で決まり、宇宙環境(対流なし、輻射のみ)では加熱が比較的速く、冷却が遅いという非対称性を持ちます。これがアクチュエータの「動作周波数の上限」を決めます。0.1 mm 径のNiTiワイヤで、加熱は 0.1 秒以下、冷却は数秒〜数十秒というオーダーです。

外部ヒータ(抵抗線、ペルチェ素子)

ワイヤ自体に通電せず、外部にヒータ巻きやペルチェ素子を取り付ける方式です。SMAワイヤを構造材として使い、駆動回路と分離できる利点があります。冷却にペルチェを使えば動作周波数を上げられます。ただし部品点数が増え、宇宙での信頼性を取りにくくなります。

レーザー加熱

光学窓を通してレーザーで局所加熱する方式。非接触で、特定部位だけを駆動できます。デブリ捕獲アームの先端メカや、再展開可能なシールドで研究例があります。電力効率は低く、宇宙用としては実験段階です。

受動駆動(軌道熱サイクル)

軌道周回ごとの日陰/日向の温度サイクルを直接利用する方式。アクチュエータに能動制御を入れず、軌道熱環境そのものでSMAを駆動します。低コスト・故障要素ゼロという魅力がある一方、温度範囲を狙って合金組成・熱設計で詰める必要があり、設計難易度は高め。

駆動方式の比較表

方式 加熱速度 冷却速度 電力 部品数 宇宙適性
ジュール加熱 速い 遅い
外部ヒータ
ペルチェ複合 速い 速い
レーザー 速い 遅い
受動(熱サイクル) 遅い 遅い ゼロ 最少

ジュール加熱が最も汎用、受動駆動が究極のシンプル設計、というのが大づかみな整理です。これら駆動方式を踏まえて、いよいよ宇宙応用の現場を見ていきましょう。

宇宙アクチュエータとしての応用事例

太陽電池パドル展開

最大の応用領域です。太陽電池パドルは衛星電力源として最重要で、展開失敗はミッション完全喪失を意味します。SMAヒンジは、複数のヒンジを独立に駆動できるため、火工品のような「全ヒンジ一斉爆破」よりリスクが分散されます。

代表例として、Lockheed Martin の Frangibolt はSMAリングを使った非火工分離装置で、軌道上で数千回の使用実績があります。電流で SMA リングを加熱すると、リングが膨張収縮を試みる過程で予め切れ目の入ったボルト(フランジボルト)を内部応力で破断させ、構造を分離します。火工品の衝撃が0で、再起動可能(リングは交換不要)。

アンテナ展開

メッシュアンテナや展開リフレクタの骨格にSMAワイヤを織り込み、加熱で展開する方式があります。Skybox(現Planet)の高分解能衛星では、アンテナ展開機構の一部にSMAが使われ、無振動展開を実現しました。展開後の精度(パラボラ面形状)は通信品質を直接左右するため、衝撃のないSMA駆動は特に有利です。

ヒンジ機構(Hubble — Halite)

Hubble宇宙望遠鏡の修理ミッションで使われた Halite ヒンジ は、太陽電池アレイ展開用のSMA駆動機構です。NiTiワイヤを巻きつけたヒンジで、電流加熱でゆっくり展開します。ゆっくり動くことが特に重要で、Hubbleの精密光学系に衝撃を与えないためにこの機構が選ばれました。

ISS実験:軌道上検証

ISS には複数のSMA実験が搭載されてきました。微小重力下での変態特性、宇宙線照射に対する材料劣化、繰り返しサイクル特性などが評価され、地上試験との相違は概ね無視できる程度であることが確認されています。これはSMAの宇宙応用拡大を後押しする重要な根拠になりました。

デブリ捕獲アーム・ソフトロボティクス

近年の応用として、デブリ捕獲アームや軌道上サービスロボットの関節にSMAを使う研究があります。SMAは「滑らかで衝撃のない動き」が得意なので、衝突回避が重要なランデブー作業に向いています。応用は研究段階ですが、JAXAやESAで実機試験が進んでいます。

モーフィング構造

機体形状を能動的に変える「モーフィング」では、SMAが翼や舵面の内部に分散配置されます。航空機分野が先行していますが、宇宙ではソーラーセイルの形状制御やデブリ除去ネットの形状変更などに応用の可能性があります。

利点と欠点の総括

ここまでの応用例を踏まえ、SMAアクチュエータの宇宙での利点・欠点を整理します。

利点

  • 無音・無振動(光学系・センサに優しい)
  • 単純構造(モータ・ギアなし、信頼性高)
  • 比出力大(重量比で電磁アクチュエータより高い)
  • 多重展開可能(火工品と違い再使用できる)
  • 制御電源以外の駆動源不要

欠点

  • 動作周波数低い(冷却律速で数 Hz が上限)
  • 温度依存性大(軌道熱環境設計が必須)
  • 疲労限界あり(多サイクルで回復ひずみ低下)
  • 効率は熱機関的に低い(電気→熱→機械、エネルギー効率 5〜10%)
  • モデル化が複雑(ヒステリシスと経路依存性)

これらを総合すると、SMAは「展開機構・1回〜中サイクル動作のアクチュエータ」に最適化された材料で、サーボループの高速制御には向きません。次は理論をPythonで確認しましょう。

PythonでBrinsonモデルを数値計算する

ここからは、これまで議論してきた現象を実際に手元で動かして確かめます。順番にⅠ)等温での疑似弾性ヒステリシス、Ⅱ)応力一定での温度駆動応答、Ⅲ)応力ー温度相図の可視化、Ⅳ)軌道熱環境(150 K日陰/350 K日向)でのアクチュエータ性能評価、の4つを実装します。

Brinsonモデルの実装

まず、Brinsonモデルの中核となる「マルテンサイト体積分率の変態運動則」と「構成則」を関数で書きます。NiTiの典型値をパラメータとして使います。

import numpy as np
import matplotlib.pyplot as plt

# --- NiTiの典型パラメータ ---
PARAMS = {
    'E_A': 75e9,        # オーステナイトのヤング率 [Pa]
    'E_M': 28e9,        # マルテンサイトのヤング率 [Pa]
    'eps_L': 0.067,     # 最大回復ひずみ
    'Theta': 0.55e6,    # 熱膨張係数×E [Pa/K]
    'M_s': 291.0,       # マルテンサイト開始温度 [K]
    'M_f': 271.0,       # マルテンサイト終了温度 [K]
    'A_s': 295.0,       # オーステナイト開始温度 [K]
    'A_f': 315.0,       # オーステナイト終了温度 [K]
    'C_M': 8.0e6,       # 応力-温度勾配(変態側)[Pa/K]
    'C_A': 13.8e6,      # 応力-温度勾配(逆変態側)[Pa/K]
    'sigma_s_cr': 100e6,  # 応力誘起変態下限 [Pa]
    'sigma_f_cr': 170e6,  # 応力誘起変態上限 [Pa]
}

def youngs_modulus(xi, p=PARAMS):
    """混合則によるヤング率"""
    return p['E_A'] + xi * (p['E_M'] - p['E_A'])

def transformation_tensor(xi, p=PARAMS):
    """変態テンソル Omega(xi) = -eps_L * E(xi)"""
    return -p['eps_L'] * youngs_modulus(xi, p)

ここまでで、ヤング率の混合則と変態テンソルが定義できました。Brinsonモデルでは応力誘起マルテンサイト $\xi_s$ と温度誘起マルテンサイト $\xi_T$ を分けて扱うので、まず温度のみの場合の変態運動則(応力なしで冷却・加熱した場合)を書きます。

def update_xi_thermal(T, xi_prev, p=PARAMS):
    """温度のみによるマルテンサイト体積分率の更新(応力ゼロのとき)"""
    Ms, Mf, As, Af = p['M_s'], p['M_f'], p['A_s'], p['A_f']
    xi_s_prev, xi_T_prev = xi_prev
    xi_prev_total = xi_s_prev + xi_T_prev

    # 冷却中:マルテンサイトが生成(自己調節双晶 → xi_T)
    if T < Ms and T > Mf:
        xi_T_new = (1 - xi_s_prev) / 2 * np.cos(np.pi / (Ms - Mf) * (T - Mf)) \
                   + (1 + xi_s_prev) / 2 - xi_s_prev
        xi_T_new = max(xi_T_new, xi_T_prev)  # 単調増加
        return xi_s_prev, xi_T_new
    elif T <= Mf:
        return xi_s_prev, 1 - xi_s_prev

    # 加熱中:逆変態(オーステナイトへ)
    if As < T < Af and xi_prev_total > 0:
        xi_new = xi_prev_total / 2 * (np.cos(np.pi / (Af - As) * (T - As)) + 1)
        # 比例配分で xi_s, xi_T を減らす
        if xi_prev_total > 1e-12:
            ratio_s = xi_s_prev / xi_prev_total
            return ratio_s * xi_new, (1 - ratio_s) * xi_new
        return 0.0, 0.0
    elif T >= Af:
        return 0.0, 0.0

    return xi_s_prev, xi_T_prev

この関数は、温度に対してマルテンサイト体積分率がコサイン的に滑らかに遷移するBrinsonの運動則を実装しています。応力誘起マルテンサイト $\xi_s$ と温度誘起マルテンサイト $\xi_T$ を別々に追跡し、加熱時の逆変態は比例配分で両方を減らします。

続いて、応力誘起の変態(疑似弾性に対応)を実装します。

def update_xi_stress(sigma, T, xi_prev, sigma_prev, p=PARAMS):
    """応力誘起マルテンサイト変態の更新(等温過程)"""
    xi_s_prev, xi_T_prev = xi_prev
    Ms, Mf = p['M_s'], p['M_f']
    As, Af = p['A_s'], p['A_f']
    C_M, C_A = p['C_M'], p['C_A']
    s_s, s_f = p['sigma_s_cr'], p['sigma_f_cr']

    # 温度補正した臨界応力(Clausius-Clapeyron的に変態温度を応力でシフト)
    if T > Ms:
        sigma_s = s_s + C_M * (T - Ms)
        sigma_f = s_f + C_M * (T - Ms)
    else:
        sigma_s, sigma_f = s_s, s_f
    sigma_as = C_A * (T - Af)
    sigma_af = C_A * (T - As)

    # 順変態(応力が増加して臨界応力を超える)
    if sigma > sigma_prev and sigma_s < sigma < sigma_f:
        xi_s_new = (1 - xi_s_prev) / 2 * np.cos(np.pi / (sigma_s - sigma_f) * (sigma - sigma_f)) \
                   + (1 + xi_s_prev) / 2
        xi_s_new = max(xi_s_new, xi_s_prev)  # 単調増加
        return xi_s_new, xi_T_prev
    elif sigma >= sigma_f:
        return 1.0, 0.0

    # 逆変態(応力が減少)
    if sigma < sigma_prev and T > As and sigma_as < sigma < sigma_af:
        total = xi_s_prev + xi_T_prev
        if total < 1e-12:
            return xi_s_prev, xi_T_prev
        xi_new = total / 2 * (np.cos(np.pi / (sigma_af - sigma_as) * (sigma - sigma_as)) + 1)
        ratio_s = xi_s_prev / total
        return ratio_s * xi_new, (1 - ratio_s) * xi_new
    elif sigma <= sigma_as and T > As:
        return 0.0, 0.0

    return xi_s_prev, xi_T_prev

この関数は、応力 $\sigma$ の増減と温度 $T$ から $\xi_s, \xi_T$ を更新します。応力誘起変態の臨界応力は温度に依存(Clausius-Clapeyron)し、温度が高いほど高い応力が必要になります。これでBrinsonモデルの主要部分が揃いました。

Ⅰ. 等温での疑似弾性ヒステリシス

オーステナイト状態($T > A_f$)で、引張ー除荷サイクルを行ったときの応力ーひずみ曲線を計算します。これが疑似弾性の典型挙動です。

import numpy as np
import matplotlib.pyplot as plt

# 温度を Af 以上に固定して疑似弾性域で動かす
T = 320.0  # K(A_f = 315 K より上)

# 応力サイクル: 0 → 300 MPa → 0
sigma_max = 300e6
n_steps = 400
sigma_up = np.linspace(0, sigma_max, n_steps // 2)
sigma_down = np.linspace(sigma_max, 0, n_steps // 2)
sigma_history = np.concatenate([sigma_up, sigma_down])

eps_history = []
xi_s, xi_T = 0.0, 0.0
sigma_prev = 0.0
eps_0 = 0.0

for sigma in sigma_history:
    xi_s, xi_T = update_xi_stress(sigma, T, (xi_s, xi_T), sigma_prev)
    xi = xi_s + xi_T
    E = youngs_modulus(xi)
    # eps = sigma / E + eps_L * xi_s  (変態ひずみ寄与)
    eps = sigma / E + PARAMS['eps_L'] * xi_s
    eps_history.append(eps)
    sigma_prev = sigma

eps_history = np.array(eps_history)

plt.figure(figsize=(9, 6))
plt.plot(eps_history * 100, sigma_history / 1e6, lw=2)
plt.xlabel('Strain [%]')
plt.ylabel('Stress [MPa]')
plt.title(f'Pseudoelastic hysteresis loop at T = {T} K (Brinson model)')
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('sma_pseudoelastic.png', dpi=150, bbox_inches='tight')
plt.show()

このグラフは疑似弾性の典型的なフラッグ型ヒステリシスを示します。読み取れる特徴は3つあります。第一に、応力が約 100 MPa あたりまでは線形(オーステナイトの弾性)で立ち上がり、そこから応力誘起マルテンサイト変態のプラトーに入ること。第二に、約 6〜7% のひずみで変態が完了し、再び傾きの緩やかな線形(マルテンサイトの弾性)に戻ること(本実装では変態完了後の追加変形は小さく現れます)。第三に、除荷時はより低い応力レベル(約 50 MPa 付近)で別のプラトーを経て原点に戻ること。ループの内側面積が散逸エネルギーで、これがダンパとしての利用根拠です。

Ⅱ. 応力一定での温度駆動応答

次に、SMAアクチュエータの実用形態である「応力一定で温度を変化させたときの変位応答」を計算します。これは展開機構の設計直結の挙動です。

import numpy as np
import matplotlib.pyplot as plt

# 一定応力下で温度を Mf 以下 → Af 以上 → Mf 以下にサイクル
sigma_const = 150e6  # 150 MPa の負荷

# 温度プロファイル: 260 K → 330 K → 260 K
T_up = np.linspace(260, 330, 200)
T_down = np.linspace(330, 260, 200)
T_history = np.concatenate([T_up, T_down])

eps_history = []
xi_s, xi_T = 1.0, 0.0  # 初期:完全マルテンサイト(応力誘起)
sigma_prev = sigma_const

for T in T_history:
    # 応力一定 → 温度変化 → xi の温度依存更新
    # 加熱時:マルテンサイト → オーステナイト
    # 冷却時:オーステナイト → 応力誘起マルテンサイト(C_M シフト考慮)
    if T > PARAMS['A_s']:
        xi_s, xi_T = update_xi_thermal(T, (xi_s, xi_T))
    elif T < PARAMS['M_s'] + sigma_const / PARAMS['C_M']:
        # 応力により変態温度がシフト:Ms_eff = Ms + sigma/C_M
        Ms_eff = PARAMS['M_s'] + sigma_const / PARAMS['C_M']
        Mf_eff = PARAMS['M_f'] + sigma_const / PARAMS['C_M']
        if Mf_eff < T < Ms_eff:
            xi_s_new = (1 - xi_s) / 2 * np.cos(np.pi / (Ms_eff - Mf_eff) * (T - Mf_eff)) \
                       + (1 + xi_s) / 2
            xi_s = max(xi_s_new, xi_s)
        elif T <= Mf_eff:
            xi_s = 1.0
        xi_T = 0.0

    xi = xi_s + xi_T
    E = youngs_modulus(xi)
    eps = sigma_const / E + PARAMS['eps_L'] * xi_s
    eps_history.append(eps)

eps_history = np.array(eps_history)

fig, ax1 = plt.subplots(figsize=(10, 6))
ax1.plot(T_history, eps_history * 100, 'b-', lw=2, label='Strain')
ax1.set_xlabel('Temperature [K]')
ax1.set_ylabel('Strain [%]', color='b')
ax1.tick_params(axis='y', labelcolor='b')
ax1.grid(True, alpha=0.3)

# 変態温度マーカー
ax1.axvline(PARAMS['M_s'], color='gray', ls=':', alpha=0.5, label='M_s')
ax1.axvline(PARAMS['A_f'], color='red',  ls=':', alpha=0.5, label='A_f')

ax2 = ax1.twinx()
ax2.plot(T_history, np.arange(len(T_history)), 'g--', alpha=0.4, label='time index')
ax2.set_ylabel('Time index (loop direction)', color='g')
ax2.tick_params(axis='y', labelcolor='g')

plt.title(f'SMA actuator response at constant stress {sigma_const/1e6:.0f} MPa')
plt.tight_layout()
plt.savefig('sma_thermal_drive.png', dpi=150, bbox_inches='tight')
plt.show()

print(f"加熱前 (T={T_history[0]:.0f}K) ひずみ: {eps_history[0]*100:.2f}%")
print(f"加熱後 (T=330K)  ひずみ: {eps_history[200]*100:.2f}%")
print(f"回復ひずみ: {(eps_history[0] - eps_history[200])*100:.2f}%")

このグラフから、温度駆動応答の本質が読み取れます。低温(260 K、$M_f$ 以下)ではマルテンサイト相+応力負荷で大きなひずみ(約 7%)を保持しています。加熱すると $A_s = 295$ K 付近からオーステナイトへの逆変態が始まり、$A_f = 315$ K で急激にひずみが減少して 0.5% 程度の弾性ひずみだけが残ります。これが「形状記憶効果による回復」です。冷却すると、応力シフトした $M_s$(約 310 K)から再びマルテンサイト変態が始まり、ループを閉じます。回復ひずみ約 6.5% が、このSMAワイヤを使えば、たとえば長さ 100 mm のワイヤで 6.5 mm のストロークが得られる、という設計感覚になります。

Ⅲ. 応力ー温度相図の可視化

Brinsonモデルの状態空間(応力ー温度平面)を可視化し、変態境界線を引きます。

import numpy as np
import matplotlib.pyplot as plt

p = PARAMS
T_range = np.linspace(250, 340, 200)

# マルテンサイト変態線(冷却時:M_s, M_f)
# 応力でシフト: sigma = C_M (T - M_s)
sigma_Ms = p['C_M'] * (T_range - p['M_s'])
sigma_Mf = p['C_M'] * (T_range - p['M_f'])

# オーステナイト変態線(加熱時:A_s, A_f)
sigma_As = p['C_A'] * (T_range - p['A_s'])
sigma_Af = p['C_A'] * (T_range - p['A_f'])

# 応力誘起マルテンサイト下限・上限(T < Msでは sigma_cr一定、T>Msでは温度依存)
sigma_si = np.where(T_range > p['M_s'],
                    p['sigma_s_cr'] + p['C_M'] * (T_range - p['M_s']),
                    p['sigma_s_cr'])
sigma_si_f = np.where(T_range > p['M_s'],
                      p['sigma_f_cr'] + p['C_M'] * (T_range - p['M_s']),
                      p['sigma_f_cr'])

plt.figure(figsize=(10, 7))
plt.plot(T_range, sigma_Ms / 1e6, 'b-', lw=1.5, label='M_s line (cooling start)')
plt.plot(T_range, sigma_Mf / 1e6, 'b--', lw=1.5, label='M_f line (cooling end)')
plt.plot(T_range, sigma_As / 1e6, 'r-', lw=1.5, label='A_s line (heating start)')
plt.plot(T_range, sigma_Af / 1e6, 'r--', lw=1.5, label='A_f line (heating end)')
plt.plot(T_range, sigma_si / 1e6, 'g-.', lw=1.5, label='sigma_s critical')
plt.plot(T_range, sigma_si_f / 1e6, 'g:', lw=1.5, label='sigma_f critical')

# 領域注釈
plt.fill_betweenx([0, 400], 250, p['M_f'], alpha=0.1, color='blue', label='Pure Martensite zone')
plt.fill_betweenx([0, 400], p['A_f'], 340, alpha=0.1, color='red', label='Pure Austenite zone')

plt.axvline(p['M_s'], color='blue', ls=':', alpha=0.3)
plt.axvline(p['A_f'], color='red',  ls=':', alpha=0.3)

plt.xlabel('Temperature [K]')
plt.ylabel('Stress [MPa]')
plt.title('SMA phase diagram in the stress-temperature plane (Brinson model)')
plt.legend(loc='upper right', fontsize=8)
plt.ylim(0, 400)
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('sma_phase_diagram.png', dpi=150, bbox_inches='tight')
plt.show()

この相図は、SMAの状態が応力と温度のどの領域にあるかを一目で示します。青の領域はマルテンサイト純相(低温・低応力域)、赤の領域はオーステナイト純相(高温・低応力域)。両者の間には、変態が進行中の遷移領域(ヒステリシスの内側)があります。応力誘起マルテンサイト線(緑)が右上に上昇しているのは、温度が高いほど応力誘起変態に必要な応力も高くなることを意味します。実機設計では、軌道熱環境の温度範囲(例:150〜350 K)に対し動作経路をこの相図上に描き、「目的の状態が変態完了領域にあるか」を確認します。

Ⅳ. 軌道熱環境での性能評価

最後に、宇宙特有の熱環境を考慮した評価です。LEO衛星は約 90 分周期で日陰(〜150 K)と日向(〜350 K)を行き来します。SMAアクチュエータが受動的にどう応答するか、シミュレーションします。

import numpy as np
import matplotlib.pyplot as plt

# 軌道周回温度プロファイル: 90分周期
orbital_period = 90 * 60  # 秒
t = np.linspace(0, 3 * orbital_period, 1000)

# 日陰150K / 日向350Kの間で台形波的に変化(熱慣性を簡易考慮)
omega = 2 * np.pi / orbital_period
T_orbit = 250 + 100 * np.sin(omega * t) + 30 * np.sin(2 * omega * t)
T_orbit = np.clip(T_orbit, 150, 350)

# アクチュエータ用途:負荷 80 MPa 一定で変位応答を見る
sigma_const = 80e6

eps_orbit = []
xi_s, xi_T = 0.0, 0.0
sigma_prev = sigma_const

for T in T_orbit:
    # 簡易:応力ありの状態で温度変化 → 順変態/逆変態を統合的に扱う
    p = PARAMS
    Ms_eff = p['M_s'] + sigma_const / p['C_M']
    Mf_eff = p['M_f'] + sigma_const / p['C_M']
    As_eff = p['A_s'] + sigma_const / p['C_A']
    Af_eff = p['A_f'] + sigma_const / p['C_A']

    if T > As_eff and (xi_s + xi_T) > 0:
        # 逆変態
        total = xi_s + xi_T
        if T < Af_eff:
            xi_new = total / 2 * (np.cos(np.pi / (Af_eff - As_eff) * (T - As_eff)) + 1)
        else:
            xi_new = 0.0
        ratio_s = xi_s / max(total, 1e-12)
        xi_s = ratio_s * xi_new
        xi_T = (1 - ratio_s) * xi_new
    elif T < Ms_eff:
        # 順変態(応力誘起のためxi_sを増やす)
        if Mf_eff < T < Ms_eff:
            xi_s_new = (1 - xi_s) / 2 * np.cos(np.pi / (Ms_eff - Mf_eff) * (T - Mf_eff)) \
                       + (1 + xi_s) / 2
            xi_s = max(xi_s_new, xi_s)
        elif T <= Mf_eff:
            xi_s = 1.0
        xi_T = 0.0

    xi = xi_s + xi_T
    E = youngs_modulus(xi)
    eps = sigma_const / E + PARAMS['eps_L'] * xi_s
    eps_orbit.append(eps)

eps_orbit = np.array(eps_orbit)

fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(11, 8), sharex=True)
ax1.plot(t / 60, T_orbit, 'r-', lw=1.5)
ax1.axhline(PARAMS['M_s'], color='blue', ls=':', alpha=0.5, label='M_s')
ax1.axhline(PARAMS['A_f'], color='red',  ls=':', alpha=0.5, label='A_f')
ax1.set_ylabel('Temperature [K]')
ax1.set_title('Orbital thermal environment & SMA response (LEO, 90 min period)')
ax1.legend(loc='upper right')
ax1.grid(True, alpha=0.3)

ax2.plot(t / 60, eps_orbit * 100, 'b-', lw=1.5)
ax2.set_xlabel('Time [min]')
ax2.set_ylabel('Strain [%]')
ax2.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('sma_orbital_response.png', dpi=150, bbox_inches='tight')
plt.show()

print(f"日陰時最大ひずみ:  {eps_orbit.max()*100:.2f}%")
print(f"日向時最小ひずみ:  {eps_orbit.min()*100:.2f}%")
print(f"軌道周回中のひずみ振幅: {(eps_orbit.max()-eps_orbit.min())*100:.2f}%")

このシミュレーションから、軌道熱環境がSMAに与える深刻な影響が読み取れます。温度が約 290 K($M_s$)以下に下がる日陰側ではマルテンサイト変態が進み、ひずみが増加します。温度が約 315 K($A_f$)以上に上がる日向側では逆変態でひずみが回復します。LEOでは 90 分周期でこのサイクルが繰り返されるため、SMAは「意図しない受動駆動」を受けてしまいます。これを避けるには、(a)変態温度を軌道温度範囲の外に追い出す($M_s < 150$ K か $A_f > 350$ K の合金を選ぶ)、(b)アクチュエータを断熱材で覆い熱変動を抑える、(c)能動制御で常温保持する、のいずれかが必要です。展開を「1回だけ」やればよい用途では問題になりませんが、繰り返し動作機構では設計のクリティカルなポイントです。

Pythonでの応用:駆動電力の見積もり

最後に、実際にSMAワイヤを電流駆動するときの電力を概算します。直径 0.5 mm、長さ 100 mm のNiTiワイヤで考えます。

import numpy as np

# NiTiワイヤの物性
rho_NiTi = 6450     # 密度 [kg/m^3]
cp_NiTi = 460       # 比熱 [J/(kg K)]
resistivity = 100e-8  # 抵抗率 [Ω·m](マルテンサイト相典型値)
latent_heat = 24e3  # 変態潜熱 [J/kg]
emissivity = 0.3    # 放射率

# ワイヤ形状
d_wire = 0.5e-3    # 直径 [m]
L_wire = 100e-3    # 長さ [m]
A_cross = np.pi * (d_wire / 2)**2
A_surf = np.pi * d_wire * L_wire
V_wire = A_cross * L_wire
m_wire = rho_NiTi * V_wire

# 電気抵抗
R_wire = resistivity * L_wire / A_cross
print(f"ワイヤ抵抗: R = {R_wire:.3f} Ω")
print(f"ワイヤ質量: m = {m_wire*1000:.3f} g")

# 変態に必要なエネルギー(顕熱+潜熱、260K → 320K)
dT = 60.0
Q_sensible = m_wire * cp_NiTi * dT
Q_latent = m_wire * latent_heat
Q_total = Q_sensible + Q_latent
print(f"顕熱: {Q_sensible:.2f} J,  潜熱: {Q_latent:.2f} J,  合計: {Q_total:.2f} J")

# 1秒で加熱する場合の電流
P_needed = Q_total / 1.0
I_needed = np.sqrt(P_needed / R_wire)
V_needed = I_needed * R_wire
print(f"1秒加熱に必要な電力: {P_needed:.2f} W, 電流: {I_needed:.2f} A, 電圧: {V_needed:.2f} V")

# 放熱(宇宙空間:輻射のみ、Stefan-Boltzmann)
sigma_SB = 5.67e-8
T_wire = 320.0
T_env = 250.0  # 周辺構造温度
Q_rad = emissivity * sigma_SB * A_surf * (T_wire**4 - T_env**4)
print(f"320K時の輻射放熱: {Q_rad:.3f} W  → 冷却時定数(顕熱/放熱):{Q_sensible/Q_rad:.1f} 秒")

この計算から、SMAアクチュエータの駆動電力感覚が得られます。直径 0.5 mm × 長さ 100 mm のNiTiワイヤは抵抗約 0.5 Ω、質量約 0.13 g。260 K から 320 K への加熱に必要な総エネルギーは顕熱 3.5 J + 潜熱 3 J ≈ 6.5 J で、1秒で加熱するなら 6.5 W、電流 3.5 A 程度。一方、宇宙の真空中では対流冷却がなく、輻射のみで冷却するため冷却時定数は数十秒〜数分の長い時間がかかります。この「加熱は速いが冷却は遅い」非対称性が、SMAアクチュエータの動作周波数を制限する根本要因です。

まとめ

本記事では、形状記憶合金(SMA)の物理と宇宙アクチュエータ応用について、結晶学から構成則、応用、Python実装まで一貫して解説しました。

  • マルテンサイト変態:拡散を伴わない剪断的相転移で、原子の隣接関係を保ったまま結晶対称性が変わる。NiTiではB2 ⇄ B19’。24個のマルテンサイトバリアントが双晶関係で結ばれ、外力で再配向する。
  • 形状記憶効果と疑似弾性:同じ変態が温度駆動(SME)と応力駆動(pseudoelasticity)の2モードで現れる。宇宙アクチュエータでは主にSMEを使う。
  • Brinsonモデル:マルテンサイト体積分率を応力誘起 $\xi_s$ と温度誘起 $\xi_T$ に分け、コサイン関数で運動則を記述。応力ーひずみー温度の3次元相図を統一的に扱える。
  • 代表合金:NiTi(万能・〜100°C)、CuAlNi(高温・脆い)、Fe-Mn-Si(強度・低ひずみ)、NiTiHf(超高温研究材料)。回復ひずみ・疲労寿命・コストでトレードオフ。
  • 駆動方式:ジュール加熱が主流。宇宙では輻射冷却律速で冷却時定数が長い。
  • 宇宙応用:太陽電池パドル展開、アンテナ展開、ヒンジ機構(Hubble Halite、Frangibolt)、デブリ捕獲、ISS実験。無音・無バックラッシで光学系に優しい。
  • Python実装:Brinsonモデルで疑似弾性ヒステリシス、温度駆動応答、応力ー温度相図、軌道熱環境応答を可視化。NiTi 0.5 mm × 100 mm で 6.5 J/1 秒加熱、輻射冷却時定数 10〜30 秒。

SMAは「使い所を選ぶ」アクチュエータです。高速サーボには不向きでも、信頼性・無振動・シンプル構造を求める展開機構では最適解になりえます。設計の出発点は、軌道熱環境と動作温度範囲のマッチング、目的ひずみと最大回復ひずみの照合、そして駆動電力と熱バジェットの両立——これらをBrinsonモデルでシミュレートし、トレードオフを定量化することです。

次のステップとして、以下の記事も参考にしてください。