2019年11月05日

チューニング機構の改良

オシレーターのチューニング後に印加する「デジタル補正値」をEEPROMにストアする案。 

現状は固定されたオフセットの近似値(というか妥協値)からロータリーエンコーダーの操作によって足し引きを行う仕様だが、機体(アンテナ)特有のドリフト値をこの機能によって相殺出来るはず。

Screen Shot 2019-11-05 at 6.05.16.png

Screen Shot 2019-11-05 at 6.07.51.png

ピッチ/オシレーターのチューニング・モード(Green/Blue)でUpperEncoderを長押しすると、設定したオフセット値がプリセットされる。 

Screen Shot 2019-11-05 at 4.15.30.png

Screen Shot 2019-11-05 at 4.15.08.png

一度登録を行えば、次の立ち上げ時の補正量が小さくなる筈だ。

posted by Yasuski at 05:59| LaVoixski

2019年11月04日

BIAS電圧の変更が波形に与える影響を視認する

アナログ出力回路のBIAS電圧を切り替えた場合に生じる波形の変化をオシロスコープで観測した。

参照しているのは、左手によってTransitionがコントロールされてた波形。

元の波形は出音のレベルを上げるにつれて上側がクリップする半波ディストーションだが、BIAS電位を電圧の1/2からグランド側にズラすことで、下側の波形をクリップさせる効果がある。

聴感上の効きはマイルドだが、波形の状態から倍音構成の変化が確認できる。
posted by Yasuski at 15:10| LaVoixski

100mm規格AudioBoard(Yellow)のトラブルシューティング

100mm規格のAudioBoardはHammond1455N2201にスロットインする設計だったが、

IMG_8823.JPG

IMG_9461.JPG

イマイチ動作が不安定で、稼働実績は試作3号機のみだった。

IMG_9455.JPG

後日、アナログ回路をリファインしたボード(黄色)を再設計したが、

IMG_9203.JPG

状況が更に悪化してオーディオに妙なノイズが乗っている。 結果、1455N2201規格の筺体には75mm幅のAudioBoardを使用せざるを得なかった。

IMG_9338.JPG

IMG_9334.JPG

IMG_9552.JPG

数カ月間の放置の後、100mm規格のAudioBoardから妙なノイズが発生する現象に対処するため、昨夜遅くから検証作業を始めたが、これが期せずして徹夜仕事になってしまった。

IMG_9540.JPG

指で空きランドを押さえると何故かノイズがマシになることから「物理原因」を疑ったものの、断線等の不具合はないようだ。 次に、電源ラインや音声ラインをオシロスコープで観測したところ、何れも盛大にノイズが乗っていた。 ラッチアップ等のチップの故障を疑ってDACやロジック・チップを引っ剥がす荒療治を行った甲斐もなく、パリパリというノイズがどうやっても消えない。

仕方がないので予備の基板を新たに組んで実験したところ、全く同じ症状が発生した。

IMG_9548.JPG

これで基板の設計ミスが確定する。

今回の実験ではDACの実装を必要最小限の1個に留めているため、オーディオ系チップがノイズ発生の原因である可能性は低い。

IMG_9557.JPG

特に怪しいのはノイズが乗っている電源周りだが、試しに電源ラインに入れていたフィルターをバイパスしたところ、

IMG_9554.JPG

ノイズはあっさりと消滅した。

IMG_9561.JPG

電源ラインのフィルターに挿入していた「L」がノイズの発生元とは全くの本末転倒なので、今一度回路を精査する必要がある。

Screen Shot 2019-11-04 at 14.25.13.png

もしかすると、ID_292で多発している事故は「L起源で発生した誘導電流」の仕業かもしれない。

IMG_9539.JPG

posted by Yasuski at 14:38| LaVoixski

2019年11月01日

Teensy4.0にコードを移植する(続き)

昨夜からプログラムのサブルーチンの記述箇所を入替える等、手を尽くしているのだが、何をやっても全く歯が立たない。

Screen Shot 2019-11-01 at 15.21.54.png

結局、SDカードからデータを読み込むサブルーチンのうち、容量が大きなパートを排除して、

Screen Shot 2019-11-01 at 10.34.28.png

ようやくUSBmodemが稼働状態になるという、なんだかよくわからない現象なのだが、

Screen Shot 2019-11-01 at 10.37.50.png

これはもうIDEのバグで確定させてもよいのではないか。

Screen Shot 2019-11-01 at 10.34.51.png

Screen Shot 2019-11-01 at 10.35.07.png

追記:

Teensy4.0では、IMXRT1060のマニュアルによると、周波数を検知するためのカウンターの外部入力が、GPT2_CAPTURE1の1本(GPIO_AD_B1_03・D15/ALT8)しか取り出されていないことが判明。
代替案として、アナログ端子を代用する方法が考えられるが、その場合はVolumeAnt側を扱うことになるだろう。

