ryood さん プロフィール

  •  
ryoodさん: 音源とオーディオの電子工作(予定)
ハンドル名ryood さん
ブログタイトル音源とオーディオの電子工作(予定)
ブログURLhttp://dad8893.blogspot.jp/
サイト紹介文DTMに飽きそうなのでハードウェアで音源を作っています
自由文ギターもピアノも弾けないし、DJもできないですが、パソコン以外で何かできないかと模索中
参加カテゴリー
更新頻度(1年)情報提供142回 / 365日(平均2.7回/週) - 参加 2014/07/09 01:28

ryood さんのブログ記事

  • MIDI_CV_CONVの構想
  • BSM02でシーケンサー+D/A混在シンセを作りましたが、打ち込んだデーターを外に取り出す仕組みは作っていないので、Nucleo_DCOに音階を与えるために流用するのは少しめんどうです。BSM02のハードウェア/ソフトウェアに手を入れる必要があるので、思いつきで崩してしまうのは抵抗があります。ひとまずは、パソコン上のDAWを使ってMIDI信号を出力し、CV/GATE信号に変換する、MIDI-CVコンバーターを作ってみることにしました。作戦Ardu [続きを読む]
  • STM32CubeMX + Atollic TRUEStudioでLチカ
  • STM32のネイティブ環境でLチカを動作させられたので、メモです。いろいろ試行錯誤しているのでこの手順通りで動作できるかどうかはわかりません。STM32の統合開発環境には、IAR Embedded Workbench(有償)ARM MDK-ARM(有償)AC6 SW4STM32(無償)Atollic TRUEStudio(無償)などがありますが、今回はAtollic TRUEStudioを使いました。パソコンはWindows10で、ターゲットボードはNucleo-F446REです。参考にした記事「楽しくやろう [続きを読む]
  • ASS01 仮組み
  • TLF01 + Antilog-MM + Dual_OTA_VCA を組み合わせてASS01(アナログ・シンセ・システムの略)と名付けて、仮組みしました。ASSはあんまりいい意味の言葉ではないですが、気にしません。電源もいずれ作るつもりですが、とりあえず単3×6の9V電池ボックスを2つ使って±9V電源としました。WaveInはNucleo_DCOから、EnvelopeはArduino_EGから入力しています。左上のブレッドボードはArduino_EGに入力するGate信号を発生させるもので [続きを読む]
  • Nucleo DCO 一旦できたことにする。
  • 筐体を作りました。今回は枠組みに奮発してヒノキを使いました。スギでもいいんですが、ホムセンで売ってるスギだと板厚が12mmが最薄で、ヒノキは9mmからあったのでヒノキにしました。910x9x90mmで400円でした。組み上げは木工用ボンドだけにしました。天板も奮発してアルミ板にしました。200mmx300mmx1mmで513円でした。アルミ板の切断はこの動画を参考にしました。 上下に当てる板はホムセンの端材(大きくても100円もしない)を [続きを読む]
  • Nucleo DCO 追加の作り物
  • 筐体を製作中ですが、補助用の基板をもう少し作る必要が出てきました。ブロック図1) Master Freq MixMaster FrequencyはPOTによる分圧値をADCに入れていますが、これを(MIDI-CVコンバーターを使ったりして)音階を与えられるようにするものです。アクティブ・ミキサーとして製作するつもりです。2) 3.3V Divider3.3V電源は、Nucleo Boardのものを使っていますが、NucleoのZIO Headerには3.3V電源が1Pinしか出ていません。最低 [続きを読む]
  • Nucleo DCOの筐体の構想
  • 前回のNucleo F446RE→Arduino Pro MiniはI2C通信はうまくいったようにみえたのですが、マスター側をNucleo F767ZIにしたらダメでした。I2Cの通信波形は、ちゃんとしてると思うんですが、Arduino側で拾えてないようです。いずれNucleo F767ZIを予備で入手できたときは追試したいと思います。ということで、ArduinoでOLEDを制御するプランは保留して、現状でFIXして筐体を作る方向で考えます。厚紙で配置位置を確認図面を書いて、厚 [続きを読む]
  • Nucleo(mbed)からI2Cで通信してArduinoでOLEDに表示させてみる。
  • mbedのSSD1306のライブラリはいくつかありますが、フォントが貧弱で、きれいな文字を表示しようと思うとやはりUoogやu8g2を使いたくなります。U8g2はArduinoでは使いやすいですが、mbedでは少々やっかいです。そこで、U8g2を使うためだけにArduinoを一個用意するという贅沢なことを思いつきました。Nucleo本体は波形生成に専念し、パラメーターに変更があった場合にOLED表示用のAruduinoにI2C経由でデーターを投げるというイメー [続きを読む]
  • ArduinoとNucleo(mbed)でI2C通信してみる。
  • Nucleo(mbed)をマスター、ArduinoをスレーブとしてI2C通信してみました。配線図スレーブ側は中華製のArduino Pro Mini(3.3V/8MHz版)でPCとUART通信するために、秋月の「FT232RL USBシリアル変換モジュール」をつないでいます。Nucleo(マスター側)https://os.mbed.com/users/ryood/code/Nucleo_i2c_master_writer/ Arduino(スレーブ側)はArduino-ArduinoのI2C通信の場合と同じです。https://github.com/ryood/Ardu [続きを読む]
  • Arduino同士でI2C通信をしてみる。
  • ArduinoのI2Cはあまり使ったことがなかったので、スケッチ例を試してみました。Master Writer/Slave Receiver (https://www.arduino.cc/en/Tutorial/MasterWriter)2つのArduinoの一方をI2C Master、もう一方をI2C Slaveとして互いに通信するものです。回路図この回路図を見るまで知らなかったんですが、プルアップ抵抗が入っていません。I2Cはオープンドレインでプルアップ抵抗を入れないと普通は動作しません。オープンドレインの [続きを読む]
  • Nucleo DCO 音出しテスト
  • 筐体やOLED表示などまだ開発途中ですが、Nucleoと出力部を結合して音出ししてみました。ブロック図1OSCの波形をチェック後、3OSCを適当にMIXしました。Audio I/F: TASCAM US-144 MKIIキャプチャ: XSplit [続きを読む]
  • Nucleo DCO 出力部 はんだ付け完了
  • 出力部(主にデジタル歪を除去するLPF)をはんだ付けしました。出力部ブロック図回路図IC1(TLE2426)で9Vの単電源から±4.5Vの仮想GNDを作っています。IC2A(NJM4580)は3倍の非反転増幅回路で、C4、R1のACカップリングのバッファとしての役割も兼ねています。IC2B、IC3A、IC3B(NJM4580)は6次VCVS LPF(ベッセル特性、カットオフ周波数20kHz)です。JP3(BYPASS)はACカップリングと増幅のみでLPFを通さない出力です。PSU(電源部) [続きを読む]
  • Google+は終わるの?
  • 来年終わるのはGoogle+らしいですが、ここで記事を書き溜めているBlogger?Blog Spot?わかりませんがブログサービスの方はまだ大丈夫のようです。fc2のエロ騒動のときも大丈夫だったので、Googleがブログをいきなり終了することはないと思いますが、ココログという苦い思い出もあります。ですが、このブログは私自身の技術資料としての依存度がきついのでいつでも引っ越しできるように考えておきます。 [続きを読む]
  • Nucleo DCO 電源部 はんだ付け完了
  • 電源部をはんだ付けしました。回路図等はこちら。入力: 10V AC-DCアダプター テスタでの測定値:12.57V出力: 47Ω酸金(3W)負荷 テスタでの測定値:8.92VオシロのACモードで電圧変動を測定しました。ch1:入力 ch2:出力入力は120Hzで変動していますが、出力は安定化されています。Nucleo DCOに組み込み電源部はダンボール箱の内側の側面にガムテで貼り付けて、Nucleo F767ZIとブレッドボードに+9Vを供給しています。ブレッドボ [続きを読む]
  • Nucleo DCO 出力部(LPF)の設計
  • 6次ベッセル特性のVCVS LPFで出力部を設計しました。電源は手持ちのFujitsu(10V/600mA)のAC-DCアダプタ(参考「ベースマシン ACアダプタを使った電源の構想」)を使おうと思います。このAC-DCアダプタは(おそらく)トランスタイプで安定化されていないので、3端子レギュレータの7809を使って9V電源とします。出力部回路図出力部テスト用ブレッドボード配線図電源部回路図電源部テスト用ブレッドボード配線図1Aタイプの3端子レギュ [続きを読む]
  • Nucleo DCO 出力部(LPF)のテスト
  • NucleoのDAC出力に、ブレッドボードで組んでいる出力部(LPF)をつないでテストしました。出力部回路図入力のACカップリングの時定数τ1、出力のACカップリングの時定数τ2(無負荷時)はτ1 = 1uF * 100kΩ = 0.1sτ2 = 100uF * 10kΩ = 1sです。配線図電源は単3x6の9Vです。出力部ではTLE2426で仮想GNDを作って±4.5Vとしています。Nucleo Boardの電源も同じ電源からとったのですが、電源電圧が変動して出力波形が崩れるので、4 [続きを読む]
  • Nucleo DCO 出力部(LPF)の検討(2)
  • 「Nucleo DCO 出力部(LPF)の検討」のシミュレーションの結果ベッセル特性のLPFを使ってみることにしました。多重帰還(MFB)を使うかVCVSを使うか。回路規模はあまり大きくしたくないのでLPFの次数は6次で検討しました。2回路入りのOPAMPを使えば、AMP/Bufferで使う1回路と合わせて、ICは2個で構成できます。多重帰還(MFB)は1段(2次)で位相が反転するので、6次LPFの場合はトータルで位相反転します。MFB シミュレーション回 [続きを読む]
  • Nucleo DCO Thread対応
  • ダンボール箱に入れてテスト中ADC読み取りをなめらかにするために(読み取りのサンプリングレートをあげる)、ADC読み取りと、OLED表示をそれぞれ別Threadにしました。最初は「mbed OS 5のThread」でやったように0 波形生成  Ticker1 ADC読み取り Thread(priority:高)2 メインループ Thread(priority:普通) デジタル入出力3 OLED表示 Thread(priority:低)としたのですが、実行時に「HardFault」というメッセージがUARTに出力さ [続きを読む]
  • Nucleo DCO 出力部(LPF)の検討
  • ファームウェアのバグつぶしの検証に少々時間がかかりそうなので、出力部のLPFを検討しました。出力部ブロック図(案)「Level POT」でNucleo F767ZIのDACからの出力信号を減衰させます。「AC Coupling」で信号のDC成分を除去します。「Amp Buffer」はACカップリングとLPF間の干渉を避けるためのバッファと信号を増幅させるアンプを兼ねています。出力部は仮想GNDで動作させるので、終段にも「AC Coupling」を入れます。バターワー [続きを読む]
  • mbed OS 5のThread
  • mbed OS 5のThreadについて以下の記事を参考にしました。Docs ? Reference ? RTOS ? RTOS overviewhttps://os.mbed.com/docs/v5.9/reference/rtos.htmlDocs ? Reference ? RTOS ? Threadhttps://os.mbed.com/docs/v5.9/reference/thread.htmlMbed OS 5のRTOSはMutexやSemaphoなど小難しいものがありますが、Thread間でメモリなどのリソースを競合せずに共有するための仕組みで、使わなくて済むならそれに越したことはありま [続きを読む]
  • Nucleo DCO 作戦検討 その4
  • 操作パネルを仮組みして実験中ですが、構想していた機能は実現できそうです。操作パネルは以下のような配置を考えています。パネルデザイン(案)ブロック図(案)テストプログラム(mbed-cli)https://github.com/ryood/Nucleo_DCO/tree/master/mbed/Nucleo_DCO_Test19POTの値をADCで読み取ると値がふらつきます。移動平均を取っていますが、それでもビシッとは決まらないので、ADC読み取りをOFFにするモードを作りました。音源とし [続きを読む]
  • mbed OS 5でCallbackを使う。
  • mbed OS 5ではコールバック関数にFunctionPointer(参考「mbedのコールバック FunctionPointerを使うテスト」)ではなくCallbackクラスが推奨されています。以下の記事を参考にして少し調べました。Callbackについてhttps://os.mbed.com/docs/v5.8/reference/platform.html#callbacks状態(State)の重要性https://os.mbed.com/docs/v5.8/reference/platform.html#the-importance-of-stateAPIドキュメントhttps://os.mbed.com/docs/v [続きを読む]
  • Nucleo(mbed)でADC_VREFを使って電圧を測定する。
  • STM32のmbedでは「ADC_VREF」という内部レファレンス電圧のピン名がPinNames.hで定義されています。NucleoF446REのPinNames.h参考「STM32_ADC_InternalChannels」この値をAnalogInで読み取れば、比較的正確な電圧が得られます。この内部レファレンス電圧がはたして何ボルトなのかは、DATASHEETに載っていました。Nucleo F446REの場合は、「STM32F446xC/E」のTable 16にある「V12」の値のようです。NucleoF446REは180MHz駆動なのでt [続きを読む]