Text
はんだこてのこて先を変えた
GootのPX-280というはんだこてを使っているのですが、標準で付いてくるこて先(写真真ん中のもの)は密集している表面実装部品のはんだ付けをしようとするとちょっとつらいので、別のものに変えてみました。

まず試したのはPX-28RT-1CFという細長いもの(写真下)。しかしこちらは細すぎて熱の伝わりが悪く、はんだを当ててもなかなか溶けずイマイチな感じでした。次に試したのはPX-28RT-1BCという、先端部分の太さはPX-28RT-1CFと同じですが円錐状になっているもの。こちらも若干熱が伝わりにくい感じはあるものの使えないレベルではなく、長さ・細さもちょうど良い感じです。
こて先の変更でかなりはんだ付けの感覚が変わるので(予算があれば)色々試してみるのがよさそうです。
ちなみにgootのこて先には末尾が「F」で終わるものとそうでないものがあるのですが(替えこて先ページ)、「F」で終わるものは先端ぎりぎりの部分までクロムメッキをすることで、先端部分以外がはんだをはじくようにしているそうです(こて先の図で灰色になっている部分がクロムメッキ=はんだをはじく部分)。
それを知らずにPX-28RT-1CFを買ったのですが、確かにはんだが全然くっつきません。端子間ピッチが狭い表面実装部品をはんだ付けするにはよさそうな気はします。
1 note
·
View note
Text
ESP-IDF環境でArduinoライブラリを使う
ESP-IDFでESP32マイコン用の開発環境を構築する話の続きです。今回はArduino IDEでビルドしていたコードをESP-IDFでビルドしてみます。

以前の記事で書いたように、今まではArduino IDEを使ってESP32マイコンの開発をしていました。Arduino IDE上で開発を行う場合はArduinoが提供する標準ライブラリを利用でき、マイコンやマイコンボードの種類が異なってもある程度同じようにプログラミングが可能というメリットがありました。
いっぽうESP-IDFでも、ESP32向けのArduinoライブラリ(「arduino-esp32」)を導入することで、Arduinoの標準ライブラリと同等の機能が利用できるようです(導入方法について解説したドキュメント)。ということで、まずはこのライブラリを使ったテストコードをビルドしてみます。
arduino-esp32を使った「Lチカ」
arrduino-esp32のGitHubリポジトリにはいくつかのサンプルコードも含まれていますが、今回はこれらを参考に一からコードおよびビルド設定ファイルを作成してみます。作成するのは前回と同じく、マイコンボード上のLEDを点滅させる、いわゆる「Lチカ」コードです。
ビルド環境には前回記事と同様にWindows PowerShellを使用します。まず適当なフォルダにプロジェクトディレクトリを作成し、そこに前回作成したESP-IDFビルド環境の初期化用スクリプト(init.ps1)をコピーして実行することで、ビルドツールを利用できるようにします。
> mkdir led_blink2 > cd .\led_blink2\ > cp ..\test\init.ps1 . > .\init.ps1
続いてプロジェクトディレクトリ中にビルド設定を記述するCMakeLists.txtを作成します。CMakeLists.txtの内容は前回とほぼ同じで、次のようにしています。
cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(led_blink2)
ソースコードを配置する「main」ディレクトリを作成し、ここにビルド設定ファイルであるCMakeLists.txtとメインのソースコードとなるmain.cppを作成します。CMakeLists.txtの内容も前回とほぼ同じで、次のようにしています。
idf_component_register(SRCS "main.cpp" INCLUDE_DIRS ".")
main.cppは以下のようにしました。1000ミリ秒(1秒)ごとにLEDに接続されているピンの出力をLOW→HIGH→LOW……と切り替えていく、よくある「Lチカ」コードです。ここではArduinoライブラリを利用するために"Arduino.h"をincludeしています。
#include "Arduino.h" #define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE #include "esp_log.h" #define LED_PIN 21 volatile int led_state = 0; void setup() { ESP_LOGI("main", "setup()!"); pinMode(LED_PIN, OUTPUT); digitalWrite(LED_PIN, led_state); } void loop() { ESP_LOGI("main", "loop()!"); led_state = !led_state; digitalWrite(LED_PIN, led_state); delay(1000); }
ちなみに、ESP32ではUSB経由でホストにログを送信する機能も提供されており、こちらは"esp_log.h"をincludeすることで利用可能になります(ドキュメント)。今回のコード中では、ESP_LOGI()関数を使って診断メッセージをホストに送信しています。
コンポーネントの管理
ESP-IDFはディレクトリ単位でコンポーネントを管理しており、「main」ディレクトリがデフォルトでビルドされるコンポーネントとなります。各コンポーネントのディレクトリ中には「idf_component.yml」というファイルが配置され、ここにコンポーネントのバージョンといった情報やコンポーネント同士の依存関係などを記述できます。このファイルは手動で管理しても良いのですが、「idf.py」コマンドにも管理用の機能が組み込まれています。たとえば依存関係の追加は、「idf.py add-dependency "依存コンポーネント"」というコマンドで実行できます。
今回はarduino-esp32のバージョン3.2.1を利用するので、プロジェクトディレクトリ(mainディレクトリを含むディレクトリ)内で以下のように実行します。
> idf.py add-dependency "espressif/arduino-esp32^3.2.1"
このコマンドを実行すると、mainディレクトリ下のidf_component.ymlに依存関係の情報が追加されます。この際にもしidf_component.ymlが存在しなければ、このファイルが自動的に作成されます。
デフォルトビルド設定の追加
ESP-IDFではプロジェクトディレクトリ内に配置される「sdkconfig」というファイルでビルドの設定が管理されます。このファイルは「idf.py」コマンドで自動管理されており、設定内容は「idf.py menuconfig」コマンドで対話的に変更できます。ESP-IDFで提供されるコンポーネントや関連ライブラリは、ここで設定された内容を(ビルド時に自動生成されるヘッダファイル経由で)参照して、それに応じて挙動を変えます。
また、いくつかのライブラリは特定の設定を要求します。たとえばesp32-arduinoを利用する場合は「CONFIG_FREERTOS_HZ=1000」という設定が必要になります。
こういった特定の設定が必要な場合、「sdkconfig.defaults」という設定ファイルとしてあらかじめデフォルトの設定を用意しておきます。今回は以下のような内容でこの設定ファイルを作成しました。
CONFIG_FREERTOS_HZ=1000 CONFIG_AUTOSTART_ARDUINO=y
2行目の「CONFIG_AUTOSTART_ARDUINO=y」は、マイコンの起動後にESP-IDFデフォルトの「app_main()」関数ではなく、Arduinoで使われている「setup()」や「loop()」メソッドを使用するための設定です。
ビルドの実行
以上でビルドに必要な設定は完了です。あとは前回と同様に「idf.py.exe set-target」コマンドでビルドターゲットを設定し、「idf.py build」コマンドでビルドを実行します。ビルドが無事完了したら、USBでESP32マイコンボードを接続し、「idf.py flash」コマンドでプログラムをマイコンボードに書き込みます。
> idf.py.exe set-target esp32s3 > idf.py.exe build > idf.py.exe flash
これで無事ボードのLEDを点滅させることができました。ちなみに、本記事の最初の写真のようにSeeed StudioのXIAL ESP32-S3には赤いLEDと黄色いLEDの2つが付いていますが、赤いLEDは電源管理用のLEDで、マイコンボードから操作できるのは黄色いLEDだけのようです。
また、ESP_LOGI()関数を使って送信されたメッセージは、「idf.py monitor」コマンドで確認できます。このコマンドを実行すると、次のようにシェル上に送信されたメッセージが出力されます。
ESP32-S3ではデフォルトでブートメッセージも出力される設定になっているようで、それらが出力されたあと、「setup()」や「loop()」というメッセージが表示されていることが分かります。
(続く)
1 note
·
View note
Text
ESP-IDFでESP32マイコン用のコードをビルドする
ESP32-S3というBluetooth LEが使えるマイコン用のソフトウェアを開発する話です。簡単に開発するにはArduino IDEを使うのが一般的ですが、ビルドに時間がかかるのでなんとなくESP-IDFというツールで開発環境を構築してみました。