追記2:


RotaryEncoderの読み出しを、AudioClockDrivenのサブルーチンに移動した場合に、USBmodemが正常に作動する模様。 ちなみに、コンパイラのオプティマイザーはSmallest以外アウトだった。 

Screen Shot 2019-11-01 at 20.06.13.png

ただし、これはオーディオクロックを印加していない状況のそれなので、実質的な進展は無いかもしれない。

追記3:

引き続きハードウエアの調査を行っているが、FLEXPWM4というのが使えそうだ。分解能は16bitなので問題なし。元ネタはこちら↓。

https://github.com/…/…/blob/master/util/FreqMeasureCapture.h

Example がヒントになったが、シングルではなく複数のチャンネルが存在するようなので、これらを使えばFTMの代わりにPitch/VolumeのCaptureに応用できるかもしれない。 

Screen Shot 2019-11-02 at 1.12.48.png

とりあえず、初期化とフリーラン、及びCaptureを行うサブルーチンの設置には成功している。(動作の保証はなし)
posted by Yasuski at 15:22| LaVoixski

2019年10月31日

Teensy4.0が届いた

今日は昼過ぎに届いたTeensy4.0を試しているが、これがなかなかの難物で先が思いやられている。

まず3.6からコードの移植を試みているが、当然ながらコンパイルはすんなりとは通らない。

不具合の原因は、

1)TimerOneのconfigファイルの更新を失念

Screen Shot 2019-10-31 at 20.33.56.png

2)D40番台のアドレスにないPinの設定を行う
3)ハードウエア互換のないFTMの設定

の3点で、互換性のない機能を殺した結果、書き込みを行うことができた。

Screen Shot 2019-10-31 at 18.21.01.png

が、コンパイル自体は通ったものの、書き込み後にUSB_Serialが認識されないために、立ち上がりのレポートが読めず、MCUが正常に稼働しているのか状態が全く判らない。

怪しげなEEPROMの機能を殺しても状況に変化はない。

