2021年04月29日

Type_IDE-292の試作機群

一番奥のアンテナが真鍮製。その下がチタン製で分解が可能。一番手前は分解出来ない構造のチタン製。何故かアルミ製がラインアップから外れている。

IMG_20210422_012326023.jpg

ID-292サイズの基板にマウントしたFPGAにファームウエアを書き込んだ。

IMG_20210423_010205983.jpg

この基板はadat出力の実験に使用することになりそうだ。

VolumeAnt側のあと5mmが収まらない。

IMG_20210421_173747463.jpg

アンテナを切らずにケースを加工すべきか。

adat出力に完全対応するには、FPGAを大容量なものに乗り換える必要があるのだが、チップの選択が可能なIDEはWin10でしか動かない。 が、とりあえず基板上で端子から信号を取り出せるように、細工を施しておいた。

Screen Shot 2021-04-25 at 12.39.55.png

PWM対応のポートを取り違えていたので、LEDにアサインしていたD38をD36に修正している。 同時に、レベルシフター経由でadatEncoderをドライヴする予定だった端子をスワップした。 

搭載するMCUが異なるT3.6とT4.1ではPWMに対応するPinの配列が変化する。 MCUによって対応するPinの修正が可能な設計を行うことに留意しなければならない。

PWMでRGBrotaryEncoderのLEDを直結でドライヴする場合に、ClickEncoderのタクトスイッチはActiveHighとなる。 

Screen Shot 2021-04-26 at 22.37.28.png

つまり、ActiveLowに設定していたスイッチの極性を反転させなければならない。 ID-292系の基板は、回路の簡素化を推進しているために、この条件に合致する。

Screen Shot 2021-04-26 at 23.19.23.png

インバーターを介してLEDをドライヴする従来型の回路ではスイッチの状態が論理反転するために、極性の問題は発生しない。

Screen Shot 2021-04-26 at 23.22.30.png

逆に、LEDのドライヴ時にも極性が反転するのでPWMのDutyCycleを操作する必要がある。

Type_ID-292基板プロジェクトにおける現時点の目標は、可能な限りフルスペックに近い形に回路をまとめ直すことで、その絶対条件が汎用オーディオDACへの対応だ。

Screen Shot 2021-04-27 at 10.29.20.png

謎の故障が頻発するその原因を特定できないままに開発を進めている現状から、このプロジェクトが純粋な「道楽」と化しつつあることを危惧すべきなのだろうが、基板製作のコストが送料込みで3k/10pcs程度ということを考えると、まあそれもアリなのではないかな、、、とも思う。

Screen Shot 2021-04-29 at 8.54.56.png

2層基板の限界に挑戦している感があるが、4層だと物凄く配置&配線が楽になる上に、音質も向上する。 それがなかなか出来ないのは初期投資の大きさに原因があるのだが、一方で、コストをケチる選択肢もあって、その場合には技術的な資産の継承が難しいことが最大のネックとなっている。

Screen Shot 2021-04-27 at 20.03.17.png

基板を改装する過程で、adat運用を前提にした場合に発生する端子配列の不具合をフィックスしている。

AL1201は3.3V規格のLogic信号を受け取ることが出来るが、AL1401は5V規格なので、安定した通信を保証するにはレベルシフターを信号ラインに追加する必要がある。

問題は後付けしたUSER0/1のターミナルで、これらの端子にはレベルシフトを行っておらず、デバイスを追加することになった。

あと、OLEDディスプレイを使用する場合に、FPGAに接続している D27 が、SCK1 出力として使用できなくなる問題が発覚した。 こちらは、暫定処置としてFPGAの配線を途中で切って別端子に機能を付け替えて対応しているが、最新版の基板ではD27からD29にポートを変更する手当を施した。

基板をガーバーファイルに変換する過程でドリルの位置がズレる問題が発生する場合は、アウトプット・デバイスを確認すること。

5/5追記:

FusionはDrillファイルの出力にExcellonを指定しているということで、Gerber出力で受け付けられなかったファイルが2件報告された。 この件で、Mac版の7.1のCAM Processorにバグがあると確定、Win版の7.5で再出力したところ、問題は発生しなかった。

Screen Shot 2021-04-29 at 0.18.51.png

フリー版のEagleからGerberFilesを出力してそれを再読込する方法を試してもよいが、電源系だけKiCADで再配線を行うのはハードルが高そうだ。

Screen Shot 2021-04-27 at 21.48.02.png

そのKiKADがメチャクチャに遣い難いのだが、慣れの問題では無さそうな気がする。 ちなみに、Eagleは最初から遣い易く、ストレスを感じずにすんなりと作業を行うことが出来た。

数年間放置していたVeryFirstEditionな旧型機のバックパネルを製作した。

IMG_20210424_221103678.jpg

ID-292型の基板に対応するにはキャビティーの容量を増やす必要があり、試行錯誤の結果、Hammondのキャストケースを水平方向にスライスして体裁を整えた。

IMG_20210424_221159378.jpg

アンテナの信号ラインの取り回しが難しく、これから折衷案を試していくことになる。

IMG_20210424_221227386.jpg

アンテナのガイシに使うGFRPを裁断した。

177877865_4174338839263209_5417610500200958986_n.jpg

18mmの尺で1本のGFRP棒から6個分の材を切り出せる。 中心にアンテナ用の6/7mm径の孔を空けなければならないのだが、通常のドリルを使用した場合、刃が抜ける側にどうしてもバリが出てしまう。 今回は切削面が綺麗に仕上がるダイヤモンド刃のルータービットを発注しているので、それらの到着を待って作業を開始する。

木製のアンテナ台座にねじ込むSMA端子の中継端末を製作している。

178097722_4177571388939954_128567794821684219_n.jpg

これは、古い設計の筐体に規格の違うボードを突っ込むことによって生じている弊害をクリアするための処置なのだが、木製台座という厄介な仕様をカヴァーするためには、専用のパーツを製作するしかない。

