FC2ブログ

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

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

断線チェッカーの製作

(新潟)おもちゃ病院 新津様から、「断線チェッカー」のファームウェアの開発依頼があった。

「断線チェッカー」とは、おもちゃパソコンのマウスコードや有線リモコンで使われている多芯コードが断線しているときに、その断線箇所を特定するツールとのこと。それをタッチセンスでやる発想だ。

【設計】
タッチセンサーにタッチパッドとして多芯コードの1本の芯線を繋ぐということで、フツウのタッチセンスのファームウェアでよい。

タッチSWの場合はオン/オフの認識ができればよいのでセンスの精度は大雑把でよいのだが、断線チェッカーでは微妙なタッチ度合いを把握する必要があるので、CPSを使ってキチンとセンスしないといけない。また、参照電圧と電流レンジを設定して、タッチセンスの感度を稼ぐ必要がある。

CPSのカウンタにはTMR1を充てて、カウント値が16ビットに収まり、最大になるように、実機でモニタしながら最適な設定をカット&トライで決めた。その結果はソースコードを参照。

CPSのカウント結果をPWM周期に反映し、音程の高低でタッチセンスの状況を表示する。その音の微妙な変化を聴いて、人が断線箇所を特定する。実際の運用方法は 【デモ動画】 を参照。

依頼元からLEDへの表示も要望されたので、10エレメントのバーLEDへの表示機能も付けた。LED表示が必要無ければ12F1822、必要なら16F1823を使う。それぞれのタイプのファームウェアを用意した。

こういったツールは電源を切り忘れることが多いので、5分で電源が切れるようにオートパワーオフの機能も付けた。それで、電源SWは不要だ。FタイプのPICでは、Sleep時の消費電流は24uAとなった。LFタイプにすると1uA以下になるハズだ。オートパワーオフの動作は以下の通り。

・Vddの印加ですぐにSleepする。
・SW押下で稼働開始する。
・5分間稼働すると、Sleepする。
・稼働中にSWを押下すると、オートパワーオフの時限がクリアされ、その時点から5分間稼働する。
・稼働中にSWを長押し(1秒)すると、すぐにSleepする。

バーLEDを付けないタイプは稼働中かどうか解り辛いので、稼働中はパイロットランプを点灯するようにした。

【回路図】
LED表示無し(12F1822)
断線チェッカー回路図1822

LED表示有り(16F1823)
断線チェッカー回路図1823

CPSのポートに挿入している1kΩは、ポートの保護用である。実験では、10kΩでタッチセンスの感度に影響が出た。

【実装】
LED表示無し(12F1822)
断線チェッカー1822

LED表示有り(16F1823)
断線チェッカー1823
断線チェッカーLED

被試験コードへの接続
断線チェッカークリップ
断線している芯線にCPSに割り当てたポートを繋ぐ。その他の芯線は開放のままでよい。
ノイズを拾って誤動作するのを防止するために、GNDラインを手で持つ(人をGNDレベルにする)とよい。

【デモ動画】


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

【感想】
断線チェッカーの構想は古くからあって、数々の製作例がある。しかし、断線検出部分をIC(マイコン)1個だけで構成しているものは今まで見たことが無い。時代の流れとともに、同じ要件でも実現方法が大きく変わってきている。おもちゃの修理も同じだな。

見えないところの断線箇所を当てる仕掛けは面白いのだが、修理としては新しいコードに交換するので、断線箇所が判ったとしても益は無い。まぁ、よもやま話のネタにでもなればいいかな。
スポンサーサイト



  1. 2019/05/27(月) 11:16:43|
  2. その他のツール
  3. | コメント:2

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

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

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

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

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

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

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

対策として、PWM出力をモーター制御にも兼用する。音声再生中は少なくとも1ステップのPWMが出ていると見做して、モーター制御用のゲート電圧を生成する。

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

【回路図と配線図】
ミミクリ基板換装12F1501回路図

ショットキーと放電回路は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基板