void setup() {

Serial.begin(BAUD);
delay(500);

Serial.println(" checkPointCharie0000.");

と、電源投入後のハードウエアの立ち上がりで確認のための通信を行うコードを追加してみたが、そもそもUSBシリアルが認識されないOfflineの状態なので、これは意味がなかった。

Screen Shot 2019-10-31 at 18.48.38.png

シリアル通信機能を単独でテストした場合は問題はなかったので、ハードウエア起因のトラブルではないことが確定している。

つまり、プログラムの何処かに問題があるのだが、何故にsetupの時点で通信不能となるのか?その理由が判らない。ちなみに、USBデバイスとしては認識されている模様。

Screen Shot 2019-10-31 at 18.25.03.png
posted by Yasuski at 20:35| LaVoixski

PogoPinの実装について

手持ちの部品(結構な数の貰い物)と新たに購入する機械部品を組み合わせる場合、どうしても現物合わせになって仕舞う。

PogoPinとは中空端子にスプリングが内装された接続用のpinで、ハンダ付けが難しい場所に設定された端子にスプリングの圧力で導通を保つための部品だ。

IMG_9483.JPG

購入したPogoPinの長さは6mmで、これを丸ピンで嵩上げして使用する。 とりあえず、在庫する100本はこのやり方で組むことになる。 

IMG_9484.JPG

ちなみに、PogoPin単独で必要となる長さの実測値は9.5mmから10mmだったが、10mmという規格は手に入れ難いようだ。 9.5mmに超小型のワッシャーを噛ませてタッパを稼ぐ方法を採るのが現実的だろう。

尺が足らないPogoPinにユニバーサル基板を使った嵩上げを行ってみた。

IMG_9488.JPG

部品の転用は意外と効くもので、当面の間は6mmのPogoPinで組んだ端子のクラスタを使ってTeensy4.0の背面にあるpinに対応することになった。 ただし、基台に端子をしっかりと固着させるには両面基板の使用が望ましい。 

IMG_9495.JPG

丸ピンソケットを実装した基板専用にPogoPinを設置するための治具をDIPソケットとユニバーサル基板を組合せて製作した。

IMG_9532.JPG

丸ピンソケットはシルエットが低いために、pin単体では調整が難しい。

IMG_9531.JPG

ボード裏面の端子は0.1吋規格の正中線からズレているので、コンタクトポイントに合わせてpinの先端に0.05吋程のオフセットを掛ける必要がある。

IMG_9534.JPG

ボックスタイプのソケットの場合、シムが2枚重ねで丁度良さそうな塩梅だった。

IMG_9533.JPG

このような手間のかかる手法で量産体制に入れるかどうか微妙なところだが、その場合に不要な工程を省けるように試作の段階から考えておく必要がある。
posted by Yasuski at 12:40| LaVoixski

2019年10月30日

Teensy4.0導入時にリプレイスが必要となるpin配置に関する覚書

Teensy4.0は端子数が少ないため、現行のTeensy3.6に特化したシステムに導入を行う場合にはpinのやりくりが必要となる。

まず、pin配置の現状を整理するとTeensy3.6にリザーブした端子のうち、D1,D5,D6,D17,D18,D20,D21,D25,D26,D27の10pinが使用可能。

Teensy4.0の不足分は、D34からD50までの17pinとなるが、実際に使用しているのはD34からD39までの6ラインと、D44,D45,D48,D49のLED拡張信号の4ラインで、不足分は10本。

Teensy4.0の拡張端子はD24からD33までの10pin。その中で3.6と被るのはD25,D26,D27で、拡張端子では遊軍となるこれら3pinを再配置することになる。 他の端子は、Teensy3.6に準拠したポートに固定配線を行うが、この配線パターンは現行のAudio基板を使用することが前提としたもので、FPGAを使用したadatの実験を行う場合は、端子のアサインを考え直す必要がある。

AudioBoardへの信号ラインで今回使用を想定したのは8本だが、FPGAの信号ラインには9本が必要。足りない分はadatの出力数を制限する方向で調整するしかない。
posted by Yasuski at 12:44| LaVoixski

2019年10月29日

RGBロータリーエンコーダー/目玉スイッチの"Lavender"色を調整する

発色が悪い"Lavender"の修正を行った。

IMG_9530.JPG

まず、抵抗値を390Ωから100Ωに交換したところ、ダイオードによる逆流防止機構の影響で青が全く発色しなくなった。

不具合の原因は順方向電圧が低い赤との兼ね合いがありそうなので、電流制限抵抗を100Ωから200Ωに変更したところ、正常な発色を確認できた。

IMG_9529.JPG

今回、現物合わせで発色を調整したリザルトは、、、

ロータリーエンコーダーの場合、RGBの抵抗は1k(390/560)/470/200といった比率が妥当だった。(現物は470の代わりに560だが、この場合は若干ではあるが赤みが勝つ)目玉の場合は、1k/470/100といった塩梅で、逆流防止機構が介在しない分だけ青の輝度を上げることが出来る。

Screen Shot 2019-10-29 at 13.24.37.png

LEDは個体差が大きいために、これらの数値が完全な適正値とは言えないが、折衷案として記録しておく。
posted by Yasuski at 10:53| LaVoixski

2019年10月28日

Mサイズ筺体型テルミンの組み立てを完了する

梁にカメラ用の基台を設置したついでに、Ritardandoが発動するポイントを調整する過程を撮影した。

VolumeAntの微調整は、温度変化に弱いオシレーターには必須の作業だ。

Lサイズ/Mサイズ/ID-292の各種基板2枚ずつにFPGA及びオーディオクロック系の実装が完了している。

IMG_9517.JPG

Lサイズ2枚は最新版の基板だが、Mサイズ/ID-292のヴァージョンは旧型基板(黄)と対応するVRTのシェイプと、電源の保護回路及び放熱ランドが新調された最新版(赤)が一枚ずつとなっている。

M型筐体のアルミ・アンテナの評価を行う機体が、ひとまず形になった。

IMG_9523.JPG

今回制作したモデルは、試験的にインターフェイス群を中央に寄せているが、操作性は微妙なところか。
赤い目玉が発光しない原因を調査する必要があるが、ひとまずはオシレーターのチューニングを優先したい。


追記:で、測定のリザルトがこれ。

Screen Shot 2019-10-28 at 20.11.28.png

Screen Shot 2019-10-28 at 20.11.37.png

まず、Volume側のオシレーターのマッチングがギリギリでアウトだったので、周波数が高かったAntenna側に10pFを追加して、補正可能なレンジに周波数を合わせた。

Screen Shot 2019-10-28 at 20.13.02.png

Screen Shot 2019-10-28 at 20.13.15.png

Pitch側はなんとか修正無しで対応できそう。

次に音声のアサインを失敗していたので、これを修正した。 原因はモロに物理由来で、負電源ラインをRチャンネルの音声出力端子と繋ぎ間違えるというとんでもないミスをしでかしていたのだが、幸いなことにコンデンサーの耐圧超過による事故に至らずに済んだ。

目玉の赤が光らなかったのは、プログラム上で端子の設定(26番ポートの直アサイン)を間違えていたことが原因だった。

IMG_9525.JPG

今回は、事前にハードウエアの仕様が固まっていたお陰で、不要な試行錯誤を行うことなく効率よく調整を行うことが出来た。
posted by Yasuski at 18:40| LaVoixski