FC2ブログ

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

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

PICプログラマーで ATtiny85の高電圧シリアルプログラミング をサポート

プログラマー外観

【前振り】
おもちゃの修理で壊れたICの代替品として使うのは殆どがPICなのだが、PIC以外ではATtiny13Aだけはコストパフォーマンスがよいので採用することがある。しかし、ATtiny13Aはプログラムフラッシュが512ワードしか無く、デバグ行を入れるとパンクしてしまい、デバグがやり難い。そこで、デバグは兄貴分のATtiny85で実施しようと考えている。それをやるには、先ずATtiny85の高電圧シリアルプログラミングをサポートする必要がある。

この記事のタイトルは「PICプログラマー・・・」となっているが、このプログラマーはPICを中心として、AVRやシリアルEEPROMなど、僕が使いたいデバイスをサポートしている。

【改造の要点】
ATtiny85とATtiny13Aのプログラミング仕様を比較すると、プログラムフラッシュの読み書きとチップ消去のコマンドシーケンスは同じだ。

ATtiny85はEEPROMが512バイトあるので、読み書きするアドレスの設定が9ビットになり、コマンドシーケンスにアドレス上位を設定する必要がある。また、書き込みのコマンドシーケンスには、アドレス上位を示す1バイトを追加する必要がある。

EEPROMの読み込みは、既存のATtiny13Aのソースコードに手入れして、ATtiny13AとATtiny85の両者で共通のものにする。

EEPROMの書き込みは、既存のATtiny13Aのソースコードをベースに、ATtiny85用を新規に作る。

ATtiny85とATtiny13Aのピン接は同じなので、ソケットアダプタは、ATtiny13A用のものを共用できる。

なお、低電圧シリアルプログラミングは使う事が無いので、サポートしない。

【ダウンロード】
改造後のPICプログラマーの設計資料とプログラマー制御マイコンのファームウェアの開発プロジェクト、PC側の制御ソフトの開発プロジェクトは ここから ダウンロードできる。

なお、今回の改造はPC側の制御ソフトのみなので、 ディレクトリ ISP¥ISP¥bin 配下の ISP.exe と ISPdll.dll のみの入れ替えとなる。

【使い方】
デバイス一覧の中から 「tiny85-HV」 を選択する。HVのキーワードが高電圧シリアルプログラミングを表している。

実行機能は 「読込み」 「書込み」 「チップ消去」 「RUN」 が使える。
スポンサーサイト
  1. 2019/04/26(金) 17:55:01|
  2. プログラマー
  3. | コメント:0

2.4GHzラジコン用ファームウェア(フルアクションタイプ対応版)

2.4GHzラジコン用ファームウェア は以下の制御タイプで使用可能なものを公開している。

・フルアクション制御
TX2/RX2に代表される前後進と右左折、及びターボの操作が可能なもの。動作はオンかオフの制御であり、プロポーショナルな制御はできない。

・サーボ制御
操作量によって制御量をプロポーショナルに制御するもの。標準のサーボパルスを出力して、サーボを制御する。

・ESC制御
前後進のモーターをESC制御するもの。

・アナログ入力のフルアクション制御
動作はフルアクションだが、操作信号をアナログ電圧で入力するもの。

上記の制御タイプを自由に組み合わせて使うことができるように、汎用性を持たせたファームウェアを公開している。実際におもちゃを換装するときには、制御タイプを決めるためのカスタマイズを行うことを前提としている。

しかし、このカスタマイズ作業の依頼が増えてきていて、需要が多そうな制御タイプにカスタマイズを施したものを用意しておこうと思っている。先日公開した「2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)」もその一つだ。

今回は、前後進と右左折ともにオン/オフ動作のフルアクション制御に固定したものを公開する。この制御タイプは昔からあるベーシックなものだ。操作信号のインタフェースはTX2/RX2と同様に、負論理のデジタル信号をPICのポートに入力する。信号レベルはPICの規定に従う。

【ハード構成】
コントローラ側と車体側ともに、トランシーバモジュールはSE8R01(またはnRF24L01+)、マイコンは16F1503を使用する。

コントローラ側の操作SWは既存のものを使って、エンコードとRF部を上記の構成で換装する。

車体側のモータードライバーは既存のものを使って、RFとデコード部を上記の構成で換装する。

