• もっと見る
« 251213 キティちゃん スーパーのレジスター、COB故障(治療方針の検討) | Main | 260123 tinyAVR電子オルゴールで3和音演奏 »
<< 2026年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
診療記録の検索
検索語句
種類別アーカイブ
タグクラウド
最新の診療記録
最新コメント
最新トラックバック
リンク集
※修理技術に関すること以外で、おもちゃ病院に関するご意見・ご感想等がありましたら、ぜひ下のブログからコメント入力してください。
ゆりかご日記
(続き)キティちゃん スーパーのレジスター、音が出ない(マイコン換装)[2026年01月11日(Sun)]

キティちゃんスーパー 根本治療 12月13日、おもちゃ修理工房みやま

昨年末に受け付けたリピーターさんのおもちゃ、越年で根本治療したので報告する
事前シミュレーションの経験を存分に活かし、本番の大手術は、無事に成功!

まずは、待ちわびているお客さまに動画でお知らせ
捨てようかと迷っていたレジスターの生還にお喜び


商品スキャンは、ラバー接点をCVDタッチセンサーとして動作させて、快適な操作性が得られた
予想以上の素晴らしい出来栄え、名張市つつじが丘おもちゃ病院 のDr.大泉さま(以下、「開発者」)のご指導に感謝申し上げつつ、今回はCVDチューニングの手順も詳細解説する


【経緯】

キティちゃんたのしいおかいものスーパーマーケット
スキャンレジスターの音が出なくなったと、入院受付
251213_super (0).jpg

1)患者さま 2)症状 3)診察 までは、直前の記事をご参照あれ

4)治療

お客さまに今後の治療方針を相談し、代替基板を作って換装する方針で長期入院もご納得いただいた
お客さまには Instagram で逐次報告するので、ご安心してお任せあれ


【治療方針】

「マイコン換装」という診断の前に精一杯やり切ることが求められる
COB故障の診断は担当医一人任せにせずに複数人で判断すること
その上でお客さまからご承諾を得て初めて、「マイコン換装」が適応できると思う
この点は、当クリニックでも(開発者を見倣い)しつこい位に確認し納得診療を追求している

お客さまからは、
「インスタを見ました。急ぎませんので年末年始はごゆっくりと」
と、大変丁寧で優しいお言葉を頂戴したが、甘えてはいられない

当初は自分自身でカスタマイズに挑戦したが、設計どおりに動かずに断念
年末から情報提供していた開発者に、ついに1月5日、ヘルプ要請した次第

(上記ブログの抜粋)
「各地のおもちゃ病院やおもちゃドクター様からの依頼を受けて、提示された要件に基いて当おもちゃ病院でファームウェアを開発する、と言うサービスだ。もちろん無償で。
修理事例が無いケースでは、ファームウェアの新規開発も行う。」


過去にも利用させていただいたが、今回も数時間後には開発された ファームウェア β版が送られてきた
驚きと共に試作・動作検証し、音声再生が思いどおりに動くことを確認したので、今回の治療方針は自信をもって「マイコン換装」に決定


【動作仕様・開発要件】

開発者にファームウェアのカスタマイズや開発を依頼するには、単に「音を鳴らしたい」だけでなく、機能と動作環境や実装の制約など(開発要件)が明確にならないと換装可否は判断できませんとのこと

幸いにも、お客さまが購入時の箱を持ち込まれていたので、大変参考にはなったが、しかし、、、

251213_super (1).JPG

当方で調べるうちに、このおもちゃは多くのバージョンが存在し、機能と動作要件が異なることが判明、今回は約15年前のものであり、他病院の診療記録やネット動画などを検索しても当時の音は発見できず、バージョンが進むに連れておしゃべりが多くなっていることが分かった

以下の動作仕様・開発要件はオリジナルの動きや音声とは異なるが、お客さまには楽しく遊べるように配慮した結果であると説明済

(最終版プロジェクトの根っこのソースに記述したコメントを転記)

「キティちゃん たのしいおかいものスーパーマーケット」の故障基板を、PUYA電子オルゴールで換装する
似たような音声を再現するファームを、今回のお客さま専用として作成(2026/1/7 ToyDr.わたなべ)

