2017年09月24日

Open.ThereminOnTeensy@

ひとまず、楽器としての体裁は整えた。



諸々の配線を失敗しまくっていたが、

IMG_7562.JPG

IMG_7564.JPG

IMG_7553.JPG

IMG_7554.JPG

IMG_7555.JPG

ハードウエア由来であろうピッチレンジの狭さを解決できていない。

あと、キャリブレーションモードでVariCapを調整し、通常は値をソフト的に操作してチューニングを行う方法を試したいのだが、いまのところswitch/case内で、DACにデータを送信するサブルーチンに入れない問題を解決出来ていない。

音質的には、敢えて楽器単体の出力が苦手な新型アンプに接続して評価を行ってみた。 

IMG_7546.JPG

前段にエフェクトを掛けることでアラを隠してはいるが、ワイドレンジな再生環境でも、高音の乱れはあまり認められず、Teensy3.2/12bitDACとは明らかに違ったクオリティーで音声を出力できた。

FPGAの実装を失敗しているため、残念ながらAudioDACの使用は不可だった。 

IMG_7454.JPG

ID-292のテストではFPGAの出力を確認しているので、チップのプログラム自体の問題ではなさそうだ。

ともあれ、Teensy3.5では処理時間が間に合わないので、次のヴァージョンではMaximのDACを追加して、ステレオ運用を目指すことに計画を変更した。

otduino405.png
posted by Yasuski at 09:06| open.Theremin

2017年09月19日

Open.ThereminOnTeensy@回路の評価

プログラムミスを確認しつつ、ハードウエアの検証を行っているところだが、ID-292の方のTeensy3.6がご逝去されたため、これを手持ちのTeensy3.5に換装して実験を継続することになった。

V3の方は、RadioTestSetでOpenTheremin搭載のオシレーターの発振を確認している。 問題はマイコン側のオーディオクロックで、RadioTestSetでは表面実装発信器からの27MHzを確認できず。 オンボードのクロック源がダメな場合は、OpenTheremin基板からクロックを引っ張ってくることになる。

オシレーターのEnable設定を間違っている可能性もあるので、まずは端子の状態から調査していく。

その後、測定方式を変えて確認した結果、オーディオクロックの原発振と分周は問題なく行えていた。 TestSetのオシロスコープは性能が悪く、27MHzのクロックはスペアナで確認することになるが、これは問題なかった。

次に怪しげなポイントは、実装が難しいFPGAの信号系だが、こちらはリセット端子の設定が疑わしい。 結局不具合の原因はソフトウエア側の記述間違いで、立ち上げ時に"L"から"H"にレベルをを固定することで問題は解決した。 ソフトウエアの修正後は、綺麗なオーディオクロックを吐いている。

なんとID-292版に新たに投入した3.5もご逝去される最悪のパターンにハマるも、死んだ筈の3.6が一瞬復活する。

復活時にクロック系を調べてみたが、無事WCKの出力を確認した。 DAC及びFPGAへのデータ転送は、内容は不明だがひとまず形だけは送信されている模様。

が、今回もまた作業中に電源がご逝去というケースに陥ってしまい、電源周りに何か変な影響が発生していることが判明した。 

何れの故障も電源ICの短絡破壊に拠るものだが、死んだ部品を取り払って積み替えると、マイコン自体は復活することが判明しているので、壊れたICの表面実装部品を引剥して、より修理が簡単なSOT23クラスの部品をピギーバックさせて復活を目論む。

結局、ケース収納時に遊んでいる端子が悪さをしている可能性が高いので、端子群を纏める方向で改良を行う予定。

で、マイコンが死滅した現在、結局はアナログ面を詰めていくことになるのだが、故障前から発覚していたのがVolumeAnt側のリファレンス・オシレーターの発振不良だった。 原因を究明したところ、シングルケートのLogicICのダブル短絡に拠るものだったので、フラックスを塗布した後、端子を加熱して短絡を排除したところ部品の損壊はなく、無事発振を開始した。

ここで、オシレーター群のデフォルト値を測定してみた。

まず、バラクタ側は電圧を印加しない状態で、460~480kHzの大凡設定通りのポイントで発信している。

次に固定発信機の周波数を測定したところ、バラクタ側の+100kHz辺りに居て、これは直列100pFによる影響と思われる。 ここは、新たに50pF強のバランサーを追加して、今よりも周波数を下げなければならない。

V3対応基板の方は相変わらずで、どうやってもキャリブレーションモードに突入できない。 そして、入力に設定しているはずの端子には謎の発振が、、、。
posted by Yasuski at 14:21| open.Theremin

Open.ThereminOnTeensy@初動は失敗に終わる

ようやく試作テルミンに通電を行ったものの、ID-292系列は5V系のICに配線ミスが発覚して、電源が飛ぶ寸前となった一方、Arduino互換ピン配置の方はオーディオ再生が行われず、キャリブレーションモードにも入れない。 また、VolumeAnt側の発振が認められず、なんらかの問題が発生している模様だ。 故障への対応策として、まずID-292系列では短絡破壊が発生している半導体を発見し、これらを撤去しなければならない。

IMG_7528.JPG

で、調査の結果、このエリアの1GateLogicICがなんとライブラリの端子配列のミスで全滅していた。 配線ミスを無くすためのライブラリそのものの設定が間違われてた失敗は、基板設計の段階では懸賞のしようがなく救い難い。

IMG_7522.JPG

早くもバラック状態となったID-292ケース。 今回から、基盤の配線をピン接続にしたのは正解だった。

IMG_7530.JPG

その後、短絡破壊を起こしたLigicICを取り除き、新たに手配線による部品の再実装を行った。

IMG_7531.JPG

土台となるSOICに耐熱両面テープを使って、SOTをピギーバックさせ、極細テフロン電線で配線を行っている。 
ライブラリでは電源ピンに相当する赤と黄色の配線が逆になっていた。

IMG_7532.JPG

これは、本来SOTが実装されていた面。 極細テフロン電線の手配線で信号ラインを引き出している。 adatのパワーオンリセット用のSOTはこちらの面に実装している。

IMG_7533.JPG

まさか、14pinSOICの上にさらなる部品をピギーバックさせる情況は予想していなかった。 耐熱両面テープは色んな場面で便利に使っている。

IMG_7534.JPG

こちらの面では、adatに至る信号ラインのレベル変換を行っている。 テフロン電線の芯線は脆いのでハンダ付け終了後の折損に注意しなければならない。

IMG_7529.JPG

一方のArduinoUno互換ボードの方は、LEDの点灯回路自体に問題はなさそうだが、クリック・エンコーダーの位置が想定とは逆になっていた。 LEDのカラーの順番もオリジナルから逸脱しているが、これはプログラムにより変更が可能。 

ただし、RGB配列のうち、モード切り替え側の青と赤が入れ替わる間違いが発覚している。

プリセット選択側は、

黒→白→黒→白→緑→青→青緑→赤→黄→紫 

の順番が、

白→黒→白→黒→紫→青緑→青→黄→赤→緑

となっていて、修正が必要。

ロータリーエンコーダーの機能が正常に動作しているかどうかは現時点では確かめようがないが、まずはクロック系の確認から行っていく。

問題は、キャリブレーションモードに入れない状態と、VolumeAnt側の発信器が動作しない現象で、これはソフト・ハード両面を切り分けて対策を行わなければならない。
posted by Yasuski at 09:45| open.Theremin

2017年09月18日

2017年09月14日

Open.ThereminOnTeensy@

IMG_7476.JPG

ケースに基板を固定した。 

アンテナ端子とオーディオ/電源端子の取り付けが次のフェーズだが、よく考えると、(使用可能かどうかは別として)4chあるオーディオアウトをどのように捌くのかが問題となる。

IMG_7477.JPG

端子群は左上からステレオ出力(Maxim系工業用16bitDACと、ROHM製オーディオDACのLch、MiniPhoneJackと並列) LED出力端子、D6/D9/D12、RX1/TX1のジャンパー端子、D2/D3/D24~D30、中断右がJTAG、左下から電源端子と並列のターミナル、TeensyのRX1/TX1となっている。

ROHM製DACのRchは、基板裏側の端子からアクセスが可能。 5pinのオーディオchにはこれらの音声出力を接続するが、Open.ThereminV3基板からの出力の扱いはペンディング中。

ID-292版OpenThereminOnTeensy基板の修正を行っている。

otot0404c.png

実際に組み上げてみると不具合が出てくるものだ。
posted by Yasuski at 06:53| open.Theremin

2017年09月13日

