FC2ブログ

名張市つつじが丘おもちゃ病院

三重県名張市つつじが丘でおもちゃの病院を開院しています。年中無休で修理は無料、部品代のみ実費です。おもちゃの修理依頼は tutuji@cb4.so-net.ne.jp へメールにてご連絡下さい。なお、宅配便での受け付けは行っておりません。このブログにはおもちゃ等の修理事例やツール製作などを載せていきます。故障診断や修理方法の改善等、ご意見をお寄せ下さい。

アンパンマンキッチンの修理(電子オルゴール・音声再生換装)

本件は、 おもちゃの病院新津(新潟)様の修理事例 であり、つつじが丘おもちゃ病院(当院)はファームウェアの開発を請け負った。
当記事には依頼元のおもちゃの病院新津(新潟)様から提供していただいた情報や資料が含まれている。

1.患者
アンパンマンキッチン(ジョイパレット)(下記画像は依頼元のブログから転載)
アンパンマンキッチン(電子オルゴール・音声再生換装)外観

2.症状(依頼元のブログから転載)
①電源を入れても無反応

②通電するも電池端子に入れた1Ω抵抗でも電圧は殆んど0mv


3.診察(依頼元のブログから転載)
①COB(丸いIC)のVCC-GNDで電源チェック 正常に4.5V有り

②SWも正常動作

③スピーカ・モータ類は単体チェックで正常動作

④COB不良と判断


4.治療
①故障したCOBチップをPICで換装するため、ファームウェアの開発が当院へ依頼された。

【要件定義】(依頼元で実施)

②依頼元からの機能要件(依頼元のブログから転載)

 1:コンロ SW 押下で 
     コンロLED1ケ 0.5秒おきに点滅
        (点滅周期が変更出来る様にOFF⇒ON時間)
     音声: コンロの音・コンロモータ
        (料理中の時間可変設定  その合コンロ音繰り返す)
     メモリが範囲で 
        ぼくアンパンマンお料理上手 開始時間設定可能
        火は強いんだよ気をつけよう     :
        焦げちゃいそうだよ           :
        上手に焼けたよ             :

 2:アンパンマンSW押下で   
     LED 3ケ同時に 0.5秒おきに点滅
        (点滅周期が変更出来る様にOFF⇒ON時間)
     曲名:アンパンマーチ演奏・コンロモーター演奏中駆動

 3:水道蛇口
     レバー2段切替 常時ONとなるSWです
       3接点式のロータリーSWをイメージ
       OFF⇒ON1⇒ON2
     1段目のレバー(ON1)で水の音中
     2段目のレバー(ON2)で水の音大
     ON1・ON2のSWは入りっぱなしでこの間 モータ2(洗濯機モータ)駆動
     OFFで 停止
     音声 綺麗にあらおうピッカピッカ
 4:最後はスリープ
 5:音声挿入は、メモリーの許す範囲でセットする  外部シリアルROMも可
    最優先は 
      水の音
      コンロの音
      ぼくアンパンマン 
      綺麗に洗おうピカピッカ


 動作時間やタイミング等のカスタマイズが容易にできること。

③その他の要件で、電源電圧は電池3本の4.5V、ターゲットデバイスは16F1705、メモリは24FC512が指定された。在庫保持の観点から今後はこれらのデバイスを標準としたいとのこと。

【設計】(当院で実施)

④機能要件は、要求されたとおりに粛々とコードを書いていけばよいのだが、「カスタマイズが容易」を実現するのは難しそうだ。何をカスタマイズ項目とするか、どのレベルまで可変とするか、悩ましい。しかし、捉え方を変えて「機能要件は利用者が作り込んでくれる」と理解すれば話はすごく簡単になる。極端に言えば、システム部分のみを書いて、アプリケーション部分は空白のファームウェアを提供すればよいのだ。このやり方は僕が当初から考えていたものだ。つまり、対象のおもちゃを制御するファームウェアは担当ドクターが設計し製作する。その中で、オルゴール演奏や音声再生が必要な場合に当院が提供するライブラリを利用していただく、ということだ。

⑤しかし、上記のように言うと身も蓋もない。おもちゃを制御するアプリケーション部分を書いて貰うにしてもアセンブラやCで書けと言うのは酷な話だ。そこでおもちゃの動作シーケンスを簡易な記述形式で定義する方法を考えた。

⑥おもちゃの制御で考えられるものは以下の動作だ。
・LED点滅
・モーター正/逆転/停止
・オルゴール演奏開始/中止
・音声再生開始/中止

それに、シーケンスを表現するために以下の記述も必要だ。
・時間待ち
・繰返し
・条件(動作状態やスイッチの評価)分岐/無条件分岐

⑦記述イメージ
(あくまでも考え方を理解していただくための記述例であり、実際に開発したファームウェアではない)

