FC2ブログ

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

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

「DFPlayerMiniの制御」で操作性を改善(任意のトラックからのリピート再生)

先般、DFプレーヤーを制御するファームウェア を作ってフィールドテスト中なのだが、操作性に若干の不満が出てきた。

【改善の要件】
DFプレーヤーでは以下のリピート再生のコマンドが提供されている。

①SDカード全体のリピート
②ホルダ内リピート
③1トラックだけのリピート

上記の①と②は再生開始トラックはそれぞれのリピート範囲での先頭のトラックから再生を開始する。任意のトラックからリピート再生を開始できない。これが「不満」なところ。

【設計】
今回はファームウェアのみの改善であり、回路図と配線図は DFプレーヤーを制御するファームウェア を参照。 

任意のトラックからリピート再生を行う具体的なやり方は以下のようにする。

①任意のトラックを再生開始する。
②1トラックの再生終了の通知を受信したら、次に再生するトラックを決めて、再生を指示する。
③リピートの範囲は[SDカード全体]、[ホルダ内]、[1トラックだけ]の3つのモードを設けて、次に再生するトラックを決める。

再生を開始するトラックは、ホルダ番号とホルダ内トラック番号で指示する。その操作は以下のようにする。

①リモコンの選局(+/-)ボタンでホルダ番号を+/-する。
②リモコンのチャンネル(0~9)ボタンで直接2桁のホルダ番号を指定することもできる。
③リモコンのビデオ選局(+/-)ボタンでホルダ内トラック番号を+/-する。

【DFプレーヤーの使い方のコツ】
①コマンドを連続送信するとDFプレーヤー側がビジーになることがあるので、30ms程度の時間間隔を空けると良い。
②POR後はDFプレーヤーからの初期化完了の通知が来るのを待つ。
③再生開始後にホルダ内トラック数をクエリすると再生が中断されることがあるので、先にクエリしてから再生開始を指示する。
④上記3..は具体的には、「クエリ」→30ms待ち→「再生開始」 とするのだが、クエリの応答は非同期に返って来るので、「クエリ」の応答からホルダ内トラック数を取込む。
⑤「再生開始」の指示に対しては、正常時は応答が無く、異常時にのみエラーが通知される。通知されるエラーは検知しても対処のしようが無い。「指定されたファイルが無い」もあるが、バグでしか発生しないので対処しない。

【ダウンロード】
設計資料とファームウェアの開発プロジェクトは ここから ダウンロードできる。

プロジェクトは DFPlayerB_322.X

僕は、OHM製のテレビ/ビデオ用リモコンに日立のメーカー設定をして使っている。ファームウェア内の赤外線コードの定義は、そのリモコン用になっているので、このファームウェアを応用する場合はお使いのリモコンに合わせた定義に替える必要がある。リモコンのボタンの構成によっては操作方法も替えないといけないかも知れない。
スポンサーサイト



  1. 2019/03/30(土) 21:01:10|
  2. 電子オルゴール+音声再生
  3. | コメント:0

ミミクリーペット5(ATtiny13A+24C256でボイスレコーダー・チェンジャー換装の音質改善)の実装

ミミクリーペット5全体
ミミクリーペットのマイコン換装で音質の改善」の記事では、再生音に乗っていた再生繰返し周期のノイズを軽減する方法を試行して、改善されることを確認した。今回は、その方法を換装用のファームウェアに取り込み、動作確認した。

【回路図・配線図】

ミミクリーペット5回路図

Toyトランシーバの製作」でスピーカーをマイク代わりに使って良好だったので、これにも適用して、コストダウンを図る。但し、Toyトランシーバでは利得が不足気味だったので、ここではアンプを1段追加した。

ミミクリーペット5配線図

ピンヘッダはデバグや評価のために取り付けてあり、実際の換装用の基板には不要である。

先般製作したミミクリ換装用基板 は音声入力にECMを使っているが、ピン割り当てやADC設定などの設計条件は同じなので、今回のファームウェアは両方に共通して使える。

【実装】
24FC256を搭載
ミミクリーペット5基板表
ミミクリーペット5基板裏

AT24C256N27を搭載
ミミクリーペット5基板表2

全体像は記事先頭に掲げているが、スピーカーへの配線はノイズを拾わないように、できるだけ短くし、シールド線を使うのが望ましい。

