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

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

or 管理画面へ

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

Icon of admin
 3Dプリンタは治ったようです。ただ、主原因はサーミスタ(温度センサ素子)ではなくコネクタピンでした。
 サーミスタを交換しても完全に治らないので、改めてテスターで当たりまくるとプラットホームのコネクタピンの一部が根元は導通するのに先端は導通しないのを発見。ピンを取り外して確認しましたが、変色などまったく無く見た目はキレイでコジっても折れず。不良とは到底思えないのに導通がありません。しかも、そんなのが2本。同じ銘柄のコネクタからピンを取って交換したところ正常に戻った次第です。
 不良コネクタピンの1本は複数あるGNDの1本でしたが、ヒーター電源の通りが良くなったのかセンサーの反応が良くなったのか、プラットホームの温度がこれまでになく安定しています。取り外したサーミスタはよく見るとコゲっぽい色になっていたので交換時期と思って間違い無さそうですが、よもやコネクタピンが不良の主原因とは思いもよらず。コネクタの不良はメスコンタクトが緩んで接触不良になることが多いのですが、オスコンタクト(ピン)の中折れは初めてです。ユーザーのナニのナニとシンクロしたのか!?
 オヤジ小ネタはともかく、キツネに抓まれたような気分です。何がなんだか・・・。毎年初詣に行く稲荷神社に行かなかったのでお狐様が意地悪しに来たのでしょうか??腑に落ちないとはこのことですが、わからんもんはわからんので、プリンタを買い直さずに済んだことを素直に喜ぶしかありません。
 試作品の製作を再開しました。喜ぶのはこのジョブが最後まで終わったのを見届けてからかな?ジョブを開始して1時間、今のところ安定して動いています。
 明日から浜松まで出向いて2日程現場なので、プリントの品質が良くなることを祈りつつ今夜は寝ます。

#3Dプリンタ
Icon of admin
 3Dプリンタを直すための部品(サーミスタ)が予定よりも早く届きました。
 4/20到着予定が4/10です。印象操作を感じなくもないですが、土日を挟んで6日間ですから十分に早いでしょう。
 これで治るといいですが、どうなることでしょう。

 そういやムービングライトが1台動作しません。先日も同様の不良が出たので修理を試みたのですが、原因を探ろうとしたところ動いてしまい原因を追えなかった機体です。
 ウォッシュタイプですが、PAN/TILTは動くのにLAMP周り(LEDとズーム)が動きません。PAN/TILTとLAMPは制御基板が別々なので、LAMP側の基板が動作していないことになります。
 動作しないと言っても基板の故障とは限りません。電源のパイロットランプは点灯するし、要所には定格の電圧が来ています。正常な機体で試してみたのですが、サーマルセンサからと思われるケーブルを抜くと同じことになりますので、たぶんこのケーブルの先に故障があるのでしょう。サーマルセンサか、ケーブルか、間に入っている回路か、ジックリ確認しましょう。
 サーマルセンサが不良の場合、今回買った物が使えるなら楽なんですけどね。50個も買ってしまったし。

#3Dプリンタ #照明器具
Icon of admin
 Linux上のC言語でLTCの波形を起こせたらと思ったのですが、処理能力の総量は余裕タップリなものの、Art-Netエンジンを作った際に感じた挙動ムラから想像するに許容範囲を越える波形ムラが起こりそうです。LinuxはOSそのものや他のモジュールに引っ張られて100~300usecくらい待たされることがあるのですが、LTCの波形を起こすのにこの条件はよろしくありません。RTOSを使わないなら普通のことですけどね。

 ならばLTCを起こすところにはPICを使ったらいいかな?適材適所?
 LinuxからUARTなどでフレーム情報を送ってPICでLTCを生成するのです。2~4フレーム分くらいPICにバッファすればLinux側に動作ムラがあっても安定した波形を出すと思われます。
 差動バイフェーズで信号を反転する時間ピッチは25fpsで250usecです。29.97fpsではなく25fpsとしているのは、PALのレートなのでLTC対応の演出機器は100%対応するし、何よりも計算がしやすく誤差も出にくいために当面の試作には良いかなと。250usecは32MHzのPICで2,000命令相当の時間です。これだけあれば大概ことは1フェーズ分実行出来ます。実行周期はTMR1やTMR2による周期割込みを使えばPICのクロック素子相当の精度を得られます。
 求める精度は、周期が0.001%未満、差動バイフェーズの立ち上がり立下り精度が5%未満です。無理は無さそうです。

 書いてて思ったのですが、こんなLTCジェネレーターをこれまでに作らなかった自分が不思議。