【前振り】
ミミクリーペットの基板を換装するためのファームウェアは、デバイスの価格変動への対応や機能改善を幾度も行ってきている。直近では 「ミミクリーペットのマイコン換装の改善(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

PIC電子オルゴールVer5_7でCPSモジュールを使ったタッチセンスで音声再生

【前振り】
CPSを内蔵していないPICで実現したタッチセンスは当ブログで既に公開していて、おもちゃ修理に応用していただいている。簡易版(ローコスト版)なので、それなりの感度と安定性でときには誤動作することもあり、おもちゃとしては愛嬌があるかなと。それで今回は、CPSモジュールを使ってキチンとしたタッチセンスをやってみた。

【結果】
下記の動画のとおり、すこぶる快調に動作する。数10円のコスト差以上の価値がある。

長押しを検知する前には短押しを検知するが、それは自然の道理だ。
デモには含んでいないがマルチタッチも可能で、マトリクスSWとして使うこともできる。

【設計】
・使用部品
ターゲットデバイスはCPSモジュール内蔵では最廉価なPICの16F1823。
音声データを格納するSPIフラッシュはW25Q16。
CR類は電源パスコンの10uFが1個だけ。

・SPIは内蔵のMSSPモジュールを使う。16F1823は内蔵モジュールのピン割り当てがほぼ決められているので不自由だが、逆に悩みは無く、SPIピンを割り当てて残ったピンをタッチセンスに使う。

・「設計」と言って何かウンチクめいたことを書きたいのだけれど、CPSモジュールの使い方はデータシートの通りで工夫も何も無く、書くことが無い。オプションは幾つかあり、例えば「参照電圧」とか「電源モード」とかが選択できるのだが、変えてみての比較評価はしていない。

・タイマーリソースにはTMR1を使った。PIC電子オルゴールではPWM出力にTMR2を使っていて、TMR0とTMR1は空いている。ビット数が多いのと、カウントの開始と停止の制御がやり易いTMR1にした。

・固定タイムベースはPIC電子オルゴールの固有処理のコールバック周期を10msに設定して、それを使った。今回はCPSモジュールの入力チャネル数を5個としたので、特定のチャネルを評価するのは50ms周期となる。電子オルゴールの操作を行うには丁度良い時間だ。

・カウント値は時系列平均をとって、動作環境の揺らぎに追随するようにした。時系列平均値へのサンプル値の反映は1/16ずつにして、800msで半分程度が新陳代謝する。

・実機動作確認で判ったことは、入力チャネルによってカウント値が大きくバラつくことだ。そのため、カウント値の変化、つまりタッチ感度が違う。そこで、タッチ有り無しの判定の閾値は入力チャネル毎にチューニングができるようにした。おもちゃへの実装では入力チャネル毎に配線ルートやパッド形状が異なると思われるので、実装状態でチューニングを行う必要がありそうだ。

・回路図
PICとメモリを繋ぐだけなので、回路図は書いていない。ソースコードにコメント書きしているピン割り当てを参照のこと。

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

プロジェクトは onsei_PIC1823_SPI_touch.X
親のソースコードは onsei_PIC1823_SPI_touch..asm
音声データは voice_TOUCH
  1. 2019/05/14(火) 20:45:13|
  2. 電子オルゴール+音声再生
  3. | コメント:0

PICプログラマーの機能改善(ハードウェアエラーの表示)

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

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

【前振り】
I2Cフラッシュへのアクセスで、SCL・SDAの操作で異常があったときは、単に「アクセスエラー」が表示されるだけで、エラーの詳細内容が表示されなかった。プログラマーの内部ではエラーが発生したタイミングを押さえているのだが、それをPC側へ通知していなかった。そこで、詳細なエラーコードをPC側へ伝えて、ISP.EXE及びEEPROM.EXEの画面に表示するように改善した。

ハードウェアの動作不良の場合は信号波形を観測しないと原因の切り分けは難しいが、どのタイミングで異常を検知したかの情報があると切り分け作業が楽になる。

【表示画面】
I2Cアクセスでハードエラーを検知したときの表示画面で、ログ表示エリア(一番下)にエラーコードが表示される。
PICプログラマー操作画面(ハードエラー表示)
例えば、エラーコード15はSDAがHにならないとき、18はアクノリッジが返らないとき。その他のエラーコードはソースコードを参照。

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

PICプログラマーとフラッシュライターのファームウェアとPC側の制御ソフトを入れ替える必要がある。
  1. 2019/05/08(水) 08:51:40|
  2. プログラマー
  3. | コメント:0

CCP社G-DRIVEエコプラスの修理(トランシーバとCOB換装)おもちゃの病院さがみはら(おもちゃDr一色様)

この記事は おもちゃの病院さがみはらの一色様 が行った 「CCP社G-DRIVEエコプラス」 の修理事例で、つつじが丘おもちゃ病院が公開している 「2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)」 を利用して、コントローラと車体側のCOBとトランシーバモジュールを換装している。

