2018年02月24日

2018年02月22日

2018年02月21日

OpenTheremin@Toslinkデバイスの実装を行う

IMG_7915.JPG

専用のアルミアングルを製作して、Toslinkデバイスを基板に固定した。 取り外しが手間なので、信号分岐用のポートを増設したほうが良いだろう。

IMG_7907.JPG

アングルを取り付ける際にクリアランスが問題となったが、ポリカーボネート製のナットを削ってギャップを解消している。
posted by Yasuski at 12:29| AudioElectronics

2018年02月20日

OpenTheremin@ロジック・アナライザが接続できる開発用筐体の製作

ロジック・アナライザ対応の筐体を製作中。 配線は直付が理想だが、基板裏にSILのコネクタを配置するのが妥当と思われる。

IMG_7906.JPG

横幅160mmの筐体に取り付けたロジック・アナライザ接続用のバックパネル。 リボンケーブルを基板の両端に取り付けて、組立・分解時のサービス性を向上させている。 ロジック・アナライザとの接続には、丸ピンのブレッドボード用配線材を中継線として使用する。

IMG_7898.JPG

回路の動作を確認するロジック・アナライザには、AnalogDiscovery2を使用する。 コンパクトな筐体は取り回しが良さそうだが、デザインは余り好みではない。

27972541_1766303470066770_246478529215126650_n.jpg

MacOS/Sierraからkextをインストール後にセキュリティーの承認が必要なことを失念していたために、Macbookへの接続に手間取ることになった。 画像はアナログ信号の差動入力を確認しているところ。

信号を取り出す端子は、DIL48pの裏側にSILの丸ピンコネクタを外側に向けて配置すると良さそうだ。

IMG_7798.JPG

リボンケーブルの先端に丸ピンをハンダ付けして接続用のコネクタを製作する。 堅牢さを確保するためには24pのDILソケットを分解してSIL24pに加工すればよいだろう。

IMG_7496.JPG

基板裏面の参照図。 安全のためDILのソケット上に電源関連の接続を行わないが、リボンケーブルまでの引き出しは行ってラインを確保する予定。

card9b_rev1.png

posted by Yasuski at 11:18| open.Theremin

2018年02月13日

OpenTheremin@基板を組み始める

ゆるりとテルミンの基板を組み始めているが、手組みが出来るSMDのサイズ0402は限界だった。 作業の効率を考えると、やはり0603辺りを選ぶのが正解に思える。

IMG_7892.JPG

左側のランドは1206サイズ用。 手前の黒い抵抗が0603サイズ。

流石にランドパターンは0603で設計しているのだけれど、今回も在庫の関係で0402を無理やり使うことになった。 コンデンサーは対応できる部品が揃っているが、存在していた筈のSMD抵抗の在庫が消失している。 で、仕方なく基板を組みながらジャンクパーツを漁っていたところ、0603サイズの抵抗を掘り出したのでこれを配置してみたが、やはり段違いに遣い勝手が良い。

こちらの基板は0805が最小サイズの部品。

IMG_7896.JPG

SMDの中では左銀色のパーツ、水晶発振器の取り付けが一番難しい。 下のPLL分周ICと組んでオーディオクロックを生成しているパート。

IMG_7889.JPG

今回組んでいたFPGA周辺の実装面。 右が信号処理のみを行うピギーバック版、左はオシレーターを搭載したシングルボード仕様の基板。 何れのパーツも製作を失敗した基板からサルベージしたものなので、パーツを全組みする前に稼働試験を行う必要あり。

部品のサイズを検討すると、普段から多用している1206は実装密度が低く、オシレーターなどを組む場合は相互干渉の問題が気になってくる。 作業効率は落ちるものの、回路をコンパクトに組める0805/0603系列で基板のデザインをやり直したほうが良いかもしれない。
posted by Yasuski at 17:52| open.Theremin

2018年02月10日

OpenTheremin@試作用筐体の製作

そろそろワンボード型テルミンの開発を本格化したいので、動作検証用バラック筐体の仕様を決めなければならない。

ケースには、1455K1201BK を使用する。

prime_presentation_pres_0000.jpg

筐体は少し横に長い方がアンテナの干渉を防げそうなので、製品のラインアップをチェックしたところ、 ワンサイズ横に広い 1455K1601BK という製品を発見している。

検証を行うためにはバラしやすい構造が望ましいので、端子間の接続はコネクターを介することになる。 

まずはアンテナ関連の接続だが、アンテナ側がSMA基台→基板側がアングルの付いたSMBという仕様のコネクターのケーブルを採用、SMB側を基板のアンテナ端子に取り付けたジャックに装着する。

SMASMB.jpg

SMBは頻繁に抜き差しするとヘタる可能性が高く、コネクタの疲労に注意しなければならない。

