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

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

ミミクリーペットの修理(ボイスレコーダー・チェンジャー換装)新バージョン

0.はじめに
①ミミクリーペットのCOBチップが故障している場合はPICマイコンで換装することで修理を実施してきた。その状況は当ブログ記事「 ミミクリーペットの修理(ボイスレコーダー・チェンジャー換装) 」で紹介している。その記事で公開している ファームウェア は他のおもちゃ病院様でもご利用いただいているようだ。

②しかし、記憶デバイスにSRAMを採用したため、PIC~SRAM間のバスラインの本数が多い上に、30mm四方の基板に納めるためにPICは28ピンQFN、SRAMは28ピンフラットハーフピッチを使わざるを得ず、視力が衰えてきたドクターには配線作業が難しいとの批判があった。

③当時はPIC16F887-I/PTが140円(2013年11月秋月価格5個700円)だったが、現在は230円(2016年7月秋月価格1個230円で数割無し)に値上がりしているので、他の廉価なデバイスへ変更したいと考えていた。

④そこで、記憶デバイスにシリアルEEPROMを使って配線本数を減らし、且つ、DIPパッケージを採用した構成に変更した。また、表面実装部品の使用を避けて、半田付けに慣れていないドクターにも作り易くした。

⑤本記事は実際に修理を行った事例ではないが、故障品の換装用基板と同等の評価基板を製作して動作確認と仕様の評価を行った。記事としては、過去の修理事例をバーチャルに再現した表現になっている。

1.患者
①タカラトミーアーツのミミクリーペットという小動物のぬいぐるみ系おもちゃ。
ミミクリーペット(マイコン換装新バージョン)外観

②メーカーサイトで確認すると、子どもが話しかけた言葉をロボット風の声に変えてオーム返しする、ボイスレコーダー+ボイスチェンジャーの機能を持つおもちゃである。

2.症状
電源を入れると「ピッピッピッ」と鳴り、その後はまったく動かない。

3.診察
ミミクリーペット(マイコン換装新バージョン)診察1

①基板上の能動部品は3.3Vレギュレータ、COBマイコン、モーター制御用Trのみである。レギュレータの入力と出力は正常である。
ミミクリーペット(マイコン換装新バージョン)診察2

ミミクリーペット(マイコン換装新バージョン)診察3

②マイコンには外付けのクロック発振子はなく、内部OSCを使っているようである。

③電源投入後「ピッピッピッ」と鳴った後、コンデンサーマイクに電源が供給される。この音が何を意味するのか不明。メーカーサイトやその他Web検索でも有用な情報が見付からなかった。

④メーカーサイトのデモ動画を見ると
・再生音は1オクターブ上げたようなロボット的な声になる。

・音声を検出したら録音開始し、音声が途切れたら再生に切り替わる。

・再生が終わると音声待ちになる。

・再生中は頭が上下に動く。

⑤マイクに話しかけても音声出力もモーター制御も動作しない。

⑥マイクの電源はCOBチップから供給されていて、COBからは電圧が出て来ている。

⑦COBチップの音声信号入力ピンに外部から信号を注入しても反応が見られない。COBチップの不良と判断した。

4.治療
①COBチップを1チップマイコン+外部メモリで換装することにした。

②【概要設計】
・PICマイコン+シリアル(I2C)EEPROMでボイスレコーダー・ボイスチェンジャーを実現する。

・4kspsで録音し、倍速の8kspsで再生することでボイスチェンジする。

・8ビットPCMとし、256kビットのEEPROMで8秒間の録音が可能。

・マイコンの条件は、ADC、PWMを内蔵し、ポート数は下記の6本が必要である。
 マイク入力(ADC)に1本
 音声出力(PWM)に1本
 EEPROM接続(I2C)に2本(SCL、SDA)
 モーター制御に1本
 マイクアンプの電源制御に1本