以前「USB-BLE MIDIインターフェイスを作る - 環境構築編」という記事でESP32-S3というマイコンが搭載されたマイコンボードの話を紹介しましたが、最近またBluetooth LE(BLE)を使いたい事案があり、久しぶりにこのマイコンボード向けのコードを書き始めました。ただ、以前紹介したArduino IDEを使った開発では、ビルド(ソースコードをコンパイルしてマイコンにアップロードできる形に変換する作業)がとても遅く、試行錯誤を繰り返すにはとてもつらい感じでした。Arduino IDEでのビルドが遅いのは毎回多くのファイルを再コンパイルするのが原因らしく、簡単には解決できないようです。
ということで、開発環境自体を「ESP-IDF」という、ESP32の公式(推奨?)のものに切り替えることにしました。ただ、こちらはArduino IDEと異なり事前の設定がちょっと面倒くさい感じです。ということで、ここでその方法をメモがてらまとめてみました。
なお、ここで記載した手順は、テキストエディタ+コマンドラインでソフトウェア開発ができる人向けの非一般的な方法になるかと思いますので、一般の方がそのままこの手順で開発を行うことはおすすめしません。また、開発環境にはWindows 11およびPowershellを使っています。
開発環境のインストール
ESP32-S3向けのドキュメントの「Get Started」ページに開発環境構築についての情報があります。これによると、EclipseやVSCodeなどのIDEと組み合わせた環境で利用するのが推奨されているようですが、これを無視して「Manual Installation」以下の「Windows Installer」リンクをクリックし、「Standard Setup of Toolchain for Windows」を開き、このページ内の「Windows Installer Download」から「ESP-IDF Windows Installer Download」ページに遷移します。インストーラはいくつかの種類が用意されていますが、今回はオンラインで必要なファイルをダウンロードする「Universal Online Installer」を使用しました。なお、本機時執筆時点でのバージョンは2.3.5でした。
ダウンロードしたインストーラを起動し、指示に従って必要なコンポーネントをインストールします。途中でESP-IDFのバージョンを選択する画面が表示されますが、ここでは本機時執筆時点でのrelease versionの最新バージョンである「v5.4.2 (release version - .zip archive download」を選択しました。インストール先はデフォルトの「C:\Espressif」のままで、適当にインストーラを進めてインストールを行います。なお、邪魔なのでデスクトップやスタートメニューへのショートカット作成にはチェックを入れませんでした。
インストールが完了すると、インストーラの終了後の動作(開発環境を起動するかどうか)を選択する画面が表示されますが、これもチェックを外して無視してインストーラを終了します。
開発環境の起動
コマンドラインベースでのソフトウェア開発では、ソースコードなどを格納したプロジェクトディレクトリを作成し、そこで開発ツールを呼び出せるように環境変数などの設定を行うのが一般的です。一般的なソフトウェア開発環境ではこれらの設定を行うスクリプト等が提供されていますが、ESP-IDFでそれに相当するのがESP-IDFのインストール先ディレクトリに格納されている「Initialize-Idf.ps1」です。ただし、このスクリプトを実行する際には、引数として「IDF ID」なるパラメータを指定する必要があります。このIDは、このInitialize-Idf.ps1ファイルと同じディレクトリにある「esp_idf.json」ファイル内に記述されています。たとえば自分の環境では、このJSONファイルは以下のようになっていました。
{ "$schema": "http://json-schema.org/schema#", "$id": "http://dl.espressif.com/dl/schemas/esp_idf", "_comment": "Configuration file for ESP-IDF Eclipse plugin.", "_warning": "Use / or \ when specifying path. Single backslash is not allowed by JSON format.", "gitPath": "C:/Espressif/tools/idf-git/2.44.0/cmd/git.exe", "idfToolsPath": "C:/Espressif", "idfSelectedId": "esp-idf-8db3121c30f24411ef389e0fd446d81c", "idfInstalled": { "esp-idf-8db3121c30f24411ef389e0fd446d81c":{ "version": "5.4", "python": "C:/Espressif/python_env/idf5.4_py3.11_env/Scripts/python.exe", "path": "C:/Espressif/frameworks/esp-idf-v5.4.2/" } } }
ここで「idfSelectedId」として記述されているのがIDF IDです(この例の場合、「esp-idf-8db3121c30f24411ef389e0fd446d81c」)。これを引数に指定してInitialize-Idf.ps1を実行すると各種環境変数が設定され、ESP-IDFで各種作業を実行する「idf.py.exe」が利用できるようになります。
LED点灯、いわゆる「Lチカ」コードを書いてみる
これでひとまず開発環境の構築が完了したので、続いてマイコンボード上に配置されているLEDを点滅させる、いわゆる「Lチカ」コードを書いてビルド・実行してみます。
今回は適当なところに「esp-test」というディレクトリを作成し、そこをプロジェクトディレクトリとしました。まず、前述の「Initialize-Idf.ps1」を実行するため、プロジェクトディレクトリ内に「init.ps1」という名前で次のようなスクリプトを作成し、このスクリプトを実行することで開発環境セットアップが完了するようにしておきました。
C:\Espressif\Initialize-Idf.ps1 "esp-idf-8db3121c30f24411ef389e0fd446d81c"
プロジェクトディレクトリ内にソースコードを配置する
ESP IDFでは、特定のルールに従ってプロジェクトディレクトリ内にファイルを配置することが推奨されています。これらのルールについては、「Build System」というドキュメントにまとめられています。このドキュメントはとても長いのですが、適当に眺めた感じでは、ひとまず次のようにファイルを配置すれば良さそうでした。
まず、プロジェクトディレクトリのトップに「CMakeLists.txt」というファイルを配置します。このファイルには次の内容を記述します。
cmake_minimum_required(VERSION 3.16) include($ENV{IDF_PATH}/tools/cmake/project.cmake) project(blink)
最後の「project()」部分の括弧内にはプロジェクト名を指定します。今回は単純に「blink」としました。
続いて、「main」ディレクトリを作成します。ESP-IDFではデフォルトで「main」ディレクトリ内にメインのソースコード(モジュール)が格納されていると認識するそうなので、このディレクトリ内に実行する処理を記述したソースコード(「main.c」)とそのソースコードをビルドするための「CMakeLists.txt」を配置します。
main.cには、次のようなコードを記述しました。今回使用するseeed studioの「XIAO ESP32S3」マイコンボードではLEDがGPIOの21番ポートに接続されているので、このポートを初期化して出力モードに設定し、1000ミリ秒間隔で出力を1/0に交互に切り替えることでLEDを点滅させます。
#include <stdio.h> #include "freertos/FreeRTOS.h" #include "driver/gpio.h" #include "freertos/task.h" #define USER_LED_PORT GPIO_NUM_21 // delay time based on ticks #define BLINK_INTERVAL (1000 / portTICK_PERIOD_MS) static uint8_t led_state = 0; void app_main(void) { // initialize pin state gpio_reset_pin(USER_LED_PORT); gpio_set_direction(USER_LED_PORT, GPIO_MODE_OUTPUT); while(true) { gpio_set_level(USER_LED_PORT, led_state); led_state = !led_state; vTaskDelay(BLINK_INTERVAL); } }
GPIO関連の関数はドキュメントの「GPIO & RTC GPIO」ページに、また一定時間待機する関数(vTaskDelay)についてはドキュメントの「FreeRTOS(IDF)」ページに記載されているので、このあたりを参照に初期化コードやループ実行させるコードを「app_main()」関数内に記述しています。
続いてこのmainディレクトリ内のCMakeLists.txtを編集します。ESP-IDFではCMakeというツールを使っているのですが、ESP-IDF用のマクロが用意されているのでひとまずはそれを使って次のようにソースファイルなどの情報を記述します。
idf_component_register(SRCS "main.c" INCLUDE_DIRS "." REQUIRES esp_driver_gpio)
最後の「REQUIRES esp_driver_gpio」は、GPIOを利用するためのモジュールを利用する宣言です。どのモジュール宣言が必要かもドキュメントに記載されているので、それを参考に必要に応じて「REQUIRES」部分を追加していきます。
ビルド設定とビルド、書き込み
ソースコードの作成が完了したら、プロジェクトのトップディレクトリ内でまず「idf.py.exe set-target」コマンドを実行してビルド対象のマイコンを指定します。
> idf.py.exe set-target esp32s3
続いて「idf.py.exe build」コマンドを実行するとビルドが開始されます。
> idf.py.exe build
依存ファイルが多いため、1回目のビルドには時間がかかりますが、2回目以降は必要なファイルのみがビルドされるため、Arduino IDEよりも高速にビルドが完了します。
無事ビルドが完了したら、PCのUSBポートにマイコンボードを接続したうえで「idf.py.exe flash」コマンドを実行します。
> idf.py.exe flash
これでマイコンボードにプログラムが書き込まれ、無事LEDが点滅しました。
(続く)
2 notes
·
View notes
Text
LA-2Aインスパイアドなコンプレッサー(バージョン1.2)を作った
昨年のPedal Geeks Meeting東京2024(PGM東京2024)でも展示していた、LA-2Aインスパイアドなコンプレッサー「COMPRESS」をPGM東京2025向けにマイナーアップデートしました。

COMPRESSは、光を当てると抵抗値が小さくなるフォトレジスタという素子を使った、いわゆる光学式コンプレッサーです。入力信号の強さに応じてLEDを発光させ、その光によってフォトレジスタの抵抗値を変えることで、入力信号の強さに応じて出力信号の大きさを変化させるという仕組みです(実際には、LEDとフォトレジスタを1つの部品として組み合わせたオプトカプラという素子を使用しています)。
本ブログでは試作完了で更新が止まっていましたが、PGM東京2024ではこの試作バージョンとほぼ同じ回路をプリント基板化して製作したものを展示・頒布しました(製品情報ページ)。
今回のバージョン1.2はその回路をベースとしつつ、以下の修正を加えています。
オプトカプラ駆動回路のモジュール化
一般的なオーディオ回路では、0Vを中心に±に振動する交流電圧信号を扱います。COMPRESSではこの交流信号を、振幅が大きくなるほど大きくなり、小さくなるほど0Vに近くなる直流信号に変換してからオプトカプラに入力しています。この部分の回路(包絡線検波回路)は部品点数が多い一方で、定数を変えてチューニングする要素はほとんどありません。そのため、この回路を表面実装部品を使った小型基板モジュールに切り出して、かつ部品の実装までを基板制作業者に依頼することにしました。これによって全体の基板サイズの小型化と実装の手間の削減を図っています。なお、部品実装を依頼する場合、業者があらかじめ用意している汎用部品以外を使うとコストが上がってしまうのですが、出力信号はこのモジュールを直接は通らないため、部品の定数さえ適切に設定すれば汎用部品を使っても音質に影響はないと考えています。
オプトカプラの特性補正
PGM東京2024での出展・頒布のため何台かCOMPRESSを組み立てたのですが、オプトカプラの特性にはそれなりにばらつきがあるため、同じ回路を使っても信号の圧縮特性(コンプのかかり方)に個体差が発生していました。前回頒布分は手作業で調整はていたのですが、それでもばらつきが調整範囲に収まるぎりぎりという感じでした。そのため、今回は事前にオプトカプラの特性を調査したうえで、十分に個体差を吸収できるようトリマポット(半固定抵抗)を追加しました。なお、オプトカプラの特性調査結果は下記にまとめています。
低音域への反応を調整するツマミの追加
入力信号を包絡線検波回路に入力する前に、ハイパスフィルタを通して低域部分をカットしているのですが、このハイパスフィルタの特性を調整できるツマミ(LO SENS.ツマミ)を追加しました。PGM東京2024で頒布したバージョンでは後付けで無理やりつけていましたが、今回は最初から回路に組み込んでいます。ちなみにPGM東京2024バージョンではこのツマミを時計回りに回すと低域をより大きくカットする(=低域への反応を弱くする)回路だったのですが、こちらは入手性が若干悪いCカーブの可変抵抗器を使っていたため、今回のバージョンではAカーブの可変抵抗器を使い、時計回りで低域への反応を強くする(低域のカットを少なくする)回路にしています。
次のグラフは、このLO SENS.を0%/50%/100%に設定した場合の周波数特性です。縦軸はその周波数における圧縮特性、つまりその周波数の信号にどれだけ反応するかを示しており、値が小さい(マイナスの方向に大きい)ほどより強く反応するということになります。
たとえばLO SENS.が100%の場合、300~400Hzあたりの信号に最も強く反応するものの、20Hz~10kHzあたりまでの広い範囲の信号に反応するということを示しています。そしてLO SENS.を小さくしていく(反時計回りに回していく)と低音への反応が弱くなっていくということが分かります。
ベースで使用する場合、通常はLO SENS.は100%(時計回りに回しきった状態)にしつつ、たとえば5弦ベースで低音が強く圧縮されすぎてしまう、みたいな状況では多少反時計回りに戻す、という使い方を想定しています。また、ギターでカッティングの音に反応させたいというのであれば、LO SENS.は0%側(反時計回り方向)に設定したほうが良い結果になるかもしれません。
なお、このハイパスフィルタは出力信号には影響を与えず、単純に圧縮特性を調整するためだけに使われます。
オン・オフ切り替え時のポップノイズ削減
COMPRESSはいわゆるトゥルーバイパス式のスイッチ回路を採用しています。ただ、若干ではありますがスイッチの切り替え時に破裂音的な、いわゆるポップノイズが発生しやすくなっていました。これを解消するため、Pチャネル型のJFETを使ったミュート回路を追加しました。こちらはメインの回路とは別に、フットスイッチ部に直接取り付けるプリント基板を作成して実装しています。
回路のアイデアとしては以前このブログで紹介したものと同一ですが、定数などを調整するとともに、LED駆動回路(エフェクトオン時にLEDを光らせる部分)を調整することで、最小限の部品追加だけでミュート回路を追加できるようにしています。
保護回路の追加
こちらもPGM東京2024で頒布したバージョンでも追加済みの改善点ですが、電源入力部分にショットキーダイオードによる逆接続保護回路と、ツェナーダイオードを使った過電圧保護回路、ポリヒューズを使ったショート保護回路を入れています。ツェナーダイオードは一定以上の電圧が印可されると導通する素子で、ポリヒューズとの組み合わせで一定以上(今回はおよそ20V)以上の電圧が入力されると電源回路をシャットダウンする仕組みになっています(ただし、100%確実に保護されることは保証できないので、意図的に高い電圧をかけると危険です)。なお、電源部分のコンデンサの耐圧が16Vなので、おおむね16Vを少し超えるくらい(ショットキーダイオードとポリヒューズ部分で多少の電圧降下が発生するため)までの電圧であれば問題なく動作するかと思います(が、もちろん動作保証はできないのでご注意ください)。
ケースのアップデート
PGM東京2024頒布モデルでは、カラーアルマイトプレートをレーザー加工してパネルを作成し、それを無塗装アルミダイキャストケースに貼り付けて筐体としていました。一方今回は塗装されたアルミダイキャストケースにUV印刷でパネルをプリントした筐体を採用しました。ケースの加工および印刷はTayda Electronicsに発注しています(詳細は別記事でまとめています)。
無塗装アルミは経年劣化によって錆びが発生して若干くすんでいくのですが、今回は塗装済みなのでキラキラ感がずっと保たれるはずです。かなり厚めの粉体塗装なので、ちょっと擦ったくらいでは傷もほとんどできないと思います。
UV印刷もちょっと凝ったことをしていて、模様部分はアルミ塗装の光沢が透けて見えるようにする一方、文字部分はなるべく透けないように調整してみました。ある程度薄暗いところでも視認性の良いパネルになったかと思います(逆に明るい場所だと光の反射によっては見にくくなってしまうかもしれません……)。
あわせて各ツマミの表示もアップデートし、「VOLUME」「COMP.」「LO SENS.」「ATTACK」としています。「COMP.」は「COMPRESSION」の略で、コンプレッサーのかかり具合を調整するツマミです。時計回りに回すほどより強くコンプがかかります。「LO SENS.」は「LOW FREQUENCY SENSITIVITY」(低音域の感度)の略で、時計回りに回すほど低域に対して強く反応するようになります。
ついでにこの筐体にあわせてツマミも細いものに変えました。こちらはぎりぎりまで悩んだのですが、以前使っていたものは製造品質にばらつきがあり、まとめ買いするとときどき高級感に欠けるものが入っていたりしたこともあって変更しています。
特性の調整
COMPRESSでは出力信号の圧縮用とリダクションメーター用に2つのオプトカプラを使用していて、それぞれに2個ずつ調整(キャリブレーション)用の半固定抵抗を実装しています。これらを使ってオプトカプラの個体差の補正とコンプの特性を調整できるのですが、今回はそれなりに試行錯誤して特性を決定しています。
最終的な圧縮特性は製品紹介ページにも掲載していますが、コンプというよりはほぼリミッター寄りの特性になっています。たとえば、COMP.つまみを12時に設定した際の入出力レベル例は以下のようになります。
このように、急に大きく圧縮されるのではなく、徐々に圧縮率が上がっていくいわゆるソフトニータイプの特性になっているため、不自然にコンプがかかることはほぼないと思います。
ちなみにこちらの圧縮特性はラインレベルの信号で測定しているため、一般的なエレキベース・エレキギターを接続した場合の入力信号レベルはこのグラフでいうとおおむね-20~-10dBあたりになると思われます。そのため、COMP.ツマミを10時くらいに設定すると一般的なエレキ楽器で軽くコンプがかかる設定になります(もちろん使用する楽器によっても反応は変わります)。
また、設計時点でキャリブレーション用の測定パッドも用意し、キャリブレーション手順も策定しました。これにより、個体ごとの特性のばらつきを抑えられるようになりました。実際本バージョンのCOMPRESSを展示用+頒布用で合計6台作ってみましたが、試した限りでは個体差はほぼ感じられなくなっております。筐体も(自画自賛ではありますが)なかなか良い感じです。
こちらは現在Boothで販売しておりますので、PGM2025で買いそびれた、という方はそちらでお買い求めいただけます。また、試奏動画等も作成予定ですのでご期待ください!
1 note
·
View note
Text
Affinity DesignerでTayda向けのフルカラーUV印刷原稿を作成する
続・エフェクター用のアルミダイキャストケースを発注した話です。今回はフルカラーの印刷を発注してみました。

タイに拠点を持つ電子部品のネット通販サイト「Tayda Electronics」では、ペダル型エフェクターでよく使われているアルミダイキャストケースの塗装や穴あけ加工、UV印刷といったサービスも提供しています。1個単位で発注でき、価格もかなりリーズナブルなので、世界中に利用者がいるようです。
自分も以前P-EQのケースを発注しているのですが(下記がそのときの記事)、そのときは青の本体に白で文字やマークを印刷する、というシンプルなものでした。ただ、単色ではどうしてもシンプルなデザインしか作れないので、今回はフルカラーでのUV印刷を発注してみることにしました。
今回のゴール:Illustoratorを使わずに発注する
TaydaのUV印刷は、印刷するデータをオンラインで(Web上で)アップロードして発注する仕組みになっています。入稿データはPDF形式が指定されているのですが、TaydaではAdobe Illsutorator以外で入稿データを作成することは推奨していないらしく、入稿データ作成用の説明などもすべてIllustratorを前提としています。ただ、Illustratorは利用料金が通常価格で1年あたり約3万4,000円と、個人が趣味で利用するにはハードルが高いお値段です。ということで、今回は同じような印刷用データの作成機能を持つAffinity Designerというソフトウェアを使って入稿データを作成します。
Affinity DesignerはIllustratorを使ったことがあれば比較的すぐに習得できるかと思います。もちろん細かい点で違いはありますが、ドキュメントも充実しているため、不明点などがあったら検索すれば大体の問題はすぐ解決できるかと思います。
ちなみにAffinity DesignerはMac/Windowsで動作し、価格(2025年6月時点)は6,590円ですが、年1、2回の頻度でセールをやっており、そのタイミングだとかなりお安く購入が可能です。もし急ぎで必要でないのであれば、セール時の購入をおすすめします。
なお、先に述べたとおり基本TaydaではIllustratorの利用を推奨しているため、下記で説明している手順は単なる「こうやったらできた」というレポートです。当方では成功を保証できませんのでご了承ください。
テンプレートとサンプルファイルのダウンロード
TaydaのUV印刷サービスページではアルミダイキャストケースのUV印刷用のテンプレートが公開されているので、こちらをベースにデータ作成を始めます。
今回は1590Bサイズ(MXRのエフェクターとほぼ同サイズ)のケースに印刷してもらうので、「1590B type enclosure AI format template CLICK HERE (artboard size 56 x 108.50mm)」をダウンロードします。ちなみにAffinity DesignerはAI形式のファイルをそのままインポート可能です。また、同じページ内の「Here is example UV printing file we made for 125B enclosure size with Adobe Illustrator,」という部分の下、「EXAMPLE FILE AI FORMAT CLICK HERE」というリンクからサンプルファイルをダウンロードできるので、こちらもダウンロードしておきます。
テンプレートファイルを開いて編集する
ダウンロードしたテンプレートファイルをAffinity Designerで開きます。この際、「PDF Options」という画面が表示されますが、デフォルト設定のまま「OK」を選択します。
また、ファイルを開いた直後はカラーモードがRGBになっているので、「Document Setup」の「Color」タブで「Color Format」を「CMYK/8」に変更しておきます。
「COLOR」レイヤーにフルカラー印刷したい文字や図形を配置する
このテンプレートファイルには「GLOSS-V OR -M」「COLOR」「WHITE」という3つのレイヤーが用意されていますが、まずは「COLOR」レイヤーに印刷したい文字や図形を配置していきます。
このレイヤーに配置した文字や図形(オブジェクト)は、フルカラーで印刷されます。なお、ラスター画像(写真などの画像)は推奨しないとのことで、Affinity Designer上で図形ツールや各種ペン・ブラシツールを使ってデザインを作成していくことになります。
「WHITE」レイヤーに白で印刷したい文字や図形を配置する
「COLOR」レイヤーはフルカラー(CMYK)での印刷が可能ですが、白の印刷はできません。そのため、白い文字や図形は「WHITE」レイヤーに配置する必要があります。さらに、「COLOR」レイヤーの印刷は下地が白であることを想定しているため、(特に意図しない限りは)「COLOR」レイヤーに配置したオブジェクトの下が白く塗りつぶされるよう、「WHITE」レイヤーにも同じオブジェクトを配置することが推奨されています(イメージとしては、UVプリンタメーカーによる解説「透明な印刷対象物に印刷する (下地にホワイトインクを印刷)」や「印刷対象物の色に影響を受けずに印刷する(下地に白印刷)」が分かりやすいです)。
具体的な作業としては、「COLOR」レイヤーにオブジェクトを配置したら、それをそのままコピー&ペーストして「WHITE」レイヤーに配置して、同じオブジェクトが白でも印刷されるようにしておけばOKです。印刷時には最初に「WHITE」レイヤーが印刷され、続けて「COLOR」レイヤーが印刷されるため、このように設定することで白いインクで印刷された文字や図形の上にカラーで文字や図形が印刷されるようになります。
なお、「WHITE」レイヤーにオブジェクトを配置する際の注意点として、このレイヤー内に配置するオブジェクトの色はすべて「RDG_WHITE」というspot color(特色)を指定する必要があります。spot colorを指定する方法はいくつかあるのですが、サンプルファイルのスタイルをコピペするのが簡単で確実です。
まず、ダウンロードしておいたサンプルファイルをAffinity Designerで開きます。「WHITE」レイヤー内に「Curve」(Yの文字)があるので、これを右クリックしてコピーします(同じ「Y」の文字が「GLOSS-V」レイヤーにもあるのでそちらをコピーしないように注意)。
続いて、「RDG_WHITE」を設定したいオブジェクトを選択し、「Edit」メニュー内の「Paste Style」を実行します。
すると、そのオブジェクトの塗りつぶしカラーが「RDG_WHITE」に設定されます。
また、塗りつぶし色として「RDG_WHITE」が設定されたオブジェクトを選択した状態で「Swatchs」タブの「Colors」横にある「■+■■」ボタンをクリックするとSwatches内に「RDG_WHITE」が追加され、ここから「RDG_WHITE」を指定できるようになります。
「GLOSS-V OR -M」レイヤーについて
「GLOSS-V OR -M」はTaydaの有料オプションで用意されているグロス(光沢)/マット(艶消し)仕上げサービス用のレイヤーで、ここにオブジェクトを配置するとその位置に光沢/艶消しインクを乗せてくれるとのことですが、自分は使ったことがないので割愛します。なお、このレイヤーに配置するオブジェクトはすべて色としては「RDG_GLOSS」を指定しておく必要があります(参考:「表面を仕上げる(グロス印刷)」)
そのほかのレイヤーについて
Affinity Designerでは、出力用データの作成時(エクスポート時)に選択したレイヤーだけを出力する機能があるので、印刷しないガイド用の図形などは別レイヤーに分けて置きましょう。たとえば自分の場合、穴開けする場所に穴(円)を描いたレイヤーを用意したりしています。
出力するレイヤーの指定
デザインデータの作成が完了したら、PDFへの出力を行います。実はここが一番ハードルが高く面倒くさいところだったりします。
まず、ウィンドウ左上の「Export Persona」をクリックします。この状態では、エクスポートするレイヤーなどの設定を行うことができるので、「Layers」タブで出力したいレイヤー(「GLOSS-V OR -M」、「COLOR」、「WHITE」の3つ)をクリックしてエクスポート対象に指定します(ウィンドウから矢印が飛び出たアイコンがハイライトされた状態にする)。
この設定が終わったら、「Design Persona」をクリックするとデザイン画面に戻れます。
エクスポート設定
続いて「File」-「Export」メニューを選択し、エクスポート画面を開きます。ここではフォーマットとして「PDF」を選択し、続いてオプションを次の画像のように選択します。
(注:「Raster DPI」の部分に「Nothing will be rasterized」と表示されているかも確認してください。Affinity DesignerはPDFで表現できない機能を使ったオブジェクトを自動的にラスター画像化する機能があり、ラスター化された画像が含まれていない場合のみここに「Nothing will be rasterized」が表示されます。)
最後に「Export」ボタンをクリックし、出力するファイル名や保存先を指定します。
Acrobat(無料版)でデータを確認する
最後に、データが正しくエクスポートされているかをAdobe Acrobatで確認します。Acrobatは有料版(Pro)と無料版がありますが、最低限の確認は無料版のみで可能です。
まず、画面左のレイヤーアイコンをタップして、PDF内に含まれるレイヤーを確認します。
「WHITE」「COLOR」が(もし使用していれば「GLOSS-V OR -M」も)含まれていればOKです。また、レイヤーを右クリックして「レイヤーを表示」を選択することでレイヤーの表示/非表示を切り替えることができます。ここで「WHITE」レイヤーに本来「COLOR」レイヤーに含まれるはずのカラーの文字や図形が入っていないかなどをチェックしておきます。
(ちなみに、自分は事故を避けるために「WHITE」「COLOR」レイヤーの中にはレイヤーを作らないようにしているためこの2つのレイヤーしか表示されませんが、レイヤー内にレイヤーを作っている場合はそれもここに表示されるはずです)。
なお、Acrobatの標準設定では背景が白で表示されるのですが、この設定では「WHITE」レイヤーが確認しずらいです。そのため、自分はAcrobatの「メニュー」-「環境設定」で表示できる環境設定画面の「アクセシビリティ」で、「ページ背景色」を別の色に変更しています。この設定だと、「WHITE」レイヤーを非表示にした際にどうなるかが分かりやすくなります。
また、PDFを拡大表示して、輪郭がスムーズになっていない(ギザギザになっている=ラスター画像化されている)部分がないかもチェックします。
最後に、PDFコンテンツ表示エリアを右クリックして「文書のプロパティ」を選択します。すると「文書のプロパティ」画面が表示されるので、下記をチェックします。
「概要」タブの「PDFのバージョン」。Affinity Designerでエクスポート時に選択したもの(1.7)と一致しているか
「概要」タブの「ページサイズ」が適正かを確認。1590Bサイズなら「56.0×108.5mm」。
「セキュリティ」タブの「文章のセキュリティ」および「文書に関する制限の概要」。「セキュリティなし」、「Acrobatの全バージョン」、「印刷」が許可になっているかを確認。
「フォント」タブでフォントが埋め込まれていないかを確認。何も表示されていなければOK。
これで問題が無ければ、あとはTaydaに注文&入稿を行えばOKのはずです。
ちなみに、この筐体は最終的にはこんな感じになっています。このデザインでは、筐体がシルバー塗装なのを利用し、カラー印刷したい図形(「COLOR」レイヤーに配置した図形)の下にあえて白インクを重ねないことでメタリック感を残しつつ文字はくっきりさせています。

2 notes
·
View notes
Text
JFET差動増幅回路を使ったバッファ回路
JFET差動増幅回路を使って、フットスイッチに直で付けられるコンパクトなバッファ回路を作ってみました。

発端はBD-2の回路
「可燃ごみ箱」ブログでBOSSの歪みエフェクターであるBD-2(Blues Driver)の回路が紹介されていたので眺めてみたところ、JFET差動増幅回路を使った帰還型の増幅回路が使われていることに気付きました。
BD-2ではJFET差動増幅回路の反転出力にトランジスタを使ったエミッタ接地増幅回路による増幅回路を接続し、その出力をJFET差動増幅回路の反転入力に入れるという回路になっています。JFET差動増幅回路で反転増幅された信号をエミッタ接地増幅回路でさらに反転増幅し、それを差動増幅回路の反転入力に入れることで安定して高いゲインが得られる、という仕組みのようです。
このようなトランジスタを用いた増幅回路と組み合わせた回路にすることで、GAINポットでゲインを安定して調節できるというメリットがありそうです。一方で、ゲインが1、つまり増幅をしないバッファ回路として使うのであれば、トランジスタ部分は不要のような気がします。ということで次のような回路をシミュレーションで検証してみたところ、問題なくバッファとして動作することが分かりました。
ここでJ3・J4のJFETは1素子に2回路が入っているデュアルJFETの2SK2145、Q6・Q7のトランジスタはデュアルトランジスタのHN4C06Jを想定しています(ただし、シミュレーションに使用したLTSpiceにはこのJFETやトランジスタのデータが含まれていないため、特性が近い別素子のデータを使用しています)。
JFET差動増幅回路部分は以前紹介したものとほぼ同一です。BD-2のJFET差動増幅回路はドレイン側に抵抗のみを接続する簡易的な回路ですが、こちらの回路ではトランジスタ2つと抵抗器1つを使った定電流回路(Q6、Q7、R6で構成される部分)をドレインに接続しています。
また、BD-2では反転出力をトランジスタを使ったエミッタ接地増幅回路に通していますが、ここではそれを省略して、その代わりに非反転出力側の信号をコンデンサ(C2)+抵抗器(R1)で構成されたハイパスフィルタに通して差動増幅回路の反転入力に入力することで、オペアンプによるボルテージフォロワ回路と同じような回路を構成しています(JFET差動増幅回路の出力には一定のバイアス電圧が加算されているため、それを取り除くためにこのハイパスフィルタを入れています)。ハイパスフィルタではそれぞれ1uF/1MΩという大きめの容量のものを使っていますが、帰還回路なのでこのあたりは多少小さめでも問題ないようです。
次のグラフは、この回路に振幅0.1V、1kHzの正弦波を入力した場合の出力をシミュレーションしたものです。比較用にトランジスタを用いたシンプルなバッファも用意してみました。赤が入力、緑が今回のJFET差動増幅回路を用いたバッファ、青がトランジスタを用いたバッファです。
JFET差動増幅回路を用いたバッファは信号がわずかに減衰している(振幅が少しだけ小さくなっている)ことが分かりますが、波形自体はほぼそのまま同じ形のものが出力されています。
なお、シミュレーションで得られた歪み率(THD)はJFET差動増幅回路を用いたバッファが0.000578%、トランジスタを用いたバッファが0.008729%と、JFET差動増幅回路を用いたバッファのほうが歪みが少ないという結果でした(ただし、この程度の違いなら実際には耳で聞いても違いは分からないと思います)。
バッファを組み込んだ基板を作る
このJFET差動増幅回路を用いたバッファ回路は、デュアルJFETとデュアルトランジスタ、コンデンサを1ずつ、抵抗器3つの合計6素子で実現できます。これと、「トゥルーバイパスなエフェクターのON/OFF切り替え時のノイズ対策」で紹介した、PチャネルJFETを使ったスイッチ切り替え時のミュート回路を組み合わせて基板化してみました。以下がその回路図です。
SIG_IN2にエフェクター回路の信号入力を、SIG_OUTにエフェクター回路からの出力を接続することを想定しています。ミュート回路のほうはJP1のはんだ付けジャンパーで入力側と出力側のどちらをミュートするかを選択できるようにしています。
これを次のような感じでプリント基板に実装します。
こちらはペダル型エフェクタで一般的な3PDTのフットスイッチを直接はんだ付けして使うことを想定しています。電源の供給が必要になりますが、これで手軽にバッファとバイパス時のミュート機能をエフェクターに実装できます。実際にこれを基板制作業者に発注し、できあがったものをP-EQに組み込んだものが本記事冒頭の写真です。
なお、この回路のSIG_IN2から出力される信号は、電源電圧の約半分(たとえば電源が9Vであれば4.5V)のバイアス電圧が付加された信号になります。一般的なエフェクター回路の多くは入力側に直流信号をカットするためのハイパスフィルタが入っていてこの出力をそのまま接続できますが、このバイアス電圧をそのまま利用して直接オペアンプやトランジスタによる増幅回路などに信号を入力することもできると思います。
おまけ:JFET差動増幅回路を用いたバッファの長所・短所の分析
今回のJFET差動増幅回路を用いたバッファ回路では、入力をJFETのベースに直接接続しています。そのため、入力インピーダンスが非常に高い点がメリットです。また、一般的なオーディオ信号の範囲の全帯域でほぼフラットな周波数特性が得られます。トランジスタを用いたバッファの場合、入出力にそれぞれ設置されたコンデンサの容量を小さくすると低音域が明確に減衰しますが、今回のJFET差動増幅回路を用いたバッファ回路ではこれがありません。
たとえば次のグラフは、今回紹介しているJFET差動増幅回路の周波数特性とトランジスタを使ったバッファ回路の周波数特性を比較したものです。前述のとおり今回のJFET差動増幅回路(緑)は信号レベル自体はおよそ-0.3dBほど低下しますが、全周波数帯でほぼ均等に減衰するフラットな特性です。一方でトランジスタを用いたバッファ回路(青)は100Hz以下の低域がほかの帯域よりもわずかですが多く減衰しています。
シミュレーションではJFET差動増幅回路およびトランジスタによるバッファ回路の両方で1uFのコンデンサを使っていますが、次のグラフはこれを0.1uFに変更して同様に周波数特性をシミュレーションしたものです。トランジスタによるバッファのほうはより大きく低域が減衰する一方、JFET差動増幅回路によるバッファ回路はほぼフラットのままです。
また、トランジスタを用いたバッファは入出力に設置されたコンデンサの容量で電源ノイズに対する耐性が変わります。たとえば次のグラフは電源(9V)に振幅100mV・周波数60Hzのノイズを加えた状態で、入力が0の場合の出力をシミュレートしたものです。いずれも電源ノイズ由来の正弦波信号がノイズとして出力されていますが、その振幅はJFET回路のほうは1.8mV、トランジスタ回路のほうはおよそ0.5mVと、トランジスタ回路のほうが小さくなっています。
ただ、いずれも電源に入力されたノイズの数十分の1というレベルで十分に小さいといえそうです。また、トランジスタ回路のほうはやはり入出力に設置されたコンデンサの容量に応じてノイズ特性も変わってしまうようです。
オーディオ回路においては、信号が通る部分にセラミックコンデンサを使用することは一般に推奨されないため、実質的な選択肢としてはフィルムコンデンサか電解コンデンサを使用することになります。電解コンデンサは劣化しやすいという問題があり、フィルムコンデンサは容量が大きくなるとサイズも大きく高価になる、という問題があるためケースバイケースで使い分けることが多いですが、今回のJFET差動増幅回路を用いたバッファ回路では小さい容量のコンデンサを使用しても特性やノイズ耐性が劣化しない、という部分にメリットがありそうです。
いっぽうで明確な弱点としては、入力信号の振幅が一定を超えると歪む点があります。たとえば次のグラフは入力信号の振幅を1Vとした場合の出力ですが、-0.7Vあたりを下回った部分が削られて歪んでいることが分かります。
出力が歪まない入力信号電圧の下限が何V程度になるかは、JFETのゲート・ソース間遮断電圧(Vto)によって決まります。今回のシミュレーションではVto=0.8647と設定しているため、入力信号の電圧がそのあたりを下回るとそこで歪んでしまうことになります。
なお、このVtoはドレイン電流(Idss)と関係があり、ゲート・ソース間電圧(Vgs)を横軸、ドレイン電流(Id)を縦軸としたグラフで、Vgs=0Vのときのドレイン電流がIdssと呼ばれるものになり、逆にId=0mAのときのゲート・ソース間電圧がVtoに相当します。
たとえば、下記は2SK2145のゲート・ソース間電圧とドレイン電流の特性です(データシートより引用)。グラフ上でVgs=0VのときにIdが2mAとなる曲線を見ると、この曲線はおおむねVgs=-0.3VでIdが0mAになっています。つまり、Idss=2mAの場合、Vtoは約-0.3Vになる、ということです。
2SK2145ではIdssの値によって選別されて異なる型番が付与されており、2SK2145-Yが1.2~3.0mA、-GRが2.6~6.5mA、-BLが6.0~14.0mAとなっています。このIdssとグラフから、たとえば2SK2145-GRではVtoはおおむね-0.3~-0.6Vの範囲に収まるものと推測できます。
また、Idssが大きいものほどVtoが小さくなるため、できるだけIdssが大きいものを選別することで歪まない入力レンジを広げることもできます。とはいえ、一般的なエレキギターやエレキベースでは信号が大きくても数100mVの範囲なので、一般的な範囲では問題になることは少ないのではないかと思います。
4 notes
·
View notes
Text
オプトカプラ(アナログフォトカプラ)の特性測定2025(反応速度編)
アナログ音響機器の製作でちょくちょく使うオプトカプラの特性について、今度は反応速度を調べてみました。

先日、オプトカプラ(アナログフォトカプラ)の入力電流に対する出力抵抗値の変化特性を調べてみました。ただ、この調査では反応速度については調べていなかったので、今度はいくつかのオプトカプラの反応速度を調べてみました。
今回測定に使った回路は前回使ったものを若干変更したもので、押しボタンスイッチ(タクトスイッチ)を押すとオプトカプラにおよそ5mAの電流が流れる、というものです。このときの出力抵抗値の変化をオシロスコープを使って電圧という形で測定しました。
ON特性の測定結果
始めにON特性、つまり入力電流が増える際の特性変化を見てみます。
まずはLCR0202です。赤色の線が入力、緑色の線が出力で、横軸は1目盛りが64マイクロ秒(0.064ミリ秒)となっています。
スイッチを押してから入力電圧(つまりオプトカプラに流れる電流)が上がり切るまでおよそ5分の1目盛り、つまり約12マイクロ秒程かかっているのですが、出力電圧もそれに合わせて敏感に(ほぼ瞬時に)反応していることが分かります。入力の変化が始まってから出力が変化し始めるまでの遅延は(目視だと)およそ10分の1目盛り(6.4マイクロ秒)ほど、という感じです。また、入力の変化が完了してから出力がおおむね安定するまでの時間はおよそ1~2目盛り、64~128マイクロ秒ほどでした。
次はLCR1506です。こちらもほぼ同じような変化特性です。若干こちらのほうが出力が安定するまでの時間が短いようにも見えますが、LCR0202と比べてそこまで大きな違いは無いように見えます。
最後にLCR0203です。こちらはLCR0202とほとんど同じでした。
OFF特性の測定結果
続いてOFF特性、つまり入力電流が減少する際の特性を見ていきます。
まずはLCR0202です。OFF特性の時間変化はON特性よりも大幅に長く、横軸は1目盛りが10ミリ秒となっています。
電流が0になってから抵抗値の変化が落ち着くまでは3~4目盛りほど、つまり30~40ミリ秒程度という感じです。
次はLCR1506です。こちらも抵抗値の変化が落ち着くまでは30~40ミリ秒ほどでした。
最後にLCR0203です。こちらは若干上記2つよりも落ち着くまでが長く、50ミリ秒ほどかかっているように見えます。
結論
今回検証したLCR0202、LCR1506、LCR0203の3つについては、入力電流に対する抵抗値の時間変化はあまり変わらないように見えました。電流が増える方向については数十マイクロ秒レベルの速度で反応し、逆に電流が減る方向については変化が完了するまで数十ミリ秒ほどかかる、という感じです。
オプトカプラは反応が遅いというイメージがあるようですが、少なくともオフからオンになる方向ではかなり敏感に反応する一方、その逆は反応がかなり遅くなるため、この特性をうまく活用するとよさそうです。
2 notes
·
View notes
Text
デジタル温度調整機能付きはんだこてを買った
デジタル温度調整機能付きはんだこては素晴らしいという話です。

はんだこてには温度調整ができるタイプとできないタイプの2種類があり、今までは白光のPRESTO(ストレートタイプ)という、温度調整機能がないタイプを使っていました。これは消費電力20Wと比較的低パワーなはんだこてですが、130Wで加熱できるスイッチが付いており、これを押すと高温が必要なはんだ付けもできるという便利なものでした。お値段も3,000円ほどなので、ホビーで電子工作をするという方にはおすすめできるものではあるのですが、最近は頻繁にはんだ付けをしているのと、鉛フリーはんだにもそろそろ対応したいということで、鉛フリー対応で温度調整もできる太陽電機産業(goot)のPX-280というはんだこてを購入しました。
鉛フリーはんだはより高い温度でのはんだ付けが必要になるため、温度調節機能がほぼ必須なのだそうですが、PX-280の消費電力は80WでPRESTOの4倍ということで、単純に電源を入れてからはんだ付けできる温度になるまでの時間がとても早いです。さらにデジタルメーターでこて先の温度が表示されるため、はんだ付けできる状態になったことが簡単に目視できるのも嬉しいです。
温度設定はボタン式で、そこだけちょっと面倒かなと思ったのですが、長押しで一気に数値を変えられるので温度調整時のストレスもありませんでした。設定温度を上げるとすぐに数値が上がって、こんなにすぐに温まるんだという驚きがあります。
お値段はだいたい5,000円+税という感じで、たまに使うというレベルの方にはちょっとお高いとは思いますが、頻繁に使うのであれば非常に快適度が高いので、鉛フリーはんだを使わなくとも買ってみると幸せになれるのではないかと思いました。
ちなみに鉛フリーはんだをアマチュアが積極的に使う理由はあまりないと思っていますが、鉛フリーはんだが使われている製品を修理する場合などはやはり鉛フリーはんだを使ったほうが良いとのことで(鉛フリーと鉛入りを同時に使うと耐久性に問題が出ることがあるらしい)、昨今のエフェクターや音響の修理や改造をするなら鉛フリーはんだを使えるようになっておくと良さそうです(実際、さっそくMXR Bass Compressorの修理に鉛フリーはんだを使ってみましたが、まったく問題なく普通にはんだ付けできました)。
3 notes
·
View notes
Text
MXR M87 Bass Compressorを修理する
久しぶりにMXR M87 Bass Compressorを使おうと思ったら常時コンプレッションが最大にかかってる状態になるという不具合が発生していたので修理した話です。

発生していた症状は以下のような感じでした。
スイッチオフの場合、問題なくバイパス音は出る
スイッチオンの場合、INPUTを最大にしても、OUTPUTをかなり上げないと音が出力されない
GAIN REDUCTIONメーターのLEDが常に全点灯
内部のGAIN REDUCTIONメーターON/OFF切り替えスイッチをOFFにしてもGAIN REDUCTIONメーターのLEDは全点灯のまま
エフェクターのトラブル時に真っ先に確認すべきはスイッチオフで音が出るかですが、今回は問題なく音が出ていたので入出力ジャックやON/OFF切り替えのフットスイッチ関連のトラブルではなさそうです。
GAIN REDUCTIONメーターは、その名の通り出力信号がどれくらい圧縮されるかを示すインジケーターで、これが全点灯ということは、入力音がものすごく圧縮されて(=音量を下げられて)出力されている、ということになります。音が圧縮されているのでOUTPUTを上げないと音が出ない(出力信号が小さくなっている)、というのは推測できたのですが、じゃあどの部分が故障の原因なのかをこの情報だけで判別するのはなかなか難しい。ということで、ひとまず中身を出してみます。

ケースと基板の分離については、フットスイッチとポット、入出力ジャックのナットを外すだけで簡単に行えます。ただ、中身はほとんどが表面実装部品で、基板もフットスイッチや入出力ジャック、電源ジャックなどが組み込まれたメイン基板、ポットやロータリースイッチが組み込まれた基板、GAIN REDUCTIONメーターが組み込まれた基板の3枚構成でかなり高密度なものになっています。
ネットで回路図などが出回ってないか探してみたのですが、さすがにこの規模の基板はなかなかトレースも難しいのか見つかりません。
ただ、唯一参考になりそうな情報として、海外のベース関連掲示板にこのBass Compressorを修理したというレポートがありました。こちらでは2つの事例が投稿されていて、1つはオペアンプを交換したら直ったというもの、もう1つはロータリースイッチを交換したら直ったというもの。後者のほうは発生事例としても自分の症状と同じでした。
ちなみに、このロータリースイッチは4つのポジション(エフェクターの表示上は4/8/12/20)を切り替えられるもので、10本の足のうち左側の5本、右側の5本がそれぞれ独立している、いわゆる2回路4接点と言うタイプのもので、自分が作ったMST P-EQも同じスイッチを使っています。
ひとまずロータリースイッチを疑ってテスターで接触を確認したところ確かに片側が導通していない感じだったので、新品に交換してみることにします。
ちょうどロータリースイッチのすぐ近くにフラットケーブルがはんだ付けされていて邪魔ではあるのですが、スペース的には余裕があるのでまずはハンダ吸い取り器でハンダを除去して取り外しました。端子部分はあまり苦労せずにハンダを吸い出せたのですが、固定用の足の部分は穴が大きく、またスイッチのケースが熱を吸ってしまうためになかなかハンダを吸い取れません。そのため、刃の部分が薄いニッパーで先に固定用の足を切ってスイッチを取り外し、その後基板側に残った足に高温にしたハンダこてを当てて取り外し、最後にハンダを吸い取る、という手順で作業しています。

続いて新品への交換です。秋月電子通商で同じようなものが販売されているのですが、実際に現物を見比べてみると、2、3mmほどネジ部分の長さが違いました(左が取り外したもの、右が秋月電子で購入したもの)。

そのため、このロータリースイッチを基板の奥まで挿し込んでしまうとねじ止めができなくなってしまいます。幸い足の長さには余裕があるので、基板部分から本体の若干浮かした感じで取り付けることで無事ねじ止め可能な状態で固定することに成功しています。

こうすることでケースに接触する部分の面の高さが隣のポットと揃うので、(ポットがきっちり固定されている限りは)奥まで挿し込んで固定するよりも堅牢さは増すはずです。
この状態でテストしたところ、無事GAIN REDUCTIONメーターも入力に応じて反応するようになり、出音も一般的なレベルで出力されるようになったので直ったと判断して組み立てなおして完了です。なお、ツマミはねじ止めではなくて押し込んで固定するタイプのものですが、ロータリースイッチの軸に対しては若干緩い感じで、薄いビニールシートのようなものが噛まされて固定されていました。修理後も同じものを再利用したので、これから修理される方は取り外しの際に無くさないようご注意を。
1 note
·
View note
Text
オプトカプラ(アナログフォトカプラ)の特性測定2025
アナログ音響機器の製作でちょくちょく使うオプトカプラの特性を自動測定システムを作って調べてみました。

オプトカプラ(アナログフォトカプラ、バクトロール)を使用したコンプレッサー(音量変化をコントロールするエフェクター)の製作をしているのですが、この素子はそれなりに個体差があることが知られています。そのため、安定した特性を得るためには事前に希望する特性の個体を選別したり、半固定抵抗などで個体差を吸収できる回路にする必要があります。
ただ、選別をするにはなんらかの基準が必要になりますし、実際にどの程度の個体差があるのかも事前に把握しておく必要があります。以前は手作業で測定を行っていましたが、これを毎回やるのはしんどい感じです。
そこで、オプトカプラに入力する電流値を自動で変化させつつ、対応する抵抗値を測定できるシステムを作り、複数の個体を試しに測定してみました。
測定システムの詳細
PCで測定プロセスをコントロールする前提で考えると、PCから次の2つのことを行えるようにする必要があります。
任意の電流を生成する
抵抗値を取得する
電流の生成については、オペアンプで簡単に電圧ー電流変換回路を構築できることが知られています。また、抵抗値の取得については、測定対象の抵抗器とあらかじめ既知の抵抗器を直列に接続し、そこに既知の電圧をかけて分圧された電圧を測定することで算出が可能です。そのため、結局はPCから電圧の生成と測定がコントロールできればよい、ということになります。
電圧の生成はD/Aコンバータ、測定はA/Dコンバータがあれば良いのですが、このためにわざわざ新規に作成するのは面倒です。そこで、今回は以前作ったMIDI-CV/GATEインターフェイスを使用て電圧の生成を行うことにしました。
この MIDI-CV/GATEインターフェイスは分解能16ビットのD/Aコンバータを搭載しており、MIDI経由で0~5Vの電圧を出力可能です。このインターフェイスで使用しているArduino EveryにはA/Dコンバータも搭載されているので、これを使って電圧を測定し、その値をシリアルポート経由でMIDIフォーマットで送信することもできます。
MIDIやシリアルポートについては、おなじみMax/MSPで簡単に扱えます。ということで、これらとMax/MSPを使って測定システムを構築できました。
電圧ー電流変換回路や分圧回路はブレッドボード上に構築しました。これらを使って、0.1mA単位で0mAから20mAまでをオプトカプラに入力し、その際の抵抗値を測定できるようになりました。
計測結果はMax/MSP上でグラフ表示するとともに、ファイルに出力して、最終的にCSV形式に変換してGoogle Spreadsheet上でグラフをまとめました。
測定結果
今回測定したのは、手元にあった次の9個のオプトカプラです。
LCR0202(×5個)
LCR0203(×1個)
LCR1506(×5個)
MACRON MI0202(×1個)
最初の3つは同メーカーの製品で、最大入力電圧は40mA、データシートに記載されているスペックも酷似しています。MACRON MI0202は以前秋月電子通商で在庫処分として安価に販売されていたものです。
(2025年3月21日追記:LCR1506を3個追加して、合計5個を特性チェックしました。あわせて下記のグラフ・表も更新しています。)
測定結果のグラフは下記になりました。
考察
MI0202とLCR0202は型番も形状も似ているので特性も似ているのではと思ったのですが、結果としてはそんなことはありませんでした。また、LCR0202については5つの個体を測定しましたが、それなりに個体差がありました。一方、LCR1506については、今回測定した2個体に関してはかなり特性が近いという結果になりました。ただ、これだけではサンプル数が少ないため、今後追加測定をしたいところです。
(2025年3月21日追記:LCR1506について合計5個体を測定したところ、1つだけ大きく特性がずれているものがありました。そのため、やはりLCR1506を使う場合でも選別はしたほうが良さそうです。)
ちなみに、縦軸は対数軸になっているため差が圧縮されてしまっていますが、0/5/10/15/20mAの結果だけを抜き出すと以下のようになります。
LCR0202は20mA時で最小103.5Ω、最大152.6Ωという結果になっており、結構なばらつきがあるようです。また、下段はLCR0202とLCR1506について、#1を基準とした比(%)で結果をまとめたものです。
オプトカプラに電流を流していない場合は1MΩ以上の高抵抗値になるはずですが、今回は回路の構成上(電圧-電流変換回路にはLM358オペアンプを使用しているため)、厳密に0mAの電流出力は行えず、最低でもわずかにオプトカプラに電流が流れてしまいます。そのため0mA時でも数kΩという比較的控えめな抵抗値になっています。
傾向と対策
回路上に個体差を吸収する仕組みを入れるのであれば、半固定抵抗器をオプトカプラに対して直列+並列の2つ入れる必要がありそうです……。
3 notes
·
View notes
Text
トゥルーバイパスなエフェクターのON/OFF切り替え時のノイズ対策
トゥルーバイパスなエフェクターのノイズをなるべく減らそうと奮闘した話です。

皆さんご存じかとは思いますが、トゥルーバイパスと言うのは機械式のスイッチのみでエフェクトのON/OFFを切り替える仕組みです。たとえば上の写真は自作のトゥルーバイパス式ループスイッチャーで、IN/OUTとSEND/RETURNの4つの入出力があります。

スイッチを踏むごとにON/OFFが切り替わり、OFFのときはINとOUTが直接接続され、ONのときはINとSENDおよびRETURNとOUTが接続されます。一般的にはSENDとRETURNの間にエフェクターを複数台繋いで、まとめてエフェクトのON/OFFを切り替えるという使い方をします。
こちらの機材はスイッチで機械的に接続経路を切り替えているため、電源が無くても動作します。上に電源ジャックがありますが、ここに入力された電力はON/OFFを示すLEDを光らせるためだけに使っています。
さて、このループスイッチャーのSENDとRETURNをパッチケーブルなどで直結すると、ONでもOFFでも入力されたものをそのまま出力する、何もしないエフェクターになります。ただ、その状態でもスイッチを踏むと小さなポップノイズが聴こえます。つまり、一般的な機械式のプッシュスイッチはスイッチ切り替え時にノイズを発生させるということになります。
一般的なトゥルーバイパス式のエフェクターは、入力部分と出力部分の両方を同時スイッチで切り替えます。そのため、エフェクターへ入力される部分と、出力される部分の両方でノイズが出ることになります。入力される部分で発生したノイズはエフェクト回路を通って出力されるため、ゲインの大きい歪み系エフェクターやブースターなどでは、それが大きく増幅されて出力されることになります。
一方、いわゆるバッファードバイパス型のエフェクターでは、電子式のON/OFF切り替え回路が採用されていることが多いです。電子式のスイッチでは物理的な接触がないため、切り替え時のノイズがほぼありません。そのため、こういったループスイッチャーでもBOSSのLS-2のような電子式のものを使えば、ノイズなしにエフェクトのON/OFFが可能です。自分もブースター付きの電子式スイッチャーを自作していますが、こちらは(手前味噌ですが)本当に滑らかにノイズなしでエフェクトが切り替わります。

ミュート回路を入れてみる
さて、スイッチ切り替え時に一瞬だけ入力をミュートすればノイズがなくなるのではないか、ということでPチャネルJFETを使って作ったミュート回路がこちらです。
この回路は、「Von」がどこにも接続されていない状態では「MUTE」とGNDが疑似的に接続され、「Von」がGNDに接続された場合は「MUTE」とGNDの間が高抵抗値になる、というものです。エフェクト回路の入力部にMUTEを接続し、スイッチON時にVonがGNDに接続されるように配線することで、スイッチOFF時はエフェクトへの入力はGND側に流れて無信号になり、ON時にはエフェクトへの入力がそのままエフェクト回路に入ります。
多くのトゥルーバイパス式エフェクターは入力・出力と同時にスイッチでLEDのON/OFFを切り替える仕組みになっており、スイッチON時にLEDがGNDに接続されるようなエフェクターであれば、VonをLED切り替えスイッチに接続することで、エフェクトOFF時のみに入力をミュートできるようになります。
ちなみに、MUTE部とGNDの導通はその間に接続されているJFETのゲート電圧で制御されます。JFETのゲートが十分高い電圧であればソース・ドレイン間が導通し、逆に0Vに近いほどソース・ドレイン間の抵抗値が大きくなります(厳密にはゲート電圧が高いほどソース・ドレイン間に流せる電流が小さくなる)。
この回路ではJFETのゲート部にコンデンサが接続されており、ゲート部に印可される電圧が変化した場合、このコンデンサが充電・放電されることで電圧変化がゆっくりになります。つまり、VonがGNDに接続されてからMUTEとGND間の導通が解除されるまで一瞬の遅れが発生することになります。この遅れを利用して、入力部のスイッチで発生するノイズをブロックするというのがこの回路のコンセプトです。
実際に作ってみた
こちらの回路を実際にユニバーサル基板で実装して、エフェクターに無理足り取り付けてみた様子がこちらです。

これによって、ノイズを実際に軽減できることが確認できました。ただ、出力部のスイッチで発生するノイズに関してはこの回路では対策できず、小さいノイズは残ってしまいます。スイッチ切り替えノイズを完全に遮断するなら、やはり電子式のスイッチを使うのが確実なようです。
2 notes
·
View notes
Text
Aサイズケースで電池駆動もできるミニエフェクターを作る
シンプルな回路のエフェクターならミニエフェクターにできるだろ……と思ったら簡単ではなかった話です。

ブースターが欲しかったので回路を設計したのですが(前回記事参照)、そこそこコンパクトな回路になったのでこれは小さいケースに入れてみようと思い立ちました。
ミニサイズのエフェクターといえば、XOTICのEP BoosterやOne Controlが有名です。どちらもACアダプタだけでなく電池でも駆動でき、今回設計した回路も消費電力は4mA程度と少ないため、電池駆動可能にしてギグバックに放り込んでセッションなどに簡単に持っていける、というコンセプトを目指したのですが、結果としてはなかなかに大変でした。
ケースサイズの制約
ネットで見つかるEP Boosterの分解画像を見ると、スイッチやジャック、可変抵抗器は一般的なものが使われており、表面実装部品を使えば比較的簡単にケースに組み込めそうに見えました。
ただ、EP Boosterのスペックを見ると、サイズは89×38×38mmとなっています。一方、ミニサイズのエフェクター用ケースとしてポピュラーなのが、HAMMONDの1590Aサイズ(通称Aサイズ)やタカチのTD4-9-3です。外寸は前者が92.6×38.5×31mm、後者は94.5×40.5×32で、内寸は前者が87.8×33.7×27.4、後者が84.4×30.4×27.5(いずれも縦×横×高さ)です。色々観察してみた結果、どうもEP BoosterはHAMMONDやタカチよりも深いケースが使われているようです。実際、EP Boosterで使われているのと同じタイプのジャックや9V乾電池のサイズを調べてみると、EP Boosterのようにジャックの上に電池を積み上げるようなレイアウトで1590AやTD4-9-3に部品一式を収めるのは不可能です。
一方、One Controlのミニサイズエフェクターはケースのサイズが100×39×31となっており、1590AやTD4-9-3に近い大きさでした。エフェクターの分解記事を多く公開されている可燃ごみ箱さんの記事を見ると、小さいサイズのジャックやスイッチが使われていることが分かります。これによってジャックの脇に電池を入れる、という形状を実現しているようです。
One Controlで使われているような小さいサイズのジャックは秋葉原では見かけたことがないのですが、似たようなものが「PJ-309」という品番で見つかりました(aitendoで販売されている「PJ-6030-2」というジャックもほぼ同サイズでした)。また、「DC-044」という品番の薄型DCジャックも小型ケースで使うには便利そうです。小さいサイズのフットスイッチについては、フジソク(NIDEC)の8Y3011という一般的な3PDTスイッチよりも若干小さいものがあり、こちらは秋葉原で入手可能です。

早速これらを購入して寸法を確認したところ、これらを横に並べる形であればAサイズケースにギリギリ収まりそうだ、ということが分かりましたす。
ボリュームポットの制約
One Controlのミニサイズエフェクターのようにスイッチとジャック、電池を並べてケースに収める場合、必然的にボリュームポット(可変抵抗器)や回路基板の上に電池を収める形になります。9V乾電池(006P電池)の厚みは約17mmで、ケースの深さは27.5mmほどなので、この場合ボリュームポット(可変抵抗器)と回路基板を合せた高さを約10mm以下、できれば余裕を持たせて9mm程度に抑える必要があります。DCジャックについては厚みが約7mmなので問題ありませんが、9mmサイズの縦型ボリュームポットで一般的なALPHAのRV09シリーズは本体の高さが8.6mmなので、1mm厚のプリント基板を使ったとしてもサイズ的にギリギリです。また、ALPS ALPINEのRK09シリーズやAliExpressで見つかるノーブランドの9mmサイズ可変抵抗器の大半は高さが10mmのため、利用できません。
次の写真を見てもらうのが分かりやすいのですが、真ん中のものが一般的な9mmサイズの縦型ボリュームポットです。本体から5本の足が伸びており、そのせいで取り付け時の高さが大きくなってしまいます。

一応絶縁軸タイプのもの(上記写真左)は本体部分の高さが6.8mmのため選択肢としてはアリなのですが、こちらはナットで筐体に固定することができないため、強度の面で不安があります。
そこで今回は次善策ということで、基板に対して横向きに軸が出るタイプのボリュームポット(ALPS ALPINEのRK097シリーズや秋葉原の桜屋電機店で買えるALPHAのRD9シリーズ、上記写真右)を使用することにしました。ポットの端子(足)を曲げて基板に対して軸が垂直になるように無理やり取り付けるというやり方です。本体部分の厚みは約7mmで、さらにケースにねじ止めもできるため、少なくともケースとボリュームポットはしっかり固定できます。
端子だけで基板に固定されていると基板との固定強度が不安になりますが、これは後述する方法で対処しました。
基板設計
これでひとまず部品一式をケース内に収める目途はついたので、基板の設計を行います。基板はボリュームポット等を取り付ける部分とフットスイッチやジャックを取り付ける部分に分割し、ピンヘッダで接続する構成にしています。コスト削減のためこれらを1枚の基板として設計・発注し、組み立て時に分割して使用します。設計した基板はこのような感じになりました。
こちらをプリント基板作成サービスに発注します。少しでも電池を入れる余裕を作るため、プリント基板の厚みは1mmを選択しました。
組み立ててみる
実際に届いた基板がこちらです。

こちらに部品を実装したものがこちらです。部品点数は多くはないですが、5本足のチップデュアルトランジスタやチップデュアルJFETがあるのでそれらの取り付けはちょっと神経を使います。

ボリュームポットは軸の上あたりに細いワイヤーを絡め、このワイヤーを基板のGNDと繋がっている穴にはんだ付けすることで、取り付け強度の確保とケースのアース接続を行っています。

ケースにはこのような形で収まる感じですです。

ケースへの組み込みですが、順番を間違えると収まらないので注意が必要でした。まず、ジャックをケースに取り付けて軽くねじ止めします。

続いてボリュームポットが取り付けられた側の基板を取り付けます。

ちなみに上側に取り付けられているDCジャックはケースには固定されておらず、ケースのその部分には穴を開けているだけです。DCプラグの外側(センターマイナスなので+電圧がかかるところ)が、GND(アース)に繋がっているケースに接触しないかが不安でしたが、現状特に問題はなさそうでした。
最後にフットスイッチとフットスイッチ側基板を取り付けて、フットスイッチとジャックをはんだ付けします。ここでジャックをはんだ付けしてしまうと、そのはんだを除去しない限り分解ができなくなるため注意が必要です。そのため、組み込み前に正しく動作するかをチェックしておくのが良さそうです(実際一部のハンダ付けが正しく行えておらず、組み立てたあと分解して組みなおす羽目になりました)。最後にナットをしっかり増し締めして完成です。
組みあがるとこういう感じになります(試作品と言うことで分解して部品を差し替える可能性があるので、ジャックのハンダは少しだけにしています)。

乾電池も収まります。ボリュームポットの足などをハンダ付けした部分が電池に接触するのはよろしくないので、上側の基板にはビニールテープ的なもので適切に絶縁処理を行うのが良いそうです。

こうやってあとからまとめるとすんなりできているように見えますが、実際は何度か試行錯誤しながら細かい寸法を決めるなど、なかなか難産でした。とはいえ、こういう感じで電池とともに部品一式をミニサイズケースに収めることは可能なことが分かりました。正直基板の制約が大きいのでもうこのタイプのエフェクターはしばらく作りたくはないですが……。
3 notes
·
View notes
Text
JFET差動増幅ブースターにトレブルコントロールを付ける
JFET差動増幅回路を使ったブースターにトレブルコントロールを付けた話です。

前回・前々回の回路でほぼブースターとしての基本機能はできていたのですが、それだけだとちょっと地味なのでトーンコントロール回路を追加しました。また、細かい改善も加えています。回路全体はこんな感じです。
以下、各ブロックを解説していきます。ちなみに「INPUT_B」のように「_B」で終わっているラベルがありますが、これは基板分割を行うために用意したもので、「_B」が付いていないラベルとJ5~J11で接続されています。
電源ブロック
本回路は消費電力が約4mAと少ないため(実測値)、9V電池駆動でも100時間程度は動かせそうです。そのため、電池駆動を想定した回路にしています。R16、C2、C10は電源ノイズ低減のためのローパスフィルタ(カットオフ周波数は約16.9Hz)です。R16に流れる電流が4mAの場合、ここで0.4Vの電圧降下が発生しますが、この程度であれば許容範囲だと判断しています。
D3のツェナーダイオードは瞬間的な大電圧(サージ電圧)からの保護目的で入れていますが(参考:過電圧保護に適したツェナーダイオード)、厳密な検証はしていないのでおまじないだと思ってください。
D4のショットキーダイオードは逆電圧保護用です。R16での電圧降下もあるため、可能な限り順方向の電圧低下が少ないものを使いたいところです。
フットスイッチとLEDブロック
ON/OFF切り替えは一般的な3PDTフットスイッチを使用しています。RV4はLEDの明るさを調整するための半固定抵抗器で、D2は電源電圧が低下した場合にLEDを消灯させるためのツェナーダイオードです。電源電圧がD2のツェナー+約2Vを下回るとLEDが光らなくなります。たとえば5.1Vのツェナーダイオードを使用している場合、電源電圧がおよそ7.1Vより小さくなるとLEDが消灯します。
LEDへの電源供給は電源ブロックのD4より手前から分岐して行っています。これは、D4に流す電流を少しでも少なくして、D4での電圧降下を減らすためです。そのため、もし電源をプラスマイナス逆に接続するとLEDにもプラスマイナス逆方向に電圧がかかります。これによる破損を防ぐため、LEDには逆方向にも電圧を加えられる無極性LEDを使用します。ちなみに、LEDに直列に接続している抵抗は抵抗値が10kΩと大きいため、1/4Wの抵抗器を使用していれば理論上はだいたい50Vまでの電圧に耐えられるはずです。
電流制限回路ブロック
カレントミラー回路を使った電流制限回路です(参考:END Japanの記事)。Ic1、Ic2に流れる電流を約0.8mAに制限します。
プリゲインブロック
デュアルJFETを使った差動増幅回路です(参考:nahitech.com)。前段に接続する機材によっては信号電圧に直流電圧成分が含まれている場合があるので、誤動作を防ぐためコンデンサ(C1)を入れて入力信号の直流成分をカットしたうえで増幅回路に入力しています。RV1はこのブロックでの増幅率を調整するための、いわゆるゲイン調整ポットになります。また、JFETのゲート・ドレイン間にはわずかに漏れ電流が流れ、これがRV1を経由してノイズ源となります。この漏れ電流をGND側に流して低減するためにC9を入れています。このブロックでの増幅率は約28dB(およそ25倍)です。
トーンコントロールと後段ゲインブロック
トーンコントロールには可変抵抗器とコンデンサを使ったシンプルな回路を使いました。RV2を反時計回りに回しきった状態では単純に信号の全帯域が6分の1に(20k/120k、約-16dB)減衰します。RV2を時計回りに回していくとC3およびR17にも信号が流れるようになり、この部分は高音域ほど抵抗値が少なくなるため、それによって高音域の減衰が少なくなって結果として相対的に高音域が増えます。また、C6は一定以上の高音域をカットするために入れています。その結果、周波数特性としてはおよそ6kHzあたりをピークとして最大12dBのブーストができるようになっています。
このトーンコントロール回路では全体のゲインを下げたうえで高音域だけを上げる動作になるため、トータルでの出力音量は下がります。それを補うために出力前に信号を再度差動増幅回路で増幅します。ここではすでに信号レベルがある程度大きくなっているので、再度コンデンサ(C4)を通して直流成分をカットしたうえでR14とR19で信号レベルを半分に減衰させています。
出力ブロック
RV3は出力レベル調整用(ボリューム)の可変抵抗器です。C7はRV3で交流成分のみを減衰させるために入れています。また、Q5周辺はトランジスタのエミッタフォロワを使ったバッファ回路になっており、最後にC5を通して再度直流成分をカットして出力しています。
テスト実装
回路規模が小さいので、秋月電子のブレッドボード配線ユニバーサル基板(Dタイプ)上で実装できます。
また、デュアルトランジスタ(HN4C06J)とデュアルJFET(2SK2145)はDIP化基板を使って実装します。ちなみに秋月電子では2SK2145-BL/GR/Yとドレイン電流(IDSS)が異なる複数バージョンが販売されていますが、差動増幅回路で利用する場合はどれを使っても大きな違いは発生しないはずです。
実際に実装したものがこちら。コンデンサはジャンク箱にあったあまりものを使っているのでバラバラです。

これをケースに収めるとこんな感じになります。ケーブルの配線が雑ですが、このようにいわゆる「Bサイズ」のケースに収まります。
回路の差し替えがしやすいようにコネクタを使って配線しているため奥行きがぎりぎりですが、ケーブルの長さを適切にして直接基板にケーブルをはんだ付けすればもう少し奇麗に収まるかと思います。

出音について
接続する楽器にもよりますが、ゲインを12時あたりに設定するとほぼクリーントーンになります。この場合でも最大でおよそ+18dB(8倍)の増幅率ができるので、ブースターとしては十分実用的でしょう。また、トレブルを上げていくとさらにそこから6kHzをピークに高域を最大で約+12dBブーストできます。そこからゲインを上げていくと歪んでいくのですが、信号レベルが増えるにつれて歪みが増えていくソフトクリッピングのため、ピッキングの強さで歪み方をコントロールできる感じです。
高音域は強めにブーストできますが、ローカットはしていないのでベースでも問題なく使えます。ギターで使う場合はトレブルを上げ目にして全体のボリュームを下げると相対的にローが減ってギター向けエフェクターっぽくなるかと思います。
回路のカスタマイズポイント
2つの差動増幅回路どちらも入力レベルが大きくなると歪みが発生するのですが、特に後段では歪みが大きくなりがちです。そのため、後段の差動増幅回路の前でどれだけ信号レベルを下げるか(つまりR14とR19の値)で歪み方が変わります。また、RV2、C3、R13の値の組み合わせでブーストする周波数帯やブースト量を調整できます。このあたりをカスタマイズすることで歪み方や出音を細かく調整できそうです。
4 notes
·
View notes
Text
お前は2024年買った機材を覚えているか
恒例のやつです。もちろん覚えていないのでスマホ写真とGmailの注文確認メールを見ながら思い出しています(去年のコピペ)。今年は全然機材を買っていない気がします。

ということでいきなりショボいアクリル端材。これでモジュラーシンセのケースを作ったので機材です。

E.W.S. JAPAN Tri-logic Bass Preamp Ⅲ

プリアンプという名前ですがほぼイコライザーです。正直イマイチな感じでこれが自作EQペダルを作るきっかけになりました。多分1.3万円くらいだった気がする。
xTool M1

一般のご家庭でも使えるサイズのレーザー加工機。機材のケースを作ったり、治具を作ったりと今年一番活躍した機材といっても過言ではありません。約14万円。
Ableton Live 12
最近音楽制作をやっていないので迷ったのですがまあお布施になっても良いかなあという気持ちでアップデート。21,440円。
ギター用ブリッジ

BASS VIのブリッジをレスポールタイプのものに変更。ノーブランドのお安いやつなので2000円くらい(ただし試行錯誤で色々やったのでトータルでは5000円くらい)。
ヒーティングガン

主用途としては熱収縮チューブを収縮させるために購入。実は表面実装部品のはんだ付けにも使えないかと思っていたのですがうまくいきませんでした。熱風で部品が飛んでいく……。5000円くらい。
テスター

トランジスタのhFEを調べられるやつが欲しいと思って探した結果秋月電子おすすめのこちらに。一通りの機能はそろっているしテストリードも取り回しやすく早く買っておけば良かったと思いました。3000円くらい。
Xiaomiのチューナーレステレビ

43インチ。発売記念セールで安かったので突発的に買いましたが未だに封を切っていません。約3万円。
BOSS Bass Limiter LM-2B

一度は定番品を触ってみたいと思っていたところにハードオフで安く売っていたので購入。約3000円だったと思います。無難に使いやすい。ただすでに手持ちのコンプは飽和状態なので多分現場での出番はない。
CHOCOLATE PLUS(MIDIフットスイッチ)

USB、MIDI、ワイヤレスと現在一般的なほぼすべての接続方法に対応しているMIDIフットスイッチ。ただし多分ワイヤレスは日本の法律的に使ったらアウトなやつなのでどうすべきか考えつつ速攻で分解しています。約4000円くらい。
Fender純正5弦ベース用ブリッジ

2010年ごろのFender USAの5弦ベースで使われていたブリッジ。約6000円。買った後に気付いたんですがこれ裏通し専用だしネジ穴の間隔も今自分の5弦ベースに付いているBADASSタイプのものとは微妙に違うしで、どうしようコレ、という感じになっています。
ということで、レーザー加工機とLive 14が今年の大きな買い物でした。最近は機材は買うより作るほうになっておりそのせいでMNG頻度が下がっている感じです。来年は果たしてどうなるでしょうか……?
2 notes
·
View notes
Text
JFET増幅回路連結でもっと歪むブースター
前回紹介した、JFET差動増幅回路を使ったブースターに少し手を加えてみました。

前回の記事はこちら。
ここで使っているJFET差動増幅回路は、バイアスをかけずに(0Vを中心にプラスマイナス両方に振れる)信号を増幅できます。ということで、これを単純に直列に2つ連結してみました。回路としてはこんな感じです。
こうするとゲインはおよそ58.4dBほどになりました。dBでは2倍ですが、振幅で見ると25倍×25倍で225倍、とてもハイゲインです。
三角でシミュレーションすると思いっきり歪みますね。また、よく見ていただくと分かるのですが、上下で若干非対称なクリッピングになっています。これは、前回のものからカレントミラー回路(トランジスタに流れる電流を制限する回路)の抵抗値を変えた(R7、R20を12kから10kに変更した)ことで差動増幅回路の出力電圧が全体的に下がり(一般的なトランジスタ回路においてバイアス電圧が下がったことに相当)、これによって出力バッファ部分のトランジスタでハードクリッピングが発生しているためです。
実際の出音はこんな感じです。
この回路はカレントミラー回路や差動増幅回路の抵抗値を変えるとクリッピングの仕方や動作点が変わり、結果として歪み方も変化するので、試行錯誤してみるとよさそうです(続く)。
2 notes
·
View notes
Text
JFET差動増幅回路による歪むブースター
部品点数少なめだけどゲインを稼げて軽く歪みもするブースター回路を試作した話です。
回路図はこんな感じです。回路図上のJ1・J2は2SK2145というデュアルJFET、Q1とQ2はHN4C06Jというデュアルトランジスタを想定しています。Q1・Q2周辺の回路はカレントミラーと呼ばれる、トランジスタに流れる電流を制限する回路で、J1とJ2周辺は差動増幅回路と呼ばれる増幅回路です。Q3はいわゆるエミッタフォロワ回路で、ユニティゲインのバッファとして動作します。抵抗値が1Ωとなっている抵抗器(R4、R6)はパラメータ調節用として入れてあるだけで、実際には省略可能です。
この回路は006P乾電池、もしくは9V出力のACアダプタなどのプラスの電圧しか取り出せない電源(単電源)を想定しています。エレキギターなどが出力する信号はプラスとマイナス両方の電圧が含まれるため、単電源を使用する回路では電源を分圧してバイアス電圧(たとえば電源電圧が9Vの場合一般的には4.5V)を生成し、これを入力信号に加算したうえで増幅を行うことが多いのですが、この回路では入力部分にJFETを使うことで、バイアス電圧を別途用意せずに増幅しているのが特徴です。
R1・R2は1MΩの可変抵抗器、R9とR10は100kΩの可変抵抗器を想定しており、それぞれゲインとボリュームに相当します。両方フルにした場合の増幅率は、シミュレーション上はおよそ28dB(約25倍)になります。
もちろん電源電圧以上の信号は出力できないので、入力信号が一定を超えるとこんな感じで徐々に歪んでいきます(いわゆるソフトクリップ)。
実際にブレッドボード上で試作するとこんな感じになります。

鳴らしてみると、こんな感じで歪みます(最初8秒くらいは比較用のクリーントーンです)。
この回路は部品点数が少ないので小さいケースにも組み込みやすいのですが、これだけだとシンプル過ぎるので、もう少しここから手を加えていく予定です(続く)。
6 notes
·
View notes
Text
安いブレッドボードを買ったらイマイチだった
秋葉原で買った安いブレッドボード、部品が刺さりにくい・刺さってもすぐ抜ける(特にICなど)・刺さっても実は接触不良、みたいなパターンが多くストレス源になったので捨てようと思って分解してみました。

上から端子を挿し込むとこの金具が広がって端子を挟む形になるはずなんですが、ところどころ広がらずに金具自体が変形してしまっている部分がありますね。この金具の高さ(長さ? 深さ?)が長すぎるのが原因のような気がしましたが真相は不明です。
もう外れは引きたくないので代わりに一番高い(といっても370円)のブレッドボードを買ってきましたが、そちらはスッと部品が刺さってとても快適です。ブレッドボードもブランド品(?)を選んだほうが安心なのかもしれません。
3 notes
·
View notes