• もっと見る

<< 2024年02月 >>
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29    
診療記録の検索
検索語句
種類別アーカイブ
タグクラウド
最新の診療記録
最新コメント
最新トラックバック
リンク集
※修理技術に関すること以外で、おもちゃ病院に関するご意見・ご感想等がありましたら、ぜひ下のブログからコメント入力してください。
ゆりかご日記
2023年末、先進おもちゃ病院の修理事例(マイコン換装)をバーチャル体験 [2023年12月03日(Sun)]

CH32V電子オルゴールで3線SPI音声再生

この記事は、先進おもちゃ病院の修理事例を参考に、おもちゃドクター技術研修として、手近で安価な素材を用いて修理事例をバーチャルに体験し、その成果品をオリジナルの「リサイクルおもちゃ」とするものである。

100均の キティちゃん貯金箱 に組込んで、試作完成。
最初に、動作確認の動画から先にご覧あれ。

実装音声・曲目は、CH32V換装のデビューに
敬意を表して、オリジナルのまま制作している。


当方のキティちゃんの貯金箱も、単4電池3本
20mmスピーカは、後ろ頭の硬貨投入口に固定
231120_kitty.jpg

使わせていただいたプロジェクトは、ブレーキ出力にし、タッチセンスのチューニングを微調整。
SPI音声 67%、オルゴール 100%に音量変更。

省電力に設計されているので、電源SWは省略する。
ハートマークの内側にアルミテープを貼ってタッチパッドにして、タッチと同時にアース線も触れるように、背中側にメッキ線1本を、外付けした。


【経緯】

技術研修の課題は、マイコン制御のおもちゃ修理で、COB不良でも治療不能とせず、廉価なマイコンで代替回路を作って、何とか楽しく遊べるようにすること。
名張市つつじが丘おもちゃ病院 のブログ記事を、参考にさせていただいた。


その記事の末尾では、次のとおり感想が述べられている。

「COB不良でも修理を諦めないで、一歩進むことが重要だと思う。
そんな志のあるドクターには、つつじが丘おもちゃ病院は支援を惜しまない。」

何という、心強いお言葉であろうか!
早速、私も真似したいと申し出て、ご指導いただいた次第。

おもちゃ病院には、どんな症状のおもちゃが、いつ来院するかも分からない。
COB不良のおもちゃに遭遇しても慌てないために、バーチャル診療を体験しておきたい。


【特徴】

今回のマイコン換装では、ターゲットにCH32V003J4M6を採用、SOP8なので老眼ドクターでも何とかDIP8変換基板に手半田ができるサイズ。
電源条件をクリアし、3線SPI音声再生、LED点滅付き、しかも電子オルゴールも同時に実装されている。
電池3本を入れたら、操作はタッチパッドが1個だけ。

マイコン書込みに使ったのは、WCH−LinkE
私は秋月で購入(750円)、たった、これだけ!
230224_WCH_LinkE.jpg


公開されているプロジェクトをそのまま試作するだけなら、プログラミング初心者でも意外と簡単。
書込み環境の整備は、開発者のブログをご参照あれ。


以下、それぞれの特徴点を詳しく見ていただきたい。


【電源条件】

元々が単4電池3本だったので、3.3Vレギュレータで高性能のCH32Vが使えて、最高にコスパが良い。
ちなみに消費電流は、稼働時20mA〜30mA、スリープ待機時は(CVD付き)約25μAと省電力。

CH32Vのデータシートで、動作電圧範囲は(ADCを使う場合)2.8V〜 となっているとのこと。
4.5Vから遊び始め、約3Vまで遊び尽くすと、電池1本あたり 約1V 換算となるが、これをどう感じるか。
師曰く、「それはもう捨てるべき電池ではないでしょうか。」
その辺の感覚は、それこそ自分で体感してみたい!

【3線SPI】

当方では初の3線SPI、回路図を書いてみたが、LEDの接続位置やHブリッジ周辺が心配だ。
疑問点は、開発者にメールで質問し、その都度解決する。

(画像クリックで、拡大表示)
orgel_KITTY_J4M6.png

orgel_KITTY_J4M6_pb.png

同型番のレギュレータが手元にあるので、まず最初はブレッドボード上で試作してから。
今回の基板制作の部品コスト計算すると、226円となった。

基板制作用の部品リストをPDFで公開するので、ご活用いただきたい。
(ダウンロードしてから開くと、商品コードから調達先サイトが閲覧可能)
KITTY_J4M6_list.png
部品リストは、→ココから ダウンロード


【LED点滅】

修理事例のブログでは、LEDがスピーカ出力から配線されている点に、今後の応用への期待が膨らむ。
そこでは、スピーカPWM出力でLED点滅が実現されていて感動したが、その回路の場合は「ブリッジ出力」のはず。
スピーカーのどちら側につないでも、良いのだろうか?

私がいつも使っている、MX08の「ブレーキ出力」でも、全く同じ位置に(4.5VとPWM出力の間に)LEDをつないでも、同じような点滅になるだろうか?

