🗐 電装工芸日記 - 舞台照明機器の製作とか -

今年は開発案件を進めたい

or 管理画面へ

全年全月28日の投稿[27件](2ページ目)

2023年1月 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 キー入力の処理が出来ましたが、願わくば押し下げと解放も拾いたいところではあります。
 ですが、ハードウェアが汎用ですし、キーボードが押されたことを検知しているのではなく、入力された文字コードを得る処理ですので、これ以上細かいことはもう少し勉強しないとダメかな。

 socketの検証は場所も時間も潤沢に必要なので、もう少し本業を終わらせないと手を付けられませんが、キー入力によるコマンド処理をどうしようか考えています。
 入力されたアルファベットをコマンドショートカットとし、数字は数字として扱うことを基本にしようと思います。キーに対して処理を割り付けるのではなく、得たASCIIテキストに対して処理を割り付ければ標準入力だろうがUARTだろうがsocketだろうが何でも良く、ハードウェアに合わせた入口さえ作ればその先の処理は同じでいけます。こうするのは専用入力端末が壊れた時に汎用のキーボードでも対応したいからです。
 では、得たASCIIテキストをどう処理するかです。
 入力されたASCIIテキストは文字列として普通に扱えばいいでしょう。画面にコマンド列を表示したいならそれを変換すればいいし、コマンドを実行するなら関数に文字列として投げればいい。
 せめて、入力に制限をかけてありえない文字列にならないようにした方がいいでしょう。「コレの後にありえる入力はコレ」といった制限です。一種のルールマップを作り、条件に合致しない入力は応答しないかエラーを出すのです。数値に最大値の制限もかけたいですが、これはコマンド実行関数側の仕事であって入力時にチェックするものでもないかな?

#[Art-Net] #C言語

2022年12月 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 書き方を考えています。
 PICマイコンを書く場合は、表面の機能からではなく、全体の構造からまとめていくからです。
 表面的な機能だけで装置は動きません。これらを後回しにすることを推奨するのではありませんが、機能と機能を能動的に結びつけなければ結果に至らないからです。
 DMXのディマーも、DMXを受信するだけでなく、アドレスを設定したり、ACの波長とゼロクロスポイントを取得したり、得た情報を結びつけて適切なタイミングでSCRをON/OFFしなければなりません。
 PICにおいてはハードウェアモジュールの割り込みフラグを用いるのは当然としても、1個のタイマーで複数の実行タイミングを生成出来なければなりません。タイマーはほんの数個しかありませんので、実行モジュール毎にタイマーを割り付けてタイムアップを取るのは不可能だからです。細かい構造は割愛しますが、環境に合わせた工夫を仕込んでおかないと動くモノも動かないのです。

 PICとは事情が違いますが、RaspberryPiを開発するなら複数のCPUスレッドに仕事を分散させて処理能力を出来るだけ引き出さないといけません。
 PythonでもC言語でも、プログラムをマルチスレッド化するだけならプロセスは一つでありCPUスレッドは1つしか使われません。CPUスレッドを振り分けるのはOSの仕事でプログラムの記述で指定することは出来ないようですが、CPUスレッドを最大限利用するにはマルチプロセスで書くことが最低条件となるようです。
 マルチプロセス化する方法はいくつかありますが、プロセスとプロセスの間に継承と共有をする情報があるならば工夫が必要です。これらを都度の例外とするのは開発においてもメンテナンスにおいても効率が良くありませんので、継承と共有の仕組みを最初から作っておくのが良いと思います。
 これから取り組もうとしている工夫は正にコレです。この仕組みがまとまればC言語での開発が飛躍的に発展します。

#C言語
Icon of admin
 マルチプロセスについて調べていました。
 fork()、exec()、共有メモリをセットで使えば良いようです。

