ヒョウモントカゲモドキの孵卵器を自作する

この記事は あくあたん工房2023アドベントカレンダー の8日目です.

こんにちは.トカゲ教授omznです.

昨年から飼い始めたヒョウモントカゲモドキ(Leopard Gecko)ですが,あくあたんシステムの一部を間借りして管理していたのですが,今のところ下の図に示すようになっています.(クリックで拡大)いまや,水槽よりもこっちの方が遙かに大きいシステムになってしまいました.


そもそもトカゲ用のケージが4つもありますからね…


今回の記事

今年はヒョウモントカゲモドキが産卵するようになったので,試行錯誤を重ねて孵卵器を作成しました.
このたび,自作孵卵器で最初の卵が孵化しましたので,ここに記録しておきます.

ヒョウモントカゲモドキの卵

ヒョウモントカゲモドキは一般的に1度の産卵で2個の卵を産みます.
ケージ内の底床を掘って作った産卵場所に産んだ後,埋め戻しますので,掘り出して孵化器に移します.産んだメスは卵を回収された後も,けなげに産んだ場所に土をかけたりして隠そうとしていますが,無駄な努力なのだよ….


卵は柔らかい卵殻になっていて,さわるとふわふわします.誤って転がしたり落としたりすると卵は死んでしまいますので,掘り出した時に上側だったところにマジックで印を付けておきます.以後,必ずこの印が上になるようにして保管します.
保管場所はタッパーなどに水苔を敷いたものを準備して,これを孵卵器の中に入れておきます.時々,水苔が保湿されているかは手動で確認します.


ヒョウモントカゲモドキの卵の管理

ヒョウモントカゲモドキの卵は,温度26℃〜34℃,湿度80%〜90%で管理するとよいとされています.また,温度にも依りますが,40日〜70日で孵化すると言われています.
結構長丁場なので,静かに温度湿度が安定した場所に置くのが良いようです.なお,今回の卵は,28℃で管理し続けたところ,53日で孵化しました.その後も53日前後で2つの卵が孵りました.


湿度

湿度が十分でないと,卵が乾燥してしまい死んでしまうことになります.また,高すぎてもカビが生えたりするようなので,あんまりびしょびしょなのも良くなさそうです.
そこで,孵卵器内部を常に一定の湿度に保ちたいと思います.加湿については,特に何もしなくても孵卵器内部に水分を含んだもの(水苔とか)を置いておけば勝手に加湿されますので,上がりすぎた湿度を下げる方針で孵卵器を作ります.

温度

温度依存性決定(TSD)により,孵卵中の温度によって性別が決定されます[1].
(なお,孵卵温度を28℃以下にしておくとほぼ100%メスになります.)
そのため,性別を固定するのであれば,温度の管理は必須になります.

ヒョウモントカゲモドキの温度依存性決定([1]より引用)

性別に関わらず,26℃以下にしないほうが良いので,何らかの保温装置が必要です.ここではシートヒーターを使って温度を上げる方に保ちます.私の飼育環境では24時間全館冷暖房が効いているため,室温は常に26℃前後になっています.そのため,室温が高すぎて冷却が必要な環境では,冷却についても考慮してやらねばなりません.

孵卵器の実装

上記の管理方針に従って,孵卵器内の温度・湿度を調整する機構を作ります.
必要とする部品は以下の通りです.

  • M5 HUB Switch D (2チャンネルAC100Vリレー)
  • M5ATOM Lite (M5 ATOM S3, M5 ATOM S3 Lite等,何でも可)
  • DCファン (5V駆動)
  • ENV III Unit (SHT30温湿度センサ)
  • MOSFET (2SK4017)
  • 10kΩ抵抗 x 2
  • シートヒーター
  • ダイソーのシューズケース

孵卵器本体は,ダイソーのシューズケース(小型)を使っています.普通の大きさのシューズケースでも構わないですが,ちょっと広すぎて持て余すかもしれません.また,小型は大きめのダイソーにしか置いてないことがあります.卵が10個ぐらいまでは小型でいけるのではないかと思います.100円なので加工をするのにもためらいがなく,とても良い素材です.