開発者から、「元記事のキティは簡易Hブリッジなので、
ローサイドに設置すると、貫通電流が流れてしまうので、
ハイサイドに設置しないといけない。
MX08の場合は、BTLが2でも3でも音があるとき
にHが出力されるので、ローサイドに設置する。」
との返答。

やはり、教えていただいて助かった。

さらに、「LEDの直列抵抗が47Ωの理由は、元々の
既存LEDが発光効率が悪くて、実験の結果そうなった。
今頃のLEDではもっと大きくした方が良いと思う。」
とも。

試作では、赤色LEDは680Ωでも十分明るく、スピーカ音が連続するときは、ほぼ点灯しっ放し!
なので、回路図では抵抗値をあえて書かないでおく。
実際には、LEDは手持ちの赤色拡散LEDにて、1KΩの抵抗で、約2mA流すように変更した。

【タッチセンス】

短タッチ、長タッチの操作には、ある程度の慣れが必要なので、幼児では少し難しいかも知れない。

元記事のキティぬいぐるみは、皮を介在すると感度が悪くて、ご苦労されたとのこと。
パッドの面積を広くし過ぎると、パッドの容量が大きくなって、タッチでの変化率が小さくなってしまうようだ。

タッチセンスのチューニングは必須である。
ケースに組み込んでから、あらためて再調整する。

根のソースコードで、チューニング用のパラメータを宣言しておけば、実装後の調整がしやすい。
今回のチューニング結果は、ご参考までに次のとおり。

//=======================================
//ここで、CVD評価の閾値等をカスタマイズできる
#define CVD_CNT 10 // 評価の回数を宣言する(既定値:12)
#define CVD_THR1 17 // 閾値1を宣言する(既定値:20)
#define CVD_THR2 35 // 閾値2を宣言する(既定値:40)
//=======================================

【ICSP対応】

修理事例のブログで、マイコン基板のアップ写真では、基板の端に3本のツノ(ICSP用)が見えている。

20231118104649529.jpg

PICの場合は、VPPで高電圧がかかるので、このピンに接続する周辺回路は、要注意だった。
CH32VのICSPでは、高電圧の心配は?

開発者から、「心配は無用です。」との返答あり。

「LinkEの回路図が公開されていて、SWDIO
はCH32V305Fのポートから100Ωを介して
ヘッダピンに出ています。CH32V305FのVdd
は3.3Vなので、ヘッダピンにはGND〜3.3Vの
電圧しか出てきません。」
との解説に、感謝申し上げる。

【ダウンロード】

今回の技術研修で試作したプロジェクトは(音源データも含む)、修理事例のブログでリンク先からダウンロードできる。
公開ファイルをダウンロードして、ぜひ使ってみて欲しい。


オマケで、
実装する音声データだけを「ミニーマウス」向きに置き換えたプロジェクトも作ってみた。
この音源を含むプロジェクト一式は、当方の共有フォルダで公開する。


プロジェクトディレクトリは SW_J4M6
プロジェクトは SW_J4M6.wvproj
根のソースコードは SW_J4M6\User\main.c

なお、アプリ機能のソースコードは、キティのものをそのまま。
SPI音源は、同梱の「voice_MINNIE\W25Q64.hex」を使用する。

これは、100均の「ツムツム貯金箱」に組込む予定。

3年前のタッチSW3個で9種類の音声再生が、
今回、高性能マイコンで大幅にグレードアップ!
210111_MINNIE.jpg
(参照)ミニーマウスの貯金箱に、タッチSWで音声再生を実装


【余談】

今年最後の医局会で、同僚ドクターに披露してそのまま、お持ち帰りいただく予定。
ちょうどタイミング良く、クリスマス・プレゼントになる。

先輩ドクターの言うとおり、複雑な制御をやっているおもちゃもあるが、ほとんどは単純な音声再生とオルゴールである。
事例のように電子オルゴールでの換装技術を使わせて貰えば、治療不能率は半減できると思われるが。

キティちゃん修理のプロジェクトは、HブリッジIC(MX08)の簡便なテスト環境にもなった。
SOP8用のICソケットをブレッドボードに挿し、変換基板に半田付けする前に、チェックできる。

キティちゃんの回路で、ブレーキ出力の正転・逆転の両方とも、ローサイドにLEDを挿入したもので、あらかじめ、電流レンジにしたテスターを接続する。

MX08が良品なら、LED2個が同じ明るさで点滅し、もし明るさが違ったり、片方だけの場合は、不良が疑われる。
スピーカ音のビビりや、異常な消費電流も分かり、DIP8変換基板が、無駄にならずに助かる。

それで手持ちの30個を調べたら、何と15個も
不良品だった。(安価なコピー品だったかも?)
231130_MX08_check.png

片方、あるいは両方とも光らない現象が、散見。
稼働時は正常に点滅しても、スリープ移行後に、両方とも点灯することも、3個ほどあった。

ヤレやれ、、、。

トラックバック
※トラックバックの受付は終了しました
コメント