FC2ブログ

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

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

PICプログラマーの機能改善(AT24Cxxxのサポート、他)

この記事の話題は下記の3項目だ。

・AT24Cxxxをサポートしたこと
・読み込み時のHEXファイル名を $.hex に固定したこと
・「シリアル通信エラー(タイムアウト)」の対策をしたこと

PICプログラマー
プログラマー外観

フラッシュライター
シリアルフラッシュROMライターの製作外観説明

【前振り】
I2Cシリアルフラッシュは今まで秋月から調達していたのだが、AliExpressに廉価に出ているを見付けた。AliExpressはいつも見ているのだが、今頃気が付いた。

256kビットは、秋月では24FC256が@90円、AliExpressではAT24C256Nが@18円くらい。
512kビットは、秋月では24FC512が@140円、AliExpressではAT24C512Cが@44円くらい。
AliExpressのATはSOP8だが、ピッチ変換基板のコストを加味してもATの方が断然安い。

早速注文して届いたので、PICプログラマーで読み書きをやってみたら、 「アドレス設定エラー」 となってしまう。24FCxxxとAT24Cxxxは読み書きのインタフェースが違うらしい。

と言うことで、PICプログラマーでAT24Cxxxをサポートした。今更ながらって感じだ。

【設計】
AT24Cxxxは24FCxxxと同じ手順で読み書きできると思っていた。実際、ミミクリ換装基板ではAT24C256に差し替えても動作している。なのに、PICプログラマーでデバイスを24FC256に設定しても、「アドレス設定エラー」 になる。

24FC1025はA2ピンをVccに繋ぐことを要求している。それで、ソケットアダプタを共用するために24FCxxxの読み書きでは、一律にA2ピンはHとし、PICプログラマーでは制御バイトはA2ビット=1で読み書きを行っていた。
ところが、AT24C1024ではA2ピンに相当するピン3はNCで、読み書きの制御バイトはA2=0を要求している。
つまり、ソケットアダプタの共用とプログラマーの読み書き手順の共用は両立し得ないのだ。
それで、ソケットアダプタを共用することを優先して、プログラマーの読み書き手順をAT24Cxxx用に別に設けることにした。

改造のやり方は、24FCxxx用のソースコードをコピペして、制御バイトを変更するだけでよい。


【おまけ】
PC側の制御ソフトのISPとEEPROMでは、デバイスからの 「読込み」 の結果は 「HEXファイル名」 のテキストボックスで指定されたファイルに書き出している。不用意に 「読込み」 を実行してしまって既存のHEXファイルを壊してしまうことが度々あった。それで、 「読込み」 では書き出すファイルをカレントディレクトリの $.hex に固定することにした。この改善(?)もダウンロードファイルに反映した。

もう1点、ついでに反映したことがある。
PICプログラマー(及びフラッシュライター)を接続して最初に使うときに、 「シリアル通信エラー(タイムアウト)」 のエラーが出ることがある。この原因は判明していないのだが、再度 「実行」 すると正常動作することと、デバグ情報の取得ではトラブル発生時は最初の1バイトがPICプログラマーへ届いていないことが判っている。USBに絡む事象のようで、これ以上の分析は僕には難しい。そのため、対症療法として、プログラマー機能の実行前にダミーデータを送信することにした。ダミーデータは届いても届かなくても動作に影響の出ないデータにした。

この改善は、ファームウェアとPC側制御ソフトの両方の手入れとなったので、入れ替えは同時に実施する必要がある。


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

前述したとおり、PICプログラマーとフラッシュライターのファームウェアとPC側の制御ソフトを同時に入れ替える必要がある。
スポンサーサイト



  1. 2019/01/20(日) 18:22:24|
  2. プログラマー
  3. | コメント:0

2.4GHzラジコン修理事例(長崎)(トランシーバ等換装)

長崎大村おもちゃ病院様から 当院の2.4GHzラジコン用ファームウェアウェア を利用した修理事例を開示していただいた。
既に10件以上に適用しているとのことだ。

