FC2ブログ

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

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

PICで音声再生の音声データ12ビットパッキング

【前振り】
過日、PICで音声再生の音質向上の続編で W25QのQUAD出力 を行い、音質向上の目標は達成できた(と思う)。ただ、11ビットの音声データを2バイトに格納しているのでメモリの利用効率が悪い。その点を改善したい。


【設計】
11ビットは中途半端なので12ビット形式にして、3バイト/2サンプルの形でパッキングを行ってフラッシュメモリに格納し、再生時にアンパックを行う。必要なメモリ量を75%に削減できる。

128Mビットのデバイスでは、16ビット形式では4.3分間の音声が格納できるが、12ビットパッキング形式では5.8分間になる。

・パッキング

パッキングは 「wav2hex」 のツールで行う。

「wav2hex」の従来版は変換後の量子化ビット数として7~16が指定でき、9ビット以上の場合は2バイト/1サンプルに変換していた。これを、変換後の量子化ビット数として8・12.16のうち何れかを指定可能とし、8ビットの場合は1バイト/1サンプル、16ビットの場合は2バイト/1サンプルに変換する。12の場合に新規の仕様でパッキングを行う。

12ビットのパッキングは以下の形式でHEXファイルを生成する。そのように「wav2hex」を改造した。改造後の「wav2hex」はダウンロードファイルに含まれている。
PICで音声再生の音声データ12ビットパッキング格納形式

なお、変換後の量子化ビット数が8と16の場合の変換結果は従前どおりとなる。今まで8と16でしか使っていなかったので、(僕としては)問題は無い。

・アンパック

アンパックは 「PICで音声再生」 のファームウェアで行う。

フラッシュメモリからは3バイト単位で読み込み、アンパックして2サンプルを得る。

メインループの1回目で読み込みとアンパックを行い、先行サンプルを処理する。2回目は1回目で得た後行サンプルを処理する。


【評価】
動作時間の実測結果を以下に示す。W25Qからの読み込みを含むアンパック処理の入口/出口、およびPWM周期割り込み処理の入口/出口でデバグ信号を出して観測した。
PICで音声再生の音声データ12ビットパッキング時間観測
16ビット形式のQPI接続とQUAD出力ではPWM周期の32us当たり約7usを占有していたが、12ビット形式ではPWM2周期の64us当たり約8usの占有となり、性能の改善にもなった。

アプリの実行可能時間(割り込み処理中を除く)は十分確保されている。


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

プロジェクトは onsei_1823_QUAD_10bit32ksps.X

音源は voice_TRUTH にある。
スポンサーサイト



  1. 2020/03/17(火) 09:49:36|
  2. 音声再生・録音再生
  3. | コメント:0

PICで音声再生の音質向上(W25QのQUAD出力)

【前振り】
過日、PICで音声再生の音質向上の続編で W25QのQPI接続 を行い、性能が改善されることを確認した。しかし、QPI接続するためにはステータスレジスタ2のQEビットがセット(1)されている必要があり、出荷時にセットされていないデバイスではQEビットをセットする余計な操作が必要になる。

音声再生処理では読み込み処理が高速化できればよいので、無理にQPI接続しなくても、W25Qからの読み込み時にQUAD出力させればそれだけで済む。


【設計】
廉価PICに内蔵されたSPIモジュールはQUADをサポートしていないので、QUADはQPIと同様にソフト実装することになる。QUADの転送処理はQPIと同じなので、転送性能も同じになるはずだ。

QUAD出力させること以外は従前の設計を踏襲する。


回路図(QPIと同じ)
PICで音声再生の音質向上(W25QのQPI接続)I回路図


【評価】
動作時間の実測結果を以下に示す。W25Qからの読み込み開始/終了の箇所でデバグ信号を出して観測した。

ソフト実装QPI
PICで音声再生の音質向上(W25QのQPI接続)QPI時間観測
転送処理中はCPUを占有する(同期処理)。その経過時間は約7usであった。転送後PWM周期の終了までアプリの実行が可能である。

ソフト実装QUAD
PICで音声再生の音質向上(W25QのQPI接続)QUAD時間観測
ソフト実装QPIと全く同じである。

上記の観測結果から、QUADはQPIと全く同じ性能であることが判る。

PICで音声再生の音質向上を目指してW25Qの転送方法を試行してきたが、今回のQUAD出力がゴールだと思う。


【再生音】(16F1313版と同じ)
オリジナルの音源はステレオ16ビット44.1kspsで、 「SoundEngineFree」 でモノラル16ビット32kspsに変換し、その後 「wav2hex」 のツールで16ビット32kspsのHEXファイルを作成した。

それを今回のファームウェアで再生させ、SoundEngineFreeで録音した。

16ビット32kspsでの再生音はこれ↓
onsei_18313_10bit32ksps.mp3


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

プロジェクトは onsei_1823_QUAD_10bit32ksps.X

音源は voice_TRUTH にある。

なお、このプロジェクトは 「PICで音声再生の音声データ12ビットパッキング」 に対応して仕様変更されている。
  1. 2020/03/16(月) 09:07:40|
  2. 音声再生・録音再生
  3. | コメント:0

PICで音声再生の音質向上(W25QのQPI接続)

【前振り】
過日、PICで音声再生の音質向上で 16F18313版16F1823版 を公開したが、当初はSPIの転送レートを1Mbpsにしたところアンダーランが発生して、4Mbpsにすると回避できた。

今回はSPIフラッシュメモリのW25QをQPI接続することで更なる性能改善を試みた。

SPIモジュールを内蔵していないマイコンで高速転送レートを稼ぐ手法としても有用だ。


