2019年1月30日水曜日

DASS01のCV入力アンプ DASS01_CV_AMP はんだ付け完了

DASS01のCV信号を増幅する基板をはんだ付けしました。名前はDASS01_CV_AMPとしました。

CV信号の増幅と一時的な電源の分配を兼ねています。

回路図

基板図

部品面

はんだ面

単体で簡単に動作テストをして、DASS01に組み込んで動作はしているようです。

ArduinoEGMIDI_CV_CONVからCV信号を入力して出力特性を測定してみる予定です。

KiCADを使ってみようかと思いましたが、やっぱり慣れているEagleを使ってしまいました・・・(^q^;

2019年1月28日月曜日

DASS01のCV入力アンプ ブレッドボードで実験

配線図


ダンボールの中に入れているDASS01のAntilog-MMとDual_OTA_VCAにつないで音出ししました。


3倍増幅で良さそうですが、一応あとから増幅率を変えられるようにしようと思います。

回路図

DASS01はラックマウント型で作るかどうか考え中。

2019年1月25日金曜日

DASS01のCV入力


MIDI_CV_CONVが安定して動いているようなので、足りないハードウェアを追加しようと思います。

全体のブロック図

DASS01のCV入力


MIDI_CV_CONVから出力されるCV信号は3.3V系です。DASS01はアナログ構成で±9Vを電源としています。3.3V系の信号では振幅が少し足りないので増幅しつつ、CutoffとEnvelope(VCA)にかける深さを調節できるようにします。

オーソドックスにCV信号をPOTで分圧して非反転増幅回路で3倍に増幅してやります。0~3.3Vの信号が0~9.9Vに増幅されます。増幅率はオーバードライブの効き方を見ながら決めるつもりです。

シミュレーション回路図

過渡解析

Nucleo_DCOのCV


Nucleo_DCOに入力されるCV信号にアナログ的にバイアスを掛けてやってピッチを微調整しようと思っていましたが、Nucleo_DCOは9Vの単電源で動作していて負電源がありません。ピッチを上にずらすことはできそうですが、下にずらすことが無理そうです。

なので、CVとは別に、POTの値をADCで読み取ってプログラムで計算してピッチを微調整しようかな~と思います。

と言っても他の音源と合奏するまではそんなに必要でもないので、しばらく保留します。

Nucleo_DCOのブロック図(現状)

Nucleo_DCOの操作パネルのデザイン(現状)

メモ:


Nucleo_DCOはLFOやEGなどで周波数変調できるようにもう少し考える?

2019年1月24日木曜日

ヒノキに水性ウレタンニスを塗ってみる(メモ)

このサイトを参考にヒノキの端材に水性ウレタンニスを塗るテストをしました。

https://www.diy-shop.jp/second/penki/how-to-paint-varnish.html

アサヒペンの水性ウレタンニスです。


240番、400番で研磨→とのこ→100番、240番、400番で研磨→水性ウレタンニスをはけで塗装


400番で研磨→刷毛で塗装



ニスの塗面を紙の400番でサンディング→耐水ペーパー800番で水研ぎ 削りすぎ



塗装


800番で軽く水研ぎ



メモ:


板材の端の方は塗装するときには液だれしやすく、紙やすりをかけるときは削れすぎる。

最初にしっかり目止めしておかないと何回塗っても無駄。

水性ウレタンニスは臭わないし後始末も楽。

仕上げ時はサンディングしないほうが良さそう。

やっぱりスプレーの方がいいかなあ。

2019年1月20日日曜日

MIDI-CV Converter MIDI_CV_CONV 動作チェック

回路図

ファームウェア
https://github.com/ryood/MIDI_CV_CONV/tree/master/Arduino/MIDI_CV_CONV_Test06

電源 単3電池×6 8.15V
VCC 5.022V
VREF 3.298V(回路図のR5のトリムで調整)
電源電流 32mA~40mA程度

出力波形の測定


パソコンのDominoでMIDIデーターを作って測定しました。ch1はNoteOn/OffをGate1から出力し、ノートナンバーをCV値に変換してCV1から出力しました。音階はA1(#33)~C5(#72)で出力しました。これはMIDI_CV_CONVでCV変換できる最大幅です。

Modulation(CC:1)をCV2から出力しました。ch2~ch6もタイミングをずらして出力し、Gate2~Gate6から出力しています。


CV出力

ch1:CV1 ch2:CV2

Modulationは細かく出力しているので、ch2:CV2の線が一部乱れています。データーの送出が重なったとき処理落ちしてるためだと思います。

<追記:2019.01.23>

よく見るとch1の音階が最大になった後に、最小になるまでの間が引き伸ばされてます。

Dominoでループして出力しているのが原因かもしれませんが、要調査。

360ms程度の遅れ。

</追記>

Gate出力

ch1:CV1 ch2:GATE1

CV信号は3.3V系、GATE信号は5V系です。

出力振幅の測定


A1(#33)とC5(#72)を出力して、CV1の電圧を測定しました。

A1(#33) 1.3mV
C5(#72) 3.243V

C5のCV値のは
(NoteNumber - BaseNoteNumber) / 12 = (72 - 33) / 12 = 3.25V
なので誤差は約0.22%です。

メインループの処理速度


メインループの最初と最後でCheckPin1(D8)をH/Lさせています。


ch1:D8

処理時間は揺れがあり、オシロの表示値の目視で8kHz~15kHz程度です。

2019年1月19日土曜日

Nucleo-F446REでMCOを使ってみる

Nucleo-F446REの動作クロックを測定したく、MCO(Microcontroller Clock Output)を使ってみました。MCOはクロック信号をピンに出力するものです。

参考にしたのは以下の記事です。

「ガレスタさんのDIY日記」さんの「STM32のMCO機能を使ってGPIOからクロックを出してみる

「Thomas Rix」さんの「Configuring & measuring the MCO on STM32

STM32CubeMXとAtollic TrueSTUDIOは、以前「STM32CubeMX + Atollic TRUEStudioでLチカ」で動作させています。

STM32CubeMXでコードを生成


「Pinout & Configuration」で、「RCC」の「Master Clock Output1」と「Master Clock Output2」を有効化します。「Master Clock Output2」は「I2S_CKIN」とピンがかぶるらしく、アラートが出ますが今回はI2Sを使わないので無視しました。

「Pinout view」に

  • PA8 RCC_MCO_1
  • PC9 RCC_MCO_2

が現れます。

Nucleoボード上では下図のピンから出力されます。


「Clock Configuration」で出力するクロック・ソースを指定します。


赤枠で囲ったところがMCOの設定です。SYSCLK(84MHz)をそのまま出力したかったのですが、オシロスコープの帯域外の様でクロック信号を測定できなかったので「/2」して42MHzを出力しました。


ch1:D9/PA8(MCO1) ch2:PC9(MCO2)

使っているオシロスコープはOWON SDS7102で、仕様では100MHz帯域となっていますが、84MHzの信号は測定できませんでした

84MHzのSYSCLKをMCO2に出力


ch2:PC9(MCO2)

Nucleo-F446REは最大180MHzで動作しますが、分周して確認するしかないのかな(@@?

Atollic TrueSTUDIOでNucleoに書き込み


CubeMXで生成されたコードそのままでも動作しますが、動作確認のため一応メインループでLチカさせました。
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
HAL_Delay(100);
HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_SET);
HAL_Delay(100);
HAL_GPIO_WritePin(LD2_GPIO_Port, LD2_Pin, GPIO_PIN_RESET);
    /* USER CODE END WHILE */
void SystemClock_Config(void)関数内で
  HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_PLLCLK, RCC_MCODIV_2);
  HAL_RCC_MCOConfig(RCC_MCO2, RCC_MCO2SOURCE_SYSCLK, RCC_MCODIV_1);
と、それらしいHALが呼ばれています。

メモ:


「Atollic TrueSTUDIO for STM32」と「System Workbench for STM32」を同じパソコンにインストールしているとSTM32CubeMXとの連携が怪しくなります。同じEclipseベースのIDEのためでしょうか?CubeMXやTrueSTUDIOを最新版にアップデートするなどしているうちにうまく動作するようになりました。

TrueSTUDIO上で「デバッグ(ツールバーの虫のアイコン)」を開始したあと、デバッグパースペクティブで「再開(ツールバーの|>みたいなアイコン)」を押さないとターゲットボード上のプログラムが実行されない。

2019年1月17日木曜日

MIDI-CV Converter MIDI_CV_CONV はんだ付け完了

根気が続かないので、1日の実働2~3時間以内にしてはんだ付けしました。

部品面(ICなし)

部品面(ICあり

ハンダ面

動いてるところ

スマホで何枚か撮ったら、「Googleフォト」がアニメーションしてくれました。いつもは余計なお世話ですが、今回はまあまあいい出来だと思います。

2019年1月8日火曜日

MIDI-CV Converter MIDI_CV_CONVの設計 その2

回路図

ArduinoからのGATE出力の配線が込み入っているので、作図にBUSを使いました。

基板図

部品並べ(ICなし)

部品並べ(IC挿入)

今回はKiCADを使ってみようかと「KiCADことはじめ」を見ながら少し触ってみたのですが、ドキュメントが現行バージョンと違っていたりして手こずりました。

もっと小規模の回路で試用したほうがよさそうです(^q^;

2019年1月7日月曜日

居酒屋ガレージさんの文鎮

20個注文が溜まって製造してもらえて入手できました。http://act-ele.c.ooco.jp/jisaku/handa/handa_hojo.htm


例えが難しいのですが、中身が詰まったZIPPOライターといいましょうか、巨人がつけるロレックスのベルトの一コマといいましょうか。圧倒的な重量感&存在感があります。

おまけでゴムを付けてもらえたので100均で買った65mm幅の目玉クリップに接着しました。



接着剤はたぶん4~5年前に購入したセメダインのスーパーXというものを使いました。

目玉クリップは居酒屋ガレージさんの記事にもありますが、ゴムをつけるかどうかにかかわらず、先端を平べったく加工したほうが使いやすいと思います。http://igarage.cocolog-nifty.com/blog/2018/03/post-3c5f.html

本体は「多少のことでは傷まんよ」という面構えをしていて、M4のネジで止められれば目玉クリップを交換したり、その他保持具も使えると思います。



左は愛用しているはんだヘルパーです。台座はおそらく鋳鉄。

<追記:2019.01.23>

MIDI_CV_CONVのハンダ付けから使っていますが、いつも使っていたはんだヘルパーはすっかり使わなくなってしまいました。←新しいものを買ったときは大体そうですが(^q^;

はんだヘルパーはアームの角度を決めるネジが使いにくい(固い割にはすぐゆるむ)、ワニ口クリップの合わせが雑、台座がグラグラするという欠点があり、だましだまし使っていました。

文鎮は幅の広い目玉クリップでガシッと保持出来て単純明快です。

ジャック類をはんだ付けするとき、四角いものでも丸いものでもしっかり保持できます。横置きではんだ付けしづらいときは、そのままクルッと縦置きにもできます。


適当な端材を下に敷けば、ある程度高さの調節もできます。


高さが合わないと手がブルったり、指がつったり何かとやっかいです。

</追記>

2019年1月4日金曜日

MIDI-CV Converter MIDI_CV_CONVの設計

あけましておめでとうございます。今年も音源を中心として、いろいろと実験&製作していきたいと思います。

今年一発目は、去年からやっているArduinoを使ったMIDI-CVコンバーター「MIDI_CV_CONV」です。

年初にNative Instrumentsから「Track-01 PLAY」の無料ダウンロードの案内メールが来ました。

まだダウンロードはしてませんが、KICK+BASSって、まさにここ1~2年ハードウェアでやっていたことではないですか。デモ・サウンドを聴くとさすがNative Instrumentsらしい過激な出音です。

基本的にアナログ回路で構成しているKIK01Nucleo_DCODASS01TLF01+Dual_OTA_VCA)とは方向性はまるで違いますが、なんとなく元気が出てきました。

わしゃ音楽を作りたいんじゃなくて、音楽を作るもんを作りたいんじゃ!という「メタ作りたい」欲望を沸き立てつつ今年を始めたいと思います。

MIDI_CV_CONV仕様案


CV出力 2系統
ch1のNoteNumberをCV1、Moduration(CC:1)かCutoff(CC:74)をCV2に出力。0~3.3V。

PichBendでCV1をモジュレーション(予定)。

GATE出力 6系統
ch1~ch6のNoteon/NoteoffをGATEに出力。5V/0V。

MIDI入出力
MIDI-IN端子、MIDI-THRU端子。

電源
DC9V 内蔵単3×6または外部9V AC-DCアダプタ。

外形
なりゆきですが、Arduino_LFOArduino_EGと同じ外観にできればと思います。

ブロック図

回路図

Arduinoは実装面積を節約するために、Arduino Pro Mini 16MHz/5V(中華製)を使用。

CV出力はMCP4922の出力そのままです。GATE信号は3-State Bufferの74HC541でバッファリングして出力、LEDはトランジスタアレイのTD62003でドライブします。

MIDI-THRUはMIDI-IN信号を74HC541でバッファリングして出力します。(MIDI-THRUはテスト環境が作れないので未テストです。)

テスト用ブレッドボード配線