電子工作

小物工具(#28)

| コメント(0)

 久しぶりにまともな計測器を購入しました。

YOKOGAWA 73202
 YOKOGAWA 73202

 計測器セールをしていたのでFLUKEの107と比べてだいぶ悩んだ挙げ句に使っていたカード型テスターがYOKOGAWA製ということもありこちらを選択・購入。
 ハンディタイプの4000カウントデジタルマルチメーター、DC V測定レンジで入力インピーダンス10MΩ以上、測定確度も0.5%と言う事で十分です(比較対象だったFLUKE 107は6000カウントで0.5%なのでそちらの方がちょっと性能が上)。

 以前、オペアンプを使った製作物の電圧チェックを行っていた時に、爆安デジタルマルチメーターでは測定インピーダンスが小さ過ぎてまともに計測できなかった時に唯一使えたのがYOKOGAWA製のカード型デジタルマルチメーターだったのです。昔の開発職にいた当時に先輩から頂いたのですが、この時ほどまともな測定器が有難いと思ったことはありませんでした。
 普通に使う分には問題が無いのですが、ちょっと特殊な条件だと爆安テスターのチープな測定回路では太刀打ちできない状況があります。確度が判らないので表示値の誤差がどれぐらいあるのか不明、低抵抗測定でテストリードをショートしてもゼロ表示にならないとか、先のように高インピーダンス回路での電圧測定などは使い物にならないのです。まあ、値段が値段ですからちょっとした測定で良い場合は気軽に使えるのですが、シビアな測定をする状況ではちゃんとしたテスターが必要です。
 あまり持ち運ぶ事は無いと思ってベンチトップ型のデジタルマルチメーターとも考えたのですが、性能なりにやはりお値段も高いですし場所もとります。ということで、お片付けが簡単なハンディタイプにしてしまいました。
 恥ずかしいお話で、まともなテスターを購入したのは高校時代に三和電気計器のアナログマルチテスターを購入して以来だったりします。

チョークコイル

| コメント(10)

 数値的な事や具体的な計測はしていないのであくまでも聴感上の話として。

ファインメット トロイダルコア
 ファインメット トロイダルコア

 デジット店頭で強力にイチオシされた(笑)ので購入し試してみました。
 聴き取りにある程度シビアかじっくり聴き分けることができる環境ならすぐ分かるかと思います。

 日立金属のファインメット®とはナノ結晶軟磁性材料と呼ばれる素材で、非晶質なアモルファス合金を結晶化させることで特性が大幅に改善されるという逆転の発想で産まれた素材です。高飽和磁束密度、高透磁率 、低磁心損失と磁性材料の理想の方向へと特性が改善された磁性体で、Co系アモルファス合金やFe系アモルファス合金、珪素鋼などを超える特性を持っています。
 コモンモードチョークコイルやパルストランス、カレントトランスなどの他、ノイズ抑制などを用途として想定されていますが、これをオーディオに使って音の味付けにしてしまおうという魂胆です。

 元々の用途であるコモンモードチョークとして、スイッチング電源の出力側にコモンモード巻きをして使おうと思ったのですが、ヘッドホンやスピーカーの出力部分に咬ませると劇的に音が変わるとの事。
 理論的にはコイル成分が入ることにより、立ち上がり・立ち下がりが緩やかになって高域が減衰するとはいえ、元々が数MHz帯からAM帯を抑制するのが目的のコアで可聴帯域に簡単に効果が出るのだろうかと思っていたのですが、意外と効果が出ました。販売されているのは日立金属のカタログから察するに「FT-3K50T F3724ES」に近い製品だと思われます(FT-3K50T Fシリーズというのは見つかるのですが、Sの文字が入った製品は見当たりません)。10kHzでの抑制特性数値も出ていますので、どうやら可聴帯域でも十分効果があるようです。

 さて、聴感上の変化ですが自作の3石ディスクリートヘッドホンアンプにATH-A500Xを接続し試聴しました。ここからの感想はあくまでも私個人の感想です。その点を差し引いてご覧下さい。音源は我が家にはハイレゾ音源が無いのでMP3 256kbpsVBR圧縮した物から44.1kHzの非圧縮まで試しました。

 1ターン:高音域がマイルドになり聴きやすくなりました
 3ターン:高音域が1ターンより抑えられた感じになり、やや低音域が目立ちます
 5ターン:高音域はさらに押さえ込まれ、逆に低音が暴れ始めます

 アンプの出力インピーダンス特性や、ダンピングファクタ特性、ヘッドホンやそのケーブルの特性などに左右されると思いますが私の試聴環境だと1〜2ターンぐらいが味付けには丁度良い感じです。
 クリアな高音を求める人には逆効果になるので、聴く音源と聴感上の好みの問題で使用の可否が決まると思います。最近のリマスター盤やハイレゾ版などはレコード盤の頃から比べて高音域を伸ばしているものもあるかもしれませんので、その様な音源を聴く時の音の味付けには使い勝手が良いアイテムでしょう。

 スピーカー出力側にはまだ試していませんが、生活ノイズが溢れていない様なシビアな状態を作らないと差が確認できにくいかもしれません。

 もっともACラインからの高周波ノイズの抑制やコモンモードチョークコイルにした場合は確実に効果があると思いますので、そちらに用いる場合はオシロスコープやスペクトラムアナライザなどではっきりと差が確認できるはずです(元々はそちらの用途ですからね...)。
 私がこの記事を作成する前に様々な方が試しているようですので、そちらも合わせてご参考にして総合的に判断してもらえればと思います(FT-3K50TSで検索)。

Raspberry Pi 3

| コメント(4)

 年末セールでお安くなっていたので購入。

Raspberry Pi 3
 Raspberry Pi 3 Model B

 Pi/Pi2からかなりの性能アップ。消費電力もアップ(苦笑)。
 先に購入していたRaspberry Pi Model B+から比べるとコアの増強(ARM1176/2コア/700MHz→ARM Cortex-A53/4コア/1.2GHz)、メモリも増強(512MB→1GB)しています。
 一番の困ったちゃんなのが消費電力です。600mA(3W)から1.4A(最大2.5A)も食うので高性能なのは良いのですがピーク時2.5Aというのは5V電源としてはかなり大容量の電源を要求されます。通常のUSB給電用のアダプタは1Aぐらいが普通で、iPad対応で2Aぐらい。
 まあ、オンボードでWi-Fi(802.11n/b/g)とBluetooth 4.1を搭載しているので仕方が無いとは言え、3Aぐらいの容量が無いと辛いと思います。

 microSDオンリーなのはPi 1 Model B+と同じなのですが、ソケットがラッチなしの廉価版に変更されてしまっていてちょっと残念。

 早速Volumio2の最新バージョン2.348のディスクイメージをmicroSDカードにインストール(手順等は以前の記事Volumio 1.55 / Volumio2を参照して下さい)して起動してみますと、Ethernetは当然ですがオンボードのWi-Fiがそのままホットスポットとして起動し、なにも機器を追加したり設定を変更する事無く有線でも無線でもAirPlayのプレイヤーとして接続してすぐに使う事ができる状態になっています。本当に手間いらずになりました。
 ただしBluetoothはVolumio2のインストールイメージには含まれていませんので使うには追加でインストールと設定が必要になります。通常のRaspbianであればそのまま使えるはずですが、Volumio2の環境と融合させるのは面倒そうですね。

 とりあえずVolumio2を使って1日稼働してみましたが、負荷がそれほど高く無いせいか、オンチップのデバイスは熱くなる事も無く熱暴走もせず快適に利用できました。一応、放熱器は別途購入したので機会を見て保険と思い付けておこうと思います。

 ハイエンドのパソコンとまでは行きませんが、そこそこ高性能なLinux環境を低廉な価格で利用できるのはやはり素晴らしい事ですね。ワンボードなのでケースや放熱の工夫等は別途必要ですが、それでもこのお手軽感はうれしいのですがMPDとしてだけ使うにはもったいないスペックです。

 究極の小型MPDを構築できるPi ZEROも気になるところですが、またの機会に。

OS Xでシリアル

| コメント(11)

 シリアル、朝ご飯に食べるやつじゃないです。

USB-UART
 USB-UARTインターフェース

 どうしてもシリアル通信をしないとならない時もあります。

 移動用のメインマシン(もちろん出先でのメンテナンスにも使う)のOSをEl Captain(10.11)にアップしてからだいぶ経ちました。
 先日、会社の基幹ルーターのセットアップをするのにUSB〜シリアル変換ケーブルを挿すと認識はおろか、マウスが勝手に移動するとかマルチタッチアクションとかを勝手にしてくれたり、文字打ちするとCapsLockがインジケータの表示無しに入ったり切れたりなど、とてもまともな操作ができなくなるという現象が発生。これは、ドライバが問題なのではないかと当たりをつけました。多分HID(マウス・トラックパッド・キーボード)に影響している可能性が高い。

 まず、ドライバインストールで躓きました。もう、最近のOS X(El Captain)はセキュリティがガチにデフォルト設定されている箇所があって、簡単にシステム系のファイルを書込むことができなくなっています。それはそれで良い事なのですが、いろいろとデバイスを外部につなぐ業務があると支障が生じます。今回のようにKernel EXTentionをインストールしたりテストする際にはおせっかい過ぎて邪魔な機能なのです。

 根本的な要因は新しいSystem Ingegrity Protection(SIP、通称Rootless)が動作している事によります。これは例え管理者権限であっても、"/System"、"/bin"、"/usr"、"/sbin"などのシステムに重要なファイルがおかれているディレクトリにファイルを書込むことができない(インストールできない)強力な保護機構です。
 ドライバをインストールするにはこの機構を開発者向けに外すためのコマンドcsrutilが用意されており、ターミナルからコマンドラインを使って設定を変更しなければなりません。
 このSIPをオフにするには"csrutil disable"と打ち込めば良いのですが、通常の起動時にはエラーとなり変更できません。変更するにはCommand+Rを押しながら起動するリカバリーOSの状態でないとダメなのです。

 もっともユーザーには"~/Library"が開放されていますので、"~/Library/Extensions"にドライバのkextファイルが書込めれば問題なく使えます。ただし、この場合はログインする全てのユーザではなく、ログインしたユーザーだけに限定されますが、個人用の利用であれば問題は無いでしょう。

LM3915部品セット

| コメント(0)

 最近気になってじわじわと買ってしまう中華電子工作キット。

LM3915レベルメータ
 LM3915レベルメータ部品セット

 例によって説明書なし、部品と基板だけ。電子工作キットというより部品セットですね。
 ごくごく普通のLM3915アプリケーション回路を基板にしたもののようで、部品は定数がシルク印刷されているのでそれを頼りにカラーコードなどを見て実装する必要があります。

 当然ですがデバイスや回路をある程度理解して購入するのなら良いのですが、手取り足取りの説明書がついていないと難しい人には難易度の高過ぎる電子工作キットです。いい加減さを許容できない人には向いてないですね(苦笑)。
 実際に購入サイトのレビューを見ていてオーディオ入力を入れてもLEDが動かないとありましたが、まずLM3915はAC入力ではないのでDCレベルしか扱えませんし、回路の設定するVREFがどれぐらいの信号レベルになるかも解っていないとフルスケール(0dB)が何Vなのかも知り得ません。データシート見て実装部品の定数見て調べるしかありませんから。
 これらを理解した上で調べるのが苦にならない人が購入・組立するとしたら激安です。部品代どころか買いに出る電車の交通費以下の激安キットと言えるでしょう。

SPI-Ethernetモジュール

| コメント(0)

 配線が面倒なので(笑)。

ENC28J60 Ethernetモジュール
 ENC28J60 Ethernetモジュール

 Ethernetをマイコンベースで使おうとしてユニバーサル基板で使いやすいDIPパッケージのENC28J60を秋月で販売しているのを思い出し調べていたところ、デバイスだけでなくRJ-45のソケットまでついた中華激安モジュールが販売されているのを見つけてしまい、そちらを購入してしまいました。
 ArduinoのW5100 Ethenetシールドとは違うので、簡単に利用するには別途ライブラリが必要になりますが世の中の先人達がいろいろと作成してくれているので利用するためのライブラリは簡単に入手できそうです。

 何をしたいのかと言うと、NTPクライアントを作成して時刻合わせ不要の精確な時計を作ろうかと目論んでいるところです。
 実際に目的を達成するにはRFCのNTP関連とArduinoのENC28J60ライブラリの使い方を調べてプログラムを実装しなければなりません。DNSとDHCPのクライアントにNTPクライアントは確実に必要ですので、これらのプロトコルまで実装してUnoやnano(ATmega328P)でプログラムメモリが足りるかどうか心配です。

I2C-LCD I/F

| コメント(0)

 激安モジュールトライアルの続き。

I2C_LCD I/F

 IIC/I2C/TWI/SPI シリアルインタフェースボードモジュール

 激安中華なモジュールをちょろちょろと買い込んで調べています。
 キャラクタLCD表示器は便利なため頻繁に使用するのですが、4bitパラレルモードで使用しても配線数が多くて制御線の操作もけっこう面倒。自分用に初期化から表示などコマンド類を含めた一連の操作をライブラリ化をしたものを作成してありますが、たまにはArduinoをベースにして世の中の賢い人が作ってくれた背中に乗ってしまおうと安易な方向へ流されました(笑)。パラレル4bit接続ではなくI2Cで接続したLCDディスプレイの利用です。

 NXPセミコンダクタのI2C 8bit I/OエクスパンダPCF8574Aを搭載したLCDモジュール向けのI2C制御モジュール基板。
 モジュールのデバイスデフォルトアドレスはアドレス設定ピンA0〜A2が10kΩでプルアップされていますので0x3Fとなりますが基板上のパターンにA0/A1/A2のショート用パターンが出ていますので、ここに0Ωのチップ抵抗を実装かショートすれば0x38〜0x3Fの範囲の任意のアドレスを設定することができ、別々にすることで最大8台のキャラクタLCD表示器をI2Cバス上に接続できます

 ここでは自前のLCDライブラリを使わずにmarcoschwartzさんの作成したLiquidCrystal_I2Cライブラリを使ってみました。
 使い方は至極簡単で

#inlcude <LiquidCrystal_I2C.h>
// lcd(address, col_num, row_num)
LiquidCrystal_I2C lcd(0x3F, 16, 2);

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Hello, world!");
  lcd.setCursor(0, 1);
  lcd.print("Arduino Uno R3");
}