自製するのはパネルマウント方式のジャックで、本体側の端子を1.8mm径の真鍮パイプで延長したものの周囲をテフロン製のインシュレーターで絶縁し、インシュレーターを包んだ銅箔部分を端子の外周(グランド電位)にハンダ付けで固定する構造とした。

ここに、アングルの付いたSMA、もしくはSMBコネクターのケーブルの末端をハンダ付けで接続する。 

本体側のバックパネルに端子を設ける余裕が殆ど無い状況に対応するために知恵を絞った結果がこれなのだが、古い資産を活かすための無駄な努力ではある。
posted by Yasuski at 08:48| LaVoixski

Type_AN/PRC-6@2台目

塗装を剥離して、粗いポリッシュ加工を施してみたところ、、、

IMG_20210420_093529465.jpg

割と良い感じに仕上がっている。

IMG_20210420_093602727.jpg

ユニット化したアンテナ部は、Q/RではなくL型のアングル材による固定とした。

IMG_20210416_175617479.jpg

Z軸に生じるオフセット分を考慮しなかったために、SMAケーブルの尺が足りなくなってしまった。

IMG_20210416_175707408.jpg

今回はホールソーを使って銅板から切出した丸板を、アンテナ端子の基台として使用している。

IMG_20210416_175743994.jpg

基台は接着剤で固定したあとに、パイプ側面から接合部にドリルで穴を開けて導通を確保する。

一方、90度アングルのSMA端子が折損したPitch側アンテナを、より強度を持った構造にリプレイスしている。 

IMG_20210416_193933716.jpg

アングル材の欠点は接合部の脆弱性にあるが、今回試作したアンテナではGFRP製の円筒にストレートのSMA端子を挿入することで、90度の転回を行った。

IMG_0373.JPG

今回もフロントパネルにパンチングメタルを使用しているが、アルミ材の粘性もあって穴空け作業はかなり難しい。 OLEDのマウント孔はなんとか破綻の少ない形で開けることが出来たが、将来的には作業が楽な丸穴にデザインを変更する可能性が高い。

IMG_0366.JPG

今回は、マイクスタンド用のスタッドはK&M製のものを使用しているが、これのタッパが足りず、AKG用の変換ナットを切削したものを組み合わせて固定する必要が生じた。

IMG_0368.JPG

不具合に気づいて急遽購入したAKGサイズに対応する市販のナットは、径が大き過ぎて使用できなかった。

IMG_0371.JPG

このケースに適合するパーツは以前購入したClassicPro製と思われるので、試しに購入しておく。

IMG_0380.JPG

オシレーター基板の固定は、GFRPのチップを使ってオフセットを確保したM3ネジ2本で行っているが、パンチングメタルを使用しない場合にはこの手当が不要となる。

IMG_20210422_132123717.jpg

ケースの確保が未了だが、次のロットにはより工作が楽なアンテナ部材を購入済みだ。
posted by Yasuski at 08:45| LaVoixski

2021年03月31日

Type-AN/PRC-6 製作の進捗状況

IMG_20210209_001605604.jpg

アンテナ・ユニットと本体をSMAケーブルで接続する。

IMG_20210205_114450844.jpg

オシレーター基板は、60mm規格のものを使用する。

IMG_20210206_041233851.jpg

目玉スイッチの直径は8mm。

IMG_20210207_144853188.jpg

試作一号機には、Maximの高速DACを4個マウントしたDACボードを搭載する。

IMG_20210207_145040516.jpg

4ch運用は、M7の使用を前提としている。

IMG_20210209_164155484.jpg

リボンケーブルがそれなりにスペースを専有してしまうのが問題で、これが必要なDACボードの選定を考え直すかもしれない。

IMG_20210214_164250332.jpg
posted by Yasuski at 01:17| LaVoixski

2021年03月30日

Alesis / AL1201を採用する計画

コストパフォーマンスが抜群に良い楽器用のAudioDAC、AL1201を使ったDACボードの試作を開始した。

Screen Shot 2021-03-25 at 22.44.42.png

ボードはWCKとDATAを受けるパートと、adatデコーダーのパートに分割した設計で、DACを2個実装する。

Screen Shot 2021-03-30 at 21.40.13.png

データの送信を行う楽器側には、MCUからのデータをadatエンコーダーに送るためにFPGAで構成したレジスタを実装しているのだが、残念ながら現時点で稼働実績はない。

dh7.bmp

FPGAは容量の限界から7chのみの送信に限定されている。 より大容量のモデルに乗り換えにはIDEのヴァージョンアップが必須。

Screen Shot 2021-03-29 at 18.09.47.png

VHDLコードで巨大なシフトレジスタを構成し、WCKのタイミングで超高速書き込み/通常スピードの読み出しを2バンクで相互に行う設計。

Screen Shot 2021-03-25 at 13.12.38.png

Type_ID-292の基板にも、近似した構成の回路を組み込んである。

Screen Shot 2021-03-29 at 11.06.28.png

AL1201は優秀な設計で、BCKを入力する必要がないうえに、ロジックレベルの判定が3.3Vに対応している。

Screen Shot 2021-03-25 at 22.48.22.png

DACボードは、異なるサイズの筐体に対応するために基板の分割が可能な構造に設計している。

Screen Shot 2021-03-30 at 20.21.10.png

DACボードは、adatデコーダー部分を切り離して75mm規格のスロットに対応する。

Screen Shot 2021-03-30 at 21.44.31.png

DACボードは、MCUボードのオーディオデータ出力に直結することもできる。



posted by Yasuski at 21:32| LaVoixski

Type/ID-292専用基板の製作

IMG_20210311_160748567.jpg

度重なるトラブルによって、開発途中で放置していたID-292ヴァージョンのLaVoixskiの製作を再開している。

IMG_20210312_075713469_HDR.jpg