Linuxプロセスの生成と実行 fork/exec

 fork()は現プロセスを別プロセスに完全コピーします。実行状態も含めてです。同じプログラムが別々のプロセスでfork()を実行する直前のコンディションで並列実行されますが、自身がコピーされた子プロセスなら別プロセスで実行したいプログラムをexec()で起動するというもの。exec()で別プログラムを起動すると呼び出したプログラムは終了しますので、結果として別プロセスで別プログラムが起動したことになります。共有メモリなどの設定を済ませてからfork()を実行すれば、共有メモリの情報を別プロセスの別プログラムに簡単に渡せるのでスマートです。

 以下、いささか愚痴ですし、教えを頂いている立場が言うことではないのですが、fork()、exec()、共有メモリがセットであることに触れずにfork()だけを切り取った情報が多いこと多いこと。ゴッタ煮説明が理解しにくいのは事実ですが、fork()だけではfork()の意味すらわからないと思うのです。私と同じことを調べている方がいたら、exec()に触れずにfork()だけを力説している情報は読み飛ばした方がいいと思います。もちろん、瞬間的に計算能力を増やすのにサブルーチン的な別プロセスを使う方法あるのでexec()を用いずfork()と共有メモリで組むこともあるとは思いますけど。
 マルチプロセスというとfork()単独の話ばかりが目につきますが、共有メモリをキーに掘り下げたところfork()、exec()、共有メモリの3点セットが理解出来たところです。

 話を戻しますが、共有メモリの情報を別プロセスに渡す方法も含め、具体的に解決した感じです。
 これなら、複数ある機能のどれかから別機能のプロセスを起動するより、必要な機能の全プロセスを起動するだけのメインプログラムを書いた方が管理しやすいような気がします。共有メモリなどを設定し、機能ごとのプロセスを起動していく最初に起動するプログラムです。一種のランチャーですね。

 うーん、やっぱりC言語は高級言語というよりアセンブラ風味だなぁ。

#C言語

2022年11月 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 分岐カバーを9個同時にプリントしています。
 これが欲しいというよりプリンタの試験です。プラットホームの場所によって仕上がりが違う気がしたのですが、プラットホームに3×3の9個乗ったので試験に丁度いいかなと。
 分岐カバーも1個や2個では試験にならないので、ついでに作れるなら丁度いいかなと。
 CAM曰く2日と14時間かかるそうです。明日の夕方には終わるかなと。

 全天候型のLEDスポットに中華TRUE1を取り付けて使っていますが、水没さえしなければ思った以上に雨風に耐えてくれるので便利です。直電源のケーブル類はすべて中華TRUE1にしてもいいかなと思ったりしているのですが、分岐が出来ないと不便です。防滴の分岐も中華電器で手に入りますがちょっと高価だし、中華電器ではコピー品以外の製品は同じモノを継続的に入手することが期待できませんので二の足を踏んでいるのです。
 分岐はリングスリーブで繋げた部分に機械強度を与えて風雨から保護できればいいので、シンプルを極めた機能的な物を模索しています。

#3D #照明器具
Icon of admin
 薄合板とスタイロフォームを貼り合わせた試材を確認してみました。

 スタイロフォームは30mm厚、薄合板はラワンの2.0mm厚、双方3×6サイズ。
 接着は木工用ボンドCH38を50%水で薄めたモノ(元の重量に対し半分の重量の水を加えたモノ)をローラーで両材に塗布して貼り合わせ。
 丸3日放置しましたが思った以上に頑丈です。板の3尺辺に角材を挟んで私(約68kg)が乗ってたわみが15~20mm。接着が剥がれたところがありましたが、折れることなく耐えました。
 接着の剥がれはスタイロフォームが丸ノコの下敷きで使っていたジャンクで切り傷があったことと接着剤を薄め過ぎたことが原因だと思います。剥がれたのは丸ノコで削られていたところですから、新品のスタイロフォームにローラーで塗布できるギリギリの粘度に薄めた木工用ボンドを塗布すれば耐えるでしょう。
 今回はありものでのお試しでしたが、引っ張り強度が強い薄材でスタイロフォームをサンドイッチする方法には期待が持てます。

 次のお試しは、スタイロフォームを厚くして50mm厚にし、50×12mmの杉材を縁に入れ、脚を付ける場所には木のブロックを入れてみます。
 スタイロフォームの厚さが過剰な気がしないでもありませんが、不足感とやり過ぎ感の両方を試しませんと落としどころは見つかりません。