・上記のポート以外に、デバグ時にはシリアル通信ポート(TX)も持っておきたい。

・マイコン+EEPROM+周辺回路が30mm×30mmの基板に納まる大きさであること。これは、このおもちゃに内蔵するための絶対条件である。

・総コストは高々200円であること。これは、おもちゃの修理は無制限にコストを掛けるのではなく、創意工夫を凝らしてコストを抑えるべきという、当おもちゃ病院のルール。

・ピン数としては8ピンPICが使えそうだが、MCLRピンはデジタル入力専用でありアナログ入力には使えないので、実際にはポート数が足りない。そこで、音声出力をモーター制御に兼用させる。音声を出力している間にモーターが動けばよいので、元々音声出力とモーター制御を別ポートにする必然性は無かった。また、デバグ情報出力はマイクアンプの電源制御ポートと兼用させる。

・I2Cモジュールを内蔵していなければ、I2C通信はソフト処理でも構わない。ソフト処理でも300kbpsの性能は出る。

・EEPROMのページサイズが64として、1ページの書込みに対する転送バイト数は67バイトとなり、所要時間を概算すると

 データ転送 67バイト×9ビット/300kbps=2ms
 書込み時間:5ms

 合計7msに対して、音声サンプリング時間は

 64サンプル/4ksps=16ms

 であり、十分余裕がある。

・これらより下記のデバイスを選定した。
マイコンはPIC12F1501(2016年7月秋月価格70円)
EEPROMは24FC256(2016年7月秋月価格90円)

・SRAMと違って、EEPROMは消去/書込み回数に限度がある。それが、当初はSRAMを採用した理由の一つであった。24FC256のデータシートによれば100万回の消去/書込みサイクルが可能なので、1日に100回遊ぶとすれば1万日遊べることになる。これが換装後のミミクリーペットの寿命になる。

③【PWM】
・12F1501のPWMを使ってDACを行う。デジタルアンプを介してPWM信号のままでスピーカーを駆動させる。

・内部16MHzクロックでTMR2プリスケーラを1/1、PRを127に設定すると、PWM周期は32usとなり、可聴周波数外になる。ポストスケーラを1/4に設定することでTMR2割り込み周期を128usとし、再生時サンプリングレートの8kspsに合わせる。4倍オーバーサンプリングとなる。

・128us×128サンプル=16ms毎に再生を2回ずつ繰返して、しゃべるスピードは元のままにする。

④【ADC】
・12F1501のADCは変換時間が約70usで、サンプリング周期の250usに対して十分なスピードである。

・TMR2割り込み処理内でADCをキックすることでサンプリング周期の精度を担保する。録音中はPRを255にして、TMR2割り込み周期を256usとし、録音時サンプリングレートの4kspsに合わせる。なお、録音中もPWMは稼働したままにして、デューティサイクルを0に設定しておく。

⑤【モーター制御】
・モータードライバーとなるFETのゲート信号は、音声出力のPWMを整流して作る。

・当初はショットキーダイオードを使った単純な整流回路でやってみたが、Vddが3.5Vまで下がるとゲート電圧が3Vを割り込むようになり、FETが完全にはオンしなくなった。そのため、一般の高速スイッチング用ダイオードを使った倍電圧整流に代えた。結果、Vddが3.5Vでも5V超えのゲート電圧が確保できた。

⑥【付加機能】
・長時間(2分程度)音声入力が無いときはSleepし、電源の再投入で起動する。

⑦【回路設計】
・回路は、PIC~EEPROM間のI2C接続とマイクアンプ、スピーカアンプ、モーター制御のオーソドックスな構成である。
ミミクリーペット(マイコン換装新バージョン)回路図

・ICSP実行時にPICと周辺回路(モーター、スピーカー)を切り離さなくてもよいように、PWM出力はICSPピンと被らないようにする必要がある。また、マイクアンプからの音声入力はローパスフィルターのコンデンサが繋がっているのでICSPピンとの共用を避けたい。そのため、I2Cのどちらか1本はICSPピンと共用せざるを得ない。SDAがバタつくとスタートコンディションになってしまうので、SCLをICSPピンと共用すれば問題無い。

