FC2ブログ

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

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

導通チェッカー&電池チェッカーの製作

導通チェッカー+電池チェッカー
導通チェッカー+電池チェッカー外観

テスターにも導通チェックの機能があるが、測定端子(テスターリード)間の電圧が0.5V以上出るものが殆どである。これを電子回路に当てるのは大変危険である。回路に実装されているICを壊してしまうかも知れない。だから、測定端子間電圧が僅か15mVの導通チェッカーを作った。ついでに、電池チェッカーの機能も盛り込んで出張おもちゃ病院への携帯を便利にした。

【電池チェッカーの要件】
①1.5V電池(単1~単5)と9V電池(006P)に対応
②高負荷測定モードあり
③被測定電池で動作

【導通チェッカーの要件】
①測定端子オープン時15mVの超低電圧で測定
②10Ω-100Ω-1kΩ-10kΩ-100kΩの5レンジ
③最高分解能は0.5Ω(10Ωレンジ)
④最高感度は500kΩ(100kΩレンジ)
⑤オートパワーオフ

【共通の要件】
①落下等の衝撃に強いこと
②小型であること
③単三電池1本で動作すること

【設計の狙い】
(1)対衝撃性
①機械式メータを使用せず、表示器としてバーグラフLEDを用いる

(2)小型化
①レンジ切替えは1個のタクトSWで行う
②部品の誤差やバラツキの調整はプログラム内のパラメータやテーブルの設定値の変更で行い、
 半固定抵抗等の調整用部品をなくす
③乾電池チェッカーと導通チェッカーの機能を一つに統合することで、全体の容積を小さくする

(3)簡易な構成
①OPアンプを内蔵したPICを用いて1チップで構成する
②レンジの表示と測定結果の表示を一つのバーグラフLEDに同時に表示する
③CPUクロックは内蔵クロックを使用する

(4)経済性
①電源は乾電池1本(1.5V)とし、3.3Vに昇圧して各回路に供給する
②導通チェッカーのとき、長時間動かない(導通検出しない)場合はオートパワーオフする
③CPUクロックは500kHzとし、電力消費を抑える

【処理方式】
(1)電源オンの仕方
①電池チェッカーとして起動する場合は、被測定電池から回路電源を給電するので
 給電開始時はレンジ切替SWはオフ状態である
②導通チェッカーとして起動する場合は、レンジ切替SWが電源オンのボタンを兼ねているので
 給電開始時はレンジ切替SWはオン状態である
 レンジ切替SWのオン状態を一定時間監視した後に、電源オンを保持する

(2)電源オフの仕方
①電池チェッカーとして起動した場合は、被測定電池を外すことで電源が切れる
②導通チェッカーとして起動した場合は、レンジSWの長押し若しくは導通が無い状態での
 タイマー監視で電源オンの保持を切る

(3)導通チェッカーのレンジ切替え
①MOS-FETで電子スイッチを構成する
②レンジSWの押下毎に10Ω→100Ω→1kΩ→10kΩ→100kΩ→10Ωと循環させる

(4)電池チェッカーの負荷切替え
①レンジSWを押下している間だけ高負荷にする

(5)ブザー音の発生
①導通チェッカーで導通レベルが5程度以下(導通のある方)で鳴動させる
②導通測定結果で周期を変化させる
③CCPモジュールをPWMモードで使用する

【安全性】
(1)導通チェッカーのプローブに過大な電圧が印加された場合
①PICのポートは、保護用ダイオードの順方向電圧以下にクランプされる
②流入電流は10Ωレンジの場合に最大となり、印加電圧が巨大な場合は10Ω抵抗が焼損する
・10Ω1/6Wの許容電圧は1.29Vであり、決して大きな値ではない
・プローブの開放電圧は15mV程度に抑えていて測定対象に影響を及ぼさないようにしているが、
 内部抵抗は10Ωであるので測定対象が通電中はプローブを当てないように注意すること
・10Ωはヒューズ抵抗として位置付け、焼損時は交換することとする
・レンジ切換え用のFETの耐圧は20Vであり、これを超えるとFETが破壊される

(2)電池チェッカーの端子に過大な電圧が印加された場合
①1.5V端子は直接DC/DCコンバータに繋がっているので、FT7733Aの耐圧6Vが許容電圧になる
②9V端子は定電圧回路に繋がっていて、回路電流を15mAとすると2SC3325のコレクタ損失200mW
 以内では、9V端子の許容電圧は16Vとなる
