電子工作

AudioDisp完成

| コメント(0)

 ちょっと紆余曲折ありましたが完成、動作確認。

AudioDisp動作中
 AudioDisp動作中

AudioDisp基板
 AudioDisp基板

 手持ち部品を最大限活用して製作しましたので、部品表に記載のある型番と異なるものがいくつかあります。デジタル系3.3V電源の低飽和型レギュレーターはROHMのBA033CC0Tから東芝のTA48033に、OPAMPをTexasinstrumentsのTLV272からMicrochipのMPC602になっていますが、それ以外はほぼ同じです。

 組立資料に従いRaspberry Pi picoのファームウェアを書込み、ジャンパーピンを設定してオフセット調整を行いオーディオデータを入れて動作確認しました。あとはどう筐体に収めるかが思案のしどころです。

AudioDisp製作

| コメント(0)

 comonekoさんの基板で製作開始。

AudioDisp
 AudioDisp製作準備

 デジット店頭で基板を入手してから組立資料を熟読し制作を開始しようとしたのですがLCDモジュールなどはともかく、手持ちの部品ストックでは足りないものも多かったので日本橋に買い出しにでて不足部品をそろえて準備です。

 デジットのTweet(pic.twitter.com/RLt7egrv9C)で紹介されていたのでまず基板を入手。ディスプレイ縦のタイプを選択しました。
 以前dsPICで制作されていらっしゃったものから機能増強しRaspberry Pi picoで動くように組んだプログラムとともに店頭で並べられていました。
 販売されている内容は基板とmicroSDカードに収められた制作に必要となる情報やファームウェア一式のみですので、部品表に記載されている部品を揃えて行きます。共立エレショップではまだ全部部品を調達できませんが極一部の部品を除いて全てデジットおよびシリコンハウスの店頭販売品で揃える事ができます(3階デジット、2階〜1階シリコンハウスの全部のフロアを回る必要があります)。

 半導体不足だけではなくて一部の部品も納期が半年以上のものもあるのでひょっとするとどちらかの店頭在庫にはない場合があるかも知れませんが、全フロアまわればほぼ揃います。

 基板はそれほど大きく無いのですが、部品がみっちり実装されているのでそこそこの部品素になります。部品セットなどはありませんので写真のような小分けされた部品一式での販売はありませんが、売場を回って集める楽しみは存分に味わえます。
 組立資料は丁寧で細かいところまで書いて頂いていますが、電子工作の経験が乏しいとちょっと苦労するかも知れません。付属の組立資料はパソコン画面でキーボードやマウスを操作しながらハンダ付などをするのは煩雑になりそうなのでプリントアウトしたものを見ながら製作すると良いと思います。
 200箇所ほどハンダ付をする必要がありますので、ゆっくりと取り掛かろうと思います。

CO2センサー

| コメント(0)

 新型コロナ感染症での飲食店舗用な対策ではないのですが。

CO2センサー
 CO2センサー(MH-Z19C)測定中

 簡単に空気中の二酸化炭素(CO2)濃度を測定できるセンサーが出ていたので試してみました。今までアナログ式のセンサーは多数知っていますが、デジタルで数値を直接得られるのは便利そうだと思い入手。
 PWM出力とシリアル出力のどちらも使えるタイプで測定にはNDIR(Non Dispersive InfraRed)方式を採用しています。パッケージが金色をしているのは赤外領域だと銀やクロムなどよりも金の方が反射率が高いため雑音レベルを下げる目的で赤外線のシールドをしているのではないでしょうか。
 NDIRセンサーは焼損したりガスの曝露によって劣化が無く極めて長寿命のセンサーで、他のガスによる干渉もほとんど無い優秀なセンサーです。測定中に内部で赤くLEDが光っていますが、たぶん本命の測定は赤外線LEDが同時に光っていると思われます。
 このモジュールはPWM出力とシリアル信号でのデータ出力で測定値を取り出す事ができ、PWM出力では400〜2,000ppmのレンジでシリアル出力の場合は400〜5,000ppmまで測定する事ができます。シリアル出力ではダイレクトにCO2濃度(ppm)が数値で'得られるので大変便利です。

 とりあえず既存のAM2303温度・湿度センサーと組み合わせて、気温・湿度に加えてCO2濃度も表示するサンプルプログラム作って確かめてみました。

 Arduino nanoのテストボードを使ってセンサー類とは2550コネクターで接続。LCD表示器はI2C接続のアダプタボードを使って接続・制御しています。センサーの入出力ピンヘッダのピンの並びは2.54mmピッチでなのですが、ヘッダ間が29.54mmと微妙に2.54mmピッチにハマらないのでちょっとズルをしてヘッダソケットで吸収しました。
 実際に測定してみると部屋の換気をしばらくしない場合と、換気を行った場合の数値に明らかな差がでましたので、正常に動作している様です。息を吹きかけたりすると一気に1,000ppmを越えた数値が表示されます。高い値から低い値への遷移は少し時間が必要な様で、数十秒〜数分ぐらいの感じでした。

 様々なセンサーがモジュール化されたりインテリジェントな機能を備えて来ていて、昔のようにアナログ出力をA/D変換して数値化する必要が無いのは大変便利であり難い事です。
 ただし注意が必要なのはセンサー類の確度や誤差範囲を頭に入れておかないとなりません。そのままの数値はちゃんと校正していないセンサーの場合は厳密な数値ではなくちょっと精度の良い目安程度だと考えておくべきでしょう。