ひとまず、制作の途中だった旧型の黄色い基板を完成させることから作業を始めた。

IMG_20210312_075744355_HDR.jpg

ようやく目玉スイッチの製法が確立できたが、運用上、目玉のサイズは小さい方が安定した動作が保証されることが判った。 今回製作したサイズは6mm径で、これが小さい方の限界。 物理的にバランスが取れるサイズは8mmで、10mmだとオーヴァーサイズな感触がある。

IMG_20210303_105640016.jpg

同時に次の世代の赤い基板に部品の実装を始めた。 こちらのヴァージョンには、VRTのシェイプやオシレーター用に独立したレギュレータを装備しているが、黄色い基板共々、LEDのPWMドライヴには対応しておらず、ドライバICの配線を変更する必要がある。

IMG_20210301_231912624.jpg

目玉スイッチを仮装着した図。 配線材はジェンフロン線を使用するのが正解で、PTFE系は折損のリスクが伴うことが判明している。

IMG_20210323_071343759.jpg

ジャンパー線が多いのがまどろっこしい。 もし次の機会があるとすれば、配線をリファインしたい。

IMG_20210323_072054504.jpg

裏面にMCUを実装する。 端子の接続は固定性を向上するために、可能な限りグループ化を行う。

IMG_20210320_122323226.jpg

テスト時に、LEDドライバの入力端子がオープンになってしまうことを防ぐための「ジャンパー線」を用意した。

IMG_20210303_145557400.jpg

通電時の事故でMCU毎ご逝去な案件が頻発していることを踏まえ、調整時には専用の筐体を使用する。

IMG_20210310_165135368.jpg

調整用のケースには、3年前プロトタイピング用に製作したものを転用している。

IMG_20210323_095731322.jpg

ケースのスロットに、配線を中継するための基板を渡した。

IMG_20210310_165231536.jpg

サンプリング・クロックを選択するロータリースイッチはダミー。

IMG_20210310_165337640.jpg

オリジナルの固定具にはQ/Rを採用していたのだが、、、

IMG_20210313_194213382.jpg

今回は、マイクスタンドに直結できるように、取り付け穴を新たに開けている。

IMG_20210315_010446433_MP.jpg

今回、新たにID-292専用となる短尺のアンテナ・エクステンションを製作した。

IMG_20210319_031501212.jpg

仮組みを行ってトラブルの要因を探ってみたところ、MCUのクリアランスがギリギリで、この部分で短絡が発生した可能性が高い。 アンテナ端子を含めたケース側に、徹底的な絶縁を行うことが必要と思われる。

IMG_20210323_224238377.jpg

同時にLサイズ筐体のテストベッドを製作した。 裏蓋を使用してMサイズ筐体のオシレーターに対応することも考えている。

IMG_20210228_200106215.jpg

並行して、M型筐体専用の基板を組んでいるが、何れもPWM及びCortex/M7版のMCUには未対応なので、配線を変更する必要があった。

IMG_20210309_060010752.jpg

現在、ID-292 / Mサイズ、合わせて3枚ずつ基板を製作している。

posted by Yasuski at 20:49| LaVoixski

OLEDパネルの外枠を作り直す

エッジの「まるめ」を失敗したアルミ板の外枠を造り直した。

IMG_20210222_164322331_HDR.jpg

素材はWatkins&Johnsonの通信機のパネルで、薄くて強度が高い超々ジェラルミン製。

IMG_20210222_164333043_HDR.jpg

今回、固定はネジによらず、ヒートシンクの固定用に購入した耐熱両面テープを使用している。

IMG_20210222_164356921.jpg
posted by Yasuski at 20:35| LaVoixski

2021年01月27日

DACのデータ転送クロックの最適化を行う

久しぶりにLaVoixskiの演奏をオーディオ・インターフェイス直結で録音したところ、出音が恐ろしくノイズっぽいことに気付いた。 

これは、DACへのデータ送信を行うサブルーチンでクロック幅を設定しているNOP命令を削り過ぎたことが怪しいと考えてNOPの量を2倍に増やしたところ、音質の改善が認められた。

Screen Shot 2021-01-27 at 19.39.41.png

ただし、この改変の影響で波形EDITモードに入ってパラメーターを変化させた瞬間にシステムがフリーズするトラブルが発生してしまった。 これは、明らかに重タスクの影響と思われる。

対処法として、クロックのエッジ毎に送出されるデータの配置を変更して処理のバランスを取ったところ、運良くフリーズを解消することができた。

Screen Shot 2021-01-27 at 19.40.58.png

Screen Shot 2021-01-27 at 19.40.23.png
posted by Yasuski at 22:37| LaVoixski

2021年01月26日

AM/PRC-6筐体専用のアンテナ・ユニットを製作する

AN/PRC-6のバックパネルの側面は幅が狭く微妙にRの掛かったスラントが付いているので、アンテナ基台となるTNCコネクタを取り付けるのには少々無理があるのだが、、、

EpdD9GeUcAAZ42d.jpeg

偶然見つけた自転車のパーツから、

IMG_0322.JPG

ユニット化したアンテナを本体から吊り下げる構造を思い付いた。

141471868_3901507536546342_4992899440558071415_o.jpg

ユニットの構造は25φ✕110mmのパイプの両端にTNCコネクタを配置し、パイプ側面からSMAコネクタを介して本体に接続する。

IMG_0318.JPG

自転車のパーツを流用したクランパーは、バックパネルのスリング固定用のネジを使って取り付ける。

IMG_0348.JPG

組立前の映像。 TNCコネクタには20φのシムを噛ませ、内径21φのパイプにイモネジの3点止めで固定した。 パイプ側面にはバルクヘッドタイプのSMAコネクターを配置する。

IMG_0349.JPG

円筒の側面はRの影響でコネクタの固定が難しい。 パイプ内部に発生したバリは、取り除かずにシムの代用とする形で活用した方がよいだろう。