③9V端子は負荷切替え用FETに繋がっていてFETの許容電圧は30Vである
④1.5V端子、9V端子ともに逆電圧が印加された場合は、負荷切替え用FETに逆電圧が掛かる
 ことになり、耐圧は-30V程度と思われる
⑤負荷用抵抗の許容損失は定格の50%としているので、1.5V端子および9V端子の許容電圧は
 定格値の1.4倍までとなる

【回路図】
導通チェッカー+電池チェッカー回路図

【基板画像】
導通チェッカー+電池チェッカー基板

【ダウンロード】
詳細な製作資料とファームの開発プロジェクトは ここから ダウンロードできる。
スポンサーサイト



  1. 2010/07/23(金) 16:28:21|
  2. その他のツール
  3. | コメント:0

おもちゃ修理用電源器の製作

おもちゃ修理用電源器
降圧型SW電源外観

おもちゃを修理するときに電池替わりに使う電源器を作る。

病気のおもちゃは回路の短絡や動作不良のために過電流が流れることがあり、過電流が流れると故障状態を更に悪化させてしまう恐れがある。そのため、おもちゃ修理用の電源器には迅速に働く電流制限機能が必須である。しかし、市販の電源器は出力側に大容量の電界コンデンサが入っているので、電流制限機能が働いてもコンデンサの放電電流は流れてしまう。つまり、この電流制限機能は電源器自身を過電流から守るものであり、ターゲットのおもちゃを守るものにはなっていない。そこで、出力側にコンデンサを繋がない、病気のおもちゃに優しい電源器を作った。ということで、「おもちゃ修理用」な訳だ。

【要件】
①使い勝手がよい
・出力電圧0~15V、負荷電流2Aまでとする
・電池代わりに使用することを想定し、電圧設定は1.5V刻みとする
・電池以外の電圧設定も可能とするため、0.5V刻みの設定も可能とする
・出力端子に外部から電圧が印加されても壊れない
・複数台の電源器や電池と組み合わせての直列運転を可能とする
②ターゲットを壊さない
・電流制限は高電流(2A)と低電流(150mA)の2段階を設定可能とする
・過渡的(短絡の瞬間)にも確実に過電流を抑止する
③衝撃に強い
・機械式メーターは避けて、バーグラフLEDに設定電圧と負荷電流を表示する
④高効率化、小型化する
・SW周波数は数100KHz以上とする
・操作機能を集約して、SW類の部品点数を少なくする
・嵩張るロータリーSWは避けて、タクトSWを採用する

【回路図】
降圧型SW電源制御部回路図
降圧型SW電源表示部回路図

【制御方式】
①ジャンクの電源アダプタを利用して、その後ろにバックコンバータを配置した構成とする
②ADCは時間が掛かる(17uS)ので、電圧制御と電流制限には動作が速いコンパレータを使う
・電圧制御用コンパレータの基準電圧を可変することで、出力電圧設定を変える
・電流制限用コンパレータの基準電圧は高電流と低電流で同一とし、固定にする
③定時間間隔で割り込みを発生させ、割り込み処理で電圧と電流を制御する
・割り込み処理のダイナミックステップ数を20ステップ以内とすれば、32MHzクロックで2.5us
④表示系と操作系の処理はタスク部分で実行する
・タスク処理の走行時間比を1/10としても、タスク処理は3.2MHzクロック相当で実行できる
・割り込み処理を抜けてから次の割り込みまでのタスク走行ステップは2ステップでも十分である

【電圧制御】
①電圧制御用の基準電圧
・内蔵DACは32段階の分圧が可能だが、外部回路で合わせ込みが必要なので採用しない
・PWMは1/1024の分解能でソフトでの調整が可能であり、PWM出力の外部に平滑回路を装備して基準電圧として使う
②定電圧制御
・出力電圧を固定比で分圧後、基準電圧と比較し、FETをオン/オフする
・比較周期は2.5us以下を狙う