#ガチ工作

2022年10月 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 JASRACの敗訴が確定したそうです。
 yahooニュース
 著作権者の権利と利益を守ることは大切ですが、言い掛かりにも等しい理由で取り立て先を増やそうとするのはどうかと。
 器を大きくしたり中身を増やそうとせずに自分の取り分だけより多く求めるのは半島貴族っぽい思考ですねぇ。まぁ、そういうことなんでしょうケド。

 私が気に入らないのは「包括的利用許諾契約」。誰に支払われるのかわからん金を支払えってやつ。あと、足切りと呼ばれる利用率が低い著作権者には支払いがされない制度。
 どちらも1曲単位で管理するのは事務処理が膨大で現実的に無理という理由。権利を預かって金銭を取り立てる立場が許される言い訳なのか?。

 音楽著作権の管理が利用された回数ならカラオケ屋さんのシステムを利用すればいいのに。誰が作ったナンて曲が何回再生されたか1曲単位で瞬時にわかるので不透明さが無い。明瞭会計。
 明瞭だと困るから今のシステムなんだろうなぁ、って勘繰ってしまいますけどね。

#雑談

2022年8月 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 mdadmによるRAID1は正常になったようです。不調だった原因が私の操作なのか温度なのかはわかりませんケド。
 温度が心配なのでケースに穴を空けようと思います。

 ちなみに、アクセスランプが2秒くらいの間隔で点滅を繰り返していました。数時間でおさまりましたが、ext4の何某なのか、mdadmの何某なのか、原因は不明です。最終的に正常になればいいのですが、こういった挙動は収まるまで待つしかありません。

#サーバー

2022年7月 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
20220728181009-admin.jpg
 LEDフットライトのLEDモジュール基板を発注しましたので、KiCADの3D画を揚げてみました。
 KiCADは回路図から基板を作れて3Dまで出るので便利です。
 LEDの3DキーはFusion360で描いたものをSTEP形式で出力してKiCADに読ませています。 
 逆に、KiCADで描いた基板の3DもSTEP形式で出力すればFusion360に読ませられます。配線パターンまでは表現されませんが、基板の外形に部品が乗った状態のものが出力されます。
 改めて描くことなく部品が乗った基板をFusion360の部品としても使えるので便利です。

 今回は最大4.0vのLEDをDC24v電源のCL6807で駆動させますので5発です。LEDを直列で使いますので、電源電圧はLEDの総電圧+3~5v程度になります。
 LED1発分くらいはドライバ回路で消費となります。

 価格は20枚で$81(USD・送料別)です。消費税は後請求か着払い扱いになるようです。
 為替レートを今日現在の135.5円/USDとすると10975.5円です。1枚あたり548.8円程度。アルミ基板がこの価格は安いと思います。
 ドライバ基板はLEDの動作や照度を確認してからにしますが、基板の価格はサイズよりも枚数に左右されるので1枚の基板に2回路入れましょう。電源モジュールも2回路で1台ですから丁度いい。

#電子工作
Icon of admin
 再度LEDの照度を計ってみましたが270Lx出ています。
 必ずしも芯に照度計を置ける訳ではないので5%くらいの違いはアリアリですが、最初の計測値が妙に低かったのは何故でしょう。
 原因はわかりませんが、大事な時にこの現象が起きないことを祈ります。

 基板を設計するにあたり照度をあたり直してみます。
 目指す製品は2.4m離れて1200~1500Lx出す物です。

 現在の計測条件は距離2.2mですので設定値より1割ほど近い。距離の差分で照度は85%くらいになりますので、現在値を260Lxとすると期待値は220Lxです。
 製品は幅1.2mにLEDが30発並んだ構成を想定しています。現在の有効照射面は直径1.0m程ですから照射面の1点には製品1台の83%が当たることになります。
 現在は5発で実験していますので1発あたり44Lx。30発の83%なら24.9発見当。単純計算では1097Lxになるハズです。

 設計値より低いので、仮に製品幅を1.0mにすると照射面の1点には100%当たることになり1320Lxです。
 この値なら十分ですが、現実には経年劣化等によりこの値よりも落ちると思います。10%減として1188Lxですが、この値ならかろうじて目標値。
 仮に製品幅を0.9mにすると1467Lxで10%減でも1319Lx。放熱はいけそうなので、部品類が収まるならこの幅かな?

 通風口やらケーブル口を考慮し、LEDを27.5mmピッチで取り付ければ30発でも0.9mに収まります。