ESP32 Arduino

| コメント(0)

 ESP32をArduinoに仕立てたボード。

WeMos D1
 WeMos D1 Arduino base

 以前から気になっていて手を出していなかったWi-FiにBluetoothまで使える省電力デバイスのESP32ですが、モジュールやArduino Nanoのようなソケットが必要なピンヘッダタイプのモジュール基板だったため面倒くさくて(失礼)手を出してこなかったのですがArduino Unoと同じボード形態で使えるものを見つけたので早速購入してみました。
 搭載されているESP32はDOITING(深圳四博智联科技有限公司)製ESP-12F(ESP8266の後継)です。中華な様ですので模造品かも知れません。実際にWeMosのD1模造品が大量に出回ったため現在はLOLINとブランドの変更しています。さらに写真のArduino Unoタイプのボードはもう生産していない様です。

 Arduino IDEが使えるのでmacOS環境であっても、そのままUSB経由で接続してプログラミングできる環境が整っています。ボードをボードマネージャーから追加、コンパイラ関係のツールも追加しないとなりませんが、ボードマネージャーからボードを選択すると自動的に必要なツールル一式が追加されるので簡単にインストールが完了します。現状ではコマンドラインから作業する必要はありませんでした。

 接続して通信ポートを開き、ボード情報読み取りできる事を確認したら、いわゆるLチカのスケッチを開いてビルド〜書込みすると搭載されているESP32モジュール上のGPIOピンに接続されているLEDが点滅するのを確認。これでArduino IDEからすべて開発する環境が整いました。
 これから少しずつですが色々とトライして行こうと思います。まあ、パチモンだったら動かなかったりするのでしょうが、そこは購入が自己責任なのであきらめましょう(苦笑)。
 Wi-FiおよびBluetoothについては技適証明がありませんので日本では使用する事ができません。無線を使用する場合はESP-WROOM-32を使用したモジュールを使って下さい。

Nano化

| コメント(0)

 Arduino ISPシールドをNano化。