本記事は長崎大村おもちゃ病院様から提供していただいた資料をそのまま転載したものであり、修理の内容について当方は関与しておりません。

2.4GHzラジコン修理事例(長崎)1
2.4GHzラジコン修理事例(長崎)2
2.4GHzラジコン修理事例(長崎)3
2.4GHzラジコン修理事例(長崎)4

基板加工の詳細
2.4GHzラジコン修理事例(長崎)送信機1
2.4GHzラジコン修理事例(長崎)送信機2
2.4GHzラジコン修理事例(長崎)受信機
  1. 2019/01/17(木) 11:37:33|
  2. マイコン換装
  3. | コメント:0

2.4GHzラジコン修理事例(諌早)(トランシーバ等換装)

長崎大村おもちゃ病院様から 当院の2.4GHzラジコン用ファームウェアウェア を利用した修理事例を開示していただいた。
既に10件以上に適用しているとのことだ。

本記事は長崎大村おもちゃ病院様から提供していただいた資料をそのまま転載したものであり、修理の内容について当方は関与しておりません。

2.4GHzラジコン修理事例(諌早)1
2.4GHzラジコン修理事例(諌早)2
2.4GHzラジコン修理事例(諌早)3

基板加工の詳細
2.4GHzラジコン修理事例(諌早)送信機
2.4GHzラジコン修理事例(諌早)受信機

  1. 2019/01/17(木) 11:26:20|
  2. マイコン換装
  3. | コメント:0

DFPlayerMiniの制御

DFPlayerMiniというMP3プレーヤーが廉価に出回っていて、おもちゃの音楽演奏や音声再生に使えそうなので、AliExpressで買ってみた。
DFPlayerMiniAli
送料込みで@130円くらい。制御用のマイコンを付けて、200円くらいで作れる。但し、SDカードは別途必要だ。
一般のMP3プレーヤーと同じ音質で、従来の(PIC電子オルゴールのような)8ビットPCMとは雲泥の差だ。
モノラル3Wのパワーアンプも付いていて、故障COBの換装に都合が良い。

もう一つの大きなメリットは、音源データはMP3またはWAV形式のファイルで、SDカードにはFATファイルシステムで格納することだ。つまり、おもちゃの音声再生機能をこれで換装すると、修理後にも音源データをユーザが自由に入れ替えることができるということだ。例えば、先般修理した 「マイクでワンちゃんトイプードル」 をこれで換装していたとすると、お子さんやお友達のお喋りに替えたり、犬の鳴き声を飼い犬のものにすることができる。

DFPlayerMiniの制御は、DFPlayerMiniへ非同期シリアルでコマンドを送ることで行う。
コマンドを1つ送るだけで、トラック番号を指定して再生を開始できる。途中停止もできる。この操作だけで電子オルゴールやおしゃべりおもちゃとして応用できる。

DFPlayerMiniから応答が返されるが、トラック番号を指定して再生するような単純な操作だけなら応答を受信する必要は無い。そのためUARTモジュールを内蔵していないマイコンでもよく、今回は10F322(@45円2019年秋月)を使った。

本記事は実際のおもちゃの換装事例ではなく、DFPlayerMiniを制御するファームウェアのフィージビリティスタディとして、赤外線リモコンで操作するMP3プレーヤーを製作した内容になっている。

【外観】
DFPlayerMini1
DFPlayerMini5
DFPlayerMini4


【要件】
・操作パネルを作るのはメンドーなので、操作にはテレビの赤外線リモコンを流用

・メディア内全トラックの繰返し再生、フォルダ内の繰返し再生、1トラックの繰返し再生

・一時停止/再開

・音量の増減

・イコライザの切り替え


【設計】
できるだけ簡易にするために、コマンド1発で実現できる機能に絞った結果が上記の要件となった。

例えば、メディア内全トラックの繰返し再生は 0x7e ff 06 11 00 00 01 ef の8バイトを9600bpsでDFPlayerMiniへ送ればよい。

データシートに規定されたコマンドを送るだけなので特に設計というものは無い。

