2022年09月29日
LaVoixski@AN/PRC-6系筐体の加工を行う
posted by Yasuski at 10:37| LaVoixski
2022年09月25日
LaVoixski@L-size筐体の基板配置を考える
今日は、L-size筐体の基板配置を試していたのだが、100mm規格のスロットに合わせたサイズのDACボードを設計する必要を感じた。

当面はジャンクの100mmスロット対応基板を使って75mm規格の基板に下駄を履かせることになるが、新規にケースを加工する場合、取り付ける補機類の配置を事前に熟考しないと詰んでしまうことが判っている。
当面はジャンクの100mmスロット対応基板を使って75mm規格の基板に下駄を履かせることになるが、新規にケースを加工する場合、取り付ける補機類の配置を事前に熟考しないと詰んでしまうことが判っている。
posted by Yasuski at 22:35| LaVoixski
LaVoixski@ロープロファイルソケットが届く
短い長さのpinが到着したので、早速試した。

コネクタの遊びが全くない状態なので、念の為に導通のチェックを行ったほうがよいだろう。

確保できた1mmのクリアランスは余裕があるとはいえないが、DAC基板の裏面に突起物がない場合(オプションのフォトカプラの実装を行わない)は、養生テープを使って絶縁を確保できるレベルではある。

青筐体2台目は、DACボードとプッシュスイッチの干渉でスロット2段めの実装が叶わず、バックパネル(ボディー表側)からのアクセスを行うことになる。
そもそもが、これらの筐体は廃物利用の規格外なので、今後は規格に沿ったタイプの筐体の設計を確立しなければならない。
コネクタの遊びが全くない状態なので、念の為に導通のチェックを行ったほうがよいだろう。
確保できた1mmのクリアランスは余裕があるとはいえないが、DAC基板の裏面に突起物がない場合(オプションのフォトカプラの実装を行わない)は、養生テープを使って絶縁を確保できるレベルではある。
青筐体2台目は、DACボードとプッシュスイッチの干渉でスロット2段めの実装が叶わず、バックパネル(ボディー表側)からのアクセスを行うことになる。
そもそもが、これらの筐体は廃物利用の規格外なので、今後は規格に沿ったタイプの筐体の設計を確立しなければならない。
posted by Yasuski at 13:51| LaVoixski
2022年09月24日
LaVoixski@目玉スイッチを製作する
目玉スイッチをジャンク基板から回収して、設置が可能な状態にした。

目玉素材はそこそこストックしていてRGBなLEDも潤沢に在庫しているのだが、作るのが結構手間で、その大凡の値段は目玉の時価で決まる。 セール品の場合は0.3k/個。通常は0.5k程度で、それにスイッチとLEDの代金が加算される。
ちなみに、RGBなLEDを装備した8φ以下の小型プッシュスイッチを見掛けたことがなく、無いものは自分で作るしかない。 試しにAlliで検索を掛けてみたが、やはりRGB_LEDの限界サイズは5φで、3φは自動点灯のイルミネーション系以外に選択肢はなかった。
目玉RGB_LEDスイッチを自作する都度必要になる端子のディテールを、備忘録として撮影した。 配線はアノードコモンにしているが、LEDの端子がGRB配列となっているのが嫌らしい。

今回製作した6φは小さめのサイズで、理想は7φなのだが、何故かこのサイズはドール業界では規格外となっているようで、規格に折衷した場合の選択肢は8φになってしまう。

8φの目玉それ自体にはあまり大きさを感じないものの、下穴には10φが必要で、これは少々大きく感じてしまうのが厄介なところか。
目玉素材はそこそこストックしていてRGBなLEDも潤沢に在庫しているのだが、作るのが結構手間で、その大凡の値段は目玉の時価で決まる。 セール品の場合は0.3k/個。通常は0.5k程度で、それにスイッチとLEDの代金が加算される。
ちなみに、RGBなLEDを装備した8φ以下の小型プッシュスイッチを見掛けたことがなく、無いものは自分で作るしかない。 試しにAlliで検索を掛けてみたが、やはりRGB_LEDの限界サイズは5φで、3φは自動点灯のイルミネーション系以外に選択肢はなかった。
目玉RGB_LEDスイッチを自作する都度必要になる端子のディテールを、備忘録として撮影した。 配線はアノードコモンにしているが、LEDの端子がGRB配列となっているのが嫌らしい。
今回製作した6φは小さめのサイズで、理想は7φなのだが、何故かこのサイズはドール業界では規格外となっているようで、規格に折衷した場合の選択肢は8φになってしまう。
8φの目玉それ自体にはあまり大きさを感じないものの、下穴には10φが必要で、これは少々大きく感じてしまうのが厄介なところか。
posted by Yasuski at 22:59| LaVoixski
LaVoixski@ロープロファイルなソケットを試す
手持ちのロープロファイルなソケットを使って、MCUとDAC基板のクリアランスを実測した。

残念ながら、ケース背面から2スロット分を稼ぐことは、あと0.5mmで叶わなかった。

コネクタ(画像左側)にはまだクリアランスを稼ぐ余地があるので、、、