【設計】
廉価PICに内蔵されたSPIモジュールはQPIをサポートしていないので、QPIはソフト実装することになる。ソフト実装することにより非同期処理が不可となり性能は低下するが、一方、4ビットパラレル転送による性能向上が期待できる。どちらの効果が大きいかと言うことだ。

QPI接続すること以外は従前の設計を踏襲する。

CLKのビット操作を連続したbcf/bsf命令で行うと、Fosc=32MHzではクロック周波数が4MHzに相当するが、W25Qの最大クロック周波数は33MHzなので全く問題ない。

W25QをQPIで接続するためにはステータスレジスタ2のQEビットがセット(1)されている必要がある。データシートによると、注文時にQEビットが1か0かが指定できるようだが、Aliの販社の商品ページでそのようなオプションは見付からない。Aliから調達したW25Qを調べたらセットされていた。念のため、クリア(0)であった場合はこのファームウェアでセットするようにした。なお
QEビットの設定の過程で接触不良などの誤動作が発生するとOTP設定になってしまう可能性があるので、QEビットの設定機能はオプション実装とした。

回路図
PICで音声再生の音質向上(W25QのQPI接続)I回路図


【開発】
ソフト実装QPIでの8ビット受信のソースコード
PICで音声再生の音質向上(W25QのQPI接続)ソースコード

コード展開の結果
PICで音声再生の音質向上(W25QのQPI接続)コード展開
8ビット分の転送の命令サイクル数は20となった。Fosc=32MHzで

  実行時間=1/32MHz*4*20=2.5us

  転送レート=8/2.5us=3.2Mbps


【評価】
動作時間の実測結果を以下に示す。W25Qからの読み込み開始/終了の箇所でデバグ信号を出して観測した。

ソフト実装QPI
PICで音声再生の音質向上(W25QのQPI接続)QPI時間観測
転送処理中はCPUを占有する(同期処理)。その経過時間は約7usであった。転送後PWM周期の終了までアプリの実行が可能である。

内蔵SPIモジュール(4Mbps)
PICで音声再生の音質向上(W25QのQPI接続)SPI時間観測
先行バイト取込み~後行バイト転送~次の先行バイト転送開始の期間はCPUを占有する(同期処理)。その経過時間は約14usであった。次の先行バイト転送開始後は非同期処理となり、PWM周期の終了までアプリの実行が可能である。

上記の測定結果から、ソフト実装QPIの方が性能が優れていることが判る。そのトレードとして必要なポート数が2本増えてしまう。ファームウェアの書き方としては転送の全てが同期処理であるソフト実装QPIの方が易しい。

SPI転送レートが1Mbpsのときは性能クリチカルな部分をインラインアセンブラで書き替えて対応したが、今回の評価でSPI(4Mbps)とソフト実装QPIの両者とも十分なアプリ実行時間が確保できることが判ったので、以前にインラインアセンブラ記述に書き替えた部分をC記述に戻した。メンテ性を考えるとC記述の方が良いからだ。但し、上下ニブルの交換は swapf のままにしている。これは合理的なやり方が見付からないからだ。なお、上記の評価結果はC記述に戻したファームウェアでの実測である。


【再生音】(16F1313版と同じ)
オリジナルの音源はステレオ16ビット44.1kspsで、 「SoundEngineFree」 でモノラル16ビット32kspsに変換し、その後 「wav2hex」 のツールで16ビット32kspsのHEXファイルを作成した。

それを今回のファームウェアで再生させ、SoundEngineFreeで録音した。

10ビット32kspsでの再生音はこれ↓
onsei_18313_10bit32ksps.mp3


【その後】
QUAD出力版で音声データの12ビットパッキング形式に対応したことにより、QPI版でも12ビットパッキング形式に対応した。


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

プロジェクトは onsei_1823_QPI_10bit32ksps.X

音源は voice_TRUTH にある。
  1. 2020/03/14(土) 20:54:41|
  2. 音声再生・録音再生
  3. | コメント:0

PICで音声再生の音質向上(16F1823)

【前振り】
過日、PICで音声再生の音質向上(16F18313) を公開したが、その続編として16F1823版を公開する。

【設計】
量子化ビット数やSPI転送レートについては、16F18313での設計を踏襲する。

SPIメモリからの読み込みとPWMデューティ計算を非同期に実行することも同じだ。

16F18313は8ピンなので、SPIとSWでポートの共用が必須であったが、16F1823はポート数に比較的余裕があるので、SWを専用のポートに繋ぐことにする。16F18313ではSWの読み込みでメンドイことをやっていたが、それが要らなくなる。

回路図
PICで音声再生16F1823_SPI回路図

【開発】
問題があったところは、16F1823のPWMデューティの下位2ビットの設定場所がPWM制御レジスタの一部分になっていて、その設定の実行コードが嵩張って、結果としてアンダーランが発生してしまった。

そこで、Cコンパイラの展開結果を確認した。

例1 data<<=1 の展開
「PICで音声再生」の音質向上(16F1823)展開例1
シフト数は1ビット固定なのに何故かループさせている。

これをインラインアセンブラで記述した。
「PICで音声再生」の音質向上(16F1823)展開例1のアセンブラ

例2 data=~(data<<1) の展開
「PICで音声再生」の音質向上(16F1823)展開例2
一々作業域へコピーしてから処理している。

これをインラインアセンブラで記述した。
「PICで音声再生」の音質向上(16F1823)展開例2アセンブラ

例3 CCP1CON=((((unsigned char)data)>>2)&0b00110000)|0b00001100 の展開
「PICで音声再生」の音質向上(16F1823)展開例3
これも作業域へコピーしているし、2ビットのシフトをカウント繰り返しに展開している。

これをインラインアセンブラで記述した。
「PICで音声再生」の音質向上(16F1823)展開例3のアセンブラ