以下の記事内容は、一色様から情報をいただいて、当方にて編集したものである。

1.患者
CCP社の「ラジオコントロールカー Gドライブエコプラス」
CCP社G-DRIVEエコプラス(COB換装)相模原外観1
CCP社G-DRIVEエコプラス(COB換装)相模原外観2

コントローラーは電源が3V供給で右折左折レバーはプッシュスイッチでオン/オフ制御、前進後退はボリューム操作でプロポーショナル制御になっている。

ボリュームの抵抗値は5kΩで、レバー操作で0%~100%フルに変化する。ボリューム操作量と駆動の制御量の対応は以下の通り。

・操作量0%~30%はフル後進
・操作量30%~70%はフル後進~フル前進のプロポーショナル制御
・操作量70%~100%はフル前進
・操作量50%で停止

2.症状と診察
①コントローラの動作は正常である。

②車体側のCOBから前進、後退、右折、左折の信号が出ない。

③ステアリングと駆動の信号をモータードライバーに入れてやると正しく動作する。

④車体側のCOB不良と判断した。

4.治療
①COBを、つつじが丘おもちゃ病院が公開している 「2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)」 で換装する。このファームウェアはCCP社のプロトコルと互換が無いので、コントローラと車体側ともに換装する必要がある。

②トランシーバモジュールは nRF24L01+(パワー強化版)、マイコンは16F1503を使用する。

③駆動操作のボリュームは、元は2線の配線だが、ファームウェアの要件に合わせて3線の配線に変更する。ボリュームの両端にGNDとVddを与えて、摺動端子を16F1503のADC入力ピンに繋ぐ。換装後の回路図は 「2.4GHzラジコン用ファームウェア(CCP社G-DRIVE/W-DRIVEのデジプロ対応版)」 を参照。

④トランシーバモジュールと16F1503の電源は、コントローラ側は元々の3V電源を利用する。車体側は元々付いている3.3Vの3端子レギュレータの出力を使う。

⑤トランシーバモジュールの基板アンテナの先端に5cm程度のリード線アンテナを付ける。

⑥実装画像
【コントローラ内部】
CCP社G-DRIVEエコプラス(COB換装)相模原コントローラ内部

【車体内部】
CCP社G-DRIVEエコプラス(COB換装)相模原車体内部1
CCP社G-DRIVEエコプラス(COB換装)相模原車体内部2

⑦駆動の操作は、元と変わらない俊敏な操作感が得られた。

⑧データ転送レートとリード線アンテナ有無による通信可能距離の変化を評価した。なお、測定値は障害物の無い見通し距離である。

・ボーレート2Mbpsアンテナ延長5cmなし通信距離約20m
・ボーレート2Mbpsアンテナ延長5cm有り通信距離約70m
・ボーレート250kbpsアンテナ延長5cmなし通信距離約60m
・ボーレート250kbpsアンテナ延長5cm有り通信距離100m以上

リード線アンテナの有無が通信距離に大きく影響する。つまり、リード線アンテナの調整で通信距離を制限できると言うことだ。
  1. 2019/05/01(水) 15:26:11|
  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