*PIC技術情報*
概況:最近価格は低下していて,8PIN DIP TYPEで1個 80¥という
商品も出てきているが、まだFLASHメモリの不安定さは解消し切れてい
ないようだ。特に一度基板に半田付けした物を外すと、一部不安定領域
が有ったりするので、一度消去し全てFFを確認後、再書き込みをして
使用するのがおすすめ。古いロット品には、プロテクトを掛けると
動作が宜しくない物が、まれに見受ける。この場合交換したほうが
信頼性やトラブルを考えるとベター。静電気に対しては非常に
安定している。10BIT AD内蔵品だが、やはり無理が有り
LSBは安定しないので、移動平均等を行ってバラつきを減らさないと
8BIT品位の性能しか出ないので、思い切って下2BITを無視するかだ。
高性能品種も続々出てきているので、選択に迷う。
パッケージもDIPだと簡単に抜き差し出来て重宝するが、
メーカーがSOP/SSOPに移行しており、専用ソケットが無いと
厳しい。SSOPあたりで、手付けの限界が有る。今後SOP品が
主流か?
1/省エネ: 最近電池品が多くなって来た。例えばCR2032コイン電池等は
容量が200mAHくらいなので、PICが常時mAオーダー消費すると
すぐに電池切れになる。その為電池切れ表示(2.1V以下)になると
赤LED表示する回路があるが、トランジスタ2石で通常時2μA
で動作している。そこでSLEEPコマンドで停止状態にしておき
入力の変化で起動するか(但し立ち上がるのに多少時間が掛かる)
高級言語使用時は、短時間停止コマンドで停止状態に於いて、
入力等CHECKで動作が必要ないときはLOOPで停止状態にと
設定する。3Vで12F629でTESTすると、消費電流は4μA程度に
なるので、電池交換は動作時の電流消費にもよるが、半年位は持つ。
PIC自体はsleepモードでは,消費電流が少ないが、
附属回路が連続運転をしていると意味が無いので、
SLEEPが終わった時に附属の回路動作が必要な時のみ
ONするような電源で、必要以外は遮断しておく。
但し,PIC自体の復帰時間も有るので、イベントが
発生してすぐにという場合は、色々と考慮が必要。
2/パッケージ:10年くらい前では,DIPが多かったが最近は
SOP/SSOPのみの商品も多くなってきた。困るのが
SSOPでメーカーによってピッチ等がまちまちな事だ。
書き込む前に小型変換基板に取り付け、書き込み後
装着するしかない。ついでに電源のコンデンサも基板に
付けて於けば、交換・メンテナンスも楽だ。但し
基板に取り付ける場合、速やかに付けないと、
熱劣化による不良品の山ができる。少なくとも
書き込む前に,MEMORYチエックを書き込み器で事前に
行った方が良い。
3/処理方法:
製品の中に組み込み、基本性能は変えないが、付加ファンクション
を増設したい場合がままある。切り替えMODEスイッチの信号等から
MODEを知るのだが、パルス的高速信号が頻繁に出ている場合
には、MODEを検出するのがやっとで、他の制御等が出来ない事が
ある。この場合には、初段の石でMODEを検出しそれなりの
判断が出来る信号を出力し、次段の石でMODEの読み取りと
処理をおこなう。即ち2段で行う方式で,SPECの変更にも
対処が容易である。無理に一石でやろうとしても、商品側の
処理法方も頻繁に変わる為対処できなくなる事もある。
一例として,3MODEのマシンだが2PINにDCの5Vと0Vの
組み合わせであったが、途中から数μSのパルスに変わった。
通常PICはシングルコアなので、処理は追いつかなくなった。
しかも微妙にパルス間隔を変えたりするので、一石では
MODEの判断がやっとである。無理をしてSYSTEMを組んでも
後がつづかない。
4/クロック: (精度)一般にクロックは水晶等外付け部品で作動させるが、
部品点数を極力減らしたいとか、精度(タイミング)を求めない時は
内臓CRオシレータと校正値をプログラムで読み込み使用する。
電圧が5Vの時は+-2%程度。但し使用電圧と温度が影響してくる。
50個くらいためして見たが、+-2%程度にはなる。構成値を書き換えると
多少は変わるが、メモを取って、オリジナル値を保存する。
書き込み器でメモリダンプし、構成値を修正打ち込みする。
但し微調整では無いので、正確なタイミングは外部の
精密供給を受けること。10ppmのUNITも3〜5K¥以下で
(周波数によるが)入手し易くなってきた。セラミック発信素子は
安いが、精度も温度特性もよくない。
5/プロテクト:
通常は掛けないが、商品等では掛けて複製を防止するが、
幾つかの石では、掛けると何故か動作不良になるものが有る。
動作の一部が不安定になるようで、プロテクトを解除し、
再書き込みをして、実装すると症状が出ない。
製造ロットによりハードバグがあるようなので、
試す価値は有る.DIPスイッチで一種のPASSWORDにしてる
物があるが、余り安定性はよくない。特に移動する商品の時は。
6/AD:
PICにはAD内蔵品が各種有るが、下位・中級品のADは10BIT
対応となっているが、実際使用してみるとデジタルと同居している
ことも有りLSBがひどくばたつき2BIT目も時々変動する。
従って参考書にあるように8BIT+アルファくらいの実力で
電源等を強化しても殆ど改善しない。一種のデジタルフイルター処理
として平均がある。N回計ってNで割るが,そのままだと数値が大きくなり
オーバーメモリーになるので、次の方法で回避する。
通常移動平均という手法で、例えば5つのdataを取り5で割ると
した場合に、スタートから順次メモリーをして行き、5を超えたら
5個のメモリーにシフトしながら上書きする。
結構効果が有り良くつかわれる。但し実力は平均で9BITくらいか?
但し、一種の積分なので即応性はなくなる。最も即応性を求めるなら
外部ADにするしかない。どちらかと言うとDAを付けてほしい。
DA出力があれば、外付けコンパレータでADも出来る。
電流出力TYPEならノイズも少ないのだが。
7電源電圧:
物によるが2V〜5V品が多い。但し電圧を下げると使用可能な
クロック周波数も下がるので要注意。例えば2Vでは20Mhzは
動作不可。省エネには2Vかつ32・38Khzクロックが。
但し、高速処理は出来ないので、外のハードであらかじめ
処理しても良い。全てTIPで処理しようとすると、制限が
多いので、バランスをどこで取るかだ。
8メモリ:
PICは基本的にRAMは極めて少なく、基本的に拡張は難しい。
EEPROMは拡張可であるが、動作が遅いので使い勝手が悪い。
PICには、元々アドレス・データバスが無く、I/O PORTのみだから
仕方がないが。拡張するとしたらシフトレジスタに入れておき
1回転させて読み出すが、時間が掛る。若干の拡張であれば
同一TIPを、増設しMEM代わりに使用する。やり取りはシリアルで。
9言語: 基本的にアセンブラが主体だが,SPEEDに問題が無ければ
C言語とコンパイラBASICが使用できる、但しデバイスによりで、
特に新しいデバイスは対応が遅れる。
高速動作はやはりアセンブラで作成し、リンクして併用しながら
ソフトを作成していく。但しコアがひとつなので限度がある。
最近の上位品にDSPを入れた物が出てきたが、
DSPの計算中はコアが使用出来るのか調べていないので
不明だが、並行処理は難しいと思われるが、調べて解り次第
追記したい。一般の試験機等では,CPUとDSPは別々で
CPUの動作を極力邪魔をしないようなハード構成をとる。
とにかく,PICはRAMが非常に少ないので、大規模なMEMORY
を必要とする用途には、採用自体メリットが有るのか検討が必要。
一部の下位デバイスは無償C言語が
供給されているので、それで。BASICは使い勝手がいいのだが
いかんせんコマンドが少ない。通信やA/D等込み入ってくると
CCS等のC言語が良いのだが、結局タイミングがシビアになってくると
アセンブラが不可欠で有る。上記に書いたとおり何でもやろうとすると
無理が生じてくるので、外付けハードの採用や、複数のTIPで
分割処理・並行処理が必要に成ってくる。
それ以前に,PICで処理するのがBESTかも、考慮が必要。
例えば高速連続PULSE(数μオーダー)のパルス幅で
上限と下限内は通過させるとかは、ロジック回路の処理の方が
安定しており、信頼性もある。融通がきかないが。
ソフト・ハード・外部回路のバランスも良く吟味しなければな
らない。
10並列運転;
ロジック回路などでは、出力増強の為、並列運転が良く
みられるが、PICの場合には同一回路構成でも
命令の後先などあり、うまく動作しないことが多い。
例えば、出力が1/2VccにHレベルが固定されたりとか....
増強する場合、ゲートを増設するか,TR/FET等を
付ける。1PIN 25mAとした時も連続運転は
結構きついので、少なくとも最大値の1/3位で
運転し、足りない時はデバイスを増設する。
動作周波数が高くなってくると相当に効いてくるので。
入力はインピーダンスが高いので特に問題は無い。
但し内部の保護DIODEは余り強くないので
使用回路によっては、注意要。
11:入出力の増設
8pin素子では,6pinしか割り当てるPINがない。
一部に入力のみという、特殊pinもある。
特に入力が足りなく成る事が多い。
ダイオードでAND/ORを組んだり、更に同一Pinを
ダイオードで分離し、ソフトで入力と出力を兼用させて
行う事もある、多PINのデバイスに変えるか、DATA
セレクタ・アナログスイッチなどのICを追加して
凌ぐかは、使用状況によって影響するので一概に言えない。
安価な場合は、素子を2個使用したほうが早く、変更等
も考えると使い勝手も良いが、タイミングや、DATAのやり取り
なども複雑になる。デバイスの完全なシンクロ運転は
要求タイミングも有るので、この辺も考慮が必要。
12:クロックOUT デバイスにもよるが、PICはリスク仕様で動作は
早く、4クロックで大体の命令が進行する。
例えば8pinTYPEの内部CR発振MODEでは
約4MHZなので、クロックOUTは1MhZとなる。
但し精度は良くなく、安定度も悪い。
これもAD変換がバラツク原因で、改善は外部
安定クロックでドライブするべきか。OP AMP等で
負電源が欲しい時にこの出力を倍電圧回路で
小容量のPOWERなら供給できるが、5V時で
電流にもよるが、−5Vぎりぎり出せるか。
周波数が高いので、1μFで十分だ。
言語によってパルス幅やWAIT(PAUSE)
がサポートされているのでパルス信号発生器と
して使用できる。1KHZぐらいで有れば多相信号も
だせる。更にアナログスイッチとコンデンサを
うまく組めば、ひずみ率5%ぐらいなら正弦波も
同期、時間差も可能だが、いかんせんデバイスの
遅延時間も無視できないので、個人使用レベル
がやっとで、実用性は乏しい。この場合は
ディスクリートと専用ICの方が、費用・時間・
精度も上だ。PICはRAMが極めて乏しいので
EEPROMではなく、RAMか高速シフトレジスタに
して欲しかった。
13:PICでセンシング
上記に在ったように、PICはクロックOUTが出せるので
同期処理が可能だ。1個のPIC・クロックOUTをインバート
即ち反転をトランジスタと抵抗でもう1個のクロックとして
使用する。電源は5Vで。2個のPICから相反転した
PEAK TO PEAKで10Vのクロックが得られる。
抵抗2本とコンデンサ2本の
ブリッジ回路を組む。それぞれの中点は平衡しているので
電位差は0である。感度を上げる為に1個は2Vくらいで
作動させる。コンデンサ側の中点にWIREと導電板を取り付ける。
これに人体・物体等が近接すると、静電容量が増えて
ブリッジのバランスが崩れ、中点同士に電圧が発生する。
但し,50HZ/60HZの成分が乗ってくるので
信号にハイパスフイルタ・帯域消去フイルタを組んで
出来れば1/100以下にする。
入力OVERリミッタを付けて,PICの入力に加える。
バランスを取る為、コンデンサ1個は可変トリマにして
浮遊容量の補正を、リバランスする為に。
実験では導電板から、垂直方向に20〜30cmに近ずくと
検出出来た。後はソフトウエアで1瞬もセンスするとか、
一定時間以上のみとかは、組み方で変更する。
電池動作の場合はSLEEPと並行して作動させる。
詳細は上記記事参照。
14:並行処理
どちらにしろ、pin数は限られているので、ほぼ同時に
多数の入力処理は、シングルコアでもあるので、無理が有る。
但し、デバイスが非常に安くなってきており100¥を切るものも有る。
この場合、多数のデバイスを並列運転し、一個のデバイスで集約
処理をするのだが、個々のデバイス事にソフトを作成しなければ
成らない事と、検証用の治具が複雑になったり、タイミングの
問題も出てくるので容易ではない。素子間のバラつきも有り
高速処理になるほど、問題が多くなってくる。
逆に、高速ROMと併用したり、ハードで前処理したり、
更にPICで行うメリットが有るかとか、変更・拡張性も含め
運用してくると、装置としてのコストメリットが有るか
検証が難しいが、比較的低速な分野であれば
充分にメリットが有る。同じ入力ピンでも速度差が
有るので、事前調査が必要になる場合は、PICの使用自体が
メリットが無いので、やめた方が無難だ。強行してもトラブルが
多発するだろう。小規模高速ROMが殆どなくなったので
選択肢は狭まっているのが現状。
15:相補対象処理
上記と多少ダブルが、2個のデバイスで極力時間差を
減らした処理法のひとつ。以前6809と云う、モトローラ系の
デバイスでクロックを互いに反転し。2個のデバイスで
極力速度を上げたパソコンがあったが、それと同じ手法。
2個のデバイスを片方はクロックを反転して供給する。
シンクロしているが完全同時並行ではない。
逆に時間差があったイベントに対応出来るので、便利な場合もある。
更にシフトレジスタでシーケンシャル的にクロックを生成し各デバイスを
駆動すれば,N個の時間差ドライブも出来て、用途によっては非常に便利。
基本的にひとつの処理を実行中は、他のイベントには事実上対応しきれない
ので、ローコストデバイスならではの使用法が採用できるが、
反比例してソフトの作成、管理は難しくなる。
16:ブレッドボード
上位機種のPICでは、クロックもUPして60〜80MHz品も出てきた。
又、受動素子のチップ化が進行してきており、IC自体もSOP/SSOP/
QFPなど、変換基板に載せないとTESTすら出来なく成って来ている。
一部のラジオSHOPなどでは、半田付け(変換基板に載せるのみで
TESTは別途料金要)サービスモ始まっている。
製造側は余り、この種のサービスは面倒なので、しないようだ。
特に問題なのは、10MHZを超えると、リード線の影響が無視出来なく
成ってくることだ。実際に基板化すると、動作しない場合も有る。
20MHZ以上になると、趣味的にはOKだが商品化のTESTとしては
かなりリスクを伴う。FREE基板とICソケットの方が信頼性は上だが、
それでも基板化すると、動かない事も結構有るようだ。
従って、良く吟味しないと時間のムダに成る事も考え、低速動作に
しておくのが無難か?
17:基板化
60MHZくらいから、パターンの幅や基板の厚さが影響を与え始めてくる。
特に片面基板で済ましたいと思う人が多いのが現状。
稀にパターンに並行してメッキ線が付いている事が有る。
これは、アースや電源等が抵抗を持っていて補強した跡で、
デバイスのばらつきによっても出る物と出ないロットも有る。
DIPだと足の間を2本パターンを通せるが,SOPだと
基板自作の場合は極めて難しく、両面基板にした方が無難。
パターンも狭いので、半田着脱が難しくハガレも懸念される。
ベークライト基板は安いが、厚くて切断が多少面倒で
切断時に塩素系の臭いが出る。紙エポキシ系は薄いが
価格が高い。ベークライト系は吸湿性が弱冠有り、
RF系の場合は、注意が必要。特に低リーク系には
使用が出来ないか、一部鋭敏な所は端子で空中配線とする。
チップ部品が今後主力となってくるが、作業性は悪い。
リード系は穴あけが必要だが、作業性や回路のパターン作成
や自由度が高い。部品も安い物が多い。
PIC内部に電源コンデンサを内臓していてくれれば、
部品点数も減って助かるが、余り例を見ない。
小型無線基板等は殆どSSOPサイズで構成されている。
小さくするのが主体なので。但しDIPのようなSOFT開発の
簡易性が無く,TEST用変換コネクタが必要だが、高い!
更に、何でもPICを使用するのは考え物で、
同時処理のLOGIC回路では、場合によってはROMとの
組み合わせの方が簡単な場合も有る。PICは基本的に
同時に複数PINの入力・出力が難しいので、タイミングが
結構シビアな時は、良く塾考しないと動かない場合も有る。
基板化する前には思慮が必要だ。
18:PICで電源
PICの出力で、スイッチ素子をドライブし、内臓コンパレータか
ADで監視制御する。PICも8PIN素子当たりは低価格品なので、
実験用には最適だ。一般的なスイッチング電源はPWM方式なので、
ある周波数に、ノイズスペクトルも集中しやすい。
まず、電力の生成はアナログスイッチとコンデンサを接続組み換えで
生成するTYPEと、インダクタを利用してエネルギーの蓄積,放出するTYPE、
倍電圧回路等を用いるTYPEがメイン。
但し消費電流が20mAくらいになると、インダクタかトランスが必要だ。
あくまでも実用性は低く、実験・学習がメインである。価格と実用性なら
モジュールやUNIT・専用ICの方が安くて確実。
物性試験機等に積んでいる、スイッチング電源でも低ノイズ品がある。
寸法・価格で全く国産品は太刀打ち出来ない物もある。
例えば12V2A品で、1A時にノイズが出力端子でmVオーダーとか。
PICには,PWMやAD、コンパレータ、更にソフトウエア制御も可能だから
電力生成と同時に、シンクロフイルタも可能なので、高性能低雑音電源も
可能と思うが、余りそのような商品は出てこない。
但し熱に弱いので、それの対策は必要な事と、フラッシュメモリーの安定性に
まだ疑問が有りそうで、工業製品には搭載は難しい所がある。
コントローラの勉強には最適かも、しれない。
19:CALLとGOSUB
細かい通信制御等の必要がない時には、ソフトはアセンブラとコンパイラ版
BASICで殆ど済んでいる。C言語と比べてどちらが早いかは、両方使用していないので
不明だが。コマンド数は圧倒的にC言語だが、メモリ効率は余り良くない様だ。
どちらにしても,SPEEDが要求される所は、アセンブラが必要だ。
サブルーチンでCALLは本来、アセンブラの呼び出しを受け持ち,BASIC使用時には、
GOSUBと書かれているが、バグなのかCALLはBASICのコマンドも使えてしまう。
これは、インタプリタではないので、コンパイラされると機械語に変換されるので
ラベルの呼び出しに矛盾は生じない為と思われる。但しGOSUBとCALLの
併用もどこまで許されるか、使用回数とかネスティングとか条件は試していないが、
とりあえず使えるようだ。新しい情報があれば追加する。
20:信頼性
非常に残念だがPIC等は、低い。特にさんざんトラブルを起こしたFLASHメモリが
PROGRAMを担っているので。以前工業用のBOARDでも、パソコンから流し込んだ
SOFTが変質していて,再書き込みを繰り返していた事があった。特にアクセスタイム
ギリギリで設計された物が良くバグッテいた。EEP−ROMの方が信頼性は多少上か。
TIPに搭載されると、ソケットUSEと違い、半田付けの熱に特に弱いようだ。
実験して見ると、最終アドレスの内部クロック用定数が無くなっていたり、酷い場合には
読み書き出来なくなる事もある。1PINに対し0.5秒以下の熱履歴が望ましく、
半田付け商品の場合、ピンと次のピン(DIP)は、30秒くらい間を置いて進行するのが
望ましい。出来れば半田はずしをしたICは、実験用に廻し、使用しないのが無難。
SOP・SSOPはかなり取り付けも厳しい。眼の良さとすばやさが求められ
これが出来ないと、不良品の山になる。
冬季の低温度も結構効いてくる。特にソケットUSEの場合,熱膨張の関係で
接触不良が起こりやすいので、半田付けが望ましい。
デバイスの構成上、厳しい環境や、高信頼性を求められる場合、スタートしたときに
自己診断PROGRAMが走り,異常の場合自動sleepになり,予備デバイスが作動
.....と成るようなSYSTEMも求められるかも知れないが、
基本的にデバイスにもよるが環境の厳しい所や、極めて
大きなトラブルが懸念される所にはまだ控えた方が良いかもしれない。
21:高品質・高効率電源
PIC内部にコンパレータやAD等、アナログ部分を使用したい時は、
直列制御型安定化電源いわゆる、3端子レギュレータを用いるが熱が
多く出る。そこでICの入り口のコンデンサを多めにし
電源との間にスイッチ素子(トランジスタ/FET等)を挿入する。
入力の電圧が出力に2Vを足した値より下がった時に導通させて、
電荷を補充する。間欠的に動作するので、低雑音性と
低発熱性がほぼ満足出来る。
ICのメーカーによりかなりノイズが異なり、モトローラが定評が有る。
一般的なスイッチング電源は、出力端で100mVを超えるパルス性ノイズが
出ており、そこに安定化ICを入れても効果は薄い事が多い。
電力の供給元としては、トランスTYPEのACアダプタが手軽で使い易い。
PICでも動作がパルス的な動作が多いので、電源とアースのパターンが
細いと不安定になり誤動作する場合が有り、注意が必要だ。
補強として線を並列化して、オシロで観測すると改善が良くわかる。
セラミック系とフイルム系は、帯域が異なるので
両方並列バイパス用に使用するといい。電解コンは高域が苦手なので。
22:基板化:CAD
簡単かつ低価格の片面基板がまだ根強く求められている。非常に高速とか
かなり規模の大きい場合を除いて。基板作成の無料CADやFREESOFTも
多く出ている。特に超小型で無ければ,WINDOS付属のPAINTソフトで殆ど
問題が無いし、無料である。唯一ドットの大きさが制限が有る事だが、
TIP/SOPパッケージも特に問題なく基板化している。
一番注意しなければならないのは、マチガッテPIN配列を書いてしまう事だ。
8ピン一個のみだったので、ICの足を逆に折り返して凌げたので助かった。
試作品なので、後日基板は修正したが。高機能のソフトも多いが
使えるまでに相当時間が掛かり、基板作成をしているのかソフトを習うのか
困惑する物も多い。現在感光基板も良くなり0.1mmも普通に出来るように
なって来ているが、バラツキは前より悪化している。
シルク印刷は面倒で、部品の記号印刷が簡単に出来るKITが欲しい。
以前NEC98時代に確か工人社?が出していた両面基板も可能で
記号エディタ・自動配線も可能というソフトが有ったが、シンプルで一通り出来て
使い易かった。そういうCADソフトが欲しいが,なかなか出てこないのが残念だ。
23:スイッチの入力を読む
継電器やPUSH SWITCHを読むのは、なかなかと大変で、特に複数かつ
不定期に押されると、結構処理が面倒だ。この手の入力をオシロで観測すると
小さく、不規則にオンーオフを繰り返して収束する。通常チャッタリングとか
バウンダリングとかいうのだが、時間にすると数mSから数10mSくらい続く。
処理としては,SOFTで対応すると部品数が少なくて良い。コンデンサと抵抗を
追加すると暴れは無くなるが、部品が増える。RS−FF等ICを追加しても
完全とはいかない場合も有り、更にハム等がノッカッテくるとややこしくなる。
スイッチが一個ならまだいいのだが、複数・不定期となると面倒だ。
スイッチ1個で注目すると、最初にONをしたら、とりあえず記憶させて
10mS〜100mS待ってONか調べて、両方が合致したらONとする。
困るのが一寸だけ押す時と、1〜2秒と長押しする場合だ。
PROGRAM自体も常にスイッチに関わっていられないので
専用INT端子で受けて割り込みで、処理をする。実際には
使用頻度が多くなってくると、不安定動作時間も長くなる傾向が有り、
CRとソフト割り込みの併用が望ましい。高級水銀接点SWITCHは
非常に高価。ハードの単安定モノステーブルで受けるのも、弱冠ハードが
増えるが、確実か?
24:PICで測定アダプタ作成
1:パルス信号発性器
PICは元々デジタル素子なので、パルスの時間制御はうってつけ。
信号は、最終的にシュミット回路ロジックと出口にCRの立ち上がり、立下り調整VR
とトランジスタか、超高速OP AMPで出力となる。
信号の可変は内臓ADにVRでDCVを読ませ、その値で可変できるように
するか、内臓コンパレータを利用して時間制御のファクタとする。
但し出力周波数が比較的高くしたい場合は、5Vで20Mhz水晶を使用する。
2:正弦波信号発生器
PICのPWM機能を利用して、出力にアクティブBPFかLPFを設置。
スイッチドキャパシタは、残留NOISEが多いので、使用はパス。
最近位相直線型デジタルフイルタICも出てきたので、組み合わせて
使用したいが、コスト・回路が相当に複雑になる。歪で3〜5%程度の
回路なら、比較的楽に製作出来そう。
別の手として、階段波回路を利用し三角波状に生成させると、比較的
フイルタは楽に。更に複数の出力で(デジタル)なるべく正弦波に近似
させると、更に歪は減るが、発生可能な周波数は下がっていく。
3:周波数カウンタ
実に多くの回路・方法があふれているので参考書を見る方が早い。
10Hzくらい低い周波数は、周期から逆算して周波数に直す。
安定した信号源として,JJYの受信KITを改造するか、TVの3.58Mhz
を利用する。後者の場合、風の影響があるが10のー10乗〜−8乗程度。
4:TEST用PROGRAM電源
特殊な実験装置や半導体TESTERなどは、たくさんの電圧源を必要とする。
通常切り替えは、ロスと絶縁性から継電器をもちいる。
PICにはADも積んである機種もあるから、値を切り替えてADでモニタしながら
継電器と可変電源を制御していく。電源は基準電圧を変更すると、当然
出力電圧も比例して変化するので、その方法で制御していく。
昔は、制御BIT数も多いことから,もっぱらUV/EEP−ROMが多用されていた。
現在は,I/Oも多数有るPIC等も有るので、選択の幅も広い。
5:信号解読器
AD・コンパレータ・デジタル処理を組み合わせて、例えば赤外線リモコンのように
復調信号から解読をしていく。例えば超音波送受信素子を格子状に多数配列し
時間差と信号強度を高速で切り替えて、同じく受信信号も同様に処理を
行えば、上下・左右+-50度くらいの、機械的な移動をしないで指向性を
持たせる、いわゆるフエーズドアレーTYPEが出来るが、
実際には相当にハードもソフトも大変になる。
製作記事は余り見ない。
6:低周波帯信号分析(周波数)
100khZ程度の信号(周波数vs振幅)を計る装置で、別名選択レベル計ともいう。
原理は比較的簡単で、ラヂオと同じく同調回路でフイルタリングしている。
コンデンサーを可変しており、安定性は余り良くないが,DYNAMICレンジは
大きく,120DB以上可能だ。FFTがはやっているが、操作性と窓関数とか
色々制限や覚えるのが大変で、校正が複雑だ。
OP AMP・電流制御可変コンダクタンスを使った可変BPFや、最近では
位相直線専用処理ICも有り,選択肢は広い。ただこのICで120db以上の
広い範囲の測定は難しい。スイッチドキャパシタFILTERも原理的に
最も理想的だが、実際の素子は改良されたといえど、スイッチノイズが多く
かつパルス性なので、簡単にフイルタで落ちないのが欠点。
PICのパルス列と、プログラム分周期・PLL・オプトカプラ等組み合わせて
自動追従BPFが出来れば、FFTよりも性能は上かも知れない。
但し高速でレンジ切り替えが難しい。
7:直線位相検波簡易VER(10KHZ以下+−5DEG以下程度)
信号の3要素の内で、これは殆ど御目に掛らない類の測定器で、
測定部の1BLOCKとしていたりとかで、単独の測定器は非常に少なく
高価であり、中古測定器の宣伝を見ても殆ど見ない類であるようだ。
PLLのIC等に内臓されており、そこを利用するのも良いが、0度近辺に
暴れがあったり(旧TYPE)、パッケージの問題もある。
最近はピコセコンドのコンパレータも手ごろな価格で出てきているので、
これを利用すると,100KHZでも0.1度くらいまで追い込める。
乗算型は出力がCOS状に出てきて,再度変換しないといけないので、
誤差と手間が掛かり、シンプルではない。
基準信号(正弦波)も必要か?検波のみとしても、基準位相検出と
被測定位相検出と2ch分必要で、周波数vs位相ズレも考慮しないと
いけない。両CHを全く同じ条件の回路にしても、いかに正弦波を
同一条件でパルス状整形するかが、なかなか難しい。
高速コンパレータもスルーレートの低い、即ち曲線状に信号を与えると
トリガPOINTが安定しない。ダイオードでクリッピングした後にシエーパー
(伸張)しても、拡大してみると途中は曲線になっており余り解決には
寄与していない。そこで発想を変えて、高速PICでサンプリングパルスを
ダイオードブリッジに与えて、信号をサンプルする。いわゆるサンプリングで
低い周波数に落として、そこで位相検出する方法。メーカーも
同一方法で行っている機種もある。ミキサで低域変換してもいい。
この場合の混合周波数は両方に同じく供給するので、ドリフトは
打ち消される(理想状態では)。
但し回路の規模が甚大で、測定器等が無い場合は、難しい。
12BIT・AD内臓のPICであれば、結構使えるのでは。
オフセットは最初に同一周波数(FFやシフトレジスタで0度、30度,.....
等基準信号を内蔵させる)で検出し補正乗数を生成する。
調整部品等の不安定要素を非調整で数値的に補正。
但し回路的に良い条件からずれる場合も有り、一概にどちらが
良いかは、精度、部品、設計で変わるので、何ともいえないが?
8:関数発生器/任意信号発生器
I/Oの多い品種を使用しD/Aすればプログラムされた信号が出て行くので
ICテスターや、各種試験装置・シーケンス等に使えそう。
但し内臓D/Aはプアーな物が多いので、別途外付けで専用ICを使用した
方がトラブルは少ない。一例として多波形信号発生器とか。
SIN/COS/三角波/方形波/鋸波/ランダム波/直線上昇/双曲線状...
そこそこに作っても、メーカー品の1/10〜1/100くらいのコストで
製作可。但し時間と知恵が必要だが。
9:PLLもどき
PLLといっても、デジタルTYPEの方だ。電圧制御オシレータでは無く、
多BIT可変分周期+安定信号発生器がVCOの代わりに。
宿命的にジッタが発生するが、全て論理動作で行える所がミソ。
PICは論理演算も出来るのでうってつけ。但し位相比較動作を外部PLL IC
で行うのか、PROGRAMで処理するかがムズカシイ判断である。
一般のPLLは比較周波数をkHzオーダーだが、安定性・処理性・応答性
の観点で決めてある。
この辺を参考に設計するのだが、応答性を上げると周波数とスプリアス等は
悪化する。やはり設計には相応の測定器が必要で、オシロのみでは
極めて難しい。デジタルPLLの関連参考書は少ない。
精度をモトメズ可変範囲も狭い場合はOP AMPでVCOと位相比較器も
DUAL OP AMP 1個で出来るのでこちらの方が、早くてLOW COST。
10:LED等照明制御
PICはPWM制御が出来るの、ランプ/LEDの照明に使える。
調整は,VRでVCC(5V)を分割し、その値を係数とする。自動制御(安定化)
の場合、もう1CHアナログ入力をし、反映させる。
PWMの場合は直流電源とスイッチ素子(TR・FET・IGBT・MOSリレー等)
を使用するが、ダーリントンTRが価格と入手性でお勧め。
サイリスタやトライアックは交流で使えるが、フリッカ(チラツキ)の問題が発生する。
他に交流・直流で使用出来るSSRが有るが高価であり、入手性も良くないし、
ヒーター制御に使用しているが、劣化が結構有る。部品のチエックが困難で
トラブルが出た時には、機器がダメージを受けている。初期の故障時には
復帰する事が多いので、厄介な素子だ。内部はPOWER MOS FETの物
もあり、テスターではチエックが出来ないし、動作させると抵抗値が微妙に
変化してしまう厄介な素子である。回路は非常に簡素化できるが
信頼性には程遠い素子で、安易な採用は後日のトラブル・クレームの元である。
この手の物は、コントローラだけでなく、制御素子の特質と、光源素子の問題も
有るので、結構簡単そうで根が深い(LEDの劣化問題は今、顕著に注目及び
対策に追われているのが、現状)ので製品化を考える場合考慮が必要。
A:AD変換
10BIT相等が附属している物が多いが、同居している為に8BIT相当が実力。
出力抵抗を小さくしたものを接続しても、内部が直列抵抗とコ ンデンサ
になっているので改善はなかなか難しい。
ある程度精度が欲しければ、外付けで12BITクラスの
高性能品が廉価に出ているので、その方がお徳で早い。
変換速度を遅くしていいなら、2重積分型のロジック部分としてPICを用いる。
内臓ADを使用するときは、別項で揚げた平均化を行う。
出来れば、シリアル通信型のADを別途出して(廉価で)くれた方が助かるが。
I/Oピンの多い場合は,PIC内臓コンパレータとI/Oを組んで逐次比較方式
ADをソフトがらみで組んでも良いが、結局別ICを利用した方が、早くて安く
かつ信頼性が有るので,内臓ADを使用することにこだわらない方が、得か?
但し重みを可変して、一時コストダウンの為にCDの復調DAを12BITで
16BIT品を使用しない、携帯型ラジオカセットが有ったが、その辺で
済むようなアプリには、使えるだろう。
B:USB接続
元々デバイスにUSB接続機能があれば特に問題が無いが、
廉価TYPEはキツク成ってくる。最近のパソコンはUSBが全盛で
レガシーな9PIN 232通信とかのコネクタはなくなってきている。
変換(USB TO 232)等の変換モジュールを買うかだが、
高速になってくると相性等の問題も出ている。
他に専用インターフエースICもあるが、入手性や価格にも
問題がある。c言語・コンパイラーBASICも標準のコマンドは
有るようだが、デバイスによりけりで、サポートされない場合も多い。
USBも3.0に成るようで、対応の高速・安易・低価格ICが待たれる。
C:電源・パターン・誤動作
どの素子にもいえるが、高速になってくるとちょっとした
影響が誤動作につながり、対策に悩む。
例えば,PICの+Vcc端子をモニタしていると、条件により
電圧が低下しているのが観測される。やっかいなのは、
細いスパイク状の信号でレギュレータ・アース接続・電源パターン
等の影響が結構ある。怪しいと思いアースに行くパターンが細いので
裏からリード線を並行接続すると出なくなった。これはパターンの
問題だ。但しSOP/SSOPのように端子自体が小さくなってくると
基板パターンも比例して幅が、狭くなり影響が大きくなってきている。
信号系がハイインピーダンスな場合、アースや電源パターンを間に
置いて、シールド効果を狙う事もある。終端できればもっといいが。
バイパスコンデンサを配置しても、電源の能力がPOORだと
これも一因に成る。特に設計がギリギリで行うと、必ずと言っていいほど
トラブルがおこる。これらは基板設計の参考書等で、起こらない
配置や環境にするしか無い。装置の置き場所により,AC100Vの誘導で
誤動作する場合も有る。インピーダンスを下げていくと、回路や素子によるが
おおむね50〜10Kオームぐらいに下げると、誘導電圧は余り発生しなくなる。
未使用のI/O
pinは出力にしとくほうが良い。又は内部でプルアップする
命令を足す。
D:誤動作:入力条件他
一般的に50K以下で有れば、電源の誘導等は避けれるが、
機器内部に組み込む時は更に低くし10Kオーム以下のインピーダンスが
望ましい。デジタル部や電源部のそばを配線が通さざるを得ない時も
要注意。小さなスパイク状の入力はCRのローパスフイルタと、
対応入力ソフトウエアで対処するが、100%とはいえず難しいところが
有る。スイッチ(PUSH)でも、一瞬のみ押す人と1秒くらい長押しする人も
いて、それらに対応しなければならない。乾燥時の静電気の影響も有り
スイッチ入力部は結構複雑である。比較的丈夫なバイポーラトランジスタと
ダイオード・CR等に任せる方法もある。この場合多少デバイスは増えるが
変更がしやすく、PIC部は本来の制御に集中できるメリットが有る。
又、入力パターンをアースパターン等でガードするのも、ノイズの多い
場所には効果的だ。但し、条件によるのでどれが良いかは、
ケースバイケース。シールド線も余り効果の無いときもあり
過信は禁物。特に後で修正しにくい所であり、意外と大変だ。
E:RESETエラー
時々うまく動作しない原因として,RESET問題がある。
SPACE・部品数等の要因で電源に頼っていると、
誤動作することがある。非常に立ち上がりが緩やかで
あったり、電圧が残留していて、0Vから起動しない場合
によく起こる。CLEAR PINかRESET回路が良いのだが。
少ない部品で,RESETさせるのに、アース側VSSをトランジスタ
で浮かし、電源Onでアースに導通させる。但しPICにより
出力が出てしまうのも有るので、必ずしも使用出来ない。
2石使用出来るなら、SWITCH回路でPIC供給電源をONすれば
良い。即ち電源が安定してから急峻に電源を供給する。
電源との間にスイッチ素子が入る。OFF時に高速放電できるよう
ダイオード等も装着する。
通常のマイコンなら番地0スタートでうまくいくが、
PICの場合、出来ない石も有り万能ではない。
周辺回路・技術:
*:PICと幾つかのデバイスのみでは、実際に行える事は限定されてくる。
従っていかに、外部と組んで有効に使うかが鍵になる。
以下にこの辺の、アプリも含んだ周辺技術も考慮して、組合せが
有効になるからだ。
1:高速ゲート回路:極端な高速でなければ、通常のC−MOSゲートIC/TTL
で組むが,ROMも大量に使用しなければ有効で、16K程度も結構手に入る。
但しラッチやFF等は作れないので、要注意。FPGA等プログラム素子も有効だが
量産・高速でなければ、書き込み器や書き込み用言語の習得も有り、
大概の用途はこれでOK。UV TYPEであれば
消去は蛍光灯・日光で充分。昔の半導体TESTERはこれで,PROGRAMが
動いていた。現在のUSB素子やFLASHメモリーは、微細化の影響で
信頼性は著しく低く、ファームウエアの蒸発も良く聞く。現在は廃れたが
FUSE ROMが最も信頼性が高い。
2:OP AMPでPLL
OP AMPは不完全ではあるが、比較器(アナログ)コンパレータとして
使用出来るので、1回路をVCO、1個を比較器、1個をループアクティブ
フィルタ、1個を出力BUFFとすれば、1コイン(500¥)で4回路入り
FET OP AMPでTL084とかを使用すれば、低価格PLLが出来る。
注意点は、1パッケージなのでパターン設計が難しいのと、OFFSETと
温度ドリフトが大きいので、広い温度範囲は難しい。安定度も余りよくないが
小型・低価格がミソ。ドリフトは高性能品を、パッケージは2個入りにすると
かなり改善するが、専用ICほどではないので,あくまでも簡易版だ。
1KHZで試作したが、ドリフトは少なく作り方によっては、相当の性能も可。
3:スイッチトキャパシターでPLL
上記ではPLLをOP
AMPで作成したが,MOS FET3個と
適当なコンデンサでも作成は可能である。但し性能はOP AMP
TYPEより悪いが、デバイスが少ないので小型基板に向いている。
回路は現代工学社のスイッチト・キャパシタに載っている。
4:LEDだが、超高輝度TYPEに成ると,電流値が大きく、PICで直接ドライブ
すると結構PICが暖まるので,2SC2236の程度のTRブースタでドライブ
した方が無難だ。他にトランジスタアレイもあるので、利用した方が
長期の信頼性は高い。電流が多いので、電源を共通にすると、電源が
揺すられて、最悪時暴走するので,LEDは供給電源に直接つなぐ。
5:AUDIO・MOTOR・LED・ヒータ・ペルチエ:ドライブAMP
現在高効率・小型のPWM型AMPが全盛だが、この中心部にPIC
を据える事も可能である。注意点として、応答性は良くない・
一因として、系全体としてはアナログ負帰還ampとして動作するのだが
PWMの特質上、その結果はクロック分遅れる。更に次の入力が入るわけで
負帰還入力部には、次の入力・遅れた出力信号・取りきれないパルス成分
等が一緒くたに入るので、系自体が安定しない所が問題。
クロックを超高速にして、遅れを最小限にかつ0出力問題も解決できれば
そこそこ使えるかも知れない。
歪が多い・電源が揺すられる・入力0に関わらず、チィーと高周波成分が
若干出ている。AUDIO用は相当に改善されたが。
PWM出力ダイレクトで従来のLCフイルタが不要な製品ICも有る。
出力は大半がMOSトランジスタのPUSH−PULL接続だ。
PWMは廉価品では基準クロックが一定で有る為に、ノイズは
特定部分に集中する。更にスイッチング動作なので、電源にとっては
結構重い動作。PICはPROGRAMで動作を改善出来るので
微妙にPWM動作をずらして、出力ノイズ等や遮断機能など、
設計し易いが、高速出力品はやはりキツイ。
PUSH−PULLドライバー部のDEAD TIMEの設定は
簡単に出来るので、SELF TEST動作も簡単に機能追加が可。
LEDのような、照光並びにDC MOTORの加減速には向いている。
但し電源に余裕が無いと、色々トラブルが出るようだ。
6:省エネ
エコブームに関係なく、ポータブル機器や電池使用品では
消費電流がうるさい。上記でも述べたが,TIP自体はsleep MODE
で使う事や、即応性で無ければトランジスタスイッチで電源をON−OFFし
安定した所で動作に入る。従って回路も高速起動性と短期に安定
する事が求められるが、最近はデバイスも非常に優秀で、小電流
OP AMPや基準電圧IC等揃ってきているので、設計は比較的楽。
問題は供給が続くかだ。LEDも高輝度を小電流で通常光レベルで
使用。無線モジュール送信UNITも非使用時にμAオーダー品が
一般になってきた。問題は受信でこれが電流を喰う。
改善はなかなか難しい。
7:プログラムドTIP
あらかじめ、動作選択が可能なプログラムを書き込んであるTIPだ
比較的需要が多いA/D機能と232を経由の通信ソフトが組み込んである。
購入者は自作で基板を組み込むか、専用基板を入手するかだ。
例えば8PINで1端子がA/D端子,1端子が232出力端子
1端子が変換START用でHが入ると変換する。
残りが動作選択用に。設定で(DIP端子で)常に一定の速度で
連続変換、入力にHが入るとその度に変換....とか。
TIP自体は200¥以下なので、書き込品はSOFTによるが、
1〜3K¥とか。標準品のほか、注文で変更・追加も有れば
より、便利に。例えば変換速度を伸ばすとか、平均値出力にするとか。
モニタは各種FREEの通信モニタプログラムが多数有るので
その後に、CやV−BASIC等で表示画面等を作成していく。
自分でファームウエア部分が組めない,時間が足りない時には
色々多機能のプログラム済みTIPがあれば、時間の短縮が出来
短期で有ればコストも下げられいいのかもしれないが、技術雑誌には
この様な商品の販売は見受けない。
7A:追加補足
PICのポート:切替
少数IO・pin品種ではIN・OUTPIN数の制限が有るが
短時間で切り替え(同じPINを入力と出力に兼用しても
回路上問題が無い場合)はレジスタ操作で、同じPORTを
INとOUTを切り替えて使用するが、問題は切り替えてすぐに
使えるかは不明で、余りDATA SHEETに乗っていないようだ。
今の所、4MHZ品の場合WAITを適当に(例0.1mS)取れば
特に支障は無い。但し何クロックWAITさせるかは,実験してみる
しか無いが。問題はIN/OUTを干渉しないように分離
(例:抵抗やダイオード)が必要かどうかだが、ケースBYケースで
それは、設計者のみしか解ら無いが、省部品になる。
但しソフトはシビアに成りそう。
PINが入力時にはハイインピーダンスなので特に支障は無いが
入力から出力に切り替わる時に状態が不定。
内部でハイ、ローが確定してから切り替わるのか
トランジェント時間を含んで切り替わっていくのか、
切り替わった状態はローで,読取でハイ・ローになるのか、
トライステート状態でOFF PINで読取確定してMODE
変更されるかは、デバイスの種類やVERSIONでも変わりうる
ので、実際TEST PROGRAMを組んで事前調査が必要。
省面積には寄与するが、同居する為のトラブルも予想される
為、別のデバイスや、複数化のほうがトラブルは少ない。
8:車の電子化/問題点 1:
問題は大きく分けると、3点になる。
1番目はデバイスの問題、2番目は複数TIPとソフトの競合の問題
3番目はバス上の通信問題。
デバイスは微細化されすぎて、一部USBメモリでも警告が出ている
電荷の蒸発等。メーカーも6年しか在庫をkeepしないが、
逆にデバイスに色々問題が有り、対応出来ないとも読める。
LEDでも寿命問題等山積しているのが実情でソフトのwindows
の様な問題は結構聞く。
プリXXクラスになると、プロッセッサーが50くらい有るという。
これらが、環境の厳しい条件で完全に動作するとは信じられないが、
一例としてUSAのB52も使用延長が決まり、改修が何度も行われ
電子機器等も変更追加されたが、相当にトラブルが出たようで、
安定したのは最近とも言う。航空機もプロッセッサーは分散から
集約の方向に有り、TIP自体のバグもあるようで、対策は長期化
しそうだ。バスもノイズの塊に設置されており、電源環境も劣悪
なので、余り電子化を進めると、予想もしない現象が発生しそうだ。
特に、電流が一時的に多く流れて電位が低下した場合、全体が
フェイセルセーフ化していないと、不規則に発生するトラブルに
悩まされる。ソフトも1人で作成していないので、整合化が
充分で無いと、銀行のONLINEトラブルと同じく、
バグの危険性がある。 又、ハードのタイミングと
ソフトのタイミング整合も有り、全体を見回すと相当に大変そうだ。
問題点 2:
通常の乗用車を調べると、後部ボンネットの3D的な中心点に外部電磁波の
ラジオ・TV等が集中している事が多い。構造や材質・サイズにもよるが
問題は、放射波動が集中するZONEが有る事だ。これは特許にもなっており
違法高出力アマチュア無線電波が信号機に干渉して問題になった事も
そう昔では無い。特に日本の機器にはEMC対策が極めて不十分なことも有り
例えば、PICに従属しているブラウンRESETが発生したりすると、
受取ったコマンドはチャラに成ってしまい、ブレーキのコマンドが蒸発してしまう
事態も想定されるが、これは不規則な要因であり検証は困難を極める。
高電界も半導体に色々悪影響が有る。特にロジックも低電圧化方向に有り
影響は高くなりつつ有る。火山などに設置されるセンサーも,半導体化
でトラブルが増大したそうで、半導体は自己復帰性が殆ど無いので
それが、故障の増大になっている。
とにかく、メーカーも気を付けて設計していると思うが、
航空機が最新のマシンを積んで装備するとは、ならないのも
この辺に、有りそうだ。
3:マルチ・固体化OS
パソコンのwindowsのように複数のVERSIONが存在すると
いう話ではない。車両等のように振動等が随伴する物の場合
当然OSもROMの様な機械的読取を含まないデバイスが使用
されるが、通常使用MODE、点検MODE、緊急MODEの
用に分類・複合化TYPEが必須だ。
一つのOSで全てを網羅するのは、至難の技であり
パソコンを見ても解るように即応性に欠けるので。
パソコンで言うと、DOSの時代は高速で切り替えも
早かったが、現在のシステムでは割り当てを待つ状態だ。
車両の場合も、迅速に緊急処理時にはOS自体を切り替え
て、最も高速で効率的な制御や補完をこなさなければ
成らない。某国に於いては、原XX発電所をみても解るように
全体の構成や構造等を吟味・網羅した造りになって無く、
各専門の集合体で完結してしまっているので、想定外の事象が
発生しても、総合的に俯瞰してSYSTEMが組まれていないので
その時その時で対応せざるをえない。
メーカーによっても異なると思うが、この辺の事は
ユーザーには廻ってこないので、安全性の一つとして
捉えようとしても、極めて困難だ。
この辺が今後、メカ的安全性にプラスされるとは思うが?
4:シャーシ問題(GND問題)
車体のフレームを基本電位として用いており、通常の場合は
フレームがGNDとし、+12Vを各部に供給しているが、
バッテリーのー側は近くのフレームに落として有り、
AUDIO等のノイズにうるさい商品のような、一点アースには
なっていない。ためしに1mくらいのフレーム間では、
TESTERで電位変動が簡単に観測出来る。
この場合、旧来の電子部品等は鈍感なので、余り影響が
出ないが、旧ゼロ戦がアース問題が解決できず、殆ど無線
通信がこなされなかった様な問題が、出てきそうか?
各モジュールを光学ケーブルで結ぶ方法もあるが,コストが
許容しにくい。又この種の素子は熱変動に敏感なので
50度の砂漠からー50度以下のシベリアまでは使用しにくい。
信号伝送や耐久性も、車載機器の場合は非常に難しい。
総合:
どうやら、プXXXX等の問題は、沈静化したようだが、内部告発等を
推測すると、根本的解決は難しいようで,SYSTEM全体のリニューアル
が必要のようだ。TVで見ると、端末を接続し書き換えで直るようだが、
逆に言うと、書き換わる可能性も有り、逆に不安になる。
フラッシュメモリやEEPROMも初期は大変に問題が発生したが、
微細化により、又新たな問題も出てきた。
微細化により、障壁層が薄く成った事。保持電荷量も減った事。
更に、材料自体の放射性同位元素の含有量。
この辺は、ダイナミックメモリーで問題になった点でもある。
特に、材料の選択はコストの厳しい突き上げも有り、
なおざりにされがちである。以前、国防省の調べによると、
NECのメモリーが一番故障が少なかった事を調査したが、
結論は、材料が優秀で放射線物質の少ない材料が使用されて
いた為であった。 車両の電子システムも
フエイセルセーフに成っているのかも不明だ。
昨日、別車種の不具合(米内:専用販売車種)が出てきて,
結論としてタイミングの遅れが出るとあったが、
開発時に、コアの部分においては、コストの事も有り
殆どが共通で、設定で変更されて機種ごとに振り分ける
事が多いが、共通する因子で付加or交換を伴う場合は
対策が難しくなる。モジュールUNITになっている場合は、
モジュールの交換で済むが、カメラの基板のような形で
内部に実装されていると、作業自体が面倒になりそう。
詳細は不明だが、メカやセンサー等の絡みもあり
対策は簡単では無さそう。一例としてモーターの
回転数を安定にすることを考える。MOTOR単体では
スムーズにいくが、変動する負荷が実際に接続されると
挙動は大きく変動し、それらも含めたSYSTEM構築が
必要に成る。又気温が低くなったり、暑くくなると
部品の膨張収縮や潤滑材の粘度挙動の変化も発生し
より複雑な挙動変動に対する設計が必要に成ってくる。
SUB・複合処理SYSTEMは一般的に
コンシューマー製品には、余りみうけない。コストが非常に
UPする為だ。現在半導体は6年間しか在庫を持たない
ようになってきているが、売れないと言うよりは、微細化等
によりデバイスのトラブルが多いので、出る前に廃止と
したいのかも知れない。 CD−ROMやUSBメモリも、
特集号が出るように長期蓄積は難しいようで、
逆に磁気媒体の方が信頼性では
(アクセスが少なければ)持つのかも知れない。
9:電源/アナログ並存型複合品
内部にコンパレータ・AD・DA等アナログ機能が並存し
GNDも共通のDEVICEとVCC・VSSが別途用意されて
いる品種に分かれるが、並存型は中々性能を使い切るのは
極めて難しい。3端子電源ICが良く使用されるが、
出力に大容量又は、多数並列にコンデンサを接続しても
特に出力ノイズは大きくは改善されない。
IC自体の出力インピーダンスが当然低い訳で、
逆に動作不安定になる事も多い。
更に基準電圧部のノイズが、パッケージの内部なので
ノイズ対策出来ないことが一因。最近ここの部分が
引き出した、いわゆる4端子電源ICが出てきた。
これにノイズ対策用部品を接続するので、まだ実験
していないが相当期待出来そうだ。因みに基準電圧
ICとOP AMP及び制御TRで試作すると、簡単に
5V0.5A時の出力ノイズが0.2mVくらいは作れてしまう。
但し高品位電源を付けても,IC自体の性能UPには
成らないので、精度・安定性・応答性を考慮すると
外付け専用ICになる事が多い。
更に電源の立ち上がりが遅いと,RESETがうまく
掛らないトラブルが有るので、この機能含みの
RESET 機能付電源ICも有ると便利。
一部の雑誌によると、3端子電源ICのGNDピンにTR
を挿入し出力をON−OFFする方法があるが、
動作不安定で出力に思わぬ電圧が過渡的に出たり
する品種や、完全にTRがONできなかったりで、VCEの
飽和電圧が浮動したり、温度変化で微妙に成る事も有り、
御勧めは出来ない。
10:接触不良
古くから有るトラブルで、最近も多い
トラブルがコネクタなどの接触不良による
異常。基板とソケットやSW/PL/モジュール
は通常、直接接続はしないので複数の接触要素は
避けられない。一部の機器は配線2重で凌いでいるが、
当然pin数の増加になりサイズアップになる。
基板自体やデバイス自体の不良は論外だが
パソコンに良く使用されるFLATケーブルのような、
圧着TYPEも時間や膨張収縮・振動
で接触が保たれなくなり、トラブルも多い。
更に電源電圧の低下でマージンが少なくなり
誘導や近接も設計対策が難しくなってきている。
特にモバイル使用の機器はこの辺をどうするか
が結構難しい。
11:パッケージと装着
まだDIP TYPEが供給されているので、何とかなるが
相当の品がSOP/SSOPにシフトしつつある。
ロジックICで試したが、パッケージが小さいとやはり
装着時の熱に弱く、部品の実装が難しくなりつつある。
DIPの場合、ソケットが安いので書き換えも楽だが,
SSOP/SOPでは、装着時に熱劣化する割合が
高くなる。1pinずつつけるのはやめて、半田クリームを
使い熱風か幅広コテ先で付けるか?
但し、慣れないと全滅の恐れがある。
細い小手先を使用してつけるのが、やっとで
何か良い治工具が有れば、追加記載する。
*組込テク関連:
商品・モジュール等に追加し、コストや時間を節約する。
1:スイッチング電源のクリーンUP
最近の試験機等に於いても、コストの関係でスイッチング型で
済まして、各BOADに三端子REG ICで済ましている商品も多いが
実際にモニタ端子等で観測すると、ノイズが付帯している機器も多い。
そこで、一部にチャージポンプ型アダプタを設けて、変動を低周波帯に
持って行こうと云う意図だ。原理は直列形SWデバイスと出口に
比較的大き目のコンデンサ、及びセンシング&制御デバイスを付加。
例えば15V電源が相手に有るとき、余裕を持って20V程度の
供給元とする。そのままでは5Vが熱損失になっていたが、
余裕を持って、17V以下になったら供給元に接続しコンデンサに
貯めておく。センサデバイスとしてCMOSのシュミット型ロジック
SWとしてダーリントンTR・MOS FET・IGBTとあるが
トランジスタが入手性及び価格で有利。
注意するのは容量の問題で、常に供給しつずける状態では
なんら、付加物のメリットはない。コンデンサに貯めて
供給元のノイズを減らすのが原理だが、コストの関連も
最近は非常に厳しくて、採用されるのは比較的余裕の
有る所に成ってくる。例えば工業用電子カメラの電源に
以前はトランスTYPEのアダプタが附いてきたが、
普及品だと、スイッチング型が附いて来ており、
ノイズが出力に多く影響する。このような所にアダプタとして
追加すれば、かなり改善する。この辺は機会があれば、
今後実験してレポートする。コントローラとして、
ADコンバータ内臓のPIC/たとえば12F675などは
1個150¥以下であり、専門書も2冊独自に出ており
使いやすい。 これらも、機会があれば報告したい。
2:LED点滅
通常TRやICで点滅信号を作成しドライブするが、自己点滅LED
も結構有り、何でも回路を組むのは得策ではない。
見かけは、通常LEDと全く同じサイズ。
最近は使える、廉価なデバイスも多くなってきたので一考。
3:市販のパーソナルユース無線警報器に組込実験試作例
最近はハンズや量販店で、警報発信機と受信機のSETで
小電力使用/50m以上飛ぶUNITが1万¥以下で買える
ので、それに組み込んだ。1秒間隔程度で多CH受信化。
基本性能は、受信機が充電電池で
携帯TYPE。受信CHは4つで,表示LEDも4個有り、
受信すると該当CHのLEDが20秒点滅し、10秒は警報音も
出る。但し10秒は他のCHは受信できない。なぜなら受信部は
1回路しかないので。
調査:
調べて見ると、一定時間電力を切断すると記憶が抜ける事が
解った。但しIDは内臓のフラッシュメモリに書くようで、
電力遮断しても記憶されていた。
TESTを繰り返すと,送信機の関係で0.5S以上遮断すれば
次のCHを受信できる事が判明した。
充電電池は4.5Vを供給するが、内部は3VのREGで動作。
内部にSOPとSSOPのマイコンがあるが,型番から調べると
専用品らしく,SPEC DATAが入手出来ないので、この辺を
利用して,SYSTEM RESET等を考えたが不能。
3Vで動作している事が解った。電力遮断を高速にする為
平滑コンデンサを外したが、ノイズや動作には問題は無かった。
SPACE:極めて狭く、電力遮断及び追加PIC回路の
スタートRESET回路を1枚に、1枚はPIC基板。
電力遮断をする為、発音回路は利用できないので
PIC基板から信号を供給する。
スタートRESET回路が無いと,本体回路が重くて
PIC基板がうまくSTARTしない事が解った。
pinが足りない上にSPACEも足りないので,遮断基板に増設。
PIC基板:電源は3Vで使用する。遮断基板からRESET込みで
供給して貰う。SPACEと処理の関係で2個使用するが(16F84は
基板とSPACEの関連で使用出来なかった)pin数が足りない
同じPINを入出力兼用で行く事に。
実験はリードTYPEの部品を使用するが、組み込みはTIP部品で
ないと実装がかなり厳しい。
SOFT:
一部アセンブラと全体はCかコンパイラBASICか迷ったが
似たような,SOFTがあったので後者にした。
基板から信号を取り出すのだが、TIP部品が2012サイズ以下なので
半田付けが厳しい。15Wのコテで本体動作を確認しつつ行う。
PIC2個の役割分担とタイミング及び、受信検出をどうするかだ?
受信DATAはシリアルDATAだが、解析は相当に難しいし、時間も
限られているので、受信LEDの点燈時の信号で行くことにした。
LEDから線を1本引き出す。レジスタ操作で最初は入力MODEに。
次に受信DATAを格納し、一定時間後にPORTを出力MODEにし
少し待って安定した所で、電力遮断信号を基板に送る。
一定時間後に電力復旧信号を出して、受信待ちにする為PORTを
入力MODEにし一定時間入力待ちを......。
別のPICは電力遮断・復旧信号をシンクロ動作用とし、
発音信号から線を引き出して、発音タイミングを制御する。
AMPの入力に結線し、供給信号で発音させる。
音として、利用可能なコマンドはDTMFトーン・PWM出力
パルス出力だが、どれもノイジーで今一だ。
基板の面積が少ないので結局ソフトでHとLを時間制御して
出力した。小さなTIPトランジスタtypeの音源ICが有るのかも
知れないが、間に合わないのでPORT出力に10K抵抗で
すました。以上が概略組込TESTの一例だ。
相手側の条件・SPACEの縛りがきつくて、
作成できないことも有る。特に電池品は消費電流の制限も有り,
SLEEP MODEや割り込み使用もあるが、今回の説明は省略した。
不具合対策:
実験していると、勝手に他CHが受信したように見える現象と
消費電力が多い点が気になった。
消費電力は、基板等が追加になるので増加するのは
仕方が無いが、非受信時に約数倍以上有る事が解った。
この点は後日、SOFTで対策(SLEEP MODEとGPIO
変化による割り込み)により、出来そうなので後回しに。
前者の問題は、入力MODEの時にハイインピーダンスに
成り過ぎて、他の信号を拾っている可能性があったので
51KをLEDに抱かせて異常は抑えた。
駆動方法等:
最初はPOWER ON状態にして、ひたすら受信を待つ。
受信するとLEDが光るので、これを格納しPOWERをOFF。
LEDは本体マイコンで光らせているが、電源OFF状態では
回路的にハイインピーダンス状態なので、追加マイコンで
ドライブし光らせる。PORTとLEDの間には抵抗が必要で
LEDと追加マイコンの運用電圧によるが、実験して見ると
100オームでOKだった。LEDは電源OFF時にドライブ。
次にON POWERで受信可能にして一定時間待ち、
受信即ちLEDが本体マイコンにより光れば、DATAを
格納する。ここで注意するのは、電池駆動なので電圧変動が有り
Hレベルも変わるので、追加マイコンの電源電圧もそれなりに
決めておかないと、センシングエラーを起こす。
当然PORTは切り替えて,入力MODEにしておく。
この繰り返しでメイン部は作動を繰り返す。
受信時の警報音:
受信時にピー音が出るが、本体のマイコンと音源ICで
作成しているが、電源をon−offしている事で、かろうじて
作動しているので、直接的に使用は不可。
別マイコンでON−OFF信号を発生しドライブTRに
接続注入。但し電源がONの時しか、発生できない事。
更にOnの時に本体の方からの駆動信号を検知し、
別途受信をセンシングする必要も有り、複雑。
ONの時間を1mS単位で分担し、最初の1mSは
本体駆動信号の検知に充て、次の1mSは増設
マイコンで4KHZでON−OFFを作り注入する。
音は1mS事にしか発生しないが、聞いてみると
特に違和感は無い。ON−OFFの比率は、使用する
発音体により(通常DYNAMIC SPEAKERと
セラミック発音体では、若干音が異なる)変えてみる。
後者の場合160μSがONで90μSがOFFが良かった。
ソフトでPWM的にしても良いがメモリの関係も有り、
一定パターンで行った。SPACEがあれば専用ICも有る。
途中で再受信の可能性の対処も有り,SOFTは結構シビア
になってくる。LEDの照明処理とピー音を別々のTIPで
検出・処理するので、有る意味自由度が多いが、
逆にSOFT的には処理が大変になる。見かけ上シンクロ
しないと不味いので、1個の高速多PIN PICの方が
総合的に作りやすいかも知れない。
波形合成:出力
PIC内臓のEEP−ROMかRAMにDATAを書き込み、
デジタル出力とR−2R合成回路か,OP AMPの抵抗加算
すれば、上記音源としても使用可能だ。市販の音源ICも
なかなか思った音パターンが無く、PICの8pin版を
使用すればスペース的にも良い。可変したい場合は
AD内臓の石が有り、これにVRで直流電圧を読み込ませ
対応する。前期のようにPINの入出力でPIN数を節約
すれば、よりコンパクトに成るが内臓クロックは低いので
高速な対応は無理だが、通常の使用には耐える。
TIPが100¥前後なので,SOFT書き込み済みで
300〜500¥くらいで有るとべんりなのだが!
受信感度UP:AMP追加
無線において、到達距離を伸ばすには、送信電力の増大、
ANT系の見直し、受信系の見直しがある。
但し電波法に触れる恐れが有るので、出来合いの
機器類では、受信系の見直しになる。
ANT系はまずいじれない上に、メーカーもそれなりに
組んであるのでいじらない方が無難。RF AMPを付加
する方法はANT系も含めて相当にシビアそうだし、
測定機器が無いと難しい。或る無線モジュールの受信基板
を追いかけてみると、復調系の信号が弱くて、
復調ICが作動しきれていない事が解った。
そこで、RF系のTIP TR(FT=4Ghz)で広帯域AMP
を挿入してみた。G=10Xにすると、近接時に波形歪が大きい。
実験的に3〜5Xが良かったので、3X固定AMPとした所
OFFICEのフイールドTESTで約2Xの到達距離改善があった。
消費電流は0.1mAUPしたが。問題はこのあたりで
電源がACアダプタ等の様に、容量問題が無ければいいのだが、
CR2032等小容量電池では無視出来ない。ニッケル水素電池等
小型大容量の電池が望まれる。
但し付加により相当な改善が望めるので、物によって
受信系の見直しが必要か?又AD内臓の石では,復調入力レベル
の評価及び制御(挿入・解除・GAIN変更等)が可能なので
ソフトウエア・ハード追加によるダイナミックレンジの拡張も可。
ピー音発生:番外編
マイコンで音を作成すると、ジーという奇数高調波が耳につく。
デジタル機器(PIC)で、比較的綺麗な音を出すには、結構苦労する。
言語及びアセンブラでPWM波を作成し、2段CRフイルタを作成する
か、言語の中のDTMFトーンを利用するかだが,低クロック時は
正直期待はずれの(DTMF)音になる事が多い。
まして、方形波(デューティ50%)を調べると3次成分が1/3で
5次成分が1/5,7時成分が1/7と多いが、正弦波に近い
2等辺3角形波では、3次が1/9で5次が1/25、更に7次が1/49
と格段に低い。波形と高調波の関係はフーリエ級数の参考書に
載っている。例えば5PIN出力に使えるとすると,OP AMPの
加算器で作るのが手っ取り早く、波形の調整もVRで可能。
素子を少なくするなら,R−2Rラダー回路でOK。
プログラムで必要なタイミングでデータを時々送る。
サンプルホールドのタイミングもPICで行うので
素子数に比べて生成音の高調波は少ない。出来ればLPFか
BPFを付加すれば、尚良いが。便利なのはDATAが間歇で良く、
他の作業も行える事だ。ポートの入出力切替で。
更に音のエンベローブもプログラミングも可能な事だ。
これらも考慮して,DATAを作成し必要に応じて出力すれば
結構便利なグッズも出来そうだが、プログラミング作成者に
は、大変な負荷が生じる事だ。テンポが遅ければDATAを
EEP−ROMに貯めて、必要なブロックのみRAMに貯める。
充電式電池:番外編/安全
UNITにはNI−CD充電電池が附属し,ACアダプタで補充電
するのだが、電池不良による異常発熱には対処していない。
あくまで電圧低下の表示で、充電するのみの機能。
ポータブルの別の機器では、電池自体にサーミスタが附属しており
LEDで充電・電圧低下・異常表示がなされているが、
ローコスト品は、この機能は省略されている物が多い。
万が一の、火傷/発煙/火災も有りえないと云えないので、
この種の機器は保安上設置すべきで、PIC・マイコン等の
ハード負担は少ないので、設置すべきと云える。
番外編:レクXX/トXX
予想外というか、基本のハンドル、ブレーキ、アクセルの3拍子トラブル
が揃ってしまい、車載の電子化の生き過ぎと反作用なのかは不明だが。
上記で予想通りに発生したが、SOFTの設定変更で済むのか、一部デバイス
の換装・追加を含むのかはメーカーから発表されていないが。
基本的欠陥なので、今後系統を同じくする車種やSYSTEMの見直し
が必要に成る。航空機にも過去に似たようなトラブルはあったが。
余りに複雑・多相化して、開発総括者にも手に負えない所に
来てしまったようだ。特定デバイスの不具合かもしれないが,情報が
入り次第、記載したいが人災かも知れない。
新たにエンジンが停止するトラブルが発生したようだ。
明らかに、設定エラーと思われるがSOFTの競合問題も考えられる。
新聞によると,SDカードの蒸発トラブルを記載していたが、前記述のように
この辺のトラブルかもしれず、詳細は不明。比較的新しい車種なので、
或る意味の設計不良ともいえる。この場合は人災ともいえる。
以前石油ストーブで事故があったが、原因はフイルターの目詰まりで
フイルタの穴径が不良だった。TESTをクリーンROOMで行っていたので
生じなかったのだが、実際の使用環境とTEST環境が乖離していた為だ。
これら一連の車の問題も、この辺りの実走TEST/天候・温度・湿度
が足りないのか?共通の電子機器のハードとSOFTの競合等
結構根が深い所に有るのかも知れない。
組込テク関連2:
上記組込機器で運用していると、微妙な動作が稀にあった。
受信して0.5秒ほどすると、同じCHがゴーストのように再受信してしまう
時が有る。調べて見ると電源がOFFし切れずぎりぎり受かると解った。
電源をOFFにする為直列に素子を入れたが、回路網の蓄電器により
電荷が放出される為。コンプリメンタリ直並列構成にして、
強制的に残留電荷を吸収し、解決。
半導体メモリ:番外編
書店に、別紙で再びSD・フラッシュ・USBメモリの蒸発問題が
特集されていた。上記に書いたように、PROGRAMが
書かれているBOARD等は、再注入orデバイス交換が必要に成り
手間が掛かりそうだ。本来、信頼性の低いデバイスは搭載すべき
では無いのだが。原因は微細化による障壁の薄さと電荷量の
減少が主因+材料等の放射線の影響。
この辺は、車のトラブルと関連が深そうだ。
影響があるのか、電子部品、特に制御系の継電器や
一部デバイスが逼迫していて、入手しずらくなっている
次世代半導体製造・検査装置の拡大生産と、景気の上向き
及び、今までの減産が影響して逼迫してきた。
今までの一本調子での微細化は、だんだん行き詰まり、
ICの多層構造・立体化・放熱等暫くは混乱しそうだ。
続:組込関連
既存の製品内に組み込もうとすると、電源の問題のほかに
相互干渉の問題が有る。PICのクロックが機器にもよるが、
飛び込んでしまう場合、シールドが必要に成る。但し連結線に
よる影響は出るので、ルートを替えるかシールド線で輻射の
影響を減らすか。入力インピーダンスも高いと飛び込み易いので
10Kオーム以下が望ましいが、色々な制約も有り一概に
実現出来ない事も有る。SLEEPで省エネはいいが起動するのに
結構クロック数を喰うので、事前にチエックが必要か。
例えば4Mだと1クロック0.25マイクロセコンドだが、起動に
1000クロック要する場合、0.25ms後にSTARTする。
タイミングがシビアな場合は、適合出来なくSLEEP出来ない
場合も有り、その場合は消費電力が増す。
処理によっては、デバイス自体から考察が必要に成る。