#LED #照明器具

2022年6月 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 最近、明るくするだけのご要望が何件か来ています。会場の設備では規定の明るさに至らないので照明を追加したいという話です。
 仮設ですから設備工事ではなく、明るくするだけですから舞台・イベントの様な演出照明でもありません。こんなケースでは蛍光灯が便利ですが、ある程度の指向性も必要なケースですと蛍光灯ではちょっと違います。なんといいますか、ありそうで無い器具が必要です。
 
 ならば作るしかありません。
 最近はちょっと前のLED素子が激安です。中華電器では3wのナチュラルホワイト(210lm4500K)が50個で500円程度です。1個10円です。実効効率60%としても126ルーメンですから、1mあたり24個並べて3000ルーメンあります。3000ルーメンなら500フレネルくらい?。費用対効果のバランスは悪くない。
 ドライブ回路は既製品で良い物はなかなかありませんが、DMX調光を求めなければ CL6807 を使えば簡単に作れますし、 秋月電子通商さんのキット  を使えば更に簡単です。PICなどでDMXを受信してPWMを生成すれば調光できるっちゃできます。
20220628173053-admin.jpg
 CL6807は少し前の中華電器製のLEDスポットにはよく使われていました。調光特性は微妙ですが、35v1Aまでドライブ出来てここまで簡単に使えて安価なドライバも他にありません。こういったものをうまく利用すれば安価で簡単に作れそうです。

 今は弓道の的をライトアップする灯具を考えています。
 射手の後方から吊りバトンやイントレに仕込んだ数十台のPARライトで的をライトアップすれば要求は満たせますがコストも電力もかかります。舞台照明屋にとってはあり物で組める一番簡単な方法ですけど・・・
 公式の競技規定では的の最低照度が1000ルクス、願わくば1500ルクス前後は欲しいそうですから、薄暗い体育館でも環境光は400ルクス程度はあるので+1000ルクスすれば要求を満たします。
 射場全体を明るくすることは求められておらず的を中心に明るさを確保できればいいので手前3mくらいに灯具を置くのが照明的に効率がよく影も少ない。灯具1台あたりの責務を間口1m、的位置の仰角も1mとするなら1000ルーメン(1ルクス=1ルーメン/平方メートル)出るスポットで良いことになります。直感ですが、300wのワイド球を入れた2灯ミニブルを的の手前5mに3mピッチで置けば良いでしょう。
 ただし、射手から見てあからさまな障害物があってはいけませんし、熱で床を傷めそうなのでミニブルではたぶんダメです。

 カラーミックスも調光もしないなら、上記のCL6807と3wのナチュラルホワイトLEDを使ったLED-BARを出来るだけ薄い筐体にまとめれば解決かなと。背丈の低いフットライトを作るワケです。
 100vを直接入力できるスマートLEDを使ってもいいですけど、半減角を20~40度くらいにしたいのでスマートLEDだと集光で難儀しそう。

 半減角30度、色温度4500K、3000ルーメン、高さ40mm程度、長さ1mくらいのLED-BARがあればこの案件は解決するし案外便利に使えるかなと。
 LEDだからとカラーミックスが正解とも言えないなぁ~と思う今日この頃。

#LED #本業

■思ってみた

春ですねぇ~。
花粉症の部下は死にそうですが、暖かいってのはいいことです。

編集

■全文検索:

複合検索窓に切り替える

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■日付検索:

■カレンダー:

2023年1月
1234567
891011121314
15161718192021
22232425262728
293031

■カテゴリ:

■最近の投稿:

最終更新日時:
2025年4月29日(火) 20時16分48秒