Slide 1

Slide 1 text

関数型言語Elixirで作る 小水力発電システム part 1: 概要 Open Source Conference 2025 Online/Fall 2025.10.18 菊池 豊@NervesJP & 高知工科大学 1

Slide 2

Slide 2 text

謝辞 myasu nishiuchikazuma 32hiro takasehideki pojiro satorumatsushima 2025.10.18 菊池 豊@NervesJP & 高知工科大学 2

Slide 3

Slide 3 text

コンセプト 産業システムを ラクに楽しく作りたい 構築するのも維持するのも 2025.10.18 菊池 豊@NervesJP & 高知工科大学 3

Slide 4

Slide 4 text

内容 • 背景 (by kikuyuta) – 小水力発電システムざっくり入門とこれまでの活動 • ハードウェアについて (by kikuyuta) – Nerves マシンの開発 – 今回のハードウェア設計の方針 • ソフトウェア実装 (by pojiro) 2025.10.18 菊池 豊@NervesJP & 高知工科大学 4

Slide 5

Slide 5 text

小水力発電所全体 2025.10.18 菊池 豊@NervesJP & 高知工科大学 5 圧力管 発電所 放水口 導水管 取水堰 ヘッドタンク 総落差 (m) 流量(m3/s)

Slide 6

Slide 6 text

小水力発電所(発電所内部) 2025.10.18 菊池 豊@NervesJP & 高知工科大学 6 Turbine Generator Regulation Protection OAM Transformer Switch Board Power Grid

Slide 7

Slide 7 text

小水力発電制御に求められる機能 2025.10.18 菊池 豊@NervesJP & 高知工科大学 7 • 動かす、止める、保護する – 特に異常の検出と、異常検出時に安定に安全に止めること • 与えられた状況で最大の発電出力(効率)を出す – 流量や需給バランスが変動する • 管理・監視 – 状況を見る、操作する、記録を取る – 現場とネット経由と

Slide 8

Slide 8 text

これまでの歴史 2025.10.18 菊池 豊@NervesJP & 高知工科大学 8 2016 2018 2020 2022 PLC Ladder 1st Original box Python 2nd Original box (not used for real applications) 3rd Original box Elixir Nerves 2024 Hardware: Language:

Slide 9

Slide 9 text

発電所の場所 2025.10.18 菊池 豊@NervesJP & 高知工科大学 10

Slide 10

Slide 10 text

長野県 野沢温泉村 2025.10.18 菊池 豊@NervesJP & 高知工科大学 12

Slide 11

Slide 11 text

本沢小水力発電所 レイアウト 2025.10.18 菊池 豊@NervesJP & 高知工科大学 13 山頂

Slide 12

Slide 12 text

本沢小水力発電所の仕様 2025.10.18 菊池 豊@NervesJP & 高知工科大学 14 • 総落差 ≒ 80m • 流量 ≦ 90L/s • ペルトン水車 – 縦軸 – 電動ノズル 4射 – 出力 ≒ 55kW • 同期発電機: 60kVA • 蓄電池: 54.6kWh • 系統: 6600V 60Hz

Slide 13

Slide 13 text

Nerves がいごく堅牢なマシンを • 2019年当時はそれほど多くなかった – 産業用の環境で大丈夫な Linux ハードウェア • 温度、湿度、振動、埃… • 自分たちで作った – Beaglebone(オープンソースハードウェア)をベースに – 産業の環境に耐えられるかの試験を実施 IEC 61131-2 2025.10.18 菊池 豊@NervesJP & 高知工科大学 15

Slide 14

Slide 14 text

第3世代のNerves箱 ExiBee 2025.10.18 菊池 豊@NervesJP & 高知工科大学 16 Octavo OSD335x C-SiP inside

Slide 15

Slide 15 text

IEC 61131-2 温度・湿度試験 2025.10.18 菊池 豊@NervesJP & 高知工科大学 17

Slide 16

Slide 16 text

IEC 61131-2 振動衝撃試験 2025.10.18 菊池 豊@NervesJP & 高知工科大学 18

Slide 17

Slide 17 text

制御システムのハードウェア概要 2025.10.18 菊池 豊@NervesJP & 高知工科大学 19 MODBUS TCP Erlang Cluster MODBUS RTU MODBUS TCP Powerhouse Turbine / Generator Nagasaka Ski house Power Grid / Battery Digital I/O Analog I/O Digital I/O Other types RTU/TCP converter Erlang Cluster MODBUS/TCP MODBUS/TCP Erlang Cluster TCP/IP/Ethernet Optical Fiber L2SW L2SW Digital I/O Digital I/O

Slide 18

Slide 18 text

短いライフサイクルをどうするか 2025.10.18 菊池 豊@NervesJP & 高知工科大学 20 • 小水力発電システムは何十年もいごく – デバイス類が製造中止になったらどうする? • 我々の回答 – MODBUS や TCP/IP/Ethernet の規格は生き続けるだろう – Linux箱からの独立 = 本体の入出力を使わない • すべての I/O は MODBUS 経由で – ほとんどは Modbus/TCP、ちょっぴり Modbus/RTU – ExiBee は Modbus/TCP のみを使い、自身の I/O は使わない

Slide 19

Slide 19 text

発電所内部 2025.10.18 菊池 豊@NervesJP & 高知工科大学 21

Slide 20

Slide 20 text

ひきつづき ソフトウェア実装について 2025.10.18 菊池 豊@NervesJP & 高知工科大学 22 by pojiro