Arduino ISP as Nano
 Arduino ISP as Nano

 先日製作したArduino ISPシールドをちょっと改造してNano相当にしました。
 そもそもArduino Nanoの回路図がオープンになっているので参考にしてみるとISPシールドにUSB〜USARTインターフェースを接続する事でArduino Nanoに仕立て上げられそうです(Arduino Nano回路図 [PDF])。

 公開されている回路図を参考にしてFT232を使ったUSB〜仮想シリアルインターフェースのTX/RX/DTSをそれぞれRX/TX/RESET(0.1μF経由)へ接続します。電源も外部供給にするためにVCC/GNDもインターフェース基板からAVR ISPシールドに供給するように接続します。またD13へ1kΩの抵抗を介してLチカ確認用のLEDを接続します。
 手持ちのUSB〜シリアルI/F基板と接続し、Nanoのブートローダーを書込んだATmega328PをZIFにセットしArduino IDEからシリアルポートを選択・接続してボード情報を取得して確認。サンプルスケッチのLチカの点滅時間を変更して書込んで、ちゃんとブートローダー経由で書込める事を確認しました。

 今回はmacOSのArduino IDEでしたので問題ありませんでしたが、Windowsの環境ですとFT232のドライバによっては変換基板を認識しない可能性があります。FT232にはすでに海賊版が出回っており、特に中華な製品にはシリアル番号が書込まれている正規品ではなく、特定シリアル番号しか認識されない模造品が相当数出回っています。
 模造品はFTDI純正の最新ドライバーでは認識しない可能性があり、模造品を純正ドライバで接続認識するとベンダIDを0に書き換えてしまい、そのデバイスは再度書き換えるまで通常の手段では接続しても認識しなくなるそうです。
 そのため仕方なく1つ古いドライバーを使うユーザーも多数と聞きます。
 模造品対策だとは言え、ユーザーは正規のルートで入手した物だったとしても、使用されているデバイスが正規ルートで半導体商社や機器メーカーに納品する時に運送経路などで模造品にすり替えられていたりすると機器メーカーもエンドユーザーは確かめようがありません。そもそも模造品は正規品と同じルートで出回る事もあります。
 海賊版対策は深刻な問題です。

LEDドライバ

| コメント(0)

 MCUでスキャンするのが面倒くさくなったので(笑)。

TM1630
 TM1630

 深圳の半導体メーカーTitan Micro Electronics(天微电子股份有限公司)のデバイスで多桁LEDドライバとキースキャン入力の複合デバイスであるTM1630を使ってみました。
 MCUとはSTB, DIO, CLK3線で通信し、桁スキャンは内部のレジスタに書込んだデータに従ってデバイスが行ってくれます。輝度も7段階に変更できて最大桁数5桁(7セグメントのみの場合)あるいは4桁(7セグメント+1セグメント)のLEDをダイナミックドライブします。MAXIMのMX7291/MX7221と同様に使えますが、桁数が少ない分かなりデバイス価格が抑えられていて手を出しやすくなっています。
 TM1630と同じく秋月電子で販売されている上位デバイスであるTM1637はArduinoのライブラリがあったのですが、こちらはライブラリが見つかりませんでした。通信は普通にクロックをパタパタさせてストローブで確定という74HC595に似た仕様でしたので練習も兼ねてライブラリ化してみました。

サンプルスケッチ動作中
 プロトシールドでサンプルスケッチ動作中
 (上下逆なのは小数点を別の用途で使うために左上表示にしています)

 ライブラリ:TM1630.zip
 リンクを右クリックでリンク先ファイルをダウンロードして下さい。
 ライブラリはZIP形式のライブラリをインストールする事で利用できるようになります。
 スケッチ例として1桁点灯の簡単なサンプルを入れてあります。

 LED表示機能はArduino Diecimila(秋月互換ボード), Uno, Nanoで動作確認しています。
 信号線のピン配置はTM1630.hの中で次のように定義していますが、ヘッダファイル読み込み後、メッソッドbegin()の呼出し前に定義し直せば変更できます。
#define TM1630_STB 13
#define TM1630_DIO 12
#define TM1630_CLK 11

 あと使用上の注意が1点。
 デバイスの仕様なのか、キー読み取りをして輝度設定を行っても有効になりません。
 データシートのフローチャートでは表示データ送信後に輝度設定を行い、その後にキースキャンするという流れになっていて、初期状態もしくはキースキャンでは無く何らかの表示データの送信を行った後でないと輝度設定が有効にならない様です。キースキャンを行ってその値を見て輝度設定を行っても一向に反映されないのでかなり悩みました。

 ライブラリはGPL v.2に準拠したものとし、無保証かつ使用した事により生じたいかなる不具合・事故その他の事象一切に対して作者は責任を有しません。利用に当たっては使用者の自己責任の下で行うものとします。
 と、まあ、こんなお約束事を一応書いておきますが、ご自由にご利用下さい。

デジタルパワーアンプ

| コメント(0)

 ずいぶん前(2013年1月頃)に筐体に組込んで製作していたのをリニューアル。