【周辺回路の設計情報】
コントローラ側16F1503のポート割り当ては以下の通り。
//RA0:後進SW入力(負論理、内部プルアッフ
//RA1:前進SW入力(負論理、内部プルアッフ)
//RA2:ターボSW入力(負論理、内部プルアッフ)
//RA3:無接続
//RA4:左折SW入力(負論理、内部プルアッフ)
//RA5:右折SW入力(負論理、内部プルアッフ)
//RC0:SE8R01(またはnRF24L01+)のSCK
//RC1:SE8R01(またはnRF24L01+)のMISO
//RC2:SE8R01(またはnRF24L01+)のMOSI
//RC3:SE8R01(またはnRF24L01+)のCSN
//RC4:SE8R01(またはnRF24L01+)のCE
//RC5:無接続

車体側16F1503のポート割り当ては以下の通り。
//RA0:無接続
//RA1:ターボ出力(正論理)
//RA2:左折出力(正論理)
//RA3:無接続
//RA4:SE8R01(またはnRF24L01+)のMISO
//RA5:SE8R01(またはnRF24L01+)のMOSI
//RC0:SE8R01(またはnRF24L01+)のSCK
//RC1:右折出力(正論理)
//RC2:SE8R01(またはnRF24L01+)のCSN
//RC3:後進出力(正論理)
//RC4:SE8R01(またはnRF24L01+)のCE
//RC5:前進出力(正論理)

【ダウンロード】
ファームウェアの設計情報とプロジェクト一式は ここから ダウンロードできる。

プロジェクトは以下の通り。

コントローラ側
RC24_SE8R01_TX_1503.X
RC24_nRF24L01_TX_1503.X

車体側
RC24_SE8R01_RX_1503.X
RC24_nRF24L01_RX_1503.X
  1. 2019/04/16(火) 11:16:36|
  2. 2.4GHzラジコン
  3. | コメント:0

アンパンマンはじめてのおしゃべり48(音源のバックアップ)

PINOCCHIOの「アンパンマンはじめてのおしゃべり48」というぬいぐるみの知育おもちゃ。
アンパンマンはじめてのおしゃべり48外観

基板に電源は来ているが、うんともすんとも言わない。COB不良で音声再生の換装事案かと診察するのを楽しみにしていたのだが、不動作の原因は基板のランド剥がれで、バイパス配線で復旧してしまった。

でも、このような音声再生ものは音源が命だから、元気なうちにバックアップを録っておくことが重要だ。音源さえあればCOB換装はなんとかなる。

アンパンマンはじめてのおしゃべり48(音源ダイジェスト)

仕掛けはタッチセンスだった。両手両足腹鼻頭の7か所にタッチパッドが設置されていて、体中にタッチパッドの配線が走っている。そのため、抱いたまま遊ぶと誤動作が起き易いようだ。基板には傾斜センサーも設置されていた。

しゃべる文言はランダムであったり、「数を数えるよ」では10まで数えないと終らなかったり、動作シナリオがよく判らない。だから、すべての文言と効果音をバックアップできたかどうかは判らない。それと、実際に換装するときはシナリオを創作する必要がありそうだが、今はやらない。
  1. 2019/04/12(金) 20:21:53|
  2. 電子オルゴール+音声再生
  3. | コメント:0

2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)

CCP社のG-DRIVE、及びW-DRIVEの基板換装用のファームウェアの需要が多いようなので、つつじが丘おもちゃ病院が公開している 「2.4GHzラジコン用ファームウェア」 をG-DRIVE/W-DRIVE用にカスタマイズしたものを公開する。

2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)G-DRIVE
2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)W-DRIVE


【適用条件】
一口にG-DRIVE/W-DRIVEと言ってもいろんなバリエーションがあり、今回対応しているのは「スピードコントロール(デジプロ)」が謳われているのものだ。特徴は、コントローラのステアリング操作はSWのオン/オフで、前後進はボリュームでプロポーショナルに操作できるようになっている。

換装後もステアリングの操作はSWのオン/オフで、前後進はボリュームでプロポーショナルに操作できる。車体側では前後進はPWMによるESCとなる。

前後進の操作では、PICに入力される操作信号の電圧は以下を前提としている。そうなるようにボリューム回路を構成すること。

・操作量0%~100%で操作信号の電圧はGND~Vddまで変化する。

コントローラに使われているボリュームは、抵抗値の可変範囲の角度が非常に小さいタイプで、操作スティックの操作で抵抗値が0%~100%のフルに変化する。

前後進の操作量と制御量の対応は既製品のG-DRIVEの操作フィーリングに合わせて、以下のように設定している。
(このG-DRIVEの操作フィーイングは「おもちゃの病院さがみはら」の一色様から要件をいただき、カスタマイズの結果についても評価していただいた。感謝)