【電流制限】
①負荷電流のセンス
・Highサイドでのセンスは回路構成が煩雑になるので、Lowサイドでセンスする
・センス電圧を出力電圧にフィードバックするべきであるが、回路構成が煩雑になるので対処しない
・センス電圧の出力電圧への影響を少なくするため、センス電圧は0.1V程度までとする
②過渡的な過電流の抑止
・出力端子に平滑コンデンサを置かない、それでも安定動作する方式を考える
・瞬時的には、トランジスタのIc-Vce特性の飽和部分を利用して定電流制御を行う
・2Aで飽和させるにはかなり大きなトランジスタが必要(2SD880、2SC5198のデータシート参照)
・定常的には、過電流の抑止を制御マイコンのソフト制御で行う
・定常的な負荷電流のセンスも上記のトランジスタのVceで行う
③電流制限用の基準電圧
・制限電流の高および低で共通とし、Vrefの1.024VをDACで4/32分圧して0.128Vを得る
・制限電流の高、低の切り替えはトランジスターのIBで変化させる

【電流測定】
①負荷電流のセンス
・電流測定用のトランジスタのVceをADCで測定する
・Ic-Vce特性の非直線性はテーブル変換によりソフトで対処する
②タスク処理で実行する
・負荷電流の測定と表示は速くなくても良いので、タスク処理でゆっくり(10mS間隔程度)実行する
③測定値を平均化して表示することで、表示を滑らかに見せる
・累積値=累積値-平均値+今回測定値
 平均値=累積値/サンプル数
・実験の結果、サンプル数=2の場合が見た目に良い感じ

【操作系】
①操作SWを節約し、小さく実装する
・設定電圧の上昇/下降、電流制限の大/小の設定機能を2個のタクトSWに集約する
②押し間違えても安全な方向へ推移するようにする
・1個は設定電圧の上昇と電流制限の大設定を割り当てる
・もう1個は設定電圧の下降と電流制限の小設定を割り当てる
③タクトSWの押下時間で機能を分別する
・短時間(20mS~0.3S)は1.5V刻みで設定電圧の増減
・中時間(0.3S~1S)は0.5V刻みで設定電圧の増減
・長時間(1S~)は電流制限の大/小切り替え
・極短時間(~20mS)はノイズとみなし無視する

【表示系】
①表示器を集約し、小さく実装する
・10セグメントのバーグラフLEDに設定電圧と負荷電流を重ねて表示する
・設定電圧は、左半分の5セグメントと右半分の5セグメントに同じ値を2進数表示する
 これは負荷電流の表示と重なってもどちらかで読み取れるようにする工夫
②視認性を良くする
・負荷電流の表示は明点灯、設定電圧の表示は暗点灯とする
・設定電圧は0.5V単位の2進5桁で表示するが、最下位は更に暗点灯として桁位置を認識し良くする
③ポート数の節約
・10セグメントのバーグラフLEDのドライブを5個のポートで行う。(2行×3列×極性=12セグメント)
・タクトSWの読み込み時のセレクト信号線をバーグラフLEDのドライブ信号線と一部共用する

【調整】
①電流測定用のトランジスタのVce特性のバラつきによる負荷電流の測定誤差を補正する
・ADC結果の電流表示への変換表で個々のバラつきを吸収する
・電流制限の閾値はコンパレータのVrefを決めるDAC設定で個々のバラつきを吸収する

【ダウンロード】
詳細な製作資料とファームの開発プロジェクトは ここから ダウンロードできる。
  1. 2010/07/23(金) 13:12:03|
  2. その他のツール
  3. | コメント:0

PICプログラマーの製作(後編)

USB接続のプログラマー
プログラマー外観

USB接続のプログラマーを作った。ターゲットは主にPICだが、AVRやシリアルEEPROMにも対応している。
制御用PICにはPIC18F14K50を使っている。DIP20ピンで使い易く小さく作れるのと170円(2014年秋月価格)と安い。
ファームはMicrochip社のUSBフレームワークのCDCデモを母体にして、プログラマーとしての機能を盛り込んで作った。

本プログラマーは制御のためにマイコン(PIC18F14K50)を使っているので、そのマイコンをプログラムするためのプログラマーが必要になる。所謂「鶏と卵の問題」が生じる。そこで、PIC18F14K50をターゲットとした、マイコンを使わないプログラマーを事前に製作している。これについては PICプログラマーの製作(前編) を参照。

【設計】
①USBバスパワーで動作する。

②Microchip社のUSBフレームワークのCDC-BasicDemoをベースにカスタマイズする。カスタマイズ箇所はソースコードにコメント「shige」で示している。