Open.ThereminOnTeensy@V3基板用の実験素材が完成する

Open.THereminV3専用のTeensy対応ボード、通称白基板の組み立てを完了した。

IMG_7475.JPG

まだ拡張端子の実装が未了だが、ほぼ稼働が可能な状態になった。

Teensyを乗っける場合のタッパの高さが問題になりそうなので、ロープロファイルな接続ピンを見つけなければならない。

V3基板側からのサンプリングクロック出力、TeensyボードのDAC0/DAC1出力は、予め接続が行われないように処理を行う必要がある。

IMG_7455.JPG

Open.ThereminV3のコントローラー側にTeensy基板が乗っかる形。

IMG_7456.JPG

ロータリーエンコーダーの設置場所はここに拘る必要はないが、Teensyを取り付けた時のクリアランスが問題となりそう。

IMG_7457.JPG

本来、ArduinoUnoを取り付けるのはこちらの面。

方向が逆になった。

IMG_7458.JPG

白基板とTeensyにピンを取り付けたところ。 信号がコンフリクトする部分のピンは、Open.Theremin側がD4、Teensy側がDAC0/DAC1なので、予めこれらを取り除いておく。

音声と電源端子を実装すれば、基板周りの作業が終わる。 

あとは、ケースとアンテナを用意すれば、実験環境が完成する。

IMG_7467.JPG

あまり格好の良いデザインではないが、ロータリーエンコーダーをリモート接続にして、ケースに収納することも考えている。

固定にはV3基板側のスタッド孔を使えばよいだろう。

IMG_7465.JPG

白基板側にオーディオクロック系のオプションを追加した場合は、信号のコンフリクトを避けるため、Open.Theremin側のD4端子を取り除く。

IMG_7471.JPG

Teensyのソケットの高さ分、トップパネルとのクリアランスが怪しくなった。 

ケースに内蔵する場合は、ロータリーエンコーダーを別の場所に実装すればよいのだが、、、。


IMG_7474.JPG
posted by Yasuski at 22:52| open.Theremin

Open.ThereminOnTeensy@チューニングシステムとtranPotパラメーターの設定を考える

今日はOpen.Thereminのプログラムのチェックを行っているのだが、従来Varicapを駆動していたMCPのDACを使わずにTeensy内蔵DACを使用する方式にチューニング機構を転換したにも関わらず、処理ルーティンの変更を徹底していないことが発覚した。 

要は今だにMCPへのデータルーティンがそこかしこに生き残っていたわけで、これを発見次第無効化しつつ、内蔵DACへのデータ送信ルーティンを確認、追加する作業を行っている。

チューニング機構の部分はオリジナルからの改変を進めている箇所だが、実際のところはハードウエアの不具合を解消できずに実証試験に至ることもなく、何気に怪しい雰囲気が漂っている。 

MCPのDACを実装していた前のヴァージョンのハードウエアでは、チューニング機構の実効性は証明されているが、内蔵DACを使用するケースは今回が初めて。 現在採用しているキャリブレーションのルーティンは、Switch/Caseで選択されたオシレーターのVaricapにロータリーエンコーダーによってコントロールされた電圧をDACから印加する方式で、オリジナルではデータ的に中心周波数を再設定していたところを物理面に於いて変更を加えるところが根本的に違う。 

この辺のデータと物理を取り扱う匙加減が難しいのだが、現時点ではキャリブレーション後の修正も同じくDACの出力電圧を操作して物理的な修正を加える方式を採っている。  予想される問題は、電気的な特性を直接イジった結果、オシレーターのリニアリティーカーヴが変化する可能性を否定できないところにある。 やはり、キャリブレーションを物理で、その後の修正はデータ、といった棲み分けで落ち着くような気がしている。

今回は新たに、VolumeAntの値によって変化するオシレーター個別のヴォリュームカーヴの間隔を調整するtranPotというパラメーターを追加している。 

変化の値はパラメーターを調整し終えた後で自動的に記録し、最立ち上げ時にそれを読み取ることになっているが、現ヴァージョンのデフォルト値を偏移差ゼロに設定しているヴォリュームカーヴでは、立ち上げ時の偏差ゼロの場合にオーヴァーレベルの問題が発生する可能性に注意しなければならない。 