・操作量0%~30%はフル後進
・操作量30%~70%はフル後進~フル前進の比例制御
・操作量70%~100%はフル前進
・操作量50%で停止

このファームウェアは、CCP社の制御プロトコルとは互換性が無いので、コントローラ側と車体側の双方とも換装する必要がある。

CCP社とのペアリングはできない。また、当該ファームウェアに置いてもペアリング機能は実装していないので、換装後のコントローラと車体は1対1に括り付けとなる。ペアリングの仕様をまだ決めていないが、需要があれば検討したい。

コントローラ側は、ニッカド充電池2本での運用を可能とするため、BORをOFFに設定している。LFタイプを使用するのがスジだが、廉価なFタイプで動かすための策だ。実験結果ではVddが2.2Vまで動作した。CPUがダウン後にVddを回復すると正常にPORするため、BORをOFFで運用しても支障は無いと考える。

【ハード構成】
コントローラ側と車体側ともに、トランシーバモジュールはSE8R01(またはnRF24L01+)、マイコンは16F1503を使用する。

コントローラ側の操作SW、ボリュームは既存のものを使って、エンコードとRF部を上記の構成で換装する。

車体側のモータードライバーは既存のものを使って、RFとデコード部を上記の構成で換装する。

【周辺回路の設計情報】
コントローラ側16F1503のポート割り当ては以下の通り。
//RA0:無接続
//RA1:前後進ボリューム入力
//RA2:無接続
//RA3:無接続
//RA4:左折SW入力(負論理、内部プルアッフ)
//RA5:右折SW入力(負論理、内部プルアッフ)
//RC0:SE8R01(またはnRF24L01+)のSCK
//RC1:SE8R01(またはnRF24L01+)のMISO
//RC2:SE8R01(またはnRF24L01+)のMOSI
//RC3:SE8R01(またはnRF24L01+)のCSN
//RC4:SE8R01(またはnRF24L01+)のCE
//RC5:無接続

車体側16F1503のポート割り当ては以下の通り。
//RA0:無接続
//RA1:無接続
//RA2:左折出力(正論理)
//RA3:無接続
//RA4:SE8R01(またはnRF24L01+)のMISO
//RA5:SE8R01(またはnRF24L01+)のMOSI
//RC0:SE8R01(またはnRF24L01+)のSCK
//RC1:右折出力(正論理)
//RC2:SE8R01(またはnRF24L01+)のCSN
//RC3:後進出力(PWM、正論理)
//RC4:SE8R01(またはnRF24L01+)のCE
//RC5:前進出力(PWM、正論理)

【ダウンロード】
ファームウェアの設計情報とプロジェクト一式は ここから ダウンロードできる。

プロジェクトは以下の通り。

コントローラ側
RC24_SE8R01_TX_1503.X
RC24_nRF24L01_TX_1503.X

車体側
RC24_SE8R01_RX_1503.X
RC24_nRF24L01_RX_1503.X
  1. 2019/04/11(木) 23:00:04|
  2. 2.4GHzラジコン
  3. | コメント:0

ミミクリーペットのマイコン換装の改善(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

「DFPlayerMiniの制御」で操作性を改善(SDカードの抜き挿し対応)

DFPlayerMiniの制御で操作性を改善(任意のトラックからのリピート再生) をやったばかりだが、今度は SDカードの抜き挿し に対応した。あってしかるべき機能だが、今までは無かった。当初はおもちゃの音声再生機能の換装を目的としたフィージビリティスタディだったので、コマンド1発で操作できる機能しか実現しなかった。その後、フツウのMP3プレーヤーとしての機能改善で、任意のトラックからのリピート再生を行ったのだが、SDカードの抜き差しもフツウに必要と感じてきた。

【要件】
SDカードの抜き挿し対応が無いとどうなるかと言うと、デバイス内のホルダ数の情報が更新されないため、実在しないホルダへ飛んだり、逆に実在するホルダへ進めなかったりする。機能追加と言うよりバグ対応に近いかも。

今回追加した機能は以下の2つのみだ。

・SDカードが抜かれたら、デバイスの管理情報をクリアする。
・SDカードが挿入されたら、デバイスの管理情報を取り込む。

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

DFPlayerMiniからの非同期通知で、該当イベントを受信したら、要件の処理を行う。

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

プロジェクトは DFPlayerB_322.X
  1. 2019/04/01(月) 07:46:33|
  2. 電子オルゴール+音声再生
  3. | コメント:0

プロフィール

大泉茂幸

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

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

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

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

カテゴリ

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

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

QRコード

QR