TPA3123D2パワーアンプ
 TPA3123D2パワーアンプ
 デザイン共通化なので見た目はほぼ同じです

 基板だけ製作し終えてどうしようかと放置していたのを、デジットのオーディオキット製作体験会の時にやっつけでフロントパネルを作って筐体化したものの不満が残っていて燻っていたのをリニューアル。

TPA3123D2パワーアンプ(旧)
 当時の製作物の様子

 なんか悔しかったのかどうでも良かったのか(笑)古い方のフロントパネルのまとな写真はありません。リニューアル前にも撮影すらしていないという・・・。
 ロッカースイッチを電源スイッチに使っていたのですが、アンプの中身がスカスカなため押し込むとアンプ筐体ごと移動してしまい大変押しにくい状態だったのがすごく使いづらかったため、トグルスイッチに変更し、パイロットランプの位置も中央だったのを最近製作しているアンプ類の汎用的なデザインへと変更しました。
 しばらく会社のモニター・スピーカーに接続して使っていたのですが、電源をオン・オフする度にイラっとしていたのはやっと解消されました。
 また、フロントパネルに実装していた3.5φmmステレオミニジャックも配線ごと撤去してやりました。ボリュームのノブとパネルの隙間も大きいので可変抵抗器のパネル取付をオフセットして、ほぼ隙間無しにノブが付けられるように取付け方法を変更。
 本当に自分で見ていてイライラするぐらいデザインや配置が適当でしたね。
 とりあえず「繋いで鳴れば良いや」的ないい加減さで製作してしまい、じっくり考察・デザインしてから製作しておくべきだったと悔やまれます。

筐体内部
 筐体内部

 製作したキットDAMP-3120NWの説明書と回路はほぼ同じです。
 電源強化の25V/15,000μFの電解コンデンサーの端子にカプトンテープを被せて筐体内での短絡防止をしています。
 実は1回接触させてヒューズを飛ばした事があったので・・・(苦笑)。

 入力を一度分岐基板に通しているのは将来的にレベルメータ内蔵を想定しているためです。当初は直結させていたのですが、レベルメータ用にさらに可変抵抗の端子に配線を増やすを避けるために分岐基板を間に挟むことにしました。

 個人的な音の感想ですが、すっきりとした高音まで良く延びた音です。
 最近のデジタルパワーアンプデバイスは、ほとんどが放熱器不要で小さい外形なのですが、リニアアンプの頃の大掛かりな基板や放熱器から比べると音も良く、本当に隔世の感がありますね。

