Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ソフトウェア技術者のための実践・ハードウェア試作

Avatar for myasu myasu
September 20, 2025

 ソフトウェア技術者のための実践・ハードウェア試作

オープンセミナー 2025 香川
https://osk.connpass.com/event/363281/

IoTという言葉が広まって久しく、関連するサービスや製品はすでに身近な存在となっています。
ソフトウェア開発者にとっても、こうしたシステム開発に関わる機会は増えてきているのではないでしょうか。
本発表では、産業向け装置(Factory Automation)分野での経験を踏まえ、PoCから一歩先を見据えた、ハードウェア試作における要点を紹介します。

Avatar for myasu

myasu

September 20, 2025
Tweet

More Decks by myasu

Other Decks in Technology

Transcript

  1. お前、誰よ? myasu • おしごと ◦ 医療系システム・その他特注機器開発(ソフトハードメカ開発 ◦ 生産技術@製造業( 10数年ほど。工場作る、生産設備作るなど •

    プログラム言語: ◦ C#、Python、Elixir、Rust、Go、Delphi、ROS、M電機PLC 他 • コミュニティ(主に岡山・香川) ◦ ハードウェア「NervesJP」 (設立) ◦ ロボット「瀬戸内ROS勉強会」 (設立) ◦ ハードウェア「えれくら」 (運営) @trihome @myasu yasuhiro.miyake.5076 @etcinitd @myasu 2
  2. 活動 自主製作・自主開発が趣味。 • 技術同人誌の制作 ◦ 「備中絡繰製造所」名義 • 出展 ◦ モノ作り系・MakerFaire

    ◦ オープンソースカンファレンス ◦ 技術書典、技術書同人誌博覧会 • 技術系勉強会参加、発表など (”勇者ロボ”の開発もお手伝いしてます・右下 コミケ/技術書典で頒布 技術系同人誌 モノづくり展示会 3 商業誌
  3. 製造現場のカイゼン 作例1:部品の取り間違いを防止する「ポカよけ」装置 • ”ポカ” ◦ 組立作業での部品の取り間違い(微妙な仕様違いなど) • 作業者の慣れに期待したいが・・・ ◦ 農機具:生産数少ない

    ◦ 生産する期間は、短いときで1日~長くても2週間。 ◦ 次の生産は来年。作業者の入れ替わり • 製品の生産期間が短く・・・ ◦ 作業手順書、チェックシートの作り込みがしにくい ◦ 設備投資の費用回収も難しい 8 (写真:いらすとや)
  4. 産業用途で使われる機器 • FA設備 ◦ いろいろな製品を量産する機械。工場の中。 • 構成部品 =FA機器 (Factory Automation) • スイッチ、ランプ、センサーなど

    ◦ 誘導電動機、空圧・油圧機器、ガス、液体・・・ • 頑丈! ◦ 少々荒い使い方をしても、壊れない • 電源、基本はDC24V ◦ あるいはAC100V, 200V, 三相・・・ ◦ マイコンなど電子機器をつなげるには、ひと工夫必要 23 (写真:MITSUBISHI,Panasonic, IDEC, PATLITE)
  5. 産業用途で使われる制御機器 • PLC (プログラマブル ロジック コントローラ) ◦ 安いものだと1万円程度から ◦ 入出力10点くらいから ◦

    20年くらいは販売が継続 ◦ ネットワーク無し。オプションで+ 2万円くらい ◦ オプション付けると色々出来る。けどあっという間にン十万円(!) • タッチパネル ◦ モノクロ3インチで2万円弱から ◦ カラー15インチで30万円以上(!) • 耐障害性、安定性、長期供給は保証 ◦ 10~30年は稼働し続けられること! ◦ 30年後でも、これらの部品が置き換えできること! 24 (写真:Siemens, DIGITAL)
  6. RaspberryPi を PLCっぽく使ってみよう PLCの考え方を取り込んでみよう!     モジュールを追加して機能拡張する概念→ • RaspberryPiにFA用機器を直接接続する ◦ 電圧の違い(3.3V ~

    24V)を相互変換する機能 • 機能拡張しやすい仕組みも取り入れ ◦ Seeed社のGROVE System ◦ CONTECの拡張ボード ◦ など 25 CPU IO AD Ether ・・・
 (写真:Siemens, Seeed Studio)
  7. 制御機器の特徴を比較 27 PLC Raspberry Pi 記述言語 ラダー Python, Ruby, C,

    C++ ... ”RUN中書き込み” できる できない デジタル入出力の電圧 24V 3.3V→別途24V変換必要 操作者に対する 入出力機器 FA用タッチパネル 液晶モニタ マウス、キーボード 電源の操作 いきなり入・切OK シャットダウンの操作必要
  8. センサの信号
 FA機器とRaspberryPiの接続 28 (写真:Siemens, DIGITAL) FA用センサなど
 FA用表示灯など
 DC24Vで動作する機器
 RaspberryPi
 3.3Vで動作する部品


    フォトカプラで
 電気的に絶縁
 フォトカプラで
 電気的に絶縁
 トランジスタ
 アレイで
 電流増幅
 表示灯の信号
 表示灯を点灯
 センサの信号

  9. いきなり自作は難しい・・・拡張 市販の拡張ユニットを活用 • コンテック(充実) ◦ https://www.contec.com/jp/lp/daq-control/raspberry-pi-cpi-series • WaveShare(安価) ◦ https://www.sengoku.co.jp/mod/sgk_cart/search.php?maker=WaveShare

    • ビット・トレード・ワン ◦ リレー制御拡張基板 ◦ https://bit-trade-one.co.jp/product/module/adrsru/ • ラトックシステム ◦ 入出力(デジタル・アナログ) ◦ https://www.ratocsystems.com/products/rasppi.html 32 (写真:ビット・トレード・ワン、ラトックシステム)
  10. いきなり自作は難しい・・・便利な製品 • WAGO・CC100 ◦ リアルタイムLinux ◦ CODESYS(NodeRedのようなビジュアル開発) ◦ Dockerも使える •

    横河電機・e-RT3 Plus ◦ Ubuntu Linuxがそのまま動作 ◦ 横河電機PLC機器と連携容易 33 (写真:横河電機、ハーティングページ) https://www.yokogawa.co.jp/solutions/products-platforms/ control-system/real-time-os-controller/
  11. いきなり自作は難しい・・・便利な製品 • M5Stack ◦ マイコンボード+画面+ボタン+ IO+・・・ ◦ Grove System並の豊富なセンサー類 ◦

    FA向けの拡張オプションも充実 • ハーティング・RevPiシリーズ ◦ 産業向けRaspberry Piを搭載 ◦ PLCと同じようにIO拡張可能 34 (写真:SwitchScience、ハーティング)
  12. 電源の配慮 • RaspberryPiは”パソコン” ◦ 必ずシャットダウンが必要 • 工場現場で”電源のぶち切り” ◦ SDカードが壊れて、起動しなくなる可能性大 ◦

    自動シャットダウンユニット、 UPSなど必要 ▪ 市販品の例:ADRSZUP ゼロワン 電源保持基板 | Bit Trade One, LTD (bit-trade-one.co.jp) ◦ SDカードを”読み込み専用”化 ▪ 設定例 :Raspberry Pi OSのrootfs ROM 化 36
  13. 周辺環境からの保護 不意な故障を避けるために、盤(ケース)に必ず入れよう! 37 • 工場現場での使用 ◦ 周辺環境からの保護:オイルミスト、ホコリなど ◦ 接触不良の予防(SDカードの電極など) •

    ノイズ対策 ◦ 金属製の盤への収納、シールド線の使用 • 放熱対策 ◦ 放熱器、ファン • 安全への配慮 ◦ 電気が流れている部分に触れないようにカバー ◦ 電気の流れすぎ・ショートしたときのブレーカー
  14. 盤のなかみ FA部品を活用して制御盤に仕上げる・一例(主要メーカー) 38 •サーキットプロテクタ
  (三菱電機、富士電機)
 •リレー
  (オムロン)
 •端子台
  (東洋技研、WAGO)
 RaspberryPi


    GROVE Hat
 •プラボックス
  (日東工業、タカチ)
 •アルミフレーム
  (NICオートテック)
 •ゴム足
  (タキゲン)
 •コンセント
  (パナソニック)
 •防水ランプ、スイッチ
  (IDEC、オムロン)
 •タワー表示灯
 (日恵製作所、
  シュナイダーエレクトリック) 
 •DINレール、配線ダクト
 (篠原電気)
 300mm
 500mm
 屋根付き
 (漏水、ホコリ防止)
 ケーブルダクト(興和)
 ケーブルマーカーでコメントを書く

  15. 部品の購入先 会社で買うには • 近隣の”電気材料系”の商社 ◦ メーカーの1次代理店を活用 ◦ 香川)大豊産業、ライト電業、中西電気、新生電機など ◦ 岡山)双葉電機、新生電機、ライト電業、岡山宮地弘商事など

    個人で買うには • 産業機器 ◦ ミスミ、モノタロウなど • 電気部品 ◦ 香川)電化パーツ ◦ 岡山)松本無線 ◦ 秋月電子通商、シリコンハウス、千石電商、マルツなど (敬称略) 39
  16. Raspberry Piの言語 RaspberryPiのOS → Linux (UNIX)ベース • ソフトウェアPLC ◦ CODESYS、OpenPLC (PLCの特徴をソフトウェアで実現、専用の IDE必要) •

    プログラミング言語 ◦ Python (圧倒的な作例数と情報量 ◦ C/C++言語 (速い! ◦ Elixir (PLCの”RUN中書き込み”ができる) ◦ Rust、Go、PHP、JAVA・・・ 42
  17. Raspberry Pi用のハードウェア入出力ライブラリ ライブラリ・その他のプログラム言語 デバイス Python Go Rust Ruby Elixir GPIO

    gpiozero periph.io rppal raspi-gpio Elixir Circuits I2C smbus i2c UART Serial serial serialport serialport (外付) Python Go Rust Ruby Elixir PHP JAVA modbus PyModbus modbus modbus rmodbus Modbuzz Phpmodbus j2mod 43 (写真:MG)
  18. 仕様:作例1 • 次に使う部品を作業者に教える ◦ 部品箱そばのランプを点滅 • 部品を取ったことを検知 ◦ 人がボタンを押す ◦

    間違ったボタンを押したら警告 ▪ (押すべきボタンが、高速に点滅して「押して欲しい」アピール) • RaspberryPiの電源管理、RTCユニットの時刻保持管理 46
  19. 全体構成(ハード) 47 ランプ付きボタン
 操作盤
 (押しボタン&ランプ)
 Grove Base Hat for Raspberry

    Pi
 UPS&電源
 監視ユニット
 作
 業
 者
 入出力数拡張ユニット
 (8ch x4)
 Raspberry Pi
 GPIO24V~3.3Vレベル変換
 本装置のステータス表示
 測定対象
 赤:通信異常など
 青:正常運転
 GROVE
 I2C
 GROVE
 DIGITAL
 GROVE
 I2C
 RTCユニット

  20. 全体構成(ソフト) 48 Python3
 プログラム
 systemd
 電源監視 sh
 RTC/NTP管理 sh
 Picking.service


    時刻合わせ:起動時だけ
 (例:Qiita)
 UPS&電源監視ユニットからの 信号監視 (例:Qiita)
 (起動システム)

  21. コミュニティ • IoT縛りの勉強会! IoTLT ※ https://iotlt.connpass.com/ IoT系の製作事例を多数紹介 • FA設備技術勉強会 ◦

    https://fa-study.connpass.com/ ◦ 産業向け技術のLT形式発表 • トランジスタ技術 ◦ https://fa-study.connpass.com/ ◦ https://inteface-meet-up.connpass.com/ 52
  22. まとめ • モノを作ってみる ◦ 作例を紹介 • PoCのステップ・ゼロからイチへ ◦ 実際に作るために必要なモノ •

    中長期の運用を見据えた考え方 ◦ 故障させない、安全に使い続けられること • 情報交換の場 ◦ モノ作りのコミュニティ・個人でも出られる展示会 54