VCO/MCU基板の接合部とMCUのコネクタ分を短縮して、なんとか辻褄を合わせられるかもしれない。
一方、Pitchアンテナ側の状態はこんな感じになっていて、、、

こちら側に、DAC基板を実装することも可能だ。
残念ながら、ケース背面から2スロット分を稼ぐことは、あと0.5mmで叶わなかった。
コネクタ(画像左側)にはまだクリアランスを稼ぐ余地があるので、、、
VCO/MCU基板の接合部とMCUのコネクタ分を短縮して、なんとか辻褄を合わせられるかもしれない。
一方、Pitchアンテナ側の状態はこんな感じになっていて、、、
こちら側に、DAC基板を実装することも可能だ。
posted by Yasuski at 10:59| LaVoixski
2022年09月23日
LaVoixski@Msize筐体の部品配置に悩む
ただでさえカツカツだったM-size筐体に内挿する基板のクリアランスが、「バックパネルの開放」という奥の手を使えなくなって破綻してしまうことになった。

解決策を検討した結果、思い付いた1つ目は「MCUの基板直付け」だが、出来ればこれは避けたい。

2つ目は、放熱器のロープロファイル化で、、、

これには既に算段がついている。

所謂「廃物利用」のノリで過去に製作した試作機の筐体を再利用しているのだが、部品の配置が統一されていないことが、問題をややこしくしている。




3つ目は、MCUに取付けるピンとそれに対応するソケットのロープロファイル化で、手持ちの部品で実験したところ、4mm程高さをセーヴすることが出来た。


現在ボディーに加工を行っているM-size筐体は何れも試作品なので、これらの不具合解消にかまけるのは時間の無駄っぽいのだが、、、とりあえずは、あまり金を掛けずに問題が解決できそうな雰囲気になってきた。
解決策を検討した結果、思い付いた1つ目は「MCUの基板直付け」だが、出来ればこれは避けたい。
2つ目は、放熱器のロープロファイル化で、、、
これには既に算段がついている。
所謂「廃物利用」のノリで過去に製作した試作機の筐体を再利用しているのだが、部品の配置が統一されていないことが、問題をややこしくしている。
3つ目は、MCUに取付けるピンとそれに対応するソケットのロープロファイル化で、手持ちの部品で実験したところ、4mm程高さをセーヴすることが出来た。
現在ボディーに加工を行っているM-size筐体は何れも試作品なので、これらの不具合解消にかまけるのは時間の無駄っぽいのだが、、、とりあえずは、あまり金を掛けずに問題が解決できそうな雰囲気になってきた。
posted by Yasuski at 19:42| LaVoixski
2022年09月22日
LaVoixski@ブレッドボード上に音声出力・入力ポートを増設する
3Fの資材置き場から3.5mm規格のミニジャックを発掘したので、これをブレッドボードに取り付けてDACの並列動作の確認をより簡単に行えるようにした。

同時に、FVC入力用のポートも仮設定している。
入力には安全を確保するための保護回路を組む必要があるが、これで発振器からのダイレクト入力に対応出来るようになる。
同時に、FVC入力用のポートも仮設定している。
入力には安全を確保するための保護回路を組む必要があるが、これで発振器からのダイレクト入力に対応出来るようになる。
posted by Yasuski at 10:58| LaVoixski
2022年09月21日
Arduino2.0を試す
新たに公開されたArduino2.0で「TeensyがBoardManagerによってサポートされる」というアナウンスが本家から発せられたので早速試してみたのだが、、、

何故かライブラリのコンフリクトが多発してコンパイルを完了出来ない。
原因は、SdFatとGFX_Library_for_Arduinoで、現在 Tennsyduino1.57 で使用している Arduino_GFX と SD とコンフリクトが発生してしまうようだ。

しかも、追加されたライブラリの影響を受けて、ライブラリ・フォルダを共有しているTeensyduinoでもコンパイルが通らなくなってしまった。
Arduino2.0のアラートに不具合が指摘された SdFat と GFX_Library_for_Arduino を削除することで、とりあえず問題は解決するのだが、、、

やはり専用のTeensyduinoを使った方が安全との結論に達している。
一方、本家のTLでは、コンフリクトやメモリ管理の問題は認識されていないようで、やはり自分のやっていることが特殊なのかもしれない。
ただし、今後は開発ツールの主流がJAVAに依存しない新版Arduinoに移行していくと予想されるので、出来るだけ早い段階でプログラム側に変更を行って対処するのが得策と思われる。
そこで、試しにプログラムの書き直しにトライしてみたのだが、

直すべき項目は一通り判明していて、、、


なんとかコンパイルを通すところまでは辿り着けた。
が、残念ながらArduino2.0ではRAMの扱いが破綻してしまい、乗り換えが困難なことが判った。