IMG_0350.JPG

本体から吊り下げられたアンテナ・ユニット。

IMG_0353.JPG

信号はアングルの付いたSMAケーブルで引き回し、本体に接続する。
posted by Yasuski at 04:13| LaVoixski

2021年01月24日

AN/PRC-6のバックパネルにLaVoixskiを内装する(その2)

予想通り、孔の位置が微妙にズレて困惑した。 材の粘性が高いことも災いしているようだ。

140417286_3892739940756435_25008175349781574_o.jpg

結局、Hammondケースのバックパネルに換気孔を空けた時に出た端切れをシム代わりに使って誤魔化すことにした。 デザイン上、これは正解。

140928370_3896486503715112_236897919437898291_o.jpg

同様に、OLEDディスプレイの角穴の加工も失敗している。 ハンドニブラーを使用すると格段に作業効率がアップするのだが、パンチング板で考えなしに使用すると後戻りができなくなる。

141286017_3896486740381755_888356495885709217_o.jpg

結局、薄いアルミ板を使ってサブフレームを造り、それをマウントする方法に落ち着いた。 薄板はWJの業務用受信機のジャンクから取得しているが、薄くて頑丈なうえに、加工が行い易い良い素材だった。

141288920_3896486870381742_7810145825062045005_o.jpg

パネルの位置関係はこんな感じになった。 オシレーターのチューニングを行うポット類との干渉が若干気になるが、この場所に折衷することにした。

141878819_3897007483663014_939682349792824477_o.jpg

その後、パネルのRを大きくしたが少しやりすぎたかもしれない。

IMG_20210123_082008523_MP.jpg

アンテナとボディーの位置関係は、このように逆後退角のオフセットが掛かる。

IMG_20210123_081807980.jpg

アンテナの間隔は1455K120と似たような感じで、1455N220よりもコンパクトにまとまっている。

IMG_20210123_081534853.jpg

アンテナをユニット化して吊り下げる構造はデザイン及びTNCコネクタの取付けの確実性を追求した結果なので、

141471868_3901507536546342_4992899440558071415_o.jpg

性能上得られるメリットは使ってみないとわからないところがある。

IMG_20210123_082111801.jpg

左手のアクセスがより容易になると思われるが、右手でスイッチを押す際にも本体のオフセットが有利に働きそうだ。

IMG_20210123_082034294.jpg

TNCコネクタの取付けは先に使用した端切れをシムとして使用しているが、内径21φのパイプに20φのシムを挿入するために、イモネジによる3点止めを行っている。 残念ながら固定が甘い感じがしているので、この部分は改良の必要あり。

IMG_0336.JPG

ボディー側にノブやスイッチ類、コネクタを取付けたが、予想していたよりも制限がきつく配置が難しい。

IMG_0328.JPG

SMAコネクタはこの場所に仮設置したが、DAC基板との干渉が気になった。

IMG_0337.JPG

最終的には、DAC基板の設置場所を本体側に移行している。

IMG_0344.JPG

DAC基板の移動に伴い、Neutrikのパネルマウント基台をフロントパネルに設置した。 ボディー側にはHammondシリーズと同じく、USBコネクタを設置する予定。

posted by Yasuski at 16:19| LaVoixski

2021年01月20日

フロントパネルが届いたので、早速フィッティングを行った

角を丸めてAN/PRC-6のバックパネルに填め込んだ。「意地でも排気を行う」という決意が表明されたデザイン。

139912783_3889323887764707_217771416016994759_o.jpg

水ペーパによる手磨きでは板表面の細かな傷を消すことが出来なかった。 明日は、サンダーを使って#240位の荒目なサイズのペーパーを使って磨いてみよう。

本来はニカジル処理された板を使いたいところなのだが、このサイズで転用できる素材を探すのが難しい。もちろん、表面処理を剥がしてしまう磨きは厳禁。

ギチギチに填まった板を引っ剥がすのにM3対応のトルクスドライバーを使ったところ、微妙に孔がひん曲がって仕舞った。 この素材は、想像していたよりも柔らいので注意が必要だ。

25φのパイプで作るアンテナ用コンパートメントは少し径が足らず、薄いシムを追加することになった。 マウンテンバイクのパーツから転用した取付金具がインチ仕様なのだろう。

スタンド金具はどうしても「締め」が甘くなるので、接着した方がよいだろう。

径が3φのパンチングは部品の配置には微妙で、辻褄合わせに苦労するかもしれない。
posted by Yasuski at 04:20| LaVoixski

2021年01月16日

AN/PRC-6のバックパネルにLaVoixskiを内装する

以前から気になっていた米軍のトランシーバーの裏蓋をようやく手に入れた。

109505-4-medium.jpg

時代やOEM先によってボディーの色味が変わるようだ。 下のグリーンが強い個体は、NATOもしくは西独仕様と思われる。 Vietnum戦仕様では、前期が薄目の、後期が濃い目のオリーヴドラヴの配色で、偶にNATOっぽいグリーン味が勝ったものが存在する。

Screen Shot 2020-12-18 at 10.20.51.png

トランシーバーの構成部品はこんな感じ。 今回の制作では、画像左上のバックパネルに相当する部品を使用する。

Screen Shot 2020-12-17 at 22.37.17.png

スケールの勘所に乏しい自分はネット上の画像からイマイチ実感を得られなかったのだが、現代のモバイル機器の感覚からすると巨大なサイズの代物といえる。

Screen Shot 2020-12-17 at 22.27.24.png

倉庫に眠っていたNOS品らしく、表面には薄っすらと埃が付着していた。

IMG_0303.JPG

今回はこれをLaVoixskiの外装に加工する。 側面が微妙にスラントしているキャストの形状は、アンテナコネクターの設置に問題が発生しそうなので、試行錯誤の結果、ユニット化したアンテナ・パーツを吊り下げることにした。