上記のようにインラインアセンブラで書くことで、ダイナミックステップ数は半減した。その結果、アンダーランは発生しなくなった。

32usの間に、SPIフラッシュメモリから2バイトを読み込み、デューティ値に変換して、PWMに設定する処理を絶え間まなく実行するのでかなり忙しい。それをCで書くのは初めから無理だった、ってことだ。なお、これはフリーのXC8コンパイラでの話で、有償版ではもっと気の利いたコードが出るのかも知れない。

【再生音】(16F1313版と同じ)
オリジナルの音源はステレオ16ビット44.1kspsで、 「SoundEngineFree」 でモノラル16ビット32kspsに変換し、その後 「wav2hex」 のツールで16ビット32kspsのHEXファイルを作成した。

それを今回のファームウェアで再生させ、SoundEngineFreeで録音した。

16ビット32kspsでの再生音はこれ↓
onsei_18313_10bit32ksps.mp3

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

プロジェクトは onsei_1823_SPI_10bit32ksps.X

音源は voice_TRUTH にある。
  1. 2020/03/10(火) 15:09:18|
  2. 音声再生・録音再生
  3. | コメント:2

PICで音声再生の音質向上(16F18313)

【前振り】
このブログの 「PICで音声再生」「PIC電子オルゴール」 では音声再生を8ビット8kspsの分解能でやっていた。おもちゃの修理用ということで、それなりの音質に甘んじてきた。しかし、最近のおもちゃはHiFiなものがあり、廉価PICでどこまで音質をよくできるのか実験してみた。


【設計】
・量子化ビット数

廉価PICでも16ビットPWMを搭載したものがあり、量子化ビット数を16ビットにすることができる。PWMクロックが最大32MHzなので、16ビット分解能にすると

PWM周期=(1/32MHz)×(2^16)=2ms

となり、話にならない。

廉価PICで標準的な10ビット分解能では

PWM周期=(1/32MHz)×(2^10)=32us

となり、Fosc=32MHzではこれが限界だ。

ブリッジ出力とブレーキ出力ではPCMデータのMSBの1ビットは正相と逆相の区分に充てられ、2ビット目から10ビットがデューティ値に反映されるので、実質的に11ビットの分解能となる。


・SPI転送レート

量子化ビット数が8ビットを超えると1サンプルを2バイトに格納することになる。必要な転送レートは

転送レート=16ビット/32us=500kbps

になる。これはSPIのソフト実装では賄えない速さだ。オーバーヘッド分をみて、内蔵SPIモジュールを1Mbps以上で動かすしかない。


・デバイス選定

ブリッジ出力をサポートするにはフルブリッジ出力機能かステアリング出力機能、若しくはPWMが2個搭載されている必要がある。

SPI(SS、SCK、MOSI、MISO)に4本、音声出力(PWM)に正相と逆相の2本が必要で、8ピンPICで構成できそうだ。SWはSPI信号とポートを共有することで、SW専用のポートを取らなくて良いようにする。

RA3は入力専用ポートなので、上記のポートのうち唯一の入力信号であるMISOをRA3に割り当てる必要がある。そうするためにはPPS機能を搭載したデバイスである必要がある。

この条件で最廉価なのが16F18313で、秋月で@80円。Aliには該当条件の廉価ものは無かった。

14ピンPICではポート数に余裕があるのでPPS機能は無くてもよい。16F1823がAliで@53円だ。


・SPIメモリ容量

16ビット32kspsでは

16ビット×32ksps=512kビット/s

の容量が必要になる。128MビットのW25Q128でも250秒しか持たない。長目の曲だと1曲しか入らない。

回路図(16F18313)

PICで音声再生16F18313_SPI回路図


【開発】
今回は、16F18313で作った。

問題があったところは、処理速度だった。SPIメモリからの読み込みとPWMデューティ計算をシリアルに実行するとアンダーランが発生して、演奏のテンポが微妙に遅くなった。PCMデータ2バイトのうち1バイトの転送とPWMデューティ設定を並行処理するようにするとテンポが乱れることが無くなった。このときのSPIクロックは1MHzで実行している。

面倒だったところはSPIとSWのポート共有させることで、SPI転送が完了したタイミングでSPIバスを解放してSWを読込まないといけない。W25QはCE(SS)をネゲートすればMISOは解放される。MOSIとSCKを解放させるには、内蔵SPIモジュールを無効にするか、PPSでSPIモジュールからポートピンを切り離す。今回は前者を採った。SWを読み込み後に、SPIモジュールを有効に戻して、SPIメモリへREADコマンドを発行して読み込みを再開始する。

W25QのSPIクロックの最大値は33MHzなのだが、PIC内蔵SPIモジュールの最大値が4MHzなので、4MHzとした。これで、アプリ実行のCPUが稼げる。

16F18313は省電力性能が優れていて、Sleep時の消費電流は0.4uAだった。


【再生音】
オリジナルの音源はステレオ16ビット44.1kspsで、 「SoundEngineFree」 でモノラル16ビット32kspsに変換し、その後 「wav2hex」 のツールで16ビット32kspsのHEXファイルを作成した。

それを今回のファームウェアで再生させ、SoundEngineFreeで録音した。

16ビット32kspsでの再生音はこれ↓
onsei_18313_10bit32ksps.mp3
ラジカセ(表現が古い)レベルにはなった。


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

プロジェクトは onsei_18313_SPI_10bit32ksps.X

音源は voice_TRUTH にある。
  1. 2020/03/08(日) 20:21:17|
  2. 音声再生・録音再生
  3. | コメント:0

ミミクリーペット基板換装用ファームウェア(12F1501+24C256)の改善(出力音量の設定)