・LEDを1秒周期で点滅させる例
A  LED_ON        ;LED点灯
   WAIT 500ms    ;500ms待つ
   LED_OFF       ;LED消灯
   WAIT 500ms    ;500ms待つ
   JUMP A        ;無条件分岐

・SWオンでオルゴール演奏を開始し、演奏中はモーターを正転させる例
   SONG_BEGIN 曲1 ;曲1を演奏開始
   MT_ON         ;モーター正転
A  WAIT 100ms
   SONG_CHECK    ;演奏中だったら
   JUMP A        ; 繰り返す
   MT_OFF        ;モーター停止

【開発】
⑧開発したファームウェアは ここから ダウンロードできる。
\orgel5_4_seino20160119\orgel5_onsei_PIC1705.X がMPLABXプロジェクトディレクトリである。
24FC512に収容できたのは下記の音声。
・ぼくアンパンマンお料理上手
・いっしょに遊ぼう
・上手に焼けたよ
・焦げちゃいそうだよ
・綺麗に洗おうピカピッカ

下記の効果音は16F1705に収容した。
・コンロの音
・水の音

動作シナリオはソースコード onsei_PIC1705.asm を参照。

⑨実機確認環境
アンパンマンキッチン(電子オルゴール・音声再生換装)実機確認環境回路図
アンパンマンキッチン(電子オルゴール・音声再生換装)実機確認環境1
アンパンマンキッチン(電子オルゴール・音声再生換装)実機確認環境2

⑩開発時に遭遇した問題点と対処
・オルゴールエンジン部と固有部のコードがページ境界の0x800を超えてしまった。

⇒分岐の前後でPCLATH設定を行うようにした。但し、ページ内に収まる場合は必要ない処理なので、この処理をマクロ定義してPCLATH設定の要否を自動的に判別するようにした。

・固有部の処理が重くなりオルゴール演奏+音声再生でアンダーランが発生するようになった。

⇒固有部処理を複数タスクに分けてCPU負荷を時間的に分散させた。


【愚痴】
⑪機能改善を重ねる度にデバイスの機能や性能の限界に抵触している。人の世界では「できの悪い子ほどかわいい」と言われるが、マイコンの世界では「できの悪い子は捨てろ」だ。でもコストメリットでPICを捨てられないのが現実。

【実装】(依頼元で実施)
⑫実装の作業状況は 依頼元のブログ を参照。

⑬依頼元での動作検証の動画を転載しておく。この商品のオリジナルは音声・効果音・メロディを同時に発音できていない。マルチイベント処理ができないファームウェアのようだ。そのため動作中に他のボタンを押すと、後押し優先で動作が切り替わってしまう。今回開発したファームウェアはマルチイベント処理を行っているので、複数のボタンの音が同時に発音されていることに注目されたい。
関連記事
スポンサーサイト
  1. 2016/01/31(日) 19:48:49|
  2. マイコン換装
  3. | コメント:0
<<アンパンマンじゃかじゃか消防車の修理(電子オルゴール・音声再生換装) | ホーム | セミデラコン童夢零の修理(サーボ制御IC換装)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

プロフィール

大泉茂幸

Author:大泉茂幸
名張市つつじが丘おもちゃ病院
名張市つつじが丘南3番町129
tutuji@cb4.so-net.ne.jp
090-5534-6494
連絡は上記のメール、またはSMSでお願いします。

子どもの頃から趣味は電子工作一筋でやってきました。理科離れが進む中で科学技術に興味を持つ子どもが少しでも増えて行くことを願って、子ども達に電子工作の活動の場を提供しています。

1981年からおもちゃ病院の活動を始め、2014年に三重県名張市への移住を機に「つつじが丘おもちゃ病院」を開院しました。自分でおもちゃを設計し製作する【おもちゃ工房】と、マイコンを応用した電子工作を楽しむ【マイコンクラブ】も併設しています。新規参加メンバーを募集しています。

本ブログで公開している技術情報や成果物のご利用および再配布はフリーです。読者様の技術活動のお役に立てば幸いです。ご利用いただいた結果や感想等を記事へのコメントやメールでフィードバックしていただけると有難いです。

カテゴリ

おもちゃ修理技術 (80)
¦ ・電子オルゴール+音声 (27)
¦ ・音声再生・録音再生 (4)
¦ ・2.4GHzラジコン (27)
¦ ・レガシーラジコン (12)
¦ ・赤外線リモコン (4)
¦ ・RFID (3)
¦ ・タッチセンス (3)
ツール製作 (22)
¦ ・プログラマー (15)
¦ ・USB-シリアル変換 (3)
¦ ・その他のツール (4)
修理事例 (147)
¦ ・マイコン換装 (69)
¦ ・電子・電気修理 (56)
¦ ・メカ修理 (22)
製作記事 (4)
PIC開発 (4)
おもちゃ病院 (8)
ドクター研修会 (2)
未分類 (2)

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR