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

能登半島地震で被災された方々にお見舞い申し上げます。

or 管理画面へ

全年全月9日の投稿(時系列順)[36件](3ページ目)

2022年12月 この範囲を新しい順で読む この範囲をファイルに出力する

Icon of admin
 3Dプリンタそのものが旧式なのも原因でしょうが、相変わらずABSは難しい。
 反る、寸法が出ない、高積層だと割れるなど、求める形にするのに難儀します。
 されど、機械特性は良く真夏の倉庫に保管しても形が崩れることがありません。
 求めると応えてくれない、諦めようとすると応えてくる、相変わらずのツンデレさんであります。

 形状に合わせた条件を探っていけばそれなりに仕上がるのですが至るまでが大変。どうにかしたい。
 息抜きになんとなくネットを検索したところ、「polymaker(ポリメーカー)」というブランドのフィラメントが良いとの書き込みを見つける。
 PLAやPETG並みに扱いが簡単って意味ではありませんが、ABSにしては画期的に条件が出やすいとのこと。人によってはコレ一択だそうです。
 amazonで検索したところ扱いがありました。他のフィラメントより20-30%ほどお値段は張るものの、仕上がりを探る手間、つまりテストプリントの回数が減るならむしろ安いと言えます。

 もちろんポチリました。
 入荷は週明けですが、試すのが楽しみです。

#3D

2023年3月 この範囲を新しい順で読む この範囲をファイルに出力する

Icon of admin
 インターカムのパワーサプライは3台完成。出来る限り見た目も良くしたのでそれっぽく見えます(自画自賛)。
 本業も忙しいのですが、この調子で棚上げ課題を済ませたいところです。

 次は「裸族のパイ」です。
 HDDケースの「裸族のカプセルホテル」の中にRaspberryPiを入れてサーバー機にするものです。
 筐体の改造などは終わっていて、RaspberryPiのACT信号によるUSB電源の制御を残すだけなのでそれほど難しくないハズです。
 「裸族のパイ」は自宅サーバーの省電力化のためにも必要なので速やかに進めたいところです。

追記
 せっかくなのでパワーサプライの記念撮影
20230309080952-admin.jpg 202303090809522-admin.jpg 202303090809521-admin.jpg
 ケーブルに隠れていますが、3枚目の写真の右側にターミネーターを実装した分岐基板があります。
 以前から使っているパワーサプライはXLRコネクタの内側端子にターミネータの部品を直接ハンダ付けしていますが、見た目も悪いし機械強度も不安なので、この基板に換装しようと思います。

#電子工作
Icon of admin
 RaspberryPi4BのACT-LEDをGPIOに出力してみました。
 /boot/config.txtに設定を追加します。
 以下はGPIO24(18番ピン)に出力する設定です。他のピンでも動くと思います。

$ sudo vi /boot/config.txt
# 末尾[all]の後に次を加えます。
dtparam=act_led_gpio=24


 再起動すると基板上の緑のLEDの挙動がGPIO24に出ます。

 やりたいことはUSB電源の制御で、カーネルが読み込まれたらONにし、カーネルが落ちたらOFFにしたいのです。再起動においてUSBデバイスをリセットするためにUSB電源を一度落とすことが目的です。
 更に設定を追加してACT-LEDを常時点灯にすると求める動作を得られるようです。

$ sudo vi /boot/config.txt
dtparam=act_led_gpio=24,act_led_trigger=default-on,act_led=on


 起動後にカーネルが読み込まれるとGPIOがHになり、シャットダウンもしくは再起動でカーネルが落ちるとLになります。それぞれのタイミングも良さそうです。
 今日はLEDで出力を見ただけですが、実際にリレーを動かすならプルダウンした上にトランジスタ等でバッファする必要があるでしょう。

 RaspberryPiのUSB電源はスクリプトで制御可能ですし、リレーを動かすだけならGPIOを操作すればいいのですが、各種モジュールが読み込まれる前に電源を投入し、各種モジュールが落ちてから電源を切りたいので意味が違います。
 カーネルが落ちたらUSB電源も落ちればいいのですが、RaspberryPiのUSB電源はPWR-LEDの標準動作と同じ挙動っぽいので、今回はACT-LEDを用いることにします。

#RaspberryPi

2023年5月 この範囲を新しい順で読む この範囲をファイルに出力する