【前振り】
ミミクリーペット基板換装用ファームウェア(12F1572+24C256)」 でもブリッジ出力をサポートしているのだが、こちらも 「PICで音声再生の改善(出力音量の設定)」 と同様の改善を行った。

出力があり過ぎて音声が割れることがあるので、出力音量を小さく設定できる

以下は、「PICで音声再生の改善(出力音量の設定)」 での記載を再掲。

【原因】
ブリッジ出力では、ほぼ電源電圧でスピーカが正逆駆動される。3V電源では、最大音量のときは

(3V)^2/8Ω=1.1W

もの出力になる。おもちゃでよく使われている27mmΦのフィルムコーンスピーカは定格が0.25W程度なので、これに繋ぐと完全に定格オーバになり、音が割れたり、最悪スピーカが破損する。

【改善】
出力ボリュームを小さく設定する機能をファームウェアに盛り込む。PWMのデューティサイクルの上限を50%、または25%に指定可能とする。

シングル出力とコンプリ出力においても、出力ボリュームを小さくする機能は働く。小さくすると、シングル出力では消費電力が少なくなるが、コンプリ出力では変わらない。

【設計】
デューティサイクルの上限値を小さくしても分解能は落とさないように、デューティサイクルの値は0~255のままとし、PWM周期内のステップ数を512、または1024に大きくする。

PIC16FのPWMは(標準が)10ビットなので、音量を1/4に絞っても、音質は低下させないで実現が可能だ。但し、内部OSCが16MHzのデバイスでは25%出力時には分解能が1ビット分減る。

【アプリでの宣言】
以下の宣言で出力ボリュームを指定する。

PICで音声再生の改善(出力音量の設定)宣言文

【ダウンロード】
設計資料と開発プロジェクトは ここから ダウロードできる。
プロジェクト名にターゲットデバイスの型番を織り込んでいる。
  1. 2020/01/03(金) 10:58:38|
  2. 音声再生・録音再生
  3. | コメント:0

PICで音声再生の改善(出力音量の設定)

【前振り】
以前に、「PICで音声再生」 でブリッジ出力をサポートした。その目的は

・電力効率を改善すること

・音声出力を大きくすること

であった。この目標は達成されたのだが、効果があり過ぎて、以下の問題を生んでいる。

音声が割れる

【原因】
ブリッジ出力では、ほぼ電源電圧でスピーカが正逆駆動される。3V電源では、最大音量のときは

(3V)^2/8Ω=1.1W

もの出力になる。おもちゃでよく使われている27mmΦのフィルムコーンスピーカは定格が0.25W程度なので、これに繋ぐと完全に定格オーバになり、音が割れたり、最悪スピーカが破損する。

【改善】
出力ボリュームを小さく設定する機能をファームウェアに盛り込む。PWMのデューティサイクルの上限を50%、または25%に指定可能とする。

シングル出力とコンプリ出力においても、出力ボリュームを小さくする機能は働く。小さくすると、シングル出力では消費電力が少なくなるが、コンプリ出力では変わらない。

【設計】
デューティサイクルの上限値を小さくしても分解能は落とさないように、デューティサイクルの値は0~255のままとし、PWM周期内のステップ数を512、または1024に大きくする。

PIC16FのPWMは(標準が)10ビットなので、音量を1/4に絞っても、音質は低下させないで実現が可能だ。但し、内部OSCが16MHzのデバイスでは25%出力時には分解能が1ビット分減る。

【アプリでの宣言】
以下の宣言で出力ボリュームを指定する。

PICで音声再生の改善(出力音量の設定)宣言文

【ダウンロード】
設計資料と開発プロジェクトは ここから ダウンロードできる。
  1. 2020/01/02(木) 07:43:04|
  2. 音声再生・録音再生
  3. | コメント:0

チコっとボイスチェンジャーの換装用ファームウェア

チコっとボイスチェンジャー外観
2019年6月にタカラトミーから「チコっとボイスチェンジャー」が発売された。このおもちゃもいずれはおもちゃ病院へ修理依頼が来るだろうから、換装用ファームウェアを開発してみた。


【要件】
・リアルタイムにボイスチェンジを行う。

ミミクリ系では、一旦音声を録音して再生時に2倍速再生してボイスチェンジしているが、「チコっとボイスチェンジャー」ではリアルタイムにボイスチェンジを行う必要がある。

・「ボーっと生きてんじゃねーよ!」のチコちゃんのセリフを再生する。


【設計】
・セリフの再生

チコちゃんのセリフの再生はフラッシュメモリに記録したチコちゃんの音声を再生する。

セリフの時間を測ってみると2秒弱しかないので、7ビット8kspsのPCMデータにすれば8kワードのプログラムフラッシュに格納できる。

PCMデータの2個を1ワードに詰める。ワードでプログラムフラッシュに格納するので、「データ」ではなく「命令」としてプログラムに記述する必要がある。つまり、「関数」の実行部分にする訳だ。

関数の大きさはページ以内でなければならないので、チコちゃんのセリフのPCMデータをページ単位に分割し、複数の関数に記述する。実際のやり方はソースコードを参照。

・リアルタイムボイスチェンジ

ボイスチェンジの方法はミミクリと同じように、2倍速再生させることで音声のピッチを上げてチコちゃん風の声色に替える。

リアルタイムボイスチェンジでは、録音と再生を同時に進行させる。再生はゼロクロスポイント区間を2回繰り返し再生する。そのため、リングバッファの半分を録音に充て、もう半分を再生に充てる。これをゼロクロスポイント区間単位でバッファの使用位置を進めて行くことで、録音側と再生側で同じスピードで使用位置が更新されることになり、バッファオーバランとアンダーランは発生しない。