void loop() {
}

と記述するだけで使用できます。

 とりあえず、ライブラリの動作確認を手持ちのArduino Uno R3を使って行ってみました。
 動作確認サンプルなので横着していますが、実際には初期化部分だけをstartup()に記述して実際の表示周り操作はloop()やその中から呼び出される関数で記述します。

 用意されているライブラリのメッソドにはHD44780互換デバイスの制御に使うものが豊富にあって、CGRAMにオリジナルキャラクタを書込むメソッドも用意されており大変便利です。

 この子基板をLCDモジュールの基板背面に実装する場合、この子基板の裏側の部品とLCDモジュールの裏側の部品が干渉して接触する微妙な距離になる場合があります。予めカプトンテープなどで覆って絶縁を行うか、モジュールに子基板のコネクタをハンダ付けする際に十分な隙間をあけて実装して、隙間を確保するスペーサーを挟むなどするようにした方が後々のトラブルにならないと思います。

※ 搭載しているデバイスがPCF8574の場合とPCF8574Aの場合があるようです。中華な製品の場合、平気で調達の状況かなにかで勝手に仕様変更して出てきますので注意が必要です。1ロット中であっても変更が入る例を見てきたことがありますので...。
 私の入手した物ではPC8547Aでしたが、もしPCF8574(Aなし)の場合は、I2Cのデバイスアドレスがデフォルト0x27、アドレス設定範囲は0x20〜0x27になりますのでご注意ください。