基盤自体の取り付けに関しては、Hammond製筐体のスライドできるバックパネル側か筐体側かで悩むところ。 また、波形観測用に制御信号を入出力する端子から信号を引き出すピンを設置する必要があるが、これも基板から直接取り出すか、MCUに配線を行うかで迷っている。

IMG_7808.JPG

基板の取り付けにはロータリーエンコーダーをスタッド代わりに使うことを想定している。 代替案としてエンコーダーを固定する孔に2.0〜2.5ミリのスタッドを固定する方法も検討中だが、マイコンの端子から信号を引き出す配線はこちらの裏面側から行うことになる。

問題はターミナルのデザインだが、端子をナンバー順にまとめるか、単純にマイコンのフットプリントそのものを模す方法を考えている。

eca6f3896c292ca814915550e69f6eb5_original.png

安全のため、1番と34番ピンを除いて電源とGNDは接続せずにおく。 基本はソケットを基板に実装する形で、アナライザー側の端子の仕様で必要となる場合はソケットにピンを立てれば良い。 ピンを配置した基板を筐体のスロットに内装し、バックパネルを取り外しオープンにした側から信号を取り出す構造が正解だろう。

MCUに接続するUSBケーブルは、端子にアングルの付いたものを選択して恒常的に接続を行える状態にしたい。 問題となるのはUSB端子とケース側面とのクリアランスだが、筐体の工作に入る前にケーブルを購入して現物合わせを行う。

追記:

端子台との接続には24pinのフラットケーブル&コネクターを使用することにした。

ribbon20p.jpg

これとアングルの付いた2Rowの端子を組み合わせバックパネルに端子を引き出す。 バックパネルとなる基板にはシールド面が設定された高周波回路用のユニバーサル基板(ジャンク)を選んでいる。 

IMG_7874.JPG

IMG_7876.JPG

IMG_7875.JPG

MCUからは全端子48pinを引き出すことになるが、安全のため、DIPソケットから電源系統を分離することにしている。
posted by Yasuski at 08:32| open.Theremin

2018年02月03日

OpenTheremin@ピッチに段が付く問題が再発する

今日から本格的にプログラムの修正を開始しているが、ハードウエアの改装後に何故かピッチの段付きが発生していて、これがどうやっても解消できない。

段付きが発生するポイントには周期性が観測されているのだが、原因はWavetableを読出すオフセット値が特定のポイントで増加する方向に揺らぐことと想定している。

Wabetableを読みだすタイミングは強制的に外部からのクロックに同期されているので、この揺らぎがサンプリングレートの変動によって生じているとは考え難い。

当初は、データの不連続面が関係している可能性を疑っていたが、どうもこの辺がハッキリしない。 音量を決定するVolumeのパラメーターはフルスケール12bitで、これをスイープする間に数回の周期が観測されることがヒントかもしれない。

現象が目立つのは低音時に限られていて、高音時には殆ど気にならない。つまりこれは、オフセットに影響する揺らぎの値が一定している事を意味する。 

試しに、過去のヴァージョンのプログラムに戻してみたが、こちらも妙な段付きが再現されてしまう。

VCOのチューニングに問題があるのだろうか?

とりあえずの方策として、発音を1音減らして5音にダイエットしたものを用意しているが、別の問題はアンプの電池が死にかけていること。 もしかすると諸問題の原因はコレかもしれないので、明日は別に用意した電源で実験を行う予定。

以前、動作が不安定で168MHzに落としていたTeensy3.6のSystemClockを180MHzに設定し直して実験したところ、とりあえず稼働させることが出来ている。
posted by Yasuski at 01:10| open.Theremin

2018年02月01日

OpenTheremin@極低温下でオシレーターが不調になる

Pitch側のオシレーターの周波数が高い方にドリフトした結果、システムに不調が生じてしまった。

症状は、和音機構が全く働かずにオンチになることで、原因はPitch側のオシレーターが設定限界値の500kHzを超えたため。 この閾値を超えてしまうと、何故か基音以外の音程が滅茶苦茶になってしまう。 カウンタ入力の差分検知回路の出力が逆相になってしまうために生じるエラーと思われるが、対処法はオシレーターの発振周波数を下げるしかない。

今回は、更に4pFのマイカコンデンサーを投入して、なんとか発振周波数をIn-Rangeに設定できた。 5pF程度の温度保証されたコンデンサーは最後にチューニングを追い込むには絶対に必要なアイテム。

途中、IDEがTeensyを見失って焦るが、FIrewire系のオーディオインターフェイスとの併用時に発生するトラブルと思われる。

現在走らせているSketchのVersionは1.24。
posted by Yasuski at 21:02| open.Theremin