ゼロクロスポイント区間は、ミミクリの実績から高々30msであり、8kspsの再生では必要なバッファは240バイトとなる。録音側と再生側で合計480バイトのリングバッファが必要になり、データSRAMを記録領域に充てる。

・ターゲットデバイス

プログラムフラッシュが8kワード、データSRAMが1kバイトで廉価なデバイスを探すと、16F1825がAliExpressに約80円で出ていたので、それにした。

必要なメモリ量とPWMモジュールがあれば、どんなデバイスでも実装可能だ。


【回路図】
ピン割り当てはソースコード先頭のコメントを参照。

チコっとボイスチェンジャー回路図

シングル出力時は「PWM正相出力」に、コンプリ出力・ブリッジ出力・ブレーキ出力時は「PWM正相出力」と「PWM逆相出力」に出力する。各出力タイプについては ここを 参照。


【デモ音声】
ボイスチェンジの音声とチコちゃんのセリフ再生


【ダウンロード】
「チコっとボイスチェンジャー」の開発資材とプロジェクトは ここから ダウンロードできる。


【今後の課題】
タカラトミーの「チコっとボイスチェンジャー」は、「低音・高音の2段階調整で、誰でもチコちゃんに近い声色に!」とあるのだが、これの実現ができていない。3倍速・4倍速での再生や音声帯域のフィルタリングなどを試みたが上手く行かない。有識者の方の助言をいただければ有難い。
  1. 2019/12/17(火) 20:14:44|
  2. 音声再生・録音再生
  3. | コメント:0

14ピンPICでも音声再生

【前振り】
「8ピンPICで音声再生」 では、SPIバスとSW回路でポートを共有することで8ピンでありながら4個のSWを装備する工夫をした。14ピンPICでも適用するおもちゃによってはポート数が足りなくなることがあるので、14ピンPICでも同様のポート節約のサンプルを作った。なお、I2Cではポート節約の効果はないが、オマケで付けた。

【設計】
①おもちゃ修理の素材提供が目的なので、廉価な14ピンPICの 16F1503 (@52円、2019年AliExpress) をターゲットとする。今のところ、これ以外はコストメリットが無い。

②ブリッジ出力

下記の4種類の出力タイプから選択できる。

・BTL=0(シングル出力)
Tr1石のバッファアンプでスピーカを駆動する。
スピーカには直流成分が流れる。
電力効率は悪い。

・BTL=1(コンプリ出力)
正相出力と、そのコンプリ波形を出力する。音声レベルが0のときでも、50%デューティのPWMでスピーカが駆動される。電力効率はやや悪い。
ハイサイドにバッファを置く場合にはコンプリ出力を使うと都合が良い。
デッドバンドの設定ができる。

・BTL=2(ブリッジ出力)
正相と逆相のブリッジ回路を駆動する信号を出力する。
音声レベルが0のときは、スピーカは駆動されず、電力効率が良い。
高インピーダンススピーカや圧電スピーカをPICのポートで直接鳴らす場合には外付けアンプが要らず都合が良い。
ベアなHブリッジを繋ぐと音質が悪い。
デッドバンドの設定ができる。

・BTL=3(ブレーキ出力)
正相と逆相のブレーキング機能付きのブリッジ回路を駆動する信号を出力する。
音声レベルが0のときはスピーカは駆動されず電力効率が良い上に、制動によって音質が良い。
デッドバンドの設定ができる。

③ポートの割り当て

・I2Cの場合

RA0:SW0入力(内部プルアップ)、ICSPDAT
RA1:SCL(24FCのSCL)入出力、ICSPCLK
RA2:SDA(24FCのSDA)入出力
RA3:SW1入力(内部プルアップ)、ICSPVpp
RA4:SW2入力(内部プルアップ)
RA5:SW3入力(内部プルアップ)
RC3:逆相出力(ブリッジ・ブレーキ出力時)
RC4:逆相出力(コンプリ出力時)
RC5:正相出力

回路図
PICで音声再生14ピンI2C回路図
逆相出力①はコンプリ出力、逆相出力②はブリッジ・ブレーキ出力

I2CバスはSWと共用できないので、専用のポートを割り当てるしかない。

・SPIの場合

RA0:SW0入力(内部プルアップ)、ICSPDAT
RA1:SCK(W25QのCLK)出力、SW1入力(内部プルアップ)、ICSPCLK
RA2:SDI(W25QのDO)入力、SW2入力(内部プルアップ)
RA3:SW3入力(内部プルアップ)、ICSPVpp
RA4:SDO(W25QのDI)出力、SW4入力(内部プルアップ)
RA5:SS(W25QのCS)出力
RC1:デバグ信号
RC2:デバグTX
RC3:逆相出力(ブリッジ・ブレーキ出力時)
RC4:逆相出力(コンプリ出力時)
RC5:正相出力

回路図
PICで音声再生14ピンSPI回路図

SPIバスはSSをネゲートすれば、ポートを他の用途に使うことができる。時分割多重の考えで、SW回路と共用している。

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

8ピンPICで音声再生

【前振り】
先般 「tiny13Aで音声再生」 を公開したが、その目的はカスタマイズを容易にすること、もう一つの目玉は8ピンAVRでSPIフラッシュからの音声再生とSW4個の実装を両立させたことだった。しかし、8ピンAVRのRESETピン機能を無効にすると以降は低電圧シリアル書き込み(フツウのISP)ができなくなるので、高電圧シリアル書き込みの環境が必要になり、そのため8ピンAVRの導入は敷居が高い。そこで、コストは若干高くなるが、同等の機能を8ピンPICでも開発した。

【設計】
①おもちゃ修理の素材提供が目的なので、廉価な8ピンPICの 12F1572 と 12F1501 をターゲットとする。

②ブリッジ出力