つまり、用法面を中心に考えた場合、前ヴァージョンのように予めピークをバラした形にオフセットを掛け、「間隔を詰める」形にパラメーター操作の方向を定めた方が混乱が少ないかもしれない。 

もちろん、メモリーに立ち上げ時に予めオフセットを掛けておくという方法もあるのだが、リセットでROMの内容が更地になった場合を考えると、デフォルト値の在り方には拘ったほうが良いだろう。
posted by Yasuski at 03:51| open.Theremin

Open.ThereminOnTeensy3.5/3.6@白基板の製作を開始する

とりあえずは、故障を修理したTeensy3.6を取り付ける予定だが、動作がおかしい場合はさっさと実験用に割振る予定。

IMG_7444.JPG

配線は、トップパネルのタッチスイッチからのもの。

IMG_7445.JPG

線材の端末処理の方法を考えなければ。

IMG_7446.JPG

遊んでいる端子は出来るだけ容易に裏面からアクセスできるようにしているが、実質的に使えるのはこの辺のポートのみ。

IMG_7447.JPG

こちらは、TOSLINKを接続する端子。 波形の観測も行える。

今日は、Open.Thereminのプログラムを読み返しているが、最新版のシングルボードタイプの基板に設定している仕様とはポートの指定が異なっていることを発見、コレを修正しておいた。

同じような齟齬はピギーバックタイプの基板でも発生していそうなので、精査しなければ。

IMG_7448.JPG

白基板の極小部品のショット。 0402サイズはあまりに小さすぎて視認が難しい。

IMG_7450.JPG

白基板の全体像。 青基板に比べて実装密度が低いことが判る。

IMG_7451.JPG

SOTタイプのシングルオペアンプは、場所を取らないところがとても良い。 手前はMaxim製の単純なシリアル入力が可能な16bitDAC。

IMG_7452.JPG

実装難易度が高いのがFPGAとこの部品。 ランドを設けなかった所為でハンダが流れ難くなっていることが判明した。 取り付け時にケース内にハンダが侵入しているようだが、それがどのくらいの規模なのか不明なところが一寸怖い。

IMG_7453.JPG

オーディオクロックを生成するパーツ。 27MHzの原振動を分周する。 単価は0.7k程と意外に高い。

IMG_7454.JPG


白基板はコートが厚いために、熱の伝導がイマイチで、FPGAの実装にはあまり向いていないことが発覚している。 マトモに実装されているかどうか、判然としないのがツライ。

で、プログラムに関しては、案の定大量のミスが発覚したので、Teensyのピンアサイン表を見ながら修正を行うことになった。 FPGAのリセット端子が指定されていなかったり、当時何を考えていたのかさっぱり判らん混乱ぶりが情けない。
posted by Yasuski at 01:15| open.Theremin

2017年09月12日

Open.ThereminOnTeensy3.6@製作を再開した

まずは、新しい基盤にSOT系の小型半導体の実装から始める。

IMG_7366.JPG

FPGAは既に実装&ファームウエアの書き込みを完了している。 

今回増えたSOTはFPGAからadatEncoderに向かうデータライン、及びTeensyからMax製16bitDACを駆動する信号のレベルをシフトするパーツ。

IMG_7367.JPG

この一団がレベルシフトを行うシングルゲートIC、74LV1T34DBVR で、丁度adatEncoderの裏側に配置されている。

IMG_7369.JPG

次に、残りの半導体を実装する。 Xtalの実装パターンには基板裏側に端子にアクセスするための穴が設けられているので、それを使ってより確実な接続を目指す。

IMG_7374.JPG

5V系の電源ICは過去の教訓から容量の大きなものに変更した。

IMG_7379.JPG

一方、オシレーター周りには改変が必要で、Lに直流を流さない方向に回路の改良が行われている。

IMG_7383.JPG

改良はV3基板から行われているが、基板設計時に変更に気付かなかったため、今回は該当する場所のパターンをカットしつつ手配線で修正を行うことになった。 

オシレーターの周波数変動は実際に楽器としての運用を行っていた時にも感じていたが、特に演奏時に発生する変動の大きさが問題になっていて、これはコイルに流れる電流の動的変化が原因と思われる。 

そういった観点からすると、動的変化が殆ど無い固定オシレーターとして使用する場合の変動値がどうなるのか、次の製作ではあえて改良を加えない状態で検証を行ってみても良いだろう。

IMG_7380.JPG