AN_PRC6.png

アンテナ・ユニットの外装には25φのアルミパイプを使用する。これを自転車用ライトを固定するクリップを転用してケース裏に配置されたストラップ固定用のネジ穴を使って取り付ける。

IMG_0318.JPG

アンテナの配置はこんな感じになる。 ケースの裏側には角度がついているので、アンテナは本体に対して後退角30度程のオフセットが掛かる。

IMG_0320.JPG

手持ちの固定用パーツはあと1ペアしか在庫がないので、これに代わるパーツを探しているところ。

IMG_0322.JPG

本体に空けられたPTTスイッチ用の穴にネジを切り、AKG・SHUREのネジピッチコンバーターを転用したマイクスタンド用の基台を固定する。

IMG_0323.JPG

径が大きなタップ切りは手作業で垂直を出すのが難しい。 次回までに治具の導入を考えよう。

IMG_0324.JPG

出来ることならフロントパネルに全てを集約したいところだが、立体的にノブを配置したこちらのデザインの方が楽器の展開や操作性は良い。 ただしそれが、サービス性の悪化とトレードオフとなってしまうのが悩みどころだ。

AN_PRC6planE.png

基板は暫定でこういった配置を考えている。 

IMG_0326.JPG

ゴチャゴチャと回路を弄り倒すのは主にアンテナ周りの調整を行う時なので、コネクタの脆弱性を考慮してU-FL系統のコネクタの再接続を行わないようにパネル上にSMAを展開する案が有力だが、SMA端子間の配線の取り回しがVolumeANTに与える影響は無視できない。

一方、音声出力のバランサーはパンチング孔からアクセスするためにデザイン上は目立つことがない。場所は基板の配置によって変化する。 同様に、オシレーターの調整孔もパンチング孔からアクセスすることになる。

実際には、補機類とのクリアランスの兼ね合いを考慮して、現物合わせで調整していくことになるだろう。
posted by Yasuski at 13:31| LaVoixski

2020年12月30日

Chromatic Tuner の製作

Chromatic Tuning System に関して、ある程度の実用性が確保できたので、ここに開発時に行った試行錯誤の備忘録を記す。

まず、システムを稼働させるタイミングを設定するスイッチの構築からプログラムの開発に手を付けたものの、

Screen Shot 2020-12-27 at 8.19.36.png

パッセージの速度に反応する仕組みは実際の運用が難しく、当初の思惑からは外れて稼働時間の設定を重視する方向に機能が変更されることになった。

スイッチは、Mills() を使用してオン/オフの間隔を計測する構造で、

Screen Shot 2020-12-30 at 11.59.28.png

VolumeDetector から出力される値から起動ポイントを観測し、設定された時間の長さでフラグを立てる。

このスイッチのトリガーとなる信号は VolumeDetector のサブルーチン内で生成される。

Screen Shot 2020-12-30 at 12.00.41.png

トリガーが起動する パラメータ の設定項目は UpperEncoder の Mode 9 内に増設した。

Screen Shot 2020-12-31 at 8.35.35.png

Screen Shot 2020-12-31 at 8.35.20.png

トリガー出力の判定は、サブルーチン PitchDetector のインターラプト・マスクのエリア外となる末尾で行い、サブルーチン ChromaticTune に分岐する。

Screen Shot 2020-12-30 at 12.01.00.png

ChromaticTune では、音程の判定を行う前に PitchValue から Root C を基底とした 7 octave の領域を測定し、Switch にて分岐を行う。 

Screen Shot 2020-12-30 at 11.59.10.png

分岐先では更に入力値を12音の数値と照らし合わせてピッチの判定を行っている。インターラプト・マスクを掛けられた処理を終了した後、

Screen Shot 2020-12-30 at 11.59.55.png

音程の暴れを防ぐために導入したエンヴェロープ生成回路、サブルーチン EG2 にジャンプする。

EG2 では、ChromaticTuner 起動時に発生するピッチの段付きをChrono によって時定数を与えられた LPF を使って軽減し、音程がスムーズに移行するように信号の加工を行っている。

Screen Shot 2020-12-30 at 12.00.08.png



posted by Yasuski at 14:38| LaVoixski

2020年12月27日

クロマチック・モードの実装を考える

TaxiDriverのサントラを聴いていて思い付いたのだが、テルミンで速いパッセージを演奏した場合に、自動的にスケールが設定できるような仕掛けを作ってみたくなった。

スピードを判定する時定数の設定が難しいのだが、緩やかなスピードの演奏の場合には、スケール機能をオフってレガートで演奏、ピッチの速い変化を検知した場合に、選択したスケールを演奏するという仕掛けを作動させる。

フレーズのスピードをセンシングするのが右手のピッチアンテナではなく「左手側のヴォリュームアンテナ」というのがこの仕掛の勘所で、つまりスタッカートを検知した場合に、Pitch側のスケール機能が発動するという仕様だ。 

Screen Shot 2020-12-27 at 8.19.36.png

要は、センシングエリアにスレッショルドを掛けた左手側のVCA信号をトリガーとし、それが発動する間隔を測定して既定値よりも短い間隔のパルスを検知した場合にクロマチック機能を作動させるのだが、しきい値を設定するUIの設計が難しい。

実験の結果、入力の状態が低止まりした状態(この場合の入力はプルアップしていて、スイッチはプッシュ・オフの設定)で、出力がオンに固定されるダメなところ(立ち上がりの微妙なレベルでクロマチックモードが起動する)が判明しているが、



実際には「ほぼ音が出ていない状態」なので問題はなさそうだ。 もし、音の段付きが気になる場合は、目玉LEDの点灯とクロマチックモードを起動するフラグを&&して、強制的にオフにすればよい。

トリガーが発動する値を固定値とする場合、実際に演奏しながらまずはその値を探ることになるのだが、トリガーの間隔から判定を行うための時定数はマニュアルで設定できるようにしたい。これは、大凡で200ms前後が最適値と思われるが、タイム感には個人差が存在する故マニュアルで設定を行うのが正解であろう。