下記の4種類の出力タイプから選択できる。

・BTL=0(シングル出力)
Tr1石のバッファアンプでスピーカを駆動する。
スピーカには直流成分が流れる。
電力効率は悪い。

・BTL=1(コンプリ出力)
正相出力と、そのコンプリ波形を出力する。音声レベルが0のときでも、50%デューティのPWMでスピーカが駆動される。電力効率はやや悪い。
ハイサイドにバッファを置く場合にはコンプリ出力を使うと都合が良い。
デッドバンドの設定ができる。

・BTL=2(ブリッジ出力)
正相と逆相のブリッジ回路を駆動する信号を出力する。
音声レベルが0のときは、スピーカは駆動されず、電力効率が良い。
高インピーダンススピーカや圧電スピーカをPICのポートで直接鳴らす場合には外付けアンプが要らず都合が良い。
ベアなHブリッジを繋ぐと音質が悪い。
デッドバンドの設定ができる。

・BTL=3(ブレーキ出力)
正相と逆相のブレーキング機能付きのブリッジ回路を駆動する信号を出力する。
音声レベルが0のときはスピーカは駆動されず電力効率が良い上に、制動によって音質が良い。
デッドバンドの設定ができる。

③ポートの割り当て

・I2Cの場合

RA0:PWM出力逆相出力、SW2入力(内部プルアップ)
RA1:SCL(24FCのSCL)入出力、ICSPCLK
RA2:SDA(24FCのSDA)入出力
RA3:SW0入力(内部プルアップ)
RA4:SW1入力(内部プルアップ)
RA5:PWM出力正相出力

回路図
PICで音声再生8ピンI2C回路図

I2CバスはSWと共用できないので、専用のポートを割り当てるしかない。そのため、ブリッジ出力ではSWは2個しか実装できない。

・SPIの場合

RA0:PWM出力逆相出力、SW3入力(内部プルアップ)
RA1:SCK(W25QのCLK)出力、SW0入力(内部プルアップ)
RA2:SS(W25QのCS)出力
RA3:SDI(W25QのDO)入力、SW1入力(内部プルアップ)
RA4:SDO(W25QのDI)出力、SW2入力(内部プルアップ)
RA5:PWM出力正相出力

回路図
PICで音声再生8ピンSPI回路図

SPIバスはSSをネゲートすれば、ポートを他の用途に使うことができる。時分割多重の考えで、SW回路と共用している。SWは3個を実装でき、シングル出力タイプでは4個が実装できる。なんと、I2CよりSPIの方が多くのSWを実装できるのだ。

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

ミミクリーペット系おもちゃの基板換装用の完成基板の頒布(飯塚こわれたおもちゃの相談所)第2弾

ミミクリーペット系おもちゃの基板換装用の完成基板
ミミクリーペット系おもちゃの基板換装用の完成基板の頒布(飯塚こわれたおもちゃの相談所)第2弾基板画像

ミミクリーペット系おもちゃの基板換装用の完成基板の頒布を 飯塚こわれたおもちゃの相談所 が行っていることは以前にもお知らせしたが、今回は基板を刷新して数量も多数用意したそうで、 「保守用品として事前頒布する」 ことが可能になったそうだ。

つまり、修理事案が無くても、事前のお試しとしての頒布でもよいと言うことだ。基板換装の手順や結果を事前に確認しておくことで、患者さんに自信を以って基板換装の治療をお薦めすることができる。

「この手術はアンタが初めてやけど実験台になってよ」 とは患者に言えないだろう。

また、頒布基板を手本にして、各おもちゃ病院でコピー製作にチャレンジして貰うこともよいと思う。

コスト面でも、各病院で部品を調達するよりも安い。僕も利用したいと思っている。

詳細は 「オウム返し おもちゃ」修理用マイコン基板の頒布 その2 を参照。
  1. 2019/10/21(月) 19:42:37|
  2. 音声再生・録音再生
  3. | コメント:0

ミミクリーペット基板換装用ファームウェア(12F1572+24C256)ブリッジ出力

【前振り】
先般、「ミミクリーペット基板換装用ファームウェア(12F1501+24C256)」を公開したが、今回はマイコンを 12F1572 にしたファームウェアを公開する。

狙いは以下のとおり。

・AliExpressでは 12F1572 が廉価(約@33円2019年AiExpress)に出回っていて、それを利用することで部品の調達コストの削減を図る。

・PIC電子オルゴールで ブレーキ付きブリッジ出力 をサポートしたが、その仕掛けを取込み、音量の増大と電力効率の向上を行う。


【設計】
・音声録音再生とボイスチェンジャーの仕掛けは従来のやり方を踏襲する。

・ブレーキ付きブリッジ出力の仕掛けはPIC電子オルゴールでのやり方を取り込む。

・従来のシングル出力の方式も可能とし、#define BTL の宣言で機能を選択する。

ってことで、特に説明もないが、強いて言うなら少ないピン数で実現が可能なようにマイクアンプ回路の電源制御とモーター制御に工夫をしている。下記の回路図を参照。

但し、音声が途切れるとモーター稼働も途切れるので、おしゃべりに合わせてモーターが動作するようになる。


【回路図】
ブレーキ付きブリッジ出力
ミミクリーペット基板換装用ファームウェア(12F1572+24C256)ブレーキ付きブリッジ出力回路図


シングル出力
ミミクリーペット基板換装用ファームウェア(12F1572+24C256)シングル出力回路図


【ダウンロード】
設計資料と開発プロジェクトは ここから ダウロードできる。
プロジェクト名にターゲットデバイスの型番を織り込んでいる。
  1. 2019/09/08(日) 20:56:02|
  2. 音声再生・録音再生
  3. | コメント:0