③プログラマー側のファームはデバイスとの通信機能、およびVpp/MCLRやVdd等の制御機能のみとし、デバイス毎のプログラミング仕様の実装はPC側の制御ソフトの分担とする。これにより、デバグが容易になり、新デバイスへの対応をやり易くする。

④18F14K50内蔵モジュールを使って、ソフトの介在無しでVpp用の高電圧を発生させる。外付け部品を少なくするとともに、ソフトの動作タイミングへの制約を無くしている。

⑤ターゲット回路へのVdd供給を可能とし、小規模な実験であればプログラマーだけでテストランができるようにする。PC側の制御ソフトからVddとMCLRをコントロールすることで、ターゲットのプログラムとテストランをシームレスに実行できるようにする。

⑥CDC-BasicDemoではWindows標準のUSBドライバが使われる。64ビットOSではデジタル署名されたcatファイルが必須になるため、infファイルのカスタマイズは諦めて、CDC-BasicDemoの添付ファイルをそのまま使うことにする。従って、デバイスドライバの組み込み時に表示される文字列はCDC-BasicDemoの内容になるが仕方がない。

【回路図】
プログラマー回路図

【Vpp用高電圧生成】
18F14K50内蔵PWMと外付けFETでブーストコンバータを構成する。発生した高電圧を18F14K50内蔵コンパレータに戻してFVRからの基準電圧と比較し、PWMを制御することで電圧を安定化する。このフィードバックループにソフトは介在していない。

【プログラミング仕様】
PICはデバイス毎にプログラミング仕様が微妙に違うので、共通化する部分と個別化する部分の見極めが重要であり、ここを旨く設計しておかないと機能改善や新デバイスへの対応が困難になってくる。このプログラマーのPC側の制御ソフトはプログラミング仕様を3階層のソフト構造で実装しており、それぞれの層でプログラムの共通化を図っている。この工夫の成果で10Fから32MXまでのすべてのレンジのPIC、およびAVR、シリアルEEPROMに最小のソフト規模で対応できている。

【PC側制御ソフト画面】
プログラマーPC画面
開発環境はVisualStudio2008

【対応デバイス】
秋月で安価に買えるものをサポートしていく方針。

(2016年4月29日現在)
10F200/204/220/202/206/222
10F320/322
12F508/509/510/16F506
12F609/615/16F610/12HV609/615/16HV610/12F617/16F616/16HV616
 ←616/617以外では消去書込みで消去されない不具合あり、未解決
  12F615等の1ワード書込みデバイスではRowEraseはできないのではないか?
16F627/628/LF627/628
16F627A/628A/648A/LF627A/628A/648A
12F629/675/16F630/676
12F6xx/16F6xx
16C711
16F716
16F785/HV785
16F818/819
16F84A
16F87/88
16F87x
16F87xA
16F88x
12F150x/LF150x/16F150x/16LF150x
16F170x/LF170x
12F182x/LF182x/16F182x/LF182x
16LF190x/F193x/LF193x/F194x/LF194x

18F1320/2320 ←チップが割高で未入手のため未テスト
18F2550/4550
18F1xK22/LF1xK22/F1xK50
18F2xK20/4xK20
18F2xK22/4xK22
18F2xJxx/4xJxx

24FJxxxGA0xx

30F ←チップが割高で未入手のため未テスト

33F/24H

32MX110/210
32MX120/220
32MX130/230 ←未テスト
32MX150/250 ←未テスト

24FCxxx(ページサイズ32バイト以上のデバイス)

25AAxxx/LCxxx(ページサイズ32バイト以上のデバイス) ←チップが割高で未入手のため未テスト

90S1200 ←ID読込みがオール0となるがチップのバグ?
90S2313
90S2323 ←ID読込みがオール0となるがチップのバグ? Vcc=5Vでの書込みが失敗する
tiny2313
tiny13 ←未テスト
mega48/88/168/328

【ダウンロード】
詳細な製作資料とファームおよびPC側制御ソフトの開発プロジェクトは ここから ダウンロードできる。

ディレクトリ 「ISP」 はPC側ソフトのGUIを実現するVBのWindowsアプリケーション
ディレクトリ 「ISPdll」 はデバイスのプログラミング仕様を実現するC言語のDLL
ディレクトリ 「ISPpic18K14K50」 はプログラマー側のファームウェア