【動作仕様】
このモデルでは、引き出し奥のマイクロSW0のノーマルクローズ接点をリアルモードで、
レジの商品スキャナは、タクトSW1(及びオプションでCVD0も)を、タイマーモードで実装する
16ピンデバイスで、SPIフラッシュの音声データを3線SPIで、ブレーキ出力する

SW0は、、オンからオフ判定で 開店アナウンスを再生、オフからオン判定では 会計アナウンスを再生する
音声再生中のSW0操作では、それぞれに対応する音声を再生開始する
このSW0の特徴は、通常は押下状態で接点オープンが続き、接点クローズ時も音声再生すること

SW1(及びオプションでCVD0)は、短オンで 値段読み上げ音声をランダム再生、長オンで 景品当選アナウンスを再生する

LEDは1個を実装し、音声再生中は約7.8Hzで点滅する

単3電池2本で駆動し、電源スイッチはないため、稼働していないときは省電力でスリープする

音源のバックアップがないため、別の中古品から録音したり音声合成ソフトで生成する
音声データはSPIフラッシュに格納しておき、8ksps_8bitで再生する

以下、ここから根本治療までの詳細を報告する

【試作機で動作検証】

開発者から ファームウェア β版に続けて、LED点滅もCVDも実装された評価版が送られてきた

技術研修で磨いてきた腕の見せ所だが、患者さまを練習台にしてはならない
本番の基板換装前に バーチャル診療(シミュレーション、いわゆる「素振り」)で経験を積むため、100均おもちゃで評価版を試作して動作検証する

電源スイッチなし、省電力設計
商品スキャンは タクトスイッチ
オプションでタッチセンサーも
orgel_F002A_16_KittyCashier.jpg

100均おもちゃでの試作、リサイクルおもちゃ
としても、このまま楽しく遊ぶことが出来そう
260107_Scanner.JPEG

LEDの取付け固定は、薄型ブラケットリング
260108_Mamagoto (1).JPEG

試作だが、おもちゃドクターは本気モード
直後の大手術に備え、細部に工夫を凝らす
260108_Mamagoto (2).JPEG

一連の手技は、次の医局会で情報共有し
当クリニックの今後の治療ルーティン
260108_Mamagoto (3).JPEG

試作機で動作検証した動画は、前回に報告済
いよいよ本番の大手術に臨むのみ、さあ心の準備は宜しいかな?

【本番の大手術】

冒頭で報告のとおり、本番の大手術は、無事に成功!

引き出し奥のリーフSWをマイクロSWに交換
自作の代替基板は、電池付近の空きスペースに
260109_KittyCashier.JPEG

マイコン換装で修理したときは二次元コードのラベルを貼る
再入院の際、二次元コードをたどれば電子カルテが閲覧可能
qr_260111_Kitty.png

本番実機でも消費電流を測定、CVDセンス実装でスリープ待機時 15μA(試作と同じ、超省電力)

使用した部品コストは、262円(内訳は前の記事で報告済)
今回の大手術では、現金代わりに電池3本でお支払いをお願いする
当クリニックでは、退院時に現金の取り扱い困難(公立の保育園・施設での退院)のときは、現金に代えて電池数本での代物決済も可能

【ダウンロード】

最終版の完成プロジェクトは、回路図なども同梱して当方共有フォルダで公開する
実は、試作機の完成版プロジェクトそのもの (2026/1/12更新)


スーパーマーケットのレジ代替モデル のディレクトリは
 orgel1_4_KittyCashier\orgel_SW_F002A_16
プロジェクトは PY32F002.uvprojx

なお、このプロジェクトは(著作権フリー音源を使う限り)、複製・改変・再配布は自由であることを、あらためて付け加えておく

【参考情報】

@お礼のメッセージ

・お客さまから、すぐにメッセージ返信あり
 (退院後にもメッセージあり、コメント欄を参照)

「動画、観せていただきました。
音が出なくなったため、捨てようかと迷っていたレジスターを
このように蘇らせていただき感激いたしました。
ありがとうございました。」