画像のように、C5の代わりに新たなC2個を増設して中点となるポイントを作り、そこにアンテナ及びインバーターの入力を繋ぐ。以前インバーターとアンテナ入力が繋がれていた側のCの端子には、アンテナ入力から浮かしたコイルを接続している。

IMG_7381.JPG

基板裏面に変更はない。

IMG_7384.JPG

これが、改造部分の詳細を写したショット。 Cはテント型に組み立て、中点をCへの配線ラインをカットしたインバーターに接続する。

IMG_7385.JPG

コイルの方は斜めに配置を変更してアンテナやインバーターに接続されたラインから端子をフローティングする。 配線先は、元来アンテナ系のラインが接続されていた側のCの端子で、インバーターから流れ込む直流をカットする意味がある。

IMG_7386.JPG

次に、基板をトッププレートに取り付けてケースに組み込むときに発覚したクリアランスの問題に対処する。

IMG_7387.JPG

以前はトッププレートと基板の取り付け穴をズラすことで解決していたが、今回はそれが行えないためにケース側のスタッドのポイントが干渉して基板を正しい位置に挿入できない。

IMG_7391.JPG

ケース側を削るか基板を削るかで迷ったが、今回は基板側を修正することにした。

IMG_7392.JPG

削る場所がアンテナ入力に近いので、アースラインとの短絡に気をつけなければならない。

IMG_7393.JPG

電源IC付近の基板を絞った部分のクリアランスもイマイチ怪しげだったので、こちらも追加で修正を加えておく。

IMG_7394.JPG

ここまでギリで加工しないと、余裕をもたせた実装は厳しい状況だった。

IMG_7397.JPG

キャリブレーション・モードへの切り替えとVolAntenaの状態を表示する目玉型照光スイッチをタクトスイッチとドールアイを使って製作した。

IMG_7396.JPG

5mm程に切ったアクリル製のクリアパイプに直径6mmのドールアイを接着し、タクトスイッチのシャフト先端に取り付けたチップLEDを挿入する。 今回は、チップLEDを取り付けた両面テープがそのままパイプとシャフトを繋ぐ固定剤となったが、出来れば接着剤を充填してより強固な固定を目指すべきだろう。

IMG_7400.JPG

幸い、ドンピシャの位置で実装を行えた。 クリアランスも完璧。

IMG_7399.JPG

ケースにトッププレートを仮付けした画像。

IMG_7406.JPG

基板のトップにGigaTrimを実装する。 先にグランドから取り付けると位置の修正が行い易い。

IMG_7405.JPG

取り付け位置はクリティカルなので、トッププレートを取り外しして確認することになるが、今回は一発で作業が完了した。

IMG_7407.JPG

基板裏面にTeensy接続用のソケットを取り付ける。 タッパの高い電解コンの干渉が気になったので、コレを取り外して大容量積層セラミックコンデンサに交換した。

IMG_7408.JPG

トッププレート裏面に、タッチスイッチ用の部品を実装する。 ダーリントントランジスタとPhotoMosRelayで構成されたシンプルな回路だが、試験を行っていないのでメイン基板取り付け前に単独でテストを行う必要がある。

IMG_7409.JPG

トッププレートと基板のクリアランスはこんな感じ。 配線は基板を絞った部分から裏面にアクセスする形で行う予定。

IMG_7401.JPG
posted by Yasuski at 04:00| open.Theremin

2017年08月25日

adat@Decorderの実装1台目

導入した音声テスターは、実装したDAC自体に不良品の疑いがあり、DACが稼働しない原因の検証作業は全く進まなかった。

不良部品の共通点として、音声出力端子のバイアス電圧が通常はVCCの1/2であるべきところが0Vから1V程度と異常値を示していた。

結局、完成した基板は8枚中2枚に過ぎず、かなり厳しいリザルトとなってしまった。 また、半稼動状態の1枚からは無音時に限って謎のノイズが発生しているが、こちらも原因は不明。

追加のDACを10個発注しておいたが、事前に素子の状態を調べるべく、検証用のパーツを追加で発注しておいた。

SOIC16TestSocketAdapter.jpg

で、稼動状態にある2枚の基板のうち「モノラル仕様」で組んでいたものをステレオ仕様に改修し、これをパワードモニターに実装した。



結果は問題なく動作しているようだ。

posted by Yasuski at 14:02| ADAT