ミミクリーペット系おもちゃの基板換装用の完成基板の頒布(飯塚こわれたおもちゃの相談所)

ミミクリーペット系おもちゃの基板換装用の完成基板の頒布を始めた。
ミミクリーペット系おもちゃの基板換装用の完成基板の頒布(飯塚こわれたおもちゃの相談所)基板外観

と言っても、それは「つつじが丘おもちゃ病院」(当院)ではない。当院ではファームウェアを無償で提供しているだけで、ファームウェア書き込み済みマイコンや換装用の基板の頒布は行っていない。頒布を始めたのは 飯塚こわれたおもちゃの相談所 さんだ。上記の画像は飯塚こわれたおもちゃの相談所さんのブログ記事から転載したもの。

換装用基板の仕様や頒布の条件については、飯塚こわれたおもちゃの相談所さんのブログ記事 「オウム返し おもちゃ」修理用マイコン基板の頒布 を参照。
  1. 2019/06/17(月) 09:10:31|
  2. 音声再生・録音再生
  3. | コメント:0

ミミクリーペット基板換装用ファームウェア(12F1501+24C256)

ミミクリ基板換装12F1501外観
ミミクリ基板換装12F1501基板

【前振り】
ミミクリの基板を換装するのにはtiny13Aが現時点では最廉価なのだが、AVRの開発環境を持たないおもちゃドクターには利用して貰えない。そのため、12F1501用のファームウェアを公開することにした。ずっと前にもPICを使ったミミクリ換装基板を紹介しているのだが、それ以降に機能改善をしてきているので、今回改めて公開する。

【改善点】
今回は以下の改善を施している。

・ゼロクロスポイントで再生を繰り返すことで、音質を改善
・オートパワーオフ機能をサポート
・3V電源(電池2本)動作での安定性確保

【設計】
ゼロクロスポイントについては ここを 参照。

オートパワーオフを実現するためには、マイクアンプの電源を制御する必要があるが、ポート数が足りなくて、独立してポートを割り当てられない。ピン数が多いデバイスに替えればよいのだが、そうすると基板が大きくなり、修理対象のおもちゃに収納することができなくなる恐れがある。

対策として、PWM出力をモーター制御にも兼用する。音声再生中は少なくとも1ステップのPWMが出ていると見做して、モーター制御用のゲート電圧を生成する。しかし、音声が途切れるとモーター稼働も途切れることになり、、その結果おしゃべりに合わせてモーターが動作するようになる。

3V電源(電池2本)動作での安定性確保については ここを 参照。

【回路図と配線図】
ミミクリーペット基板換装用ファームウェア(12F1572+24C256)シングル出力回路図

ショットキーと放電回路は3V(乾電池2本)での運用を考慮して電源電圧の瞬低に対応したもので、4.5Vでの運用の場合は不要だ。放電用ダイオードはVfが0.6V以下のものを選ぶ。
3V電源の場合を想定して低VgsのFETを使っているが、4.5V電源ではフツウの、より廉価なもので構わない。

ミミクリ基板換装12F1501配線図

【実装結果】
Sleep時の消費電流は13uAだった。

【ダウンロード】
設計資料と開発プロジェクトは ここから ダウロードできる。
プロジェクト名にターゲットデバイスの型番を織り込んでいる。
  1. 2019/05/17(金) 17:55:49|
  2. 音声再生・録音再生
  3. | コメント:0

ミミクリーペット基板換装用ファームウェア(tiny13A+24C256)

ミミクリ基板換装tiny13A外観
ミミクリ基板換装tiny13A基板

【前振り】
ミミクリーペットの基板を換装するためのファームウェアは、デバイスの価格変動への対応や機能改善を幾度も行ってきている。直近では 「ミミクリーペット5のマイコン換装の改善(tiny13A+24C256+ECM使用)」 を公開した。しかし、その版ではオートパワーオフのインプリメントを忘れていたので、また、改版を公開することになった。

【要件】
・音声入力待ちが一定時間継続するとオートパワーオフする。
・オートパワーオフの時限は数分から数10分程度とする。

【設計】
前回の改善で、tiny13Aのプログラムメモリが残り8ワードになっていて、このままでは機能追加は難しい。今はCで書いていて、アセンブラにすると小さくなると思うが、やり直す気力がない。そのため、音声レベルの評価を一部手抜きしたり、I2CのタイミングマージンのためのNOPを取ったりして、10数ワードを空けた。

tiny13Aのタイマーは8ビットのタイマー0しか無く、それはPWMで既に使っている。WDTを使う方法もあるが、WDTを汎用タイマーとして利用するにはプログラムステップが嵩むので、メモリに余裕のない状況では避けたい。

そのため、PWM周期(正確にはADC実行周期)をベースタイマーとして、ソフトでポストスケーラを実装することにする。ポストスケーラの分周比は10進で8桁程度が必要になるので、long変数でカウントする。

・音声入力待ちに入る前に監視時限を設定しておき、音声無しの評価の都度デクリしていく。
・0になったら、省電力設定してSleepする。
・Wakeupトリガは用意しない。起動は電源の再投入とする。

【回路図と配線図】

ミミクリ基板換装tiny13A回路図
ショットキーと放電回路は3V(乾電池2本)での運用を考慮して電源電圧の瞬低に対応したものだが、4.5Vでの運用の場合は不要だ。放電用ダイオードはVfが0.6V以下のものを選ぶ。
3V電源の場合を想定して低VgsのFETを使っているが、4.5V電源ではフツウの、より廉価なもので構わない。

ミミクリ基板換装tiny13A配線図

【実装結果】
Sleep時の消費電流は0.2uAだった。