ピッチをクロマチックにトランスポーズする機構は、まずCをルートに設定してオクターヴ毎にピッチ・エリアの判定を行った後、各エリアにSwitchして、そこで12平均律の判定を行い、その返しから別のSwitchを使ってピッチデータの出力を強制的に12平均律に固定する方法を考えている。ifを使わずにSwitchで条件分岐を行うことで総当りを回避する仕掛けなのだが、、、これで上手くいくのだろうか???

UIはクロマチックモードの稼働時にLowerLEDが紫もしくは赤に発色する仕様が判り易いか。

出来上がったもの(12月27日の現時点で動作確認は未了)は野蛮な構成のプログラムとなってしまったが、

Screen Shot 2020-12-27 at 1.29.03.png

これは鍵盤みたいなものと考えれば良いのだろう。

Screen Shot 2020-12-27 at 22.45.59.png
posted by Yasuski at 03:27| LaVoixski

2020年12月24日

OLEDを使ったUIの実装を検討する

OLEDを使った波形編集時の表示を考えている.

oled128x128.jpg

表示を行う手段として、

1)リアルタイムで出力信号を拾う 
2)編集データを反映させて描画を行う

の、2つの方式を思い付いた。

編集データを波形の描画に反映させる方式は、処理に負荷が掛からない点が良い。 
一方、動作が判り難いTransitionの状態等の動的な変化をリアルタイムで表示することが課題となる。

具体的にはオシレーターに設定された各ヴォリューム参照してそれを表示することになりそうだが、UIの設計にセンスが問われる。 最終的にコードを統合するにしても、画像処理を行うパートのみをまず開発した方が混乱が少ないだろう。 別に表示専用のMCUを準備して処理を分散させる場合には、通信ラインの確保が必要となる。

残念ながら、現状ではMCUの端子が足らず、通信に割く余裕がない。 LEDの駆動をPWMに変更する予定なので、スタティックな信号を対応する端子から取り出す案はアウトだ。

信号の配置が可能な空き端子を整理するために接続端子の整理を行っていたところ、Teensy4.1に対応させたつもりがTeensy3.6のpin配置でLEDをアサインしていたことが発覚した。 PWMに対応していないD38ではLEDの発色が行えないため、LEDの配線をD38からPWMの出力が可能なD33にスワップした。

諸般の事情を考慮した結果、OLEDディスプレイへの対応を踏まえて、SPI1を活かす形で端子の配列をやり直すことになった。

LaVoixski41_1_card.png

薄緑のラベルがSPIが割振られる端子。 D0/1、D26/27を接続する。OLED側の残る2端子、DCとRSTは、D18/22/23/41の何れかにアサインすれば良い。

IMG_0219.JPG

一方、OLEDの表示に関して行っていた調査の過程で発見した記事から、ロータリーエンコーダーを接続した端子の状態の変化を検出して、millis() を起動し、Timer の代わりに使用する手法を知った。 当方が現用しているClickEncoderは、Timer1 を使って10ms毎に状態をチェックする仕様なので、やっていることに余り変わりはないのだが、Timer1 が使用出来ない他のMCUにコードを移植する際には millis() を代用する手段が使えそうだ。

ある程度データが揃ったので、とりあえずライブラリをいじってTeensy4.1に設定可能なOLEDモジュールとの通信回線をオリジナルのSPI0からSPI1に変更してみた。

Screen Shot 2020-12-24 at 4.16.57.png

ライブラリの修正箇所は、接続端子の変更の他、SPIをSPI1に、LPSPI4をLPSPI3に書換えている。

テスト用に準備されたスケッチは、エラーを発生させることなくコンパイルが完了したが、メモリの使用量が気になる。

Screen Shot 2020-12-24 at 4.27.28.png

次は実機を繋いで実験してみよう。

基板の方は、D27pinへのアクセスを可能にする。

Screen Shot 2020-12-26 at 4.37.53.png

ちなみに、Teensy4.0ではSPI1に対応不能なことが判っている。

teensy40_pinout2.png
posted by Yasuski at 05:59| LaVoixski

2020年08月05日

試作中のテルミンで発生した電源損傷の原因が判明する

試作中のテルミンで発生した電源損傷の直接的な原因は、マイクスタンドのネジとVRに接続された端子の短絡によるものと判明した。

不調だったオシレーター基板の調査を行った際に、基板上に設置した端子の側にサービス性の向上を狙って新たなオフセットを不用意に付加したのだが、その結果元々ギリギリだったクリアランスの余裕がなくなってしまった。 マイクスタンドが正常に取り付けられた場合に問題は生じないが、ネジ込み不良でスタンドの先端が動いた場合にクリアランスのマージンが失われ、その結果「短絡」が発生していた。 

前回のトラブルは、このズレがLowerPositionのエンコーダを押すことによって生じたのだろう。

先程、トラブルの元凶と判明した端子の取付角度を変更する対策を行った。 一方、アンプのグランドラインの不安定さは依然として解消されておらず、楽器の音質がイマイチ安定しない。 

やはりアンプからの電源供給に拘らずに楽器専用の外部電源を使用して、アンプには別個オーディオラインを接続する方法を考えた方が良いのかもしれない。 簡単なアンプの改善方法として、本体に手を入れず6pin接続のDIボックスを製作し、フォン端子を直結できるラインを増設する手法を思い付いた。 近々これを試してみる予定。
posted by Yasuski at 08:20| LaVoixski

2020年07月17日

FTMの分周率を変更する

FTMのDividerの設定を /8 から /2 に変更し、

Screen Shot 2020-07-17 at 16.19.37.png

それにあわせて、ハンドリングするデータのレンジ調整を行った。

Screen Shot 2020-07-17 at 15.33.55.png

