この記事ははJLCPCBの提供でお送りします。
JLCPCBとは
jlcpcb.com (↑こちらは日本語版のログインページで、お得なクーポンも配布されています。)
JLCPCBとは、プリント基板製造などで有名な香港の企業です。
日本からでもWebページでポチポチするだけでKiCADなどで作成した基板データの製造を依頼できます。
値段もかなりお手頃で、ホビー電子工作ユーザーの間では広く利用されています。
この記事の作例もJLCPCBに基板を発注して実現しました。
表面実装版RakuChordとは?
RakuChordというのはinajobが開発している電子楽器です。
ワンタッチで和音を演奏できるボタンがあり、だれでも比較的簡単に演奏ができるという電子楽器で、少しずつバージョンアップをさせながら、電子工作キットとしての販売をしています。
以前RakuChordの表面実装版を作ったことがありましたが、今回はこれの更なる改良版です。
今回の表面実装版RakuChordの設計
基本的な設計は前回の表面実装版RakuChordと同じです
前回は6mmのスイッチで、修飾キーは基板裏面に配置したのですが、どうにも使い勝手が悪かったので、今回の改良で12mmタクトスイッチを採用し、従来のRakuChordの操作性を再現することと、修飾キーを上側に並べることを試すことにしました。
- タクトスイッチは12mmスルーホール
- 表面実装版と謳っているいるが、家にこの部品がたくさんあるのでスルーホールを使うことにする
- 昇圧回路は安価な昇圧モジュールも利用できるようにする
- 7つの修飾キーは基板裏面ではなく、90度の角度が付いたものを上辺に並べる
- 相変わらず10cm×10cmに収める(安いので)
- 表面実装部品のサイズを0603に変更(以前は1206)
90度の角度が付いたタクトスイッチ
以前、AliExpressでタクトスイッチのアソートを買ったのですが、その中に90度の角度が付いたものがあり、これを使うことにしました。
タクトスイッチのアソートは100種類のタクトスイッチがそれぞれ5個ずつ入っているような商品で、スイッチ好きの人にはたまらないものとなっています。お勧めです。
基板の設計
今回は以前作ったデータを改良する形で設計を行いました。そのため比較的簡単に設計が完了しました。 (前回の作例を記事にしていたおかげで、修正が必要なバグが探しやすかったです)
実際論理回路図の変更部分は非常に少なく、フットプリントの付け替えや、拡張端子の引き出し程度でした。
実体配線図は、さすがに流用することが難しいので新たに作っています。 タクトスイッチが6mmのものから12mmのものに変更となったので、基板の横幅を少し広げました。
JLCPCBに発注
今回も発注はJLCPCBです。今回の基板の色は紫色です。
10cm×10cm以内で5枚だと $2 + 送料です。お安い・・
jlcpcb.com (↑こちらは日本語版のログインページで、お得なクーポンも配布されています。)
実装
さてさて、今回もいくつかのトラブルに見舞われました
我が家のICがやはりおかしい
今回もどうもATmega328の様子がおかしく、シリアル通信の速度を遅くしないと書き込みができませんでした。 以前の記事ではUSBシリアル変換ICであるCH340Nがおかしいかも、と書きましたが、色々実験をしているとATmega328の方がおかしいようでした。
我が家にストックしているATmega328が偽物という可能性が出てきています・・・どうしたものか・・
ともあれ、前回と同様にだましだまし書き込むことで一応期待した動作をしています。
格安の昇圧モジュールから電源を供給すると動作が不安定
今回は、HT7750を使った昇圧回路とは別に、格安の昇圧モジュール(名称不明)を使って乾電池2本から5Vへの昇圧が出来るように設計していました。 しかし、こちらの昇圧モジュールを使った場合、どうも動作が不安定になるという事象が発生しました。
おそらく、音を鳴らす際に多くの電流を取り出そうとするために、電圧低下を起こしてしまっているのだと思います。 おとなしく前回と同じHT7750を用いた昇圧回路の方を使うことにしました。
昇圧方法を両方用意しておいてよかったです。
この格安の昇圧モジュールについては Arduino Nanoを単4電池で動かすボードを作った - inajob's blog で紹介しました
ダイオードのフットプリントが1つだけ逆向き
この基板にはスイッチの同時押しを実現するために、多数のダイオードが存在しています。 ダイオードには極性があるため、実装時には注意が必要ですが、実装を簡単にするため、同じような位置に存在するダイオードの向きは揃えておいたつもりだったのですが・・・
1つだけ並んでいるなかで向きが逆のものが残ってしまっていました。 案の定実装するときに、ほかと同じ向きに実装してしまい、キーが認識されないという問題が発生しました。
基板上には正しい向きが指定されているので、バグではないのですが、実装ミスを誘う良くない設計だと感じました。
格安の昇圧モジュールの向きが逆
昇圧モジュールは単純に2.54mm間隔ピンが3つ出ているだけなので、専用のフットプリントを作らず、汎用的なコネクタ部品とを配置し、格安の昇圧モジュールの配置を示す四角形を基板上に描画していたのですが、この四角形の配置を間違えており、実際の格安の昇圧モジュールの配置と食い違っていました。
そのままでは乾電池ケースと干渉してしまい、格安の昇圧モジュールが実装できない、という感じだったのですが、想定していた基板の面とは逆の表面に実装することで対応しました。 (上に書いたようにこのモジュールはそもそも性能不足で利用できなかったのですが・・)
電源スイッチの配線が間違っている
電源スイッチ周りの配線は、格安の昇圧モジュールからくるもの、HT7750の昇圧モジュールからくるものの両方を考慮する必要があったのですが、格安の昇圧モジュールからくるものを見落としており、こちらは電源スイッチとは関係なく導通した状態になってしまっていました。
これは一部の回路のパターンを切断し、導線を使ってジャンパすることで、修正しました。
(これも上に書いたように、このモジュールの性能不足により、利用できないのですが・・・)
ダイオードが破損
これは実装が終わってしばらく遊んでいる最中に起きたことなのですが、1つのキーが反応しなくなりました。 原因がわからずいろいろ試していたところ、キーの同時押しを実現するためのダイオードの1つが壊れていることが判明しました。
ダイオードは通常片方向からのみ電気を通す素子ですが、なぜかどちらからも電気を通さない状態になっていました。
部品を交換することで、この問題を解消しました。 ダイオードって壊れやすいんですかね?
ケースの作成
演奏しやすいように3Dプリンタでケースを作るというのもやってみました。
利用したツールはOpenSCADとLibreCADです。
モデリングを簡単にするために、KiCADから基板データをdxf形式エクスポートしたものを積極的に利用するスタイルで設計しました。
まず基板外形を使いベースとなる形を整え、それをくりぬいていくという手法です。 くりぬく範囲もKiCADのUserレイヤーを使いGUIで作成しました。
くりぬきは貫通、micro USBコネクタの高さ、筐体側2mm残しの3段階とし、それぞれのレイヤーをdxfでエクスポートし、OpenSCADを使って切り抜きました。
(この画像で黄色、薄緑、灰の3色の塗りつぶしがくりぬきを表しています)
この手法は、OpenSCADのプログラミングによる手軽な設計の良さと、KiCADで部品を見ながらくりぬき範囲を描画できるGUIの良さを両立させる手法だと感じています。
指をひっかけるための突起は、LibreCADやOpenSCADで頑張って設計しています。(ここはもうちょっとどうにかしたい)
まとめ
以前とほぼ同じ構成ですが、表面実装RakuChordの改良版を作りました。
やはり新しく作った個所で問題が起こりやすいことがわかりました。前回の物より演奏しやすくなって満足です。
格安昇圧モジュールは試してみたものの、今回の用途では性能不足であることが分かったのも収穫で、かつそのような問題があってもHT7750を使った昇圧回路を利用できるようにした「こんなこともあろうかと」の設計が役立って良かったです。