【ダウンロード】
設計資料と開発プロジェクトは ここから ダウロードできる。
プロジェクト名にターゲットデバイスの型番を織り込んでいる。
tiny85のプロジェクトはデバグ用である。tiny13Aはメモリが少なくて、デバグ行を入れるとパンクしてしまう。そのため、兄貴分のtiny85を使って実機デバグを行っている。
  1. 2019/05/17(金) 17:26:07|
  2. 音声再生・録音再生
  3. | コメント:0

ミミクリーペット5のマイコン換装の改善(tiny13A+24C256+ECM使用)

【今回の改善ポイント】
前回の改善 ではスピーカーとマイクを兼用してコストを抑えたが、考えてみるとおもちゃの換装時は既存のマイクを使えばよいので、スピーカーとマイクを兼用するメリットはない。逆にスピーカーをマイク代用すると音があまりクリアではないデメリットがある。それで、今回はフツウにECMを使ったものにした。初めからそうしておけば良かった。

もう一点の改善点はファームウェアの設計条件をオプション化したこと。

・PWM出力とモーター制御出力のポートをPB0とPB1で交換可能とした。
・PWM出力の極性を正論理か負論理か変更可能とした。
・モーター制御出力の極性を正論理か負論理か変更可能とした。

設定方法
//#define PWM_PB1 //PWMをPB1へ、モーター制御をPB0へ出力するときに宣言する
//#define PWM_INV //PWMを負論理で出力するときに宣言する
//#define MTR_INV //モーター制御を負論理で出力するときに宣言する

当方が公開しているファームウェアは複製・改変・再配布はフリーで、応用ケースごとにカスタマイズして使って貰う前提で、設計資料とソースコードの全てを公開している。しかし、正論理を負論理に変えるだけのカスタマイズでも当方へ依頼が多くあり、オプション化しておくと僕も対応が楽なので、カスタマイズの依頼が多そうなものは予めオプション化している。

【全体像】
ミミクリーペット5ECM全体

【回路図と配線図】
ミミクリーペット5ECM回路図


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

【実装】
ミミクリーペット5ECM基板表
ミミクリーペット5ECM基板裏

【再生音】
tiny13A+24C256+ECM使用版再生音

【ダウンロード】
設計資料と開発プロジェクトは ここから ダウンロードできる。
  1. 2019/04/08(月) 20:14:01|
  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

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

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

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

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

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

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

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

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

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

ミミクリーペットのボイスレコーダー・チェンジャー換装でBORするという相談を受けることがある。特に電池2本(3V)で動かす場合はBORしやすい。

先日「マイクでワンちゃんトイプードル」の修理で(僕としては)新たなBOR対策を講じたので、そのやり方をミミクリーペットにも適用した。

そのやり方は「BOR無効」にするという、全く詭弁な話だ。しかし、電池電圧の瞬低時にもVddを2.58V以上に維持するのは難しいので、そうするしかない。LFタイプを使えば解決するのだが、LFタイプはコスト高になるし、動作電圧が最大3.6Vに制約されてしまう。

BORを無効にするとVddが低下したときにハングアップする恐れがある。万一そのような事態になったときのために、WDTを有効にしてハングアップしたらリセットさせる。おもちゃ修理の用途では瞬低検知のレイテンシは問題にならないので、このような対策で十分だ。

対策実施後のプロジェクトは ここから ダウンロードできる。

今回の瞬低対応以外の設計情報については関連記事を参照。関連記事は「ミミクリ」で「ブログ内検索」すると出てくる。
  1. 2018/12/31(月) 19:14:59|
  2. 音声再生・録音再生
  3. | コメント:0

PIC16F1503で音声再生

【開発の意図】
大容量のSPIフラッシュが出回ってきたことで、鳴り物おもちゃの修理をPIC電子オルゴールでの換装ではなく全面的に音声再生で換装することが可能になった。

先般は音声再生に機能を絞って 「ATtiny13Aで音声再生」 を開発したが8ピンでは応用範囲が狭いので、14ピンで音声再生も開発しておくことにした。

現在(2018年10月)秋月で14ピンの1チップマイコンで最廉価なのはPIC16F1503(@80円)だ。AliExpressを見てもこれより安いのは見当たらない。100円以上ならPIC電子オルゴールが載せられるデバイスがあるので、それらを音声再生に絞って利用する意味はない。それで今回のターゲットは PIC16F1503 だけだ。


【設計】
①プログラムメモリが2kワードしかないので必要最小限の機能に絞るが、ポップノイズの抑止は実装する。

②内部オシレータが16MHzなので、PR2=255にすると周期は64usになってしまう。それで、PR2=127にして、PWM1DCHの下位7ビット+PWM1DCLの上位1ビットで8ビット分解能にする。

③PWM周期は32usとなり、TMR2のポストスケーラを1/4に設定して、128usのTMR2割り込みでデューティサイクルを更新する。音声データは8kspsでサンプリング周期は125usであり若干の差異が生じるが、PWMステップ数を合わせ込むとPCMデータからデューティサイクルへの変換で計算誤差が生じるので、125usとの差異は許容範囲として受容する。

④動作は以下の流れとした。
・POR後にはSleepしている。
・トリガSWのオンで音声再生を開始する。
・再生が終了するとSleepする。
・再生中にトリガSWがオンされると再生を中止してSleepする。


【回路図】
PIC16F1503で音声再生回路図
16F1503はSDIがRC1に固定されていて、RC1は内部プルアップができないので、外部でプルアップ若しくはプルダウンする。

【ダウンロード】
設計資料と開発プロジェクトは ここから ダウンロードできる。
  1. 2018/10/20(土) 15:40:38|
  2. 音声再生・録音再生
  3. | コメント:2
次のページ

プロフィール

大泉茂幸

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

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

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

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

カテゴリ

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

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

QRコード

QR