所謂「グリッチ」の周波数を8倍上に引き上げることが目的で、グリッチそのものは消滅しないものの、音質はクリックに近いものに変化している。

ちなみに、当初はグリッチの周波数を「下げる」為に分周率を/32に設定したものの、レンジ調整が上手く行かず、計画は頓挫している。
posted by Yasuski at 17:21| LaVoixski

2020年07月02日

Arpeggiator/Sequencer関連のコードをサブルーチンにまとめる

アルペジエーター/シーケンサーの制御を行うパートに変更を行った。

Screen Shot 2020-07-02 at 17.15.53.png

まず、サブルーチン arpeggiator01 の先頭に、パラメーター呼び出すセクションを移動。

Screen Shot 2020-07-02 at 17.16.38.png

リタルダンドのトリガーはここで発生させている。

Screen Shot 2020-07-02 at 17.17.07.png

サブルーチン arpeggiator02 にも同様の処置を行っている。

Screen Shot 2020-07-02 at 17.17.21.png

こちらにもトリガーを設定しているが、発動ポイントを若干ズラしてある。

Screen Shot 2020-07-02 at 17.17.44.png

シーケンサー専用のカウンターを別途サブルーチン sequenceCounter(); にまとめた。

Screen Shot 2020-07-02 at 15.37.16.png

divider02をトリガーとして、 sequenceCounter(); に処理をジャンプする。

Screen Shot 2020-07-02 at 15.42.06.png

これらの変更は、より解り易い形でコードを俯瞰するのが目的で、処理のスピードアップに寄与するものではない。
posted by Yasuski at 17:21| LaVoixski

2020年06月24日

Teensy4.1への対応について

ここ数日の間、Teensy4.1に対応するための下準備を行っている。 Teensy4.0では端子が不足して無理をしていたのが、機能が拡張されたTeensy4.1の導入で無駄な配線を行う必要がなくなった。

とはいえ、現行の基板にはLEDをドライヴするPWM出力に対応できない端子があり、そのままでは使えない。

teensy41_card.png

Teensy4.1のPWM出力に対応しつつ、Teensy3.6との差し替えが行えるように端子周りの配線を変更する必要がある。

Screen Shot 2020-06-18 at 7.21.00.png

基板の新調はさておき、手持ちの基板を手配線で修正して試験ユニットを製作を進めていく。

まず、下準備で必要なEEPROMの消去時にシステム毎クラッシュしするトラブルが発生したが、再起動後は問題無く消去を完了、後にファームウェアを書込むことができた。

Screen Shot 2020-06-18 at 8.06.03.png

Screen Shot 2020-06-18 at 8.50.27.png

なお、DACへのデータの転送がとんでもないスピードで行われるので、NOPでクロックのタイミングを調整している箇所の動作が破綻する恐れがあることに留意しなければならない。

その後、Teensyのポート設定を間違えているのを発見したので、これを修正し、ファームウェアの再書込みを行った。

Screen Shot 2020-06-19 at 20.20.07.png

他にも間違いがありそうな雰囲気なので、コードを印刷して立体視でミスを探すべきか。

ちなみに、このミスはTeensy3.6→4.0→4.1にハードウエアの乗り換えを行う過程で特異なピン配列の4.0を経由してポートアドレスの直アサインを変更した為に発生したのだが、ハードウエア特有の仕様を反映させる部分の改変には十分に注意を払う必要がある。

配線を確認する過程でCortexM7のレジスタ周りを調べ直した結果、Teensy4.1は32bitカウンタのトリガを二本引き出せそうなことが判った。

104874338_3277107398986362_6732600689478709118_o.jpg

現在使用している16bitカウンタは実効値が14bitとレンジの調整が難しく、32bit幅のカウンタを使用することでより有効な帯域を確保できるかもしれない。

該当する端子はD15とD40にアサイン出来るので、物理面の対応は簡単そうではある。

schematic41.png

外部からのトリガで駆動されるCaptureValueRegisterXは、EdgeCounterの周期でカウンタの値を取込む。EdgeCounterはOverfloor時にリセットされる。

このコードでは2周期目を取り込む設定なのだが、カウンタのスピードを勘案すると多分2周期目は永遠にやって来ない。

105488862_3277932275570541_5449363610889523331_o.jpg

よって、CVAL0の値を取り込むのが正解と思われる。

CVAL2を設定した理由は「バウンス効果」を狙ったものと思われるが(記憶が定かではない)、周波数の差分で発生するビートのエッジはミリセカンドのオーダーで繰り返すので、カウンタがフルスケールを更新するタイミングには間に合いそうにない。 そもそもが分周値の設定を間違えているのだが、今のところは取りこぼしを容認しつつ折衷で最適値を探り出している状態だ。 この機会に、極端にクロックを遅らせる実験を行った方が良いのかもしれない。

サイトの情報ではFTMを駆動する為のライブラリが開発されているので、これを使って周波数測定を行ってみる。

https://github.com/PaulStoffregen/FreqMeasureMulti

残念ながらGPTには対応していないので、これを使う場合は今まで通り独自にコードを組まなければならない。

その後、基盤を発注する前に、結線時の混乱を考えてTeensy4.1対応にポートの配列を整理することにした。 いきあたりばったりでアサインしていたのを合理的な結線にやり直しつつ、GPT2のトリガーインプットへのアクセスに対応させている。

GPT2の入力はD15とD40で、ALT8を選択して結線が完了する。
posted by Yasuski at 09:10| LaVoixski

2020年03月08日

出力波形の確認を行う過程でAudioExciter機能関連のBugを発見する

BIAS切り替え回路の接続を変更した最新回路による出力波形の記録。



スレッショルドポイントの設定を失敗していたので、もう一本撮り直し。



オシロスコープのトリガースレッショルドを最適化した修正版の映像。 今回は、Distortion と Transition のオン/オフによる波形の変化を記録している。

