2023年4月の投稿(時系列順)[33件]
2023年4月2日 この範囲を新しい順で読む この範囲をファイルに出力する
現場が続いております。
難易度は低い物件ばかりですが、連日はナカナカ重いです。
そんな渦中、「靴屋の小人」もとい3Dプリンタさんが試作品を作ってくれてます。
プリントには小物でも数時間かかりますから、出掛ける前や寝る前にセットすると丁度いいです。プリント不良が出るのは1層目が大半ですから、最低限それは見送りますケドね。
これまで結構な量をプリントしてきましたが、必ずしもCADデータの通りにプリントされないのが難しい。樹脂成型は金型を使ってもそういうモノらしいので仕方ありません。
私が使っているプリンタの場合、例えば平プレートに穴が空いているモノを作るとして、プレートの外形はCADデータの寸法がほぼ出るのですが、穴径は0.5〜1.0mmくらい小さくなります。特に小さな穴ではCAD段階で大きくしておかないといけません。どんな形状を作るとしても、テストプリントの実測から重要寸法の調整は必要です。
#3Dプリンタ
難易度は低い物件ばかりですが、連日はナカナカ重いです。
そんな渦中、「靴屋の小人」もとい3Dプリンタさんが試作品を作ってくれてます。
プリントには小物でも数時間かかりますから、出掛ける前や寝る前にセットすると丁度いいです。プリント不良が出るのは1層目が大半ですから、最低限それは見送りますケドね。
これまで結構な量をプリントしてきましたが、必ずしもCADデータの通りにプリントされないのが難しい。樹脂成型は金型を使ってもそういうモノらしいので仕方ありません。
私が使っているプリンタの場合、例えば平プレートに穴が空いているモノを作るとして、プレートの外形はCADデータの寸法がほぼ出るのですが、穴径は0.5〜1.0mmくらい小さくなります。特に小さな穴ではCAD段階で大きくしておかないといけません。どんな形状を作るとしても、テストプリントの実測から重要寸法の調整は必要です。
#3Dプリンタ
2023年4月4日 この範囲を新しい順で読む この範囲をファイルに出力する
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プリンタ
起動直後は正常ですが、しばらくするとプラットホームの温度が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プリンタ
「オジサンの休日」はツボです。
最近はアップの頻度が月に2-3回に減ったのが残念ですが、専業youtuberさんではない家族持ちの本業持ちのお方がここまでやるのは尊敬します。
その昔はサザエさんを観ると月曜日が怖くなったものですが、オジサンのチャンネルを観る様になってからは日曜日が待ち遠しくなってます。
#雑談
お陰様で本業が忙しい今日この頃です。
部下が照明の空打ちをしていた時に話していたのですが、CUEの送りを曲に合わせて自動化出来ないかとのこと。
ストリートダンス系の仕事が頻繁にあるのですが、打ち込みはいいとしても本番オペが案外大変。照明のリクエストをしてくるのが振付をしている指導者ですから要望が年々細かくなってきているのです。さらに、多いと60曲はある長い本番を最後まで集中し続けるのは現実的ではありません。
1曲あたりのリクエスト数を制限する手もありますし、リクエストに100%応えているワケでもありませんが、空打ちの際にタイミングもプログラム出来たらってことです。
音源に則したタイムコードを得ることが王道でしょうか。音源をモノラルにしてタイムコードも録音するのが常套手段としても、誰がその編集をすんだって話。
ようやく本題ですが、mp3プレーヤーからタイムコード(SMPTE12M-LTC)が出ないかなと思った次第。
そんなアプリがあればいいのですが、RaspberryPiで作れのでしょうかね。mp3やWAVファイルの再生は可能ですし、タイムコードを吐き出すことも可能です。可能なモノをミックスすればいいのでプログラムは作れると思われます。
#本業 #RaspberryPi
部下が照明の空打ちをしていた時に話していたのですが、CUEの送りを曲に合わせて自動化出来ないかとのこと。
ストリートダンス系の仕事が頻繁にあるのですが、打ち込みはいいとしても本番オペが案外大変。照明のリクエストをしてくるのが振付をしている指導者ですから要望が年々細かくなってきているのです。さらに、多いと60曲はある長い本番を最後まで集中し続けるのは現実的ではありません。
1曲あたりのリクエスト数を制限する手もありますし、リクエストに100%応えているワケでもありませんが、空打ちの際にタイミングもプログラム出来たらってことです。
音源に則したタイムコードを得ることが王道でしょうか。音源をモノラルにしてタイムコードも録音するのが常套手段としても、誰がその編集をすんだって話。
ようやく本題ですが、mp3プレーヤーからタイムコード(SMPTE12M-LTC)が出ないかなと思った次第。
そんなアプリがあればいいのですが、RaspberryPiで作れのでしょうかね。mp3やWAVファイルの再生は可能ですし、タイムコードを吐き出すことも可能です。可能なモノをミックスすればいいのでプログラムは作れると思われます。
#本業 #RaspberryPi
2023年4月6日 この範囲を新しい順で読む この範囲をファイルに出力する
試してはいませんが、Linux系で音源を再生するのは簡単っぽいです。
モジュールの種類はいくつもありますし、コマンドに音源ファイル名を付けて叩くだけの物もあります。
ファイルブラウザを作れるなら、プレーヤー自体を作ることは難易度が低そうです。
ただ、再生中の音源が現在何分何秒目かを得る方法が見当たりません。音源再生のライブラリに秒数を得る関数あるかもしれませんが、ネットの記事には「簡単に音源を再生出来るぢょ♪」という趣旨の物が多いのでそこまで解説してなくても仕方ないのかな?。タイム情報はガチのプレーヤーを作らなきゃ不要ですしね。
合間に調べを進めましょう。
目指す物は、音源に手を加えず、音源にタイムコードを加えたのと同じ結果を得られるプレーヤーです。
#C言語 #RaspberryPi
モジュールの種類はいくつもありますし、コマンドに音源ファイル名を付けて叩くだけの物もあります。
ファイルブラウザを作れるなら、プレーヤー自体を作ることは難易度が低そうです。
ただ、再生中の音源が現在何分何秒目かを得る方法が見当たりません。音源再生のライブラリに秒数を得る関数あるかもしれませんが、ネットの記事には「簡単に音源を再生出来るぢょ♪」という趣旨の物が多いのでそこまで解説してなくても仕方ないのかな?。タイム情報はガチのプレーヤーを作らなきゃ不要ですしね。
合間に調べを進めましょう。
目指す物は、音源に手を加えず、音源にタイムコードを加えたのと同じ結果を得られるプレーヤーです。
#C言語 #RaspberryPi
PythonでVLCライブラリを使えば映像や音声に関して今やりたいことは全て出来そうです。
VLCは映像や音声の類は何でも再生出来る便利なアプリですが、コマンドラインでも使えるし、プログラムを書くためのライブラリとしても機能します。Windowsはもちろん、MacでもLinuxでも動きます。
懸案の再生時間の取得ですが、再生のためにはファイルをVLCモジュールに読み込んでインスタンスにするのですが、インスタンスからget_time()を取ると現在の再生ポジションをmsecの値で得られるようです。得た値の扱いはよく考えねばなければなりませんが、途中から再生しても適切なタイムコードを出せそうです。
ついでにTASCAM系のプレイバックも協調動作させますか。比較的単純なシリアル信号で動きますから、CDなどを同時スタート出来ればバックアップになります。
もちろん、PythonのライブラリがあるならC言語のライブラリもあると思われます。Pythonで書いとけばプラットホームを選ばないので、このツールはC言語で書くよりいいのかもしれないけど。
開発する時間がないので当面棚上げですが、ノンビリ研究していきましょう。
追記
C言語のライブラリーはlibvlc、includeは<vlc/vlc.h>だそうです。
映像を表示せず音声だけの出力も明示的に指示出来るようです。
#タイムコード
VLCは映像や音声の類は何でも再生出来る便利なアプリですが、コマンドラインでも使えるし、プログラムを書くためのライブラリとしても機能します。Windowsはもちろん、MacでもLinuxでも動きます。
懸案の再生時間の取得ですが、再生のためにはファイルをVLCモジュールに読み込んでインスタンスにするのですが、インスタンスからget_time()を取ると現在の再生ポジションをmsecの値で得られるようです。得た値の扱いはよく考えねばなければなりませんが、途中から再生しても適切なタイムコードを出せそうです。
ついでにTASCAM系のプレイバックも協調動作させますか。比較的単純なシリアル信号で動きますから、CDなどを同時スタート出来ればバックアップになります。
もちろん、PythonのライブラリがあるならC言語のライブラリもあると思われます。Pythonで書いとけばプラットホームを選ばないので、このツールはC言語で書くよりいいのかもしれないけど。
開発する時間がないので当面棚上げですが、ノンビリ研究していきましょう。
追記
C言語のライブラリーはlibvlc、includeは<vlc/vlc.h>だそうです。
映像を表示せず音声だけの出力も明示的に指示出来るようです。
#タイムコード
2023年4月7日 この範囲を新しい順で読む この範囲をファイルに出力する
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ライブラリが作れるそうです。
#タイムコード
ネットには先達の情報が少なく、VLCライブラリのヘッダーファイルを読んでも理解不能。ヘッダーファイルには更なるヘッダーファイルが記述してあり、そのヘッダーファイルの中にも更なるヘッダーファイルがあります。どこまで深いのかわからんくらいです。プロトタイプ宣言と思わしき記述もゴリゴリのC++なので何がどうなっているのか追いかけられません。高度で大きなアプリケーションですから簡単ではないのです。
当面はPythonでの実装を目指し、C言語での実装を夢見るってところでしょうか。
となると、Pythonでタイムコードの生成をするのがカギになるかもしれません。
Pythonで安定したLTCの波形を生成するのは厳しそうなのでMIDI-TimeCodeにするのが現実的でしょうか。MIDIは9600bpsのUARTですからPythonでも余裕を持って作れます。ただ、音源操作と照明操作の場所が離れているとMIDIでは接続が難しいので、音声信号として送れるLTCが望みです。MIDIをRS485に変換すればいいって話もありますけどね。
C言語でLTC生成のPythonライブラリを作るのがいいのでしょうか。PythonライブラリをC言語で書いたことはありませんが、C言語のライブラリとして成立していれば比較的簡単な記述でPythonライブラリが作れるそうです。
#タイムコード
2023年4月8日 この範囲を新しい順で読む この範囲をファイルに出力する
ホール管理の増員で操作盤の置物になっているだけなので調べモノをし放題です。
PythonのライブラリをC言語で作る方法の基本はわかりました。このサイトだけでほぼ解決。
製作手順を大まかに書き出すと、
1)関数ライブラリを用意する。
C言語で#includeして使える関数なら汎用でも自作でも何でもいい。
2)「ラッパー関数」を用意する。
C言語の関数をPythonへ引き渡す定義をするソースファイル。Pythonからの呼び出し方と変数の変換方法をC言語で記述します。
3)セットアップファイルを用意する。
セットアップファイルはgccで言うところのMakeFileです。Pythonで記述され、ファイル名はsetup.pyにすることが多いそうです。
4)ビルドする。
セットアップファイルを使ってビルドする。
5)インストールする。
セットアップファイルを使ってインストールする(動作の実際はPythonパッケージ管理のpipへの登録)。
と、なります。
ラッパー関数はC言語とPythonの両方を知らないと記述出来ないので少し難しいですが、セットアップファイルは定型の通り記述するだけです。
#C言語 #Python
PythonのライブラリをC言語で作る方法の基本はわかりました。このサイトだけでほぼ解決。
製作手順を大まかに書き出すと、
1)関数ライブラリを用意する。
C言語で#includeして使える関数なら汎用でも自作でも何でもいい。
2)「ラッパー関数」を用意する。
C言語の関数をPythonへ引き渡す定義をするソースファイル。Pythonからの呼び出し方と変数の変換方法をC言語で記述します。
3)セットアップファイルを用意する。
セットアップファイルはgccで言うところのMakeFileです。Pythonで記述され、ファイル名はsetup.pyにすることが多いそうです。
4)ビルドする。
セットアップファイルを使ってビルドする。
5)インストールする。
セットアップファイルを使ってインストールする(動作の実際はPythonパッケージ管理のpipへの登録)。
と、なります。
ラッパー関数はC言語とPythonの両方を知らないと記述出来ないので少し難しいですが、セットアップファイルは定型の通り記述するだけです。
#C言語 #Python
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 #電子工作
ならば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 #電子工作
2023年4月10日 この範囲を新しい順で読む この範囲をファイルに出力する
3Dプリンタを直すための部品(サーミスタ)が予定よりも早く届きました。
4/20到着予定が4/10です。印象操作を感じなくもないですが、土日を挟んで6日間ですから十分に早いでしょう。
これで治るといいですが、どうなることでしょう。
そういやムービングライトが1台動作しません。先日も同様の不良が出たので修理を試みたのですが、原因を探ろうとしたところ動いてしまい原因を追えなかった機体です。
ウォッシュタイプですが、PAN/TILTは動くのにLAMP周り(LEDとズーム)が動きません。PAN/TILTとLAMPは制御基板が別々なので、LAMP側の基板が動作していないことになります。
動作しないと言っても基板の故障とは限りません。電源のパイロットランプは点灯するし、要所には定格の電圧が来ています。正常な機体で試してみたのですが、サーマルセンサからと思われるケーブルを抜くと同じことになりますので、たぶんこのケーブルの先に故障があるのでしょう。サーマルセンサか、ケーブルか、間に入っている回路か、ジックリ確認しましょう。
サーマルセンサが不良の場合、今回買った物が使えるなら楽なんですけどね。50個も買ってしまったし。
#3Dプリンタ #照明器具
4/20到着予定が4/10です。印象操作を感じなくもないですが、土日を挟んで6日間ですから十分に早いでしょう。
これで治るといいですが、どうなることでしょう。
そういやムービングライトが1台動作しません。先日も同様の不良が出たので修理を試みたのですが、原因を探ろうとしたところ動いてしまい原因を追えなかった機体です。
ウォッシュタイプですが、PAN/TILTは動くのにLAMP周り(LEDとズーム)が動きません。PAN/TILTとLAMPは制御基板が別々なので、LAMP側の基板が動作していないことになります。
動作しないと言っても基板の故障とは限りません。電源のパイロットランプは点灯するし、要所には定格の電圧が来ています。正常な機体で試してみたのですが、サーマルセンサからと思われるケーブルを抜くと同じことになりますので、たぶんこのケーブルの先に故障があるのでしょう。サーマルセンサか、ケーブルか、間に入っている回路か、ジックリ確認しましょう。
サーマルセンサが不良の場合、今回買った物が使えるなら楽なんですけどね。50個も買ってしまったし。
#3Dプリンタ #照明器具