湿度の管理のためにはファンを実装します.



M5ATOM Liteの25番ピンを通じてMOSFETにPWMを送り,0〜255段階でファンを回します.(実際には起電力が必要なので,PWMは65ぐらいからにしないとファンが回りません.)
ファンは孵卵器の蓋に開けた穴に設置し,内部の水分を外部に放出する方向にファンを回します.
湿度自体はENV III UnitのSHT30で計測します.温湿度センサなので簡単に温度と湿度を得ることができます.
ファンは湿度を入力とするPID制御を採用して駆動させます.ファンを動作させると湿度は敏感に反応するので,湿度取得間隔は2秒程度と短くしています.実際は閾値でON, OFFするだけでも良いと思われますが,そこは勉強も兼ねて次のようなコードで実装しています.

int Fan::manageByHumid(float h) {
  const float dt = 2;
  const float kp = 10, ki = 1, kd = 10;

  static float diff_p = 0, diff_c = 0, integral = 0;
  float p, i, d;
  int prev_power = fan();

  diff_p = diff_c;          // 湿度の差 (%)
  diff_c = h - _target_humid;  // 湿度の差 (%)
  integral += (diff_c + diff_p) / 2.0 * dt;
  integral = integral > 50 ? 50 : (integral < -50 ? -50 : integral);

  p = kp * diff_c * (diff_c < 0 ? 5 : 1); // 1 % で pwm 10 :負の時は x 5
  i = ki * integral;                //
  d = kd * (diff_c - diff_p) / dt;  // 1% で pwm 10
  float power = p + i + d;
  int ipower = constrain((int)power, 0, 255);
  DPRINTF("humid: %.1f, target: %.1f, power: %.1f (%3d)\n", h, _target_humid, power, ipower);
  fan(ipower);
  return (ipower && !prev_power || !ipower && prev_power);
}

温度の管理はシートヒーターをACリレーで駆動します.
M5 HUB Switch Dを使うと,100V電源でATOM Liteを動かせるので,余計な配線が不要になります.
また,M5 HUB Switch Dの本体にある2つめのGROVEコネクタは25番ピンを引き出していますので,上述のファンの回路をこのGROVEコネクタの先に作ればよいことになります.温度変化は湿度ほど短時間ではありませんので,こちらは上限下限の閾値を定めてON, OFFを制御します.

最終的な見た目はこんな感じになります.


ソフトウェアは,自身で作成中の汎用環境センサシステムを使います.利用するモジュールのみをソフトウェアで有効化できるので,重宝しています.また,Raspberry Piにより温湿度等を記録するサーバを作っています.

孵卵器モニター

温湿度の現状,これまでの履歴,そして卵の孵卵日数を記録するための孵卵器モニターも作成しています.



1つ目の卵は初めてでしたので,リビングのトカゲケージ横で見守りました.2つ目以降は納戸にシステムごと移しましたが,納戸のほうが人間の活動が無い分,湿度が安定することが分かりました.


幼体も飼えます.

ヒョウモントカゲモドキの幼体は親に比べて高温・高湿度環境が必要なので,幼体飼育ケージにも全く同じシステムを流用できます.幼体ケージもダイソーのシューズケースで作っています.
幼体は湿度をおよそ70%〜80%でキープするように設定し,M5 ATOM S3の液晶に現在の状態を表示させています.


コオロギも飼えます.

同じシステムを流用するとコオロギの維持管理にも使えます.今年はこれを使うことでフタホシコオロギを3世代に渡って飼育を続けることができています.(現在進行形)
コオロギは湿度60%ぐらいをキープなのですが,それでもうまいこと維持できています.
今年はコオロギ牧場が続くといいな…



参考文献

[1] J. M. Hall, Temperature dependent sex_determination in reptiles, Herpetoculture Magazine, isseue 17, March 2021, https://www.researchgate.net/publication/349718375_Temperature-dependent_sex_determination_in_reptiles