【使い方】
①Windowsアプリケーション「ISP\ISP\bin\ISP.exe」 と DLL「ISP\ISPdll\Release\ISPdll.dll」 を同じディレクトリに置く。
②Windowsアプリケーション「ISP\ISP\bin\ISP.exe」 を起動する。

【問題点】
PIC32MXはサポートできているが、マイクロチップのプログラミング仕様で示された手順ではデバイスへのアクセスができなかった。先達のWeb情報をヒントに違った手順で実行すれば上手くいった。詳細はダウンロード資料中の「PIC32MXのVerifyオペレーションについて.xls」をご覧いただきたい。その原因は未解明である。もし、判る方がいらっしゃればご教示いただきたい。
  1. 2010/07/23(金) 06:43:34|
  2. プログラマー
  3. | コメント:0

PICプログラマーの製作(前編)

PIC18F14K50用の鶏プログラマー
鶏プログラマー外観

USB接続のプログラマーを作りたいが、そのようなプログラマーは制御用のマイコンを必要とする。そのマイコンをプログラムするプログラマーが必要になり、鶏と卵の問題が生じることになる。この問題の解決策は、制御用マイコンを必要としないプログラマーを作ることだ。汎用ロジックや機能ICだけを使って鶏となるプログラマーを作った、というのがこの記事「前篇」の内容である。USB接続のプログラマーの製作は 「後編」 に記述する。

制御マイコンを使わないプログラマーはPCとUSB接続することはできず、レガシーポート接続にならざるを得ない。それでCOMポート接続の鶏プログラマーを考える。最近のPCはCOMポートを搭載していないものがあるが、その場合は市販のUSB-シリアル変換器を使うか、FTDIチップ等を使ってUSB-シリアル変換を行えばよい。

鶏プログラマーは、その次に作るUSB接続のプログラマーで使う制御マイコンをプログラムすることが目的なので、それに必要な最小限の機能のみとし、ハードもできるだけ簡易に済ませたい。USB接続のプログラマーの制御マイコンはPIC18F14K50を想定しているので、ターゲットデバイスはこれのみとする。ICSPでは、ターゲットとはPGCとPGDでシリアル通信するので、この2つの信号線を制御する必要がある。また、プログラミングモードへの遷移のためにVppとVddの制御も必要である。これらをPCからの非同期シリアル通信で制御する訳だが、より速くデータを転送でき、より簡単にハードウェアを実現する方法を考えた。

【回路図】
使ったICは 74HC74、74HC04、LMC555 の3個。
鶏プログラマー回路図

【PCとの通信仕様】
シリアル通信のパラメータは384kbps、データ8ビット、パリティ無し、ストップ1ビット
1バイトでICSPの2ビット分を伝送する。
伝送すべきデータが奇数ビットのときのために1バイトでICSPの1ビット分の伝送も可能とする。

【動作説明】
RxDのH期間の長さによってPGCとPGDが制御されるように時定数回路が組まれている。
初期状態はRxD=L、PGD=L、PGC=Lとなっている。
RxD↑で74HC74がCLRされ、PGC↑となる。
PGCはRxDのH期間により制御される。
    74HC74のDがRxD↓のタイミングでPGCに反映されるが
        RxD=Hの期間が6ビット未満のときはPGC=Lになる。
        RxD=Hの期間が6ビット以上のときはPGC=Hに留まる。
PGDは3ビット経過後にHになるが、
    それ以前にRxD↓になるとPGD=Lでターゲット側に取り込まれる。
    それ以降にRxD↓になるとPGD=Hでターゲット側に取り込まれる。
TxDは555のOUTであり、RxD↑でトリガされ、TxD↑となる。
TxDのHパルス幅はターゲットからのPGDによって制御される。
    ターゲットからのPGDがHのときはTxD=Hの期間が1ビットとなる。
    ターゲットからのPGDがLのときはTxD=Hの期間が4ビットとなる。

【PCとのやり取り】
鶏プログラマーPCとのやり取り

【PC側制御ソフトの画面】
鶏プログラマーPC画面
開発環境はVisualStudio2008

【ダウンロード】
詳しい製作資料とPC側制御ソフトの開発プロジェクトは ここから ダウンロードできる。
  1. 2010/07/22(木) 14:55:15|
  2. プログラマー
  3. | コメント:3

プロフィール

大泉茂幸

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