以下の項目はファームウェアの調整値であり、動作状況によりチューニングする。

・音声有り/無しを検知する音声レベルの閾値
・録音を終了する音声無し時間
・再生終了から次の音声検知までの休み時間

電源パスコン(回路図上は330uと記載)についても、動作状況によりチューニングする。なお、今回のテスト基板には装着していない。

【動作確認】
再生音はこれ

電源電圧は2.0Vで正常動作を確認した。AT24C256N27のデータシートでは動作電圧範囲は2.7V以上となっているが、実力は1.7Vでも動作した。

【コスト】
換装基板の製作コストは以下の通り(2019年3月)。なお、ICソケットやピンヘッダなどは実際の換装では不要のため含んでいない。

ATtiny13A 50円(秋月)
AT24C256N27 20円(AliExpress)
SOP8変換基板 6円(AliExpress)
SSMBJ327R 5円(AliExpress)
IRLML6344 5円(AliExpress)
2SC4116-Y(2個) 8円(AliExpress)
ユニバーサル基板 5円(AliExpress)
CR類 50円
+++++++++++++++++++++++++++++++
合計149円

【ダウンロード】
設計資料と開発プロジェクトは ここから ダウンロードできる。
  1. 2019/03/19(火) 11:21:50|
  2. 音声再生・録音再生
  3. | コメント:0

ミミクリーペットのマイコン換装で音質の改善

ミミクリーペットのCOBを換装するファームウェアは、今までも度々の改善を施してきていて、詳細は「ミミクリ」で「ブログ内検索」すると出てくる。

今回は、再生音質の改善を行った。

ミミクリペットは録音した音声をロボット風にボイスチェンジして再生する。それを、換装用ファームウェアでは4kspsで録音して8kspsで再生することで、ボイスチェンジを行っている。しかし、そのままだと早口で喋ってしまうので、短時間で2回ずつ繰返し再生することで、喋るスピードは元と同じにしている。

従来は、数10msの一定時間毎に繰り返していた。これより短いとザラザラしたノイジーな音になる。長くするとトンネルの中で喋るようなエコー掛かった音になる。中間の時間に設定しても、その周期でのノイズが乗って震えた声になったり、ブツブツノイズが出てしまう。

その原因は、一定時間で区切って繋ぐと繋ぎ目で音声レベルに段差が生じるためと考えられる。そこで、繋ぎ目を音声レベルのゼロクロスポイントにしてみた。
ミミクリーペットのマイコン換装で音質の改善ゼロクロスポイント
上図で、赤丸部分がゼロクロスポイント。隣り合う赤丸から赤丸までの区間を2回ずつ再生を繰返す。こうすれば、繋ぎ目で音声レベルの段差が生じない。

結果はこれで、最初は元の音声、その次は改善した再生音、最後は改善前の再生音となっている。
再生音試聴

かなり改善されたと思う。
  1. 2019/03/13(水) 09:29:37|
  2. 音声再生・録音再生
  3. | コメント:0

PIC電子オルゴールVer5_7で渡辺Dr(糸魚川)の2019年新曲を追加

糸魚川の渡辺Drから 「日本の歌2019年追加曲目」 をいただいて、PIC電子オルゴールVer5_7に追加した。

【追加曲目】
PIC電子オルゴールVer5_7で渡辺Dr(糸魚川)の2019年新曲を追加

【試聴】
(福岡)飯塚こわれたおもちゃの相談所 で追加曲を含むPIC電子オルゴールの全曲の試聴ができる。試聴は こちら

【ダウンロード】
ここから ダウンロードできる。
  1. 2019/03/07(木) 11:31:23|
  2. 電子オルゴール+音声再生
  3. | コメント:2

PIC電子オルゴールVer5_7でSPIメモリからタッチセンスで音声再生のSleep対応

先般行った 「PIC電子オルゴールVer5_7でSPIメモリからタッチセンスで音声再生」 に対して、Sleep対応を行った。

普通のスイッチでPIC電子オルゴールを操作するのであれば、IOC割り込みを仕掛けてSleepすればよいのだが、タッチセンスで操作する場合は、Sleep中はタイマーが停止するためタッチセンスができないので工夫が必要だ。

ターゲットデバイスは16F1503と16F1705。