今回のファームウェアはDFPlayerMiniの制御よりも赤外線信号のデコードの方が重くなっている。
赤外線リモコンは日立のテレビ/ビデオのものを使った。


【回路図と配線図】
DFPlayerMiniの制御(回路図)
DFPlayerMiniのVccに4Vを供給するために、レギュレータに下駄を履かせている。レギュレータに S-812C33AY-B-G を使ったら、消費電流が極めて小さくてダイオードのVfが十分に上がらなかったので、抵抗を付けた。


DFPlayerMiniの制御(配線図1)
DFPlayerMiniの制御(配線図2)

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

プロジェクトは DFPlayerA_322.X

ソフトUARTの割込み受信を行うプロジェクト は DFPlayerB_322.X
  1. 2019/01/17(木) 10:22:21|
  2. 電子オルゴール+音声再生
  3. | コメント:0

2.4GHzラジコン用ファームウェアのnRF24L01+とSE8R01の統合版は失敗だった

2.4GHzラジコン用のファームウェアは nRF24l1+とSE8R01の統合版 を公開していたが、それは失敗だった。
SE8R01はnRF24L01+の類似品として出回っていて、SE8R01用に開発したファームウェアがnRF24L01+でも動作したことから、両者には互換があると解釈して、「統合版」としてファームウェアを公開してきた。

ところが、先日、鎌ケ谷のおもちゃドクターから 「nRF24L01+(SMD)で統合版が動かない」 とのレポートをいただいた。僕が持っている各種バージョンのnRF24L01+ではどれも統合版が正常動作している。実は、統合版では RF_SETUPレジスタ の設定がnRF24L01+の仕様を逸脱していて、それでも正常に動作していたのだが、一抹の不安は持っていた。それが、顕在化したようなのだ。

それで、nRF24L01の仕様を順守して、また、SE8R01では必須であるキャリブレーションも取り去って、nRF24L01+専用のファームウェアに変更して、鎌ケ谷にて動作確認をして貰ったところ、正常動作したとのこと。

以上の経緯から統合版は失敗作として、ファームウェアを nRF24L01+用 と SE8R01用 に分けることにした。対策後のファームウェアは ここから ダウンロードできる。

ディレクトリ名と内容は以下の通り
RC24_nRF24L01_FA nRF24L01+用のフルアクション操作
RC24_SE8R01_FA SE8R01用のフルアクション操作
RC24_nRF24L01 nRF24L01+用のフルアクション・サーボ・ESC操作
RC24_SE8R01 SE8R01用のフルアクション・サーボ・ESC操作
RC24_A7105 A7105用のフルアクション・サーボ・ESC操作
RC24_CC2500 CC2500用のフルアクション・サーボ・ESC操作
  1. 2019/01/14(月) 11:46:42|
  2. 2.4GHzラジコン
  3. | コメント:0

PIC電子オルゴールVer5_7で収容可能な音声数を255に拡大

【前振り】
PIC電子オルゴールで大容量SPIフラッシュをサポート して、それを使って先日は マイクでワンちゃんトイプードルのCOB不良 を修理したが、その際に収容音声数が制限の63に達してしまった。それで、収容可能な音声数を255に拡大することにした。

PICのプログラムメモリとI2Cフラッシュは元々容量が少ないので拡大しても意味が無い。SDカードとSPIフラッシュを255まで拡大した。

【設計】
音声再生処理では、ステータスの2ビットと音声番号の6ビットを合わせて1バイトで処理状態を管理している。このうちステータスの2ビットを別のメモリに移して、音声番号を8ビットで表すようにする。
SDカードとSPIフラッシュは同時使用できないので、全体として1バイトのメモリ増になる。
たった1バイトのメモリ増を気にするなんて、貧乏性だね~。いや、PICが貧乏性にさせるってことだな。

【ダウンロード】
設計資料と開発プロジェクトは ここから ダウンロードできる。
  1. 2019/01/04(金) 08:50:22|
  2. 電子オルゴール+音声再生
  3. | コメント:0

プロフィール

大泉茂幸

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

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

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

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

カテゴリ

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

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

QRコード

QR