新しいライブラリに於いては、表示系のデータの扱いがSDカードの直接読み出しから一旦RAMにストアする形式に変更された可能性が高く、これが破綻に至った原因と思われる。
つまりトラブルの発生は、GFX_Library_for_Arduinoに起因することになる。 RAMの消費対策としては、mallocにbufを展開して、そこにデータをストアする、もしくはPRGMEMから直接データを読み出す方法が考えられるが、実行のハードルは高そうだ。
今後は、開発元のArduino_GFXのアップデートも警戒の対象にすべきだろう。
ちなみに現在使用している Arduino_GFX のヴァージョンは 1.15 で、流石にこれは少々旧過ぎる感があり、この機会により新しいヴァージョンを試すことにした。
まず、ヴァージョンを最新の Ver.1.28 に上げた状態で、、、

IDEをTeensyduinoに変更した場合に、メモリ管理の問題が解決しないことを確認した。

次に、ヴァージョンを 1.25 まで落とした場合でも、同様の不具合が発生した。

RAM管理の破綻が発生するライヴラリ Arduino_GFX_Library.h は、ポート指定の記述に SCK/MISO/MOSI の設定項目が書き加えられている。

ちなみに、jpegに処理を行う過程で参照するファイルを敢えて「旧いもの」に設定した場合、

読み出す画像に不具合が出るものの、メモリの破綻それ自体は発生しない。
jpeg画像が正常に表示されるかどうかの見極めは簡単で、Arduino_GFX_Library.h の設定項目に SCK/MOSI/MISOが含まれないヴァージョンを使用するとよい。

現状で、画像表示に問題が発生しない最新のヴァージョンは、1.21 ということになった。

以上の状況証拠から、不具合が発生する原因は "JpegFunc.h" にあり、このファイル内のメモリの割振りによって、破綻が生じている可能性が高い。
不具合の発生は、自分の用法のようなメモリの消費がカツカツなケースに於いて発生するので、次のアップデートでこの問題が解消される可能性は低いだろう。

何故かライブラリのコンフリクトが多発してコンパイルを完了出来ない。
原因は、SdFatとGFX_Library_for_Arduinoで、現在 Tennsyduino1.57 で使用している Arduino_GFX と SD とコンフリクトが発生してしまうようだ。

しかも、追加されたライブラリの影響を受けて、ライブラリ・フォルダを共有しているTeensyduinoでもコンパイルが通らなくなってしまった。
Arduino2.0のアラートに不具合が指摘された SdFat と GFX_Library_for_Arduino を削除することで、とりあえず問題は解決するのだが、、、

やはり専用のTeensyduinoを使った方が安全との結論に達している。
一方、本家のTLでは、コンフリクトやメモリ管理の問題は認識されていないようで、やはり自分のやっていることが特殊なのかもしれない。
ただし、今後は開発ツールの主流がJAVAに依存しない新版Arduinoに移行していくと予想されるので、出来るだけ早い段階でプログラム側に変更を行って対処するのが得策と思われる。
そこで、試しにプログラムの書き直しにトライしてみたのだが、

直すべき項目は一通り判明していて、、、


なんとかコンパイルを通すところまでは辿り着けた。
が、残念ながらArduino2.0ではRAMの扱いが破綻してしまい、乗り換えが困難なことが判った。

新しいライブラリに於いては、表示系のデータの扱いがSDカードの直接読み出しから一旦RAMにストアする形式に変更された可能性が高く、これが破綻に至った原因と思われる。
つまりトラブルの発生は、GFX_Library_for_Arduinoに起因することになる。 RAMの消費対策としては、mallocにbufを展開して、そこにデータをストアする、もしくはPRGMEMから直接データを読み出す方法が考えられるが、実行のハードルは高そうだ。
今後は、開発元のArduino_GFXのアップデートも警戒の対象にすべきだろう。
ちなみに現在使用している Arduino_GFX のヴァージョンは 1.15 で、流石にこれは少々旧過ぎる感があり、この機会により新しいヴァージョンを試すことにした。
まず、ヴァージョンを最新の Ver.1.28 に上げた状態で、、、

IDEをTeensyduinoに変更した場合に、メモリ管理の問題が解決しないことを確認した。

次に、ヴァージョンを 1.25 まで落とした場合でも、同様の不具合が発生した。

RAM管理の破綻が発生するライヴラリ Arduino_GFX_Library.h は、ポート指定の記述に SCK/MISO/MOSI の設定項目が書き加えられている。

ちなみに、jpegに処理を行う過程で参照するファイルを敢えて「旧いもの」に設定した場合、

読み出す画像に不具合が出るものの、メモリの破綻それ自体は発生しない。
jpeg画像が正常に表示されるかどうかの見極めは簡単で、Arduino_GFX_Library.h の設定項目に SCK/MOSI/MISOが含まれないヴァージョンを使用するとよい。

現状で、画像表示に問題が発生しない最新のヴァージョンは、1.21 ということになった。

以上の状況証拠から、不具合が発生する原因は "JpegFunc.h" にあり、このファイル内のメモリの割振りによって、破綻が生じている可能性が高い。
不具合の発生は、自分の用法のようなメモリの消費がカツカツなケースに於いて発生するので、次のアップデートでこの問題が解消される可能性は低いだろう。
posted by Yasuski at 13:27| Arduino