Bluetooth接続アンプ

| コメント(0)

 最近ハマりかけの激安中華ボード類で見つけました。

オーディオレシーバーボード
 Bluetooth 4.0 オーディオレシーバーボード

 とにかく安い。安過ぎる(購入してからこの記事を書くまでの間に大幅値上げがありましたが、それでも安い)。ただし中華製なのである程度の率で不良の覚悟は必要です。
 今回のボードもよく見るとタクトスイッチが傾いていたりチップ部品のハンダ付けも微妙な雰囲気を匂わせているので、トラブル対応覚悟で購入ならお買い得かな〜、と。使っている部品やボードレイアウトなどを見る限り、他社の同じボード機能のパクリのような気がしますがどうなのでしょうか...。
 一番の問題点はボードが導電性袋のパッケージ入って送られてきてそれでおしまい。ドキュメントは何もありませんのである程度ハードウェアを調べる事ができなければ使い物にならないところが難点と言えるでしょうか。

 ボードの構成としては電源をUSB-microBで供給するタイプで+5Vのみ給電で動作。
 CRS8635 Bluetoothチップを搭載したオンボードアンテナのBluetoothモジュールでステレオ受信することができ、NE5532とD級アンプのPAM8403で増幅してそのままスピーカー出力を得られます。残念ながらCRS8635のUSB I/F機能は利用していないようで、USBコネクタは単純に電源供給のみに利用されているようでちょっと残念です。
 PAM8403はD級アンプICで3W/4Ωの出力が得られます。LCDモニタやノートPC、ポータブルスピーカーなどを想定ターゲットとした外付け部品も少ない非常に使いやすいICです。

 3つあるタクトスイッチは音量の+とー、Bluetoothのペアリング用ボタンとなっています。この機能はCRS8635の外部インターフェース機能を利用しているようです。
 Bluetoothのデバイスペアリングはペアリングボタンを押した後、接続する側で「SANWU Audio」の名称が見えれば選択してペアリング完了と大変簡単。

 直接スピーカー出力が出ていますので、基板上のコネクタまたは基板裏のパッドに配線をハンダ付けしてスピーカーをつなぐだけですぐ鳴らすことができ、お手軽にBluetoothスピーカーを製作するにはもってこいでしょう。
 4Pのコネクタは日圧のXHコネクタがそのまま利用できます。

サラウドン

| コメント(2)

 いや、サラウンド。

SSM-2126
 SSM-2126

 ディスコン・デバイスですが、なかなか面白そうなので入手。こうやって部品の在庫が増えるんですよ。作らずにおいておくだけの自宅デッドストックが...。以前にもJRCの疑似サラウンドICのNJM2701基板を作るだけ作って実テストしてないのもあるのですが(苦笑)。

 CR類の簡単な外付け回路だけでドルビー・プロ・ロジックのサラウンド・マトリクス・デコードが行えるデバイス。ちゃんとドルビーのロゴマークもついています。
 L/R信号を突っ込めばLEFT/RIGHT/CENTER/SURROUND(REAR)の4スピーカー出力が得られます。電源は+12V単電源で動作し、マイコンなどと接続して設定を通信しなくてはならない今時デバイスと違い外部制御端子だけで動作する簡単な設定方法。
 それにしても48ピンの600milパッケージというのは大きくて重く、かなりの存在感があります。実売していた当時はそれなりに良いお値段だったのでは無いでしょうか。
 機能的には4chのプロ・ロジック、3chのドルビー3、バイパスの設定があり、左右の音の大きさに差が大きすぎると自動的に補正するオートバランスの動作モードもあり、なかなか使えそうです。

 実装には単なるスイッチやショートピンでモード設定とすると設定固定なら問題ないですが、切替を簡単に行うようにするなら使い勝手が悪そうなのでマイコンとLCDディスプレイでモード表示と変更を行うようにしたいところ。
 まずはショートピンと外部制御端子を並列接続したユニット基板を作ってテストしなければ。

中華ナノ

| コメント(1)

 先日のマトリックスLEDの制御用で導入。

Arduino NANO V3
 Arduino NANO V3 互換ボード

 "Arduino"のロゴと名称は商標で製品に使えないためロゴも含めて記載がなく、モデル名のみ小さく"NANO"とシルク印刷があります。シルク印刷の精度が悪く、切れたりつぶれたりする所があり、基板の切断面も荒れていたり、添付のヘッダピンが金メッキでなかったりとなかなかワイルド(笑)な感じです。
 なにせ、この互換ボードが安い。いや、安すぎる。Arduino SRL社の純正品を正規代理店から購入すると2,800円程度の価格になりますが、このボードだと300円台です。もう、ATMega328のデバイスを買うより安いのではないかと思える価格。
 さすがに使えないと判っているハードウェアにお金を払うほど太っ腹ではないので事前に調査。多少の手間は必要なものの、Arduino IDEから普通に使える事が判明したので心配ではありますが、ダメ元で購入してみました。ええ、もう一気に5台も(笑)。いや、中国製のロット不良を心配している訳では無いですからね。無いですってば。

 まずPC側と接続するシリアルポートのデバイスが純正品であるFTDIのFT232互換ではない事。そのまま接続しても当然ですが認識しません。どうやら中華製のCH340というデバイスが使われているようです。このデバイス、中華製Arduino互換ボードではあたりまえのように使用されていて、よほど安いのでしょうか。価格を調べてみたら$0.3〜0.5あたりが少量ロットの相場のようです。FT232が$2程度することから考えるとUSB-TTL Serial変換デバイスとしてコストを抑えるためには採用するのがうなずけます。

通信中
 通信中(書込み中)
 TX/RXランプがほんのり点灯している

 さて、そのままでは私のメイン環境であるMacOS X 10.11 El Capitan上のArduino IDEでを利用できないので、デバイスドライバを捜してインストールします。ここでトラブルに遭遇。MacOS Xは10.8(Mountain Lion)からセキュリティが強化に導入されたGatekeeperにより、開発元が未確認で開発元の署名がされていないソフトウェアはインストールできません。10.10(Yosemite)からはさらに強化されており、署名のないkernel extensionsはインストールしても認識されないのです。いろいろネット上を漁って調べ、署名付きのドライバがある事を見つけてインストール。無事、通信ができIDEと接続・書込みすることができるようになりました。署名無しのドライバでも一時的にセキュリティを下げて強引にインストールする事も可能ですが、さすがにそこまでの無理矢理感は達成したくありません。

 サイズも小さく、Arduino IDEのライブラリ群を使えるためAVR GCCのフルスクラッチに比べると開発がかなり早く終わりそうです。ライブラリ群の実行コードサイズが気になりますが、それほど大規模なファームウェアになりそうもないので浮動小数点演算を使わない限り大丈夫でしょう。
 これでI2Cデバイスへのアクセスがラクチンになるので今後が楽しみです。

次のページ