(ToyDr.わたなべ 感想)
「あとは、子どもさんにも喜んでもらえたら、嬉しいです。
おもちゃドクター冥利に尽きますね!!」


・開発者のブログでも、ご紹介いただいた

今回の修理案件のファームウェア開発の設計について、詳しく解説されているので、ご参照あれ
僭越ながら私からも、開発者のブログに感謝の気持ちをコメントした

キティちゃん から、お客さまへの お願い(心の声を、おもちゃドクターが伝言)

「キティを大事にしてくれて、ありがとう!
毎年11月1日のお誕生日には、電池交換の
プレゼントをしてくれると、うれしいな。
これからも一緒に、楽しく遊びましょ。」


(おもちゃドクターからも、お願い)
「おもちゃ故障の原因は、電池トラブルが一番多いです。
半年ごとの動作確認と、1年に1回位は電池交換を!」


ACVD方式の利点

快適な操作性が得られたCVDセンスのチューニングについて、この機会に詳しい手順を解説する

(以下、冒頭コメントを転記)
CVD操作のソース func_CVD.c の移動平均の直前で、ADC累積値を取得する
つまり、 DBG_S(value); のコメントを外して有効にする

さらに、デバグ情報の区切り記号を挟んで、ADC移動平均の値を取得する
すなわち、DBG_S(q->cvd_ave); のコメントを外して有効にする

根のソース main.c で、デバグ情報取得を宣言する
(ボーレートは既定のままで良い)
ここでは、スリープ機能は実装しないようにコメントアウトしておく
チューニングするCVDポートを(1か所だけに絞って)実装宣言しておく

プロジェクトをリビルドして、デバイスに書き込む

テラタームで表示されたデバグログ出力を、エクセルにコピーする(16進数の文字列)
エクセルの関数で、=DECIMAL(文字列,16) と入力して、10進数値に変換する
チューニングでは、非タッチ時のADC値と移動平均との差が重要な判断材料となる

下表から非タッチ時の乖離の最大値は、およそ「50」(10進数)と判読すると、
CVD_THR2 は、それを CVD_CNT で除した値が判定閾値の基準となる
CVD_THR1 はヒステリシス性を持たせる意味から、その半分を基準とする
つまり、CVD_THR2=50/5=10 、CVD_THR1=10/2=5 と算出できる


ログの16進数データをエクセル表のA列・B列に
テキストファイルウィザードを使って、貼り付ける
260109_Tuning.png

デバグ情報のデータから判定閾値を算出する手順は、以前のエクセル表の手順を踏襲
その結果、チューニング済の試作機と全く同じ判定閾値になった

早速、開発者に報告
「既存のラバー接点は、研磨清掃後にテスターで
測ると、押し加減で抵抗値は若干の上下があり、
約200Ω程度。まだ経年劣化は進むでしょう。」


開発者から返信コメントあり、
「計測値は、タッチ時と非タッチ時で顕著な差が出ているので、
良好な結果だと思います。
ラバー接点の櫛形パターンはタッチパッドとして好適ですね。
ラバーの抵抗値は、ポートの内部プルアップ抵抗値に比べて
1/10程度(数KΩ)が限界と思います。」


(まとめ)マイコン換装するなら、ラバー接点のクシ型パターンをそのままCVDとGNDに繋いでセンスすれば安定して検知できることが、今回のマイコン換装で実証された

この記事のURL
https://blog.canpan.info/charts/archive/499
トラックバック
※トラックバックの受付は終了しました
 
コメントする
コメント
おもちゃクリニックゆりかご退院時は、受取り場所や日時はご要望に応じて適宜変更できます。
リピーターのお客さまとは信頼関係もあり、お約束どおりに治療を進めることが出来て、おもちゃドクターとしても達成感ひとしおです。

退院直後にも、お客さまから感謝のメッセージがありました。
(以下、退院後のメッセージから抜粋)

「お疲れさまです。キティちゃんのレジスター、午後に時間が空いたので受け取りに行ってきました。
動画でも観せていただいてはいましたが、実際に自分でやってみて感激いたしました。
きっと大喜びすると思います。これからもよろしくお願いいたします。」
Posted by:ToyDr.わたなべ  at 2026年01月19日(Mon) 17:00