Icon of admin
 連休が終わってしばらく現場がありません。開発やらメンテナンスをする余裕が出ました。

 LTCジェネレーターの研究を進めてみます。
 これは「LTC Sound Player」で使うタイムコードジェネレーターで、UARTで受信したデータをPICで送出する物です。間にFT232RLを繋げばパソコン等からUSBでも制御出来るハズです。
 FT232RLはUSBシリアル変換ICです。比較的簡単な回路で動き、ドライバは最近のOSなら予め入っているか自動でインストール出来ます。
 FT232RLのいいところはMacでもWindowsでもLinuxでも使えることです。アプリケーションからは極々シンプルなシリアルデバイスに見えるので、大半の開発言語の標準ライブラリで扱うことが出来ます。
 当初C言語で開発しようと思ったのですが、音源再生やらLTCジェネレーターの構成を考えていくとPythonを用いるのが良さそうです。巧く書けばMacでもWindowsでもLinux(RaspberryPi)でも使えるモノになるからです。

#器具の製作 #タイムコード
Icon of admin
 オレメモです。

 LTCジェネレーターの制御は、パソコンやらRaspberryPi(以下、母艦と呼称)でLTCのバイナリを生成し、PICで所定のbpsの差動バイフェーズに変換することにします。
 PICにはFIFOバッファーを構成しようと思っていますが、母艦からPICへの送信がバッファオーバーフローか遅延にならない様にタイミングを考慮しないといけません。PICから母艦へデータ送信要求(許可)をする方法が必要でしょう。FT232RLはフロー制御も出来ますからそれを使ってもいいのですが、RaspberryPiのUARTにはフロー制御がありません。GPIOを直接制御してその様な信号を作ってもいいのですが、フロー制御を持ちなくても済むならそれに越したことはありません。UARTはデータを双方向でやり取りできますので、PICから母艦へデータ送信要求を送ることにしましょう。
 SMPTE12Mのフォーマットを8bit(1byte)区切りで見ますと、バイナリグループのビットを常に0にすることが条件ですが、上位4bitは0x0,0xB,0xF,(0x3)のどれかにしかなりません(0x3は逆再生した際にシンクワードで発生する値)。これ以外の値ならば制御コードとして使えます。ASCIIテキスト制御ではありませんから0x00と0xFF以外なら何でもいいので、双方で使える制御コードにしておけば後でわかりやすいかなと。
 この場合、上位4bitは0x5か0xAが一般的でしょうか。2進数ならb0101またはb1010です。0x7F以下のASCII文字になる値がデバックしやすいかもしれないので0x5かな。
 例えばですが、

0x50 初期化(LTC送信停止・バッファクリア)
0x51 これに続くデータは設定データ(設定はfpsとDF/NDF)
0x52 これに続くデータは送信データ
0x57 データエンド
0x58 データ受信要求
0x59 データ送信要求
0x5F データ(動作)エラー


 こんな感じ?

 後はbpsの精度をどこまで求めるかです。
 タイムコードの項に延々と書いていますが、波形周期を得るタイマー割込みのコンペア値を動的に変化させることで長周期の精度を水晶発振子の精度ギリギリまで出すことは可能です。ですが、どこまでの精度が必要なんでしょうね。

#器具の製作 #タイムコード
Icon of admin
 「LTC Sound Player」を本格的に製作する前にLTCによって生産性が上がるのか検証しなければなりません。本番操作が楽でも結果的に作業量が増えたら本末転倒だからです。
 音源を加工せずにLTCを出すことが目標ですが、まずはテスト音源を作成。花火屋さんに倣い、L-chに音楽、R-chにLTCです。今回は29.97fps(NDF)と25fpsの2種類を作ってみました。
 LTCはここで作ってもらいました。便利なサイトがあるものです。
 1時間目から本編開始とし、マイナス2フレーム(29.97fpsなら00:59:59.28)からのLTCです。2フレームは01:00:00.00を確実に掴んでもらうためのノリシロですが、普段の音源編集でも0.05秒程度のノリシロ(余白)を付けているので問題無いと思います。

 吉と出るか凶と出るか。

 そうそう、VLCをベースにするなら映像を元にしてもLTCが出せそうです。

#器具の製作 #タイムコード
Icon of admin
 LTC音源で卓が動きました。「MA dot2 core」です。
 トリガータイムは手打ちも出来ますが「TC Record」機能を使えばLTCを受けながら「GO」を押すことでタイムが取れます。タイムの修正も現在値に対するプラスマイナスで行えます。
 ただし、LTCが走り出してから認識するのに0.3sec.程度かかります。また、エグゼキューターをOffにしておいてもその時刻が来るとCUEが走ってしまいます。
 装置を構成するには卓の挙動をよく観察しないといけませんが、一度覚えさせればその通りに再現してくれる感覚は良いですね。

追記
 LTCの認識は同じ値を送り続けたら解決出来るかもしれません。スタートするまで1フレーム前のデータを繰り返し送り続けるのです。1:00:00.00からスタートするなら0:59:59.29(29.97fps)のデータを送り続けるのです。試すしかありませんが、アクティブな一時停止が実現出来れば手段が広がるように思います。

#器具の製作 #タイムコード

2023年8月 この範囲を新しい順で読む この範囲をファイルに出力する

