2026年5月 この範囲を時系列順で読む この範囲をファイルに出力する
脳ミソが工作モードになってしまったので、本業はあるものの、回路を変更した DMX-Timer を組んでみました。私の脳ミソはファミコンでカセットを入れ替えるイメージですが、日に一回くらいしか差し替えが出来ないのです。
7segを全て表示(8とドット)しようとすると全てが消灯してしまう現象への対策です。
トランジスタの使い方を間違っていました。正しくはトランジスタ周辺の抵抗値です。ベース電流にhFE(増幅率)を掛けてコレクタ電流を得るワケですが、AI/Geminiさん曰く、ベース電流はコレクタ電流から単純計算した値の3~5倍にしなさいとのこと。もちろん定格を越えてはいけませんが、原因はベース電流不足だったらしくアッサリ解決。Yグレード(低増幅率)ではなくGRグレード(高増幅率)のトランジスタを使っていたら発生しなかったのですが、YグレードのhFEの半分で設計したのになんでやろと思ってました。アナログ回路は苦手ですが、トランジスタの扱いは深淵だと再認識。定数が分かれば問題解決ですけど。
てなワケで、DMX-Timer は完成と言ってもいいかな?引き続き、組めたごとに誤差チェックはしますけど。
実作業二週間で製品一つ完成は過去最短記録!こんなペースのモノ作りは専業にしてもシンドイかも。
#ガチ工作 #器具の製作
7segを全て表示(8とドット)しようとすると全てが消灯してしまう現象への対策です。
トランジスタの使い方を間違っていました。正しくはトランジスタ周辺の抵抗値です。ベース電流にhFE(増幅率)を掛けてコレクタ電流を得るワケですが、AI/Geminiさん曰く、ベース電流はコレクタ電流から単純計算した値の3~5倍にしなさいとのこと。もちろん定格を越えてはいけませんが、原因はベース電流不足だったらしくアッサリ解決。Yグレード(低増幅率)ではなくGRグレード(高増幅率)のトランジスタを使っていたら発生しなかったのですが、YグレードのhFEの半分で設計したのになんでやろと思ってました。アナログ回路は苦手ですが、トランジスタの扱いは深淵だと再認識。定数が分かれば問題解決ですけど。
てなワケで、DMX-Timer は完成と言ってもいいかな?引き続き、組めたごとに誤差チェックはしますけど。
実作業二週間で製品一つ完成は過去最短記録!こんなペースのモノ作りは専業にしてもシンドイかも。
#ガチ工作 #器具の製作
NGのオンパレード。
一つ目玉の小型ムービングライトも使っております。向きを決められて色が変わるスピナーみたいな製品です。1台では非力ですが、まとまった数を群で動かすとそこそこ使えます。今となってはPAR球より安いのも魅力。
そんなムービングですが生色だけ明るさが半分くらいになってしまいます。電源を入れた直後は正常ですが数分経つと減光します。冷却不足か、MOSFETが劣化しているか、電流センシング抵抗が狂っているか、制御ICが定格落ちしているか・・・原因はそんなところでしょう。これらの部品は中華電機で安価に手に入ります。検証が面倒なので全て交換?
#器具の修理
一つ目玉の小型ムービングライトも使っております。向きを決められて色が変わるスピナーみたいな製品です。1台では非力ですが、まとまった数を群で動かすとそこそこ使えます。今となってはPAR球より安いのも魅力。
そんなムービングですが生色だけ明るさが半分くらいになってしまいます。電源を入れた直後は正常ですが数分経つと減光します。冷却不足か、MOSFETが劣化しているか、電流センシング抵抗が狂っているか、制御ICが定格落ちしているか・・・原因はそんなところでしょう。これらの部品は中華電機で安価に手に入ります。検証が面倒なので全て交換?
#器具の修理
スモークマシン Antari F1-FAZER を使っていますが、大修理をして1年、ボチボチ不調が出始めました。
今回はリキッドを吸い上げませんのでポンプを交換です。同型120v仕様のポンプに最初から付いていた100v仕様のコイルを移植。爆煙復活!
いずれ発煙器もダメになるだろうと発注。USAのサウンドハウスみたいなところですが、前回は届くまで半月くらいかかったので不調になってからの発注ではよろしくありません。ただ、本体価格は前回並みなのに送料が爆増。78USDから347USDになってました。何じゃこりゃ!?USAからの購入ですから国内宅配便並みのワケありませんが、それにしても昨年に比べて4.5倍ってのは驚きです。原油不足で航空運賃が上がっているのでしょうけど、手に入らないのは困るし新品本体買うよりは安いのでイイですけど・・・。
#器具の修理
今回はリキッドを吸い上げませんのでポンプを交換です。同型120v仕様のポンプに最初から付いていた100v仕様のコイルを移植。爆煙復活!
いずれ発煙器もダメになるだろうと発注。USAのサウンドハウスみたいなところですが、前回は届くまで半月くらいかかったので不調になってからの発注ではよろしくありません。ただ、本体価格は前回並みなのに送料が爆増。78USDから347USDになってました。何じゃこりゃ!?USAからの購入ですから国内宅配便並みのワケありませんが、それにしても昨年に比べて4.5倍ってのは驚きです。原油不足で航空運賃が上がっているのでしょうけど、手に入らないのは困るし新品本体買うよりは安いのでイイですけど・・・。
#器具の修理
ムービングライトは磁気ホールセンサを交換して治ったようです。
問題は「何故壊れたか」です。
ステッピングモーターを空回ししますと結構な電圧が発生しますので、これが回り込んだのでしょうか。
先日の故障はモータードライブICでした。これはモーターと直結されていますので、空回しによる電圧が入ってのことだと想像は出来ます。
ですが、元の電源が+24vに対し磁気ホールセンサへ行っている電圧は+5vですので途中に電圧を変換する何かは入っているハズと思われます。モーターからの電圧が直接かかるものかな?
モーターからマイナス電圧が出たならば同種のセンサもやられてしまいそうなものです。
こういった想定外動作による故障事例は資料があるようでありません。文面をよく考えてからAIさんにでも聞いてみましょう。
追記
AI/Geminiさんとやりとりしました。物理的な破損でなければ異常電圧によるのは間違いないっぽい。
電源ラインにオシロスコープにつなげて観測できる環境を作ってみます。観測された電圧によってはツェナーダイオードやTVSダイオードを追加してクリッピングすることにします。
モーターを伴う回路設計で注意すべき点を一つ勉強出来ました。スクローラーを作った時には入れていましたので、基本は大切だと改めて実感したところです。
#電子工作 #器具の修理
問題は「何故壊れたか」です。
ステッピングモーターを空回ししますと結構な電圧が発生しますので、これが回り込んだのでしょうか。
先日の故障はモータードライブICでした。これはモーターと直結されていますので、空回しによる電圧が入ってのことだと想像は出来ます。
ですが、元の電源が+24vに対し磁気ホールセンサへ行っている電圧は+5vですので途中に電圧を変換する何かは入っているハズと思われます。モーターからの電圧が直接かかるものかな?
モーターからマイナス電圧が出たならば同種のセンサもやられてしまいそうなものです。
こういった想定外動作による故障事例は資料があるようでありません。文面をよく考えてからAIさんにでも聞いてみましょう。
追記
AI/Geminiさんとやりとりしました。物理的な破損でなければ異常電圧によるのは間違いないっぽい。
電源ラインにオシロスコープにつなげて観測できる環境を作ってみます。観測された電圧によってはツェナーダイオードやTVSダイオードを追加してクリッピングすることにします。
モーターを伴う回路設計で注意すべき点を一つ勉強出来ました。スクローラーを作った時には入れていましたので、基本は大切だと改めて実感したところです。
#電子工作 #器具の修理
Art-Net 関連機器の製作についてAI/Geminiさんとやりとりをしました。相談出来る達人が近くに居ないので助かります。
大きなヒントを一つもらいました。ブロッキングの活用です。
キーボード入力においてもEtnerの受信においても入力や受信があるまで(または設定した一定時間)一時停止して待つ設定です。処理が一時停止しますが、イベントが発生した時に速やかに処理出来ます。他の処理はスレッドを分けておけば大丈夫です。スレッドとは処理を並列化させる(疑似的に複数の処理を同時進行させる)方法です。止まらせることなく延々と回したい処理とブロッキングしたい処理を別スレッドにすれば全体としては止まることがありません。PICマイコンでやってきた「ひたすら回してフラグで分岐する」って感覚がアタマに固着していたようで、スレッドを分けてブロッキングを活用する発想がありませんでした。ただ、無制限のブロッキングをしますと都合が悪いこともあるので0.1~0.5秒ごとにブロッキングを外して周囲を伺うのが良さそうです。
#Rust #[Art-Net]
大きなヒントを一つもらいました。ブロッキングの活用です。
キーボード入力においてもEtnerの受信においても入力や受信があるまで(または設定した一定時間)一時停止して待つ設定です。処理が一時停止しますが、イベントが発生した時に速やかに処理出来ます。他の処理はスレッドを分けておけば大丈夫です。スレッドとは処理を並列化させる(疑似的に複数の処理を同時進行させる)方法です。止まらせることなく延々と回したい処理とブロッキングしたい処理を別スレッドにすれば全体としては止まることがありません。PICマイコンでやってきた「ひたすら回してフラグで分岐する」って感覚がアタマに固着していたようで、スレッドを分けてブロッキングを活用する発想がありませんでした。ただ、無制限のブロッキングをしますと都合が悪いこともあるので0.1~0.5秒ごとにブロッキングを外して周囲を伺うのが良さそうです。
#Rust #[Art-Net]
Art-Net 関連機器は RaspberryPi_CM4 を母体に Rust でコードを書きます。Rust を使うのはこの件が初めてなので無謀な気もしますが、C言語で動いたモノを Rust で書き直す感じなので大丈夫っしょ。C言語で書いたモノもメモリ構成を大変更するために全部書き直すつもりだったので作業量は大差ありません。
使ってみないとわかりませんが、C言語で出来ることは Rust でも出来るそうです。これを信じて取り組んでいきましょう。
#[Art-Net] #Rust
使ってみないとわかりませんが、C言語で出来ることは Rust でも出来るそうです。これを信じて取り組んでいきましょう。
#[Art-Net] #Rust
Rust のことは随分わかってきました。大雑把に括るとC言語と同じです。Python や .NET 系のようにマネージが強くて自由度が狭いってことは無いっぽいです。
「所有権」や「ライフタイム」は方言程度の違いでした。両方ともC言語ではコードを書く側が注意を払ってきたことを自動的にアシストしてくれる機能です。アルゴリズムの中に埋もれるバグを予防出来るので、難しいというより手間をかけるのが先か後かってだけでした。
「所有権」は変数の読み書きの不整合や二重処理を防止するための対策です。その対策の意味を理解するには変数の処理構造を知っていた方がいいと思うのですが、その説明をすっ飛ばして「所有権がぁ~」と話をする教科書が多くて読んでいるこちらが混乱します。C言語におけるポインタが理解出来ていればそれほど難しいことではないので、ポインタがわかっている前提で説明をしてくれる教科書があってもいいんぢゃないのかなぁ~って思います。「所有権」によって制限されることはC言語のコードを書く上でも注意しなければならないことなので、だったら前提として管理・制限しときゃいいんぢゃね?ってことなのでしょう。C言語のポインタは自由度が高い反面コードを書く側が管理・制限してきましたが、これをコンパイラが厳密にチェックしてくれるのですからある意味楽です。
「ライフタイム」は変数のコード上での有効範囲のことです。変数の有効時間の設定・管理ではありません。変数の有効範囲はC言語とほぼ同じですが、変数の有効無効をコード上でチェックで出来ます。関数で用いる変数が有効かをチェックしたり、この関数の処理が済むまで変数を維持するように指示をする機能が追加されたと思えばよさそうです。
どちらも、ややこしさを追加して意地悪しているのではありません。
#Rust
「所有権」や「ライフタイム」は方言程度の違いでした。両方ともC言語ではコードを書く側が注意を払ってきたことを自動的にアシストしてくれる機能です。アルゴリズムの中に埋もれるバグを予防出来るので、難しいというより手間をかけるのが先か後かってだけでした。
「所有権」は変数の読み書きの不整合や二重処理を防止するための対策です。その対策の意味を理解するには変数の処理構造を知っていた方がいいと思うのですが、その説明をすっ飛ばして「所有権がぁ~」と話をする教科書が多くて読んでいるこちらが混乱します。C言語におけるポインタが理解出来ていればそれほど難しいことではないので、ポインタがわかっている前提で説明をしてくれる教科書があってもいいんぢゃないのかなぁ~って思います。「所有権」によって制限されることはC言語のコードを書く上でも注意しなければならないことなので、だったら前提として管理・制限しときゃいいんぢゃね?ってことなのでしょう。C言語のポインタは自由度が高い反面コードを書く側が管理・制限してきましたが、これをコンパイラが厳密にチェックしてくれるのですからある意味楽です。
「ライフタイム」は変数のコード上での有効範囲のことです。変数の有効時間の設定・管理ではありません。変数の有効範囲はC言語とほぼ同じですが、変数の有効無効をコード上でチェックで出来ます。関数で用いる変数が有効かをチェックしたり、この関数の処理が済むまで変数を維持するように指示をする機能が追加されたと思えばよさそうです。
どちらも、ややこしさを追加して意地悪しているのではありません。
#Rust
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127