【設計】
やり口は、Sleep中にWDTでWakeUpして、短時間のうちにタッチセンスを行うことだ。タッチセンス時間:WDT周期 が小さい程、平均的な消費電流を小さくできる。タッチセンスは1点当たり28us程度を見込むと5点で140usとなる。WDT周期を128msとすると、平均的な消費電流は約1/1000になる。

オルゴール演奏ではFoscは32MHzが必要だが、例えば16F1705でFosc=32MHzではx4PLLを使うことになり、x4PLLは安定するのに2ms程度も掛かる。これでは平均消費電流を抑えることができない。そのため、稼働していないときはFosc=16MHzに落として、定期的にタッチセンスを実行する。稼働中(Fosc=32MHz)はタイマーのプリスケーラを1/2に設定して、タッチセンスでの計時値が変わらないようにする。

16F1705ではポートピンの入力容量がピン間でバラつきがあるようだ。特にRA0とRA1はRA2とRA4、RA5と比べて入力容量が倍程度も大きく見える。手持ちの数個の16F1705をチェックしたが同じ傾向が認められた。16F1503はピン間の差は認められなかった。また、16F1705ではFoscが16MHzのときは32MHzのときより入力容量が大きく見える。そのため、事前に実験を行い、16F1705と16F1503ともに1MΩの外部プルアップでソフトの制御の範囲内に収まることを確認した。

【回路図】
PIC電子オルゴールテストベンチ回路図(タッチセンス)

【テストボード】
PIC電子オルゴールテストベンチ(タッチセンス1)
PIC電子オルゴールテストベンチ(タッチセンス2)

【消費電流の実測値】
非稼働時の平均消費電流は、16F1705では2uA、16F1503では8uAとなった。

【ダウンロード】
PIC電子オルゴールのファームウェアは ここから ダウンロードできる。

今回追加したプロジェクトは onsei_PIC1705_SPI_touch.X
親のソースコードは onsei_PIC1705_SPI_touch.asm

更新したプロジェクトは onsei_PIC1503_SPI_touch.X
親のソースコードは onsei_PIC1503_SPI_touch.asm

【動作テスト】
単独タッチで音声を再生したあと、最後に複数タッチで音楽を再生している。

  1. 2019/03/06(水) 19:53:17|
  2. 電子オルゴール+音声再生
  3. | コメント:1

PICプログラマーのバグ改修(COM10以上のとき)

PICプログラマーのバグ改修版のリリース案内です。

【バグ内容】
PC側のCOMポートが 「COM10」 以上のときにポートが開けない。
Windowsのお作法で、COM10以上のデバイス名の頭に 「¥¥.¥」 を付けるのを忘れていた。

【影響範囲】
PC側の制御ソフトの 「ISP」 と 「EEPROM」 の両方に影響する。

【ダウンロード】
修正版を含む開発プロジェクトの一式は ここから ダウンロードできる。

今回の更新ファイルは、 ISP\ISP\bin\ISPdll.dll と ISP\EEPROM\bin\ISPdll.dll。両者の内容は同じ。
  1. 2019/03/05(火) 14:12:29|
  2. プログラマー
  3. | コメント:0

プロフィール

大泉茂幸

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

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

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

当ブログで公開している技術情報や成果物の複製、改変および再配布はフリーです。読者様のおもちゃ病院活動のお役に立てば幸いです。ご利用いただいた結果や感想等を記事へのコメントやメールでフィードバックしていただけると有難いです。なお、公開ファイルは最新版を載せているので、古い記事の内容から変わっている場合があります。

カテゴリ

おもちゃ修理技術 (131)
¦ ・電子オルゴール+音声再生 (53)
¦ ・音声再生・録音再生 (14)
¦ ・2.4GHzラジコン (40)
¦ ・レガシーラジコン (13)
¦ ・赤外線リモコン (4)
¦ ・RFID (3)
¦ ・タッチセンス (4)
ツール製作 (35)
¦ ・プログラマー (27)
¦ ・USB-シリアル変換 (3)
¦ ・その他のツール (5)
修理事例 (157)
¦ ・マイコン換装 (75)
¦ ・電子・電気修理 (59)
¦ ・メカ修理 (23)
製作記事 (5)
PIC開発 (4)
おもちゃ病院 (9)
ドクター研修会 (2)
未分類 (1)

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

QRコード

QR