Icon of admin
 次の2つの関数を作成しました。
・時間値をフレーム数に変換
・フレーム数からタイムコード値に変換(30・29.97・25・24fpsNDF、29.97fpsDFをサポート)
 29.97fpsでは±1フレームの誤差が出ますが、他のfpsの様にキリ良く計算出来ないからです。演出機器を動かすなら29.97fps以外を使った方がいいと思います。
 ドロップフレーム(DF)の処理はパズルでした。規則は単純ですが、計算式だけで解を得られない数の置き換えは思った以上に難儀します。
 この後は LTC Player から得られる時間値からタイムコード値を自動でカウントし続けるモジュールを作ります。すでに試作品があるのでそれを参考にします。ここでもDFが面倒な課題となります。

#タイムコード

2023年9月 この範囲を新しい順で読む この範囲をファイルに出力する

Icon of admin
 「Open DMX USB」をオリジナルのアプリで使うことを考えていきますと「DoctorMX」も使えたらなと思ってしまいます。
 開発・販売元のクワテックさんでは DoctorMX を使うためのライブラリとサンプルコードを公開してくださってます。C/C++ 向けですが、サンプルコードは私でも読めるので扱えるかもしれません(その昔は全く理解出来ませんでした。ちょっと感動。)。
 小屋卓のPC版を作るかはともかく、DoctorMX と Open DMX USB の扱い方を習得しておくのはいいかもしれません。

 2023年9月現在、クワテックさんから DoctorMX の Python ライブラリの提供はありません。リクエストしたら作ってくれそうな気もしますが、まずは自力で解決を目指しましょう。工夫や努力もせずに安易なリクエストをされるのは私も嫌ですしね。

「PythonからC言語の関数を呼び出す(基本編)」

追記
 上記がコンパイル出来るか試みましたがエラーを吐いて終わらない。
 「error: Unable to find vcvarsall.bat」とのこと。
 なんじゃこりゃ!?
 環境は VSCode の上で gcc です。
 日本語サイトには直球な解決策は見つかりませんでしたが、某英語サイトに「Microsoft Visual C++ Build Tools」を入れたら解決するとの書き込み。

Microsoft Visual C++ ビルド ツールをインストールする

システムに Microsoft Visual C++ がインストールされていない場合、または古いバージョンがインストールされている場合は、Microsoft Visual C++ Build Tools をダウンロードしてインストールできます。Microsoft Visual C++ Build Tools には、Windows 上で C++ コードをビルドするために必要な環境変数とツールが含まれています。

Microsoft Visual C++ Build Tools をインストールする手順は次のとおりです。

1:Visual Studio Build Tools Web サイトに移動します。
2:インストーラーをダウンロードして実行します。
3:「C++ ビルド ツール」ワークロードを選択します。
4:「インストール」をクリックします。


 開演時間になったのでお試しはお預けですが、2時間ほど悩んでいたので期待感大。

#Python #器具の製作

2023年11月 この範囲を新しい順で読む この範囲をファイルに出力する

Icon of admin
 カムロックケーブルが故障です。ユニットのレセプタクルから外れなくなってしまいました。固定ネジが折れて樹脂製のシェルが空回りするのです。
 バイスグリップで挟んで外せましたが交換しないといけません。カムロックの取り付けは何度もやっているので問題ありませんが取り外すのは別です。
 固定ネジがダメになっているので樹脂製のシェルは廃棄です。遠慮なくカッターで割り、端子を外して新品に付け替えます。丈夫な物を壊すのは一苦労ですが無事に交換完了です。
 外れなくなった原因は潤滑不足による捻じ込みトルク過多です。カムロックは最大180度、最小でも120度捻じ込まないといけませんが、強引な捻じ込みを繰り返しますと固定ネジに負担がかかって破損するようです。KURE556(666)やWD40、シリコンなどを塗布して接点のロックピンが必要以上に噛まない様に管理しなければなりませんが、コロナでしばらく使っていなかったのでメンテナンスを忘れていました。
 接点の洗浄を兼ねてKURE556の塗布をするすることを定期メンテナンスの課題にします。また、固定ネジも緩むことがありますから塗布の際に締め付けを確認することも追加です。

#器具の修理

■当面の課題

花粉症シーズンも一段落したようで重傷者にも笑顔が戻ってきました。私は原始人なので花粉が酷い日でも鼻の中が埃っぽいなぁくらいにしか感じませんけど。
気温の変化が激しいようですので、みなさま健康管理には注意してください。

編集

■全文検索:

複合検索窓に切り替える

■複合検索:

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

■日付検索:

■カレンダー:

2022年12月
123
45678910
11121314151617
18192021222324
25262728293031

■カテゴリ:

■最近の投稿:

最終更新日時:
2024年5月17日(金) 11時57分19秒