#タイムコード #PIC #電子工作
Icon of admin
 ホール管理の増員で操作盤の置物になっているだけなので調べモノをし放題です。

 PythonのライブラリをC言語で作る方法の基本はわかりました。このサイトだけでほぼ解決。

 製作手順を大まかに書き出すと、

1)関数ライブラリを用意する。
 C言語で#includeして使える関数なら汎用でも自作でも何でもいい。
2)「ラッパー関数」を用意する。
 C言語の関数をPythonへ引き渡す定義をするソースファイル。Pythonからの呼び出し方と変数の変換方法をC言語で記述します。
3)セットアップファイルを用意する。
 セットアップファイルはgccで言うところのMakeFileです。Pythonで記述され、ファイル名はsetup.pyにすることが多いそうです。
4)ビルドする。
 セットアップファイルを使ってビルドする。
5)インストールする。
 セットアップファイルを使ってインストールする(動作の実際はPythonパッケージ管理のpipへの登録)。

 と、なります。
 ラッパー関数はC言語とPythonの両方を知らないと記述出来ないので少し難しいですが、セットアップファイルは定型の通り記述するだけです。

#C言語 #Python
Icon of admin
 PythonならVLCを簡単に扱えそうですが、C言語で扱うのはちょっと難しそうです。
 ネットには先達の情報が少なく、VLCライブラリのヘッダーファイルを読んでも理解不能。ヘッダーファイルには更なるヘッダーファイルが記述してあり、そのヘッダーファイルの中にも更なるヘッダーファイルがあります。どこまで深いのかわからんくらいです。プロトタイプ宣言と思わしき記述もゴリゴリのC++なので何がどうなっているのか追いかけられません。高度で大きなアプリケーションですから簡単ではないのです。
 当面はPythonでの実装を目指し、C言語での実装を夢見るってところでしょうか。

 となると、Pythonでタイムコードの生成をするのがカギになるかもしれません。
 Pythonで安定したLTCの波形を生成するのは厳しそうなのでMIDI-TimeCodeにするのが現実的でしょうか。MIDIは9600bpsのUARTですからPythonでも余裕を持って作れます。ただ、音源操作と照明操作の場所が離れているとMIDIでは接続が難しいので、音声信号として送れるLTCが望みです。MIDIをRS485に変換すればいいって話もありますけどね。
 C言語でLTC生成のPythonライブラリを作るのがいいのでしょうか。PythonライブラリをC言語で書いたことはありませんが、C言語のライブラリとして成立していれば比較的簡単な記述でPythonライブラリが作れるそうです。

#タイムコード
Icon of admin
 PythonでVLCライブラリを使えば映像や音声に関して今やりたいことは全て出来そうです。
 VLCは映像や音声の類は何でも再生出来る便利なアプリですが、コマンドラインでも使えるし、プログラムを書くためのライブラリとしても機能します。Windowsはもちろん、MacでもLinuxでも動きます。
 懸案の再生時間の取得ですが、再生のためにはファイルをVLCモジュールに読み込んでインスタンスにするのですが、インスタンスからget_time()を取ると現在の再生ポジションをmsecの値で得られるようです。得た値の扱いはよく考えねばなければなりませんが、途中から再生しても適切なタイムコードを出せそうです。
 ついでにTASCAM系のプレイバックも協調動作させますか。比較的単純なシリアル信号で動きますから、CDなどを同時スタート出来ればバックアップになります。
 もちろん、PythonのライブラリがあるならC言語のライブラリもあると思われます。Pythonで書いとけばプラットホームを選ばないので、このツールはC言語で書くよりいいのかもしれないけど。
 開発する時間がないので当面棚上げですが、ノンビリ研究していきましょう。

追記
 C言語のライブラリーはlibvlc、includeは<vlc/vlc.h>だそうです。
 映像を表示せず音声だけの出力も明示的に指示出来るようです。