⑧【ファームウェア開発】
・ファームウェアの開発プロジェクト(MPLABX)は ここから ダウンロードできる。

・ファームウェアの詳細はダウンロードファイルを参照のこと。

⑨【評価基板】
・評価基板を製作し、動作検証した。

・実際に換装する基板のときは、おもちゃ内の基板設置スペースの制限でICソケットは使えない。
IMG_5396.jpg

IMG_5399.jpg

IMG_5403.jpg
・基板の部品配置と配線図はダウンロードファイルに含まれている。

⑩評価
・Sleep時の電源電流実測値は11uAだった。マンガン単4電池で500mAhとすると持続時間は下記となる。

 500mAh/11uA=45454h=1893日=5年

・稼働中で音声入力待ちのときの消費電流は1.7mAだった。

・再生時に音声の頭が欠ける。これは音声信号が録音開始レベルを超えたときに録音開始するため、音声の前兆部分が録音されないためである。前作のSRAM使用版では常に書込みを行っておき、録音開始レベルに達する少し前の時点から再生させているため、音声の前兆部分が欠けることがない。しかし、EEPROMの場合は常に書込みを行っていると記憶素子のダメージが進むため、それができない。また、PIC内部のデータメモリ(SRAM)は前兆部分を蓄えるほどの量が無い。使い方の工夫(しゃべる前にアーとかウーとか付ける)で補っていただくしかない。

⑪製作費用
PIC12F1501 70円
24FC256 90円
基板 30円
CR・Tr・FET・ダイオード等はジャンク再利用

合計190円

今回は表面実装部品を避けてリード部品を使ったことでジャンク部品の再利用がやり易くなり、結果としてコストを抑えられた。

⑫実際の音声
再生音はこれ
スポンサーサイト
  1. 2016/07/14(木) 23:18:06|
  2. 修理事例
  3. | コメント:2
<<PICでSDカード再生 | ホーム | XC8での内部OSCキャリブレーション値の設定>>

コメント

Re: 24FC256及び関連質問

お問い合わせに回答します。管理人のみ閲覧可能でいただきましたが、質問内容は転記していますので、ご了承ください。

Q:24FC256への書き込みは無くても良いのか

A:24FC256には音声データのみを記録し、管理情報は置いていませんので、内容に初期値は不要です。
  24FC256の劣化を平均化するために書き出し位置を都度ずらせているのですが、書き出し位置はPIC側で管理していて電源オフで失われます。


Q:2SK960の代りに2SK2231が使えるか

A:ジャンク部品の再利用のため、たまたまジャンク箱に有った2SK960を使いました。
  シビアな使い方はしていませんので、定格が合えば何でも構いません。2SK2231でもOKです。


捕捉
以前にブログに掲載した回路図が間違っていて、24FC256が書込みプロテクトになっていました。
24FC256のピン7はGNDに繋がなければなりません。
現在は修正して、正しいものを掲載しています。
もしかして間違った回路図をご覧になっているかも知れませんので、ご確認下さい。

  1. 2017/06/30(金) 20:31:47 |
  2. URL |
  3. 大泉茂幸 #-
  4. [ 編集 ]

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
  1. 2017/06/27(火) 11:05:15 |
  2. |
  3. #
  4. [ 編集 ]

コメントの投稿


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

プロフィール

大泉茂幸

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

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

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

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

最新記事

最新コメント

月別アーカイブ

カテゴリ

おもちゃ病院 (7)
技術情報 (9)
修理事例 (143)
製作記事 (77)
ドクター研修会 (2)
PIC開発 (9)
未分類 (9)

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

ブロとも申請フォーム

この人とブロともになる

QRコード

QR