便利小物(#12)

| コメント(0)

 汚れを拭払したりするのに使う溶剤をお手軽に。

ハンドラップ
 ハンドラップ

 汚れを落としたり、フラックスの洗浄にイソプロピルアルコール(IPA)を使っているのですが、毎回フタ付き容器から小分けして使うのも面倒くさいですし、口から滴下できる細い口の容器もいちいち蓋を閉める面倒なので、ずいぶん昔の職場で使っていた物をふと思い出して購入。

 溶剤を瓶に入れ、上部の皿を押すとポンプで下から吸い上げて来て皿に溜まる仕掛けです。
 基本的には常時フタが締まっている状態なので蒸発もほとんどありませんし、万一倒してしまってもドバドバこぼれる事もありません。脱脂綿やティッシュ等で複数回ポンピングするとしっかりと濡れるまで湿す事が簡単に出来ます。もちろん皿に溜まった状態ならば綿棒などにも湿す事ができます。
 必要な時に必要なだけ出せますので大変便利です。強燃性や引火性の高い液体を扱う時は近くに火気が無いよう注意が必要ですが、普通の環境ならほぼ心配無く安全に取扱できるでしょう。

 グリセリンを入れておけばコットンに染ませて顔に塗る等すれば保湿剤として化粧品代わりにといった少量の液体を手軽に扱えるようにできていて、一度使うと手放せなくなります。

デジタルパワーアンプ

| コメント(0)

 熱くならないアンプ、いや、暑くならないアンプ。

TPA3110デジタルアンプ
 TPA3110デジタルアンプ

 モジュール基板はヒートシンクに隠れて型番が見えませんが本当なら(笑)TPA3110D2を使ったD級オーディオ・パワーアンプの中華なモジュールをメインにしてお手軽アンプを製作しました。
 居間にある純A級アンプがかなり発熱していて、そのせいで部屋が暑くなるため部屋が暑くならない(熱くならない)アンプに代打として運用する目的です。空調を掛けた時に、たぶん部屋の温度は早く下がるだろうと期待しています。

 TPA3110D2は8〜26Vと広い電源電圧範囲で動作し、12Vの電源電圧で片チャンネル10Wの出力が得られます。電源電圧が16V取れれば片チャンネルで15W出せますが、通常の個人宅だとそんな出力は持て余すだけでしょう。
 各種保護回路が充実していて、可変電力リミッタ、入力のDC検出回路、出力側は短絡保護と過熱保護がなされていて、異常状態から正常状態に戻った時に自動復帰する事ができます。

筐体内部
 筐体内部

 始めに電源増強にとデカップリングコンデンサに15,000μFを付けると電源電圧の立ち上がりが遅過ぎてフォールトします。外した状態でも定格1.0A程度のショボい電源で立ち上がりが遅いと同様にフォールトするようで初めは電源をオンにして直ぐに音が出なくなってしまってどういう現象なのか訳が判りませんでした。
 加えて、このモジュールの外部端子の表記がどうも怪しくて、完成後にスピーカーを鳴らしてみると定位がおかしく、広がってぼやけています。どうも左右の位相が逆の様でしたので片方のチャンネルのスピーカー接続をプラス・マイナスを逆にすると落ち着きました。デバイスのピン配置から推測するに表記の'R側は正しい様ですがL側は極性が逆の様で、結局L側の極性を逆にしてスピーカー端子に接続しています。

 今回もフロントパネルを半透明にしてレベルメータを仕込みました。

レベルメータまわり

レベルメータまわり
 レベルメータまわり

 レベルメータは以前に製作したレベルメータデバイスのLA2284を今回も使用して、Bluetoothオーディオ同様に上部レールガイドにアルミL型アングルを保持具として組み込みをしています。
 筐体に組み付けるとパイロットランプやボリュームの端子と干渉するのでこの幅でなければ組み付けできません。おかげで裏側をお見せできませんがUEWを使って高密度配線です。

 音質的には改めて評価をする予定ですが、ちょっと試聴した段階では良いとも悪いともなんとも判断しかねる感じです。スピーカーとの相性もあるでしょうし、色々試してみようと思います。

UNO R3 互換ボード

| コメント(0)

 秋月製Arduino UNO R3互換ボード。

AE-ATMEGA-UNO-R3
 AE-ATMEGA-UNO-R3

 最近発売開始されたArduino UNO R3互換ボード。
 秋月電子からはArduino Duemilanove互換になるAVR ATmega用のマイコンボードもありますが、こちらはボードサイズ・形状ともUNO R3と互換です。
 オリジナルよりもかなりお求めやすい価格です。キットと完成品の価格差はわずかですが、やっぱり「作る楽しみ」を充足させたかったのでキットを購入し、サクッと製作。

 先般製作したISPシールドを載せてブートローダー書込み器として常用しようかと導入。
 キットとは言え表面実装部品はすでに実装済みなので、コネクター類しかハンダ付けする部分はありません。ATmega328PはDIP品ですので、もし破損しても交換ができます。
 キットに付随していたATmega328Pはすでにブートローダーは書込み済みの上、ピン配置がわかるラベルが貼付済みの親切品。
 USBコネクタのケースが、ケースのシールドと干渉して短絡等しないようにカプトンテープを貼っておきます(なので金色に見える)。
 ArduinoISPのスケッチを書込んでISP書込みの動作を確認。あたりまえですがなにも問題なく正常に動作します。
 海外の互換ボードでは通信用のチップが中華なUSB〜シリアル変換のCH340だったりしてドライバーをインストールする必要があるかも知れません。私の場合macOS Mojaveではそのまま対応しているので、プラグ&プレイでした。

 ボードを良く観察するとオリジナルのUNO R3とほぼ同じです。VIAの径が大きいのと、通信用のATmega16Uの水晶発振器が表面実装タイプになっているぐらいでしょうか。あとはJP2のシルク印刷が省かれているぐらいで互換の完成度は高いです。
 他の互換ボードと同じく、ボード情報を取得してもボード名とシリアル番号が取得できないのは仕方の無いところでしょう。

次のページ