#タイムコード
Icon of admin
 試してはいませんが、Linux系で音源を再生するのは簡単っぽいです。
 モジュールの種類はいくつもありますし、コマンドに音源ファイル名を付けて叩くだけの物もあります。
 ファイルブラウザを作れるなら、プレーヤー自体を作ることは難易度が低そうです。
 ただ、再生中の音源が現在何分何秒目かを得る方法が見当たりません。音源再生のライブラリに秒数を得る関数あるかもしれませんが、ネットの記事には「簡単に音源を再生出来るぢょ♪」という趣旨の物が多いのでそこまで解説してなくても仕方ないのかな?。タイム情報はガチのプレーヤーを作らなきゃ不要ですしね。
 合間に調べを進めましょう。

 目指す物は、音源に手を加えず、音源にタイムコードを加えたのと同じ結果を得られるプレーヤーです。

#C言語 #RaspberryPi
Icon of admin
 お陰様で本業が忙しい今日この頃です。
 部下が照明の空打ちをしていた時に話していたのですが、CUEの送りを曲に合わせて自動化出来ないかとのこと。
 ストリートダンス系の仕事が頻繁にあるのですが、打ち込みはいいとしても本番オペが案外大変。照明のリクエストをしてくるのが振付をしている指導者ですから要望が年々細かくなってきているのです。さらに、多いと60曲はある長い本番を最後まで集中し続けるのは現実的ではありません。
 1曲あたりのリクエスト数を制限する手もありますし、リクエストに100%応えているワケでもありませんが、空打ちの際にタイミングもプログラム出来たらってことです。
 音源に則したタイムコードを得ることが王道でしょうか。音源をモノラルにしてタイムコードも録音するのが常套手段としても、誰がその編集をすんだって話。
 ようやく本題ですが、mp3プレーヤーからタイムコード(SMPTE12M-LTC)が出ないかなと思った次第。
 そんなアプリがあればいいのですが、RaspberryPiで作れのでしょうかね。mp3やWAVファイルの再生は可能ですし、タイムコードを吐き出すことも可能です。可能なモノをミックスすればいいのでプログラムは作れると思われます。

#本業 #RaspberryPi
Icon of admin

 「オジサンの休日」はツボです。
 最近はアップの頻度が月に2-3回に減ったのが残念ですが、専業youtuberさんではない家族持ちの本業持ちのお方がここまでやるのは尊敬します。
 その昔はサザエさんを観ると月曜日が怖くなったものですが、オジサンのチャンネルを観る様になってからは日曜日が待ち遠しくなってます。

#雑談
Icon of admin
 3Dプリンタが不調です。
 起動直後は正常ですが、しばらくするとプラットホームの温度が0度を示すかエラーを吐いてプリントが止まります。以前は極稀な現象でしたが、徐々に頻度が増えてきて、昨日今日は毎回発生してプリントが終わらなくなりました。
 原因は不明ですが、プラットホームの温度を測るサーミスタ(温度抵抗)が寿命かもしれません。サーミスタに寿命あるとは思ってもいませんでしたが、先達の書き込みによると連続運転での寿命は1~3年とのこと。購入したのは5年くらい前ですから使用頻度を考えればそんなもんかなと。
 プリンタの買い替えも視野に入れていますが、その前にサーミスタを交換してみます。定格は不明ですが、壊れかけながらも正常な値を示しているであろう室温で98kΩ前後を示しますので100kΩの物と思われます。形状とサイズは表面実装3216(JIS)サイズですが、基板のパターンは2012(JIS)サイズでも取り付けられそうです。表面実装タイプは最大でも100kΩなので、定格を間違っても壊れることは無いと思います。

追記
 国内で探したところ1608(JIS)サイズばかりです。さすがに小さすぎて基板のパターンに合いません。
 中華電機に3216(JIS)サイズの100kがありましたので発注。最小単位50個です。送料含めて1,000円以下なので許容範囲ですが、この数をどうしろと・・・。安いのは有難いことですが、中華電機で部品を求めると数が多くて困ることが少なくありません。サーミスタのハンダ付けは温度条件が厳しいので、失敗しても構わないと思えばいいのかもしれませんけどね。
 配送予定は4/20です。このところ配送が早い中華電機に期待しますが、3Dプリンタ作業はしばらく中断です。

追記
 4/20到着予定のサーミスタが4/10に届きました。
 早い!
 

#3Dプリンタ

■当面の課題

桜のライトアップの季節です。花粉症の季節でもあります。
自分は平気ですが、花粉症の部下は死にそうな顔をしています。

編集

■複合検索:

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

■日付検索:

■カレンダー:

2023年4月
1
2345678
9101112131415
16171819202122
23242526272829
30

■カテゴリ:

■最近の投稿:

最終更新日時:
2024年4月28日(日) 08時26分25秒