ディストーションをオンにした状態のフルゲイン出力の波形がトーンホイール状なのが興味深い。音もそんな雰囲気がする。

スピーカーからの音をマイクで拾って居るために録音のクオリティーはイマイチだが、実際の出音のイメージはこちらの方が近いかもしれない。



LFO使用時に発生するGitterの記録を同時に行っている。 LFOの動作に出力の制御系が追いつかず、鋸刃状のノイズが発生している。



Mサイズ筐体のAudioBoardは別設計なので若干音のニュアンスが異なる。 これはTransitionによる波形の推移。 今回の音源ソースは、マイクではなくライン録音。



個別の波形出力はこんな感じ。 波形の歪が大きいが、聴感上は然程問題を感じない。

テルミンの単独出力波形の確認を行う過程で、Exciter(波形変換モード)の動作不良を発見し、コードの修正を行った。



バグは書き込み時のスイッチ長押しのルーティンに潜んでいて、複数設定していたmode判定のプライオリティの設定ミスが原因だった。

具体的にはmode7とmode2のうち、後者の条件分岐判定が優先される状態でbreakが発動して、データの書き込み&波形の再構成がスキップされていた。

修正後に動作を確認しているが、フィジカルコントローラーの多機能化に伴うコンフリクトがまだまだ潜んでいる可能性がある。

追記:

案の定、TransitionWaveformとDistortionSWの記録が行えないバグが見つかったので、原因となっていた箇所を修正した。

これは、LowerKnobパラメーターの構成mode4の変更に伴う、アドレスの修正を忘れていたポイント。

WS002080.JPG

こちらも、mode4関連の記述ミス。

WS002081.JPG

その他、microSDにデータをストアする際に用いるレジスタの設定ミスと、、、

WS002082.JPG

データ書き込み時にLEDの点滅で確認を行う為に紐付けした「LED発光パターン設定バンク(Upper / Lower)」の取り違いを発見している。

WS002083.JPG

これらのバグは、整備中の試作モデルの波形観測を行っている過程で発見することが出来た。 

波形観測の後半は、adat系の信号を取り回すオーディオシステムの確認のため実験だったのだが、副産物として、AudioBoardのレベル設定等、整備のメソッドを確立しつつある。

こちらは、調整後のLサイズ筐体(一番旧い160mm幅のモデル)の挙動を記録したもの。



非直線回路の過渡的特性が、破綻なく綺麗に移行しているのが判る。

posted by Yasuski at 07:18| LaVoixski

2020年02月28日

Msize筐体専用基板の新調とアナログ・スイッチの配線について

ケースに孔を開けて基板を仮組みしているのだが、孔開けの精度が絶望的にアカン感じ。 

IMG_9782.JPG

基板のクリアランスがギリギリなのは想定内だが、補機類の配置をしくじらないようにしなければならない。

IMG_9813.JPG

孔開けのズレを解消するために、次回の工作でホールソウを試すことにした。

IMG_9814.JPG

新設計の基板には、MCU接続用のPogoPinを使用する。設置するPinの長さは12mm位が妥当か。

IMG_9778.JPG

IMG_9805.JPG

基板同士のクリアランスはなんとか維持出来そう。 仕様が固まったら、Hammondに加工済のケースを発注するのが正解かもしれない。

IMG_9783.JPG

MultiTurnVRを設置するスペースがギリギリで辛い。 

IMG_9786.JPG

ホンでもって相変わらず孔の位置が微妙にズレてしまう。

IMG_9795.JPG

材が微妙に粘るのもズレが生じる原因か。 より厚みのあるID-292のアルミ材はサクサクと削れてズレが少ない。

IMG_9817.JPG

ホールソーが到着したので、停止していた孔開け作業を再開した。

今回は8mmと10mmを試したが、8mmはタッパが足りず板に傷が付いてしまった。裏面からアクセス出来ない場合はプラワッシャー等を使った防護策を講じる必要がある。

ホールソーは下孔を中心にして一発で大穴が開くのが良い。 これで工作精度の向上が達成できそう。

残るケースの加工は裏板のヴェンチレーション孔と本体?に空けるUSB端子で、それらを除いて作業はほぼ終了している。

IMG_9853.JPG

その後、組み上がったオシレーター基板が発振しない原因を探っていたのだが、プリント基板の配線ミスという極単純な失敗を発見、これを修正した。

IMG_9857.JPG

配線の修正後に発振を確認できたが、

Screen Shot 2020-02-22 at 1.45.33.png

ヴォリューム側の時定数の設定を間違えていたようで、こちらは不足側に66pFを追加という現物合わせで対応した。

Screen Shot 2020-02-21 at 23.19.28.png

Screen Shot 2020-02-22 at 7.27.54.png

一方、DA基板のディストーション/出力レベル切替えスイッチの設計がイマイチなので、これをソフト側の制御でなんとか出来ないか思案を始めた。

LV2p3AudioSch75mm.png

配線の変更は、DistortionとLevelShifter関連のアナログスイッチを全て並列化しつつ、従来接続していたD2端子(現在はTransitionWaveformSelector連動)をLED表示のみに切り替えている。 

WS002079.JPG

また、D13のみでコントロールしていたDistortion系の出力に、正論理でLED表示を行うための反転出力"D50"を加えているが、このD50によって本来はオルタネイトに動作していた逆極性のスイッチグループを平行に駆動している。

WS002078.JPG

変更の結果は良好で、ステレオ出力に現れていた不要な歪を軽減することが出来ている。

WS002077.JPG

旧式基板の配線にも変更を行ったが、端子のラインアップが少々異なるため、配線の取り回しには若干の変更が必要となった。

IMG_9864.JPG

こちらは、Lサイズ筐体の配線。何れにしてもトグルスイッチICの極性が逆転していることに注意が必要だ。

IMG_9863.JPG
posted by Yasuski at 06:42| LaVoixski