静電気イミュニティ試験について

信頼性試験の一つである静電気イミュニティ試験について簡単に解説します。

 

イミュニティは「電気的ストレスに耐えること」なので、「静電気ストレスに耐える試験」ということになります。

つまり、静電気で壊れないかを調べるための試験になります。

 

まず、静電気を発生させるための装置と、その静電気を製品にかける「ガン」がセットになった機材を使用します。

試験者はそのガンを製品に当てて静電気をかけることになります。

 

製品を稼動状態にした状態で静電気をかけていき、都度正常動作するか確認をしながらすすめていきます。

 

◯接触放電

金属部に人の手が触れたときを想定する試験です。

ガンに尖った電極をとりつけ、電極を金属部にあてて直接静電気を打ち込みます。

 

◯気中放電

非金属部に人の手が触れたときを想定する試験です。

この試験では、先が丸くなっている電極をガンに取り付けて試験を行います。

まず製品からガンを離した状態でガンの引き金を引いて、電極に帯電させ、その状態ですばやく試験部に近づけます。

こんな方法の試験なので、「どの程度離して引き金を引くか」「試験部に近づける速度が早いか遅いか」で結果が大きく変わってしまいます。

つまり、この試験は、試験する人の癖で結果が結構変わります。

 

◯間接放電

製品の横に10cm離して大きな金属板(470kΩでグランド接続)を置き、そこに静電気を印加する試験です。

変な試験ですが、直接静電気をかけても正常なのに、近くで静電気が流れると動作不良を起こす機器があるそうです。

そういった場合を想定した試験です。

 

さらっと説明しましたが、細かいことを知りたい方は「IEC61000-4-2」で調べてみましょう。

 

以上、小田切でした。

落下試験は結構きついよ!

信頼性試験の中で「落下試験」というものがあります。

その名の通り、製品をコンクリートの上に落下させて、破損・機能異常がないかを確認する試験です。

 

詳しくは「JIS C 60068-2-31」を参照するといいです。

JISの公式HPに行って、上記型番で検索すれば無料で閲覧できます。

(印刷はできない)

 

さて、落下試験なのですがぶっちゃけかなりのものです。

1kg以下のものですと、(JIS推奨では)1mの高さからコンクリートに落とすことになります。

 

まず筐体が頑丈な必要があります。

簡単なツメで止めてある程度ではまず開いてしまいます。

ツメで引っ掛けるなら相当頑丈にしないといけません。

 

次に基板です。

普通の部品はそれほどダメージをうけませんが、重い部品がついていると根本にダメージが来てしまいます。

背の高い部品・重い部品がある場合は、ネジ止めやシール材の塗布など固定を強化する必要があるかもしれません。

 

今回、私のケースでは、基板間コネクタで取り付けてある小基板が吹き飛びました。

まぁ、そんな衝撃想定していない基板だったので壊れて当たり前なのですが……

さらに両面テープで止めても取れてしまうという状況でした。

基板間コネクタの両端でネジ止めしておくぐらいの想定をしないと1mの落下は耐えられないようです。

(筐体にゴムなどついていればマシなのかもしれませんが・・・)

 

ということで、落下試験を考えて事前に設計ができるといいですねぇ……

 

以上、小田切でした。

アートワークで部品登録は危険がいっぱい

基板のアートワークをするときはいろいろ注意点が有りますが、見逃しがちな点、「部品登録」について書きたいと思います。

 

部品登録というのは、基板に配置する部品のサイズ・シルク・パッド形状などを登録することです。

 

「ん?なんでそんなところ気をつけないといけないの?」

 

と思うでしょうが、実際今それでトラブル出てます。

 

部品登録というのはどうやるかというと、メーカーが出している資料に沿って登録します。

データシートや別資料に部品サイズや推奨パッドの記載があるので、それにそって登録していきます。

 

「寸法を入れ間違えるとか?」

 

いやいや、そういうわけじゃありません。

アートワーク業者で作成した部品登録を自分でダブルチェックしていますが、寸法の入力ミスというのはめったにありません。

ICなども、レイアウトが決まっているのでめったに間違えるものじゃありません。

 

問題は……ICや抵抗以外の特殊部品です。

 

例えばコネクタです。

今回問題になっているのはDCジャックです。

DCジャックというのは「プラス極」「マイナス極」「挿入検出ピン」の3つの端子が出ているのですが、図の記載がわかりにくかったのです。

絵にピン番号など書いてあるのですが、部品の裏面の絵なのか基板上のレイアウトなのかわからずそれを間違えてしまいました。

つまり、見ている絵の解釈が逆になってしまって、ピンがひっくり返ってしまったのです。

 

さらに、どちらが差込口かも図から読み取れない状況でした。

ということで、差込口が基板の内側を向いています。

 

さらに、DIP部品なのに図では穴ではなくパッドに見えたため、穴が空いていないなんてこともありました。

 

つまり、この部品に関してボロボロです。

使い物になりません。

 

このアートワーク業者さんは経験豊富で他の部分は問題なかったのですが、このDCジャックだけが問題でした。

つまり、コネクタ類のようにバリエーションが有りすぎる部品は図がわかりにくいと、経験があってもミスをしてしまいます。

こういう紛らわしい部品は現物を入手するなどして事前に確認を取らないと、酷いことになります。

 

以上、小田切でした。

ハイパワーLEDの寿命は熱次第

ネタ切れに付き、ちょっと閑話休題的な話。

 

最近は照明などにハイパワーLEDが使用されて、LED照明なんて普通です。

車のライトもLEDですし。

 

LEDは低発熱で、長寿命!

エコ!

 

……と言われますが、実は結構扱いが面倒なんです。

それは発熱です。

 

蛍光灯や電球は長い間使用されてきただけあって、常識的な使い方であれば発熱はそれほど問題ないのですが、LEDは違います。

LEDは自分の発熱で寿命が縮みます!

(知っている人にとっては当たり前のことですが)

 

寿命が4万時間だとか5万時間とかいっても所詮それは理想状態の話。

熱がこもる環境や、放熱に不備があれば1万時間もしないうちに暗くなってしまいます。

とにかく熱に弱いです。

 

「熱くなったらおしまい」なのがLEDです。

 

ということで、寿命を保証するには温度を下げないといけないのですが、「温度vs寿命」がデータシートに乗っていないことが多いです。

つまり、メーカーに問い合わせをしないとそういう信頼性の情報が出てきません。

(おそらく個人には出してくれないでしょう。企業でないと情報開示してくれないでしょう)

 

ということで、

1,パワーLEDを使う場合には発熱に注意する

2,温度VS寿命の情報をメーカーに問い合わせる

ということを頭においておきましょう。

 

以上、小田切でした。

電源ICのソフトスタート機能は何者か?

DCDCコンバータなど、電源ICには時に「ソフトスタート機能」というものが付いています。

そして、どの程度ソフトかをコンデンサや抵抗で調整できるようになっています。

 

「ところで、ソフトスタートってなに?」

 

という話をしたいと思います。

 

ソフトスタートがない場合で説明します。

 

ソフトスタートというものがないと、電源ICは設定された電圧まで最高速度で立ち上げます。

例えば、0V→5Vを一瞬で立ち上げてしまうわけです。

しかし、そうするとどうなるでしょうか。

いくら電源ICが電圧を監視しているとは言え、あまりに速い動きだとオーバーシュートします。

つまり、0V→6V→4V→5V・・・のようにフラフラしながら5Vに収束していきます。

たとえば、部品の耐圧がぎりぎりだと、オーバーシュートした時に部品が壊れます。

 

そしてもう一つの大きな問題は「電流を引きすぎる」という点です。

電源の先には大量のコンデンサが付いていますので、その電圧を瞬時にあげようとすると必然的に導通状態になります。

DCDCコンバータだと、瞬間的にFETに大電流が流れて焼ける可能性があります。

そして、それだけの電流を引くということは、大元の電源が一時的に電圧低下して、大元の電源で駆動している部品が動作不良を起こします。

 

このように、電圧を一気に立ち上げると問題が出てしまうのです。

 

ということであるのが「ソフトスタート機能」です。

これは設定した速度で電圧を上げていくので、オーバーシュートや電流引きすぎる問題が解決されます。

 

「なるほど、ソフトスタート機能を使えば良いんだ」

 

ということなのですが、問題はパラメータです。

デフォルト値で問題ない場合も多いですが、

大元の電源が弱かったり、先につながっているコンデンサの容量が大きいともっと遅くしないといけない場合もあります。

大元の電源の波形を確認するなどして、実機で判断しないといけないので、少々面倒です。

 

以上、小田切でした。

ソフトウェアのライセンスって面倒・・・

ちょっと変わって組み込みソフトウェアの話題。

今の御時世、1からプログラムを組むこともあると言えばあるけど、かなりレアケース。

だいたい、メーカーから提供されているフレームワークやインターネットに転がっているライブラリなどを使用して、差分だけを開発するのが普通です

しかし、その時に問題になるのがライセンスです。

 

もし、使用しているフレームワークやライブラリがGPLライセンスだと、開発しているプログラムもGPLライセンスになってしまいます。

GPLライセンスだとソースコードを公開しないといけません。

つまり、「特別な機能を作った。これを目玉にして売るぞ!」なんていうときに、中身でGPLライセンスのライブラリなどをつかっていると、そのソースコードを開示しないといけなくなります。

組込みソフトウェアは大体特定メーカ用の開発が多いので、ソースコードを公開しないといけないのは大きな問題です。

ということで、大抵の場合GPLライセンスのソフトウェアは使用できません。

 

組込みソフトウェア開発ではBSDライセンスのほうが安全です。

BSDライセンスでは公開の義務が発生しないので、ソースコードを秘匿したまま使用することが出来ます。

 

ということで、もし「ソフトウェアのライセンスとかなにも考えずに開発していた」というときは、

一度使用しているライブラリ・フレームワークのライセンスを列挙してみましょう。

GPLがあったら要注意です。

 

以上、小田切でした。

NANDフラッシュを扱うのは結構面倒

一言で言うと、

「きちんと扱えるという確証がない限り、NANDフラッシュではなくeMMCを使え!」

ということなんですが、

ちょっと詳細を説明しようと思います。

 

昔、ある製品でNANDフラッシュメモリーにプログラムを書いていました。

しかし、NANDフラッシュはどんどん劣化していくだけでなく、最初からエラービットがあるというある意味とんでもない部品です。

つまり、買ったときから不良品(こういう言い方するをマズいかもしれないけど)なわけです。

しかもどの程度のエラーがあるかとか、エラーの詳細とかそういうことをメーカーが教えてくれませんでした。

それが原因で製品が正しく動かないとかでトラブルがあったのです。

 

じゃあ、そんなメモリをどうやって扱うのかというと、「誤り訂正符号」という技術を使います。

簡単に言うと100bitのデータを110bitで表現するといったように、データを水増しさせます。

水増しすることにより1bitぐらいの間違いなら「これはおかしい」と検出して訂正することが出来ます。

水増しする量を増やすほど多くの間違いを検出できるようになりますが、当然メモリが無駄になりますので、訂正能力とメモリの使用量のバランスを取ります。

この誤り訂正符号の力でNANDメモリーが実用的に使用できるようになります。

 

しかし、実際に開発するとなると非常に面倒でした。

CPU側に「誤り訂正符号」のファームウェアを組み込まないといけない上に、そのファームウェアにバグが有ってですね・・・

要は、NANDを扱うためだけに四苦八苦しないといけなかったのです。

 

ということで、使うならeMMCです。

これはSDカードとほとんど同じものです。

SDカードは中身にNANDフラッシュが入っていますが、誤り訂正などを行うコントローラが内蔵されており、外からは普通の読み書きすればいいだけになっています。

eMMCも同じようにNANDフラッシュとコントローラが内蔵されており、これまでに書いたような誤り訂正などで苦しむ必要がありません。

また、実装部品なのでSDカードより堅牢です。

(SDカードだと接触不良が起こりうるので、OSイメージを入れるのは少し怖い)

 

なので、大容量のストレージが必要な時にNANDフラッシュを選択していいかよく考えるようにしましょう。

誤り訂正符号の処理などが確立されており問題ないならいいですが、ライブラリなどを活用して自前で作り上げるとなると大仕事です。

そういうときはeMMCなどを活用しましょう。

 

以上、小田切でした。

DCDCのインダクタには閉磁路タイプを!

DCDCコンバータには当然のようにコイル(インダクタ)を使用します。

これの選定にはそれなりに気を使います。

 

1,(当然ですが)必要な電流を流せること

2,内部抵抗ができるだけ小さいこと

3,基板に収まるサイズを選定すること

4,価格

 

お値段とサイズが反比例したりして、「小型高性能にしたら高い」となり、なかなかスペックだけで判断できません。

しかし、これだけでなくもう一つ考えて貰いたい点があります。

 

5、「開磁路」か「閉磁路」か?

 

これはインダクタの構造のことです。

インダクタは当然磁力を発生するわけですが、その磁力をどのように処理しているかということです。

「開磁路」は磁力が外に漏れ出しています。

「閉磁路」は磁力が部品から外に漏れ出さないようになっています。

 

DCDCコンバータのインダクタには激しい電流の変化があるため、激しい磁力の変化が起きます。

ということは、「開磁路」タイプのインダクタだと磁力のノイズが空中に放出されてしまうのです。

これはよくないです。

 

ということで、ノイズをできるだけ抑えるために、(価格やサイズの点で厳しい場合もありますが)可能な限り「閉磁路」タイプのインダクタを選定しましょう。

 

以上、小田切でした。

USB2.0から引ける電流は本当に500mA?

今はUSB 3.0なんて新しい規格もありますが、組み込み用途ではそんな5Gbpsなんて速度は必要とされないことが多く、今でも一つ前のUSB2.0相当で設計されることは多いです。

さて、通信部分については今回触りません。

 

今回のテーマはUSB2.0の電源です。

 

民生用機器だけでなく産業用機器でも

「通信はUSBなら、電源もUSBで取ってよ。別にACアダプタが必要とか面倒でやだ!」

と言われる時代です。

USBから電源を取る機器も多いです。

 

ですが、この時に安易に「5V 500mAだろ」と考えてしまう設計者が多いのですが、実は違います。

 

まず電圧は500mA対応のハイパワーポートを想定しても4.75-5.25Vのバラ付きがあります。

さらに、ケーブルでの電圧降下がVBUS側125mV,GND側125mV認められています。

つまり、機器に入ってくる電圧は4.75-0.125-0.125=4.5Vです。

つまり、4.5-5.25Vを想定しないといけません。

なお、これはハブを使わない場合です。

ハブを使うとさらに最大350mVの電圧降下が発生するので、さらに下がります。

 

次に電流ですが、たしかにハイパワーポート(PCなどホスト機器でローパワーポートなんて実際にないので)は500mA引けます。

しかし、「500mA要求します」とホストとネゴシエーションしないと500mA引けません。

ネゴシエーションする前はローパワーデバイスとして振る舞わなければならないので、100mAしか引くことが出来ません。

 

さらに最大負荷は「10uFのコンデンサと44Ωの抵抗の並列」を超えてはいけないという規定があります。

つまり、電源のパスコンに47uFとか使ったらアウトなわけです。

 

……とまぁ、USB対応を謳うとこういったこと全てにきちんと対応する必要があります。

が、ぶっちゃけ大変です。

民生用ならとにかく、産業向けだと「無駄にお金をかけて規格を取るより、法律的に問題なくきちんと動けばいい」という判断をすることが多いです。

その場合、「USB2.0 準拠」という書き方にして、「実質的にはUSB2.0が使えますが、すべての規格を完全には守っているわけではありません」ということにします。

ま、これで実際困らないんですけどね・・・。

(実際はネゴシエーションなんか関係なく500mA供給できますしね)

 

以上、小田切でした。

POLってなんだろう?

最近、POLと言う言葉をよく聞きます。

POLというのは「Point of Load」(負荷の点)のことです。

 

POLという単語から、そういう部品があるのか想像してしまいますが、そういうわけではありません。

ちなみに「負荷」という言葉があるので、電源用語です。

 

簡単な回路や旧来の回路では、デジタル回路が使う電源は5Vや3.3Vの単一で、電流もあまり多くありません。

現在でも小規模な組み込み回路ではこれが当てはまります。

こういう回路では、普通にLDOだとかDCDCで5Vや3.3Vを作って基板全体に供給すれば問題ありません。

 

しかし、今のデジタル回路というのは電源も多ければ、電流も多いのです。

・5V

・3.3V

・2.8V

・1.5V

・1.2V

etc…

と場合によっては10電源以上あったりします。

しかも、それぞれの電圧の正確性も必要で電流も多いです。

例えば「1.2V±0.05V、1A」の電源が必要としましょう。

すると、もし電源回路とICの間に0.1Ωの抵抗があると、1A×0.1Ω=0.1Vの電圧降下が発生して範囲を外れてしまいます。

こういう厳しい条件になると0.1Ω程度の僅かな抵抗でも問題になってしまうのです。

 

とまぁ、こんな状況から生まれたのがPOLという考え方です。

POLという部品があるわけではなく、「負荷の近くで電源を作ろう」という考えです。

POLを実際に作るには普通のLDOやDCDCを使用します。

これまでの考えでは、1.2Vが必要な部品が二つあったら、一つの電源で1.2Vを生成して分配して供給していました。

しかし、先程のように僅かな抵抗でも問題になってしまうので、長い配線になってしまうと破綻してしまいます。

POLの考え方では、1.2Vが必要な部品が二つあったら、電源を二つ使います。

まず、それぞれの部品の近くに高い電圧(1.8Vとか3.3Vとか)を供給し、部品の隣で1.2Vを生成します。

こうすると電源生成部と部品の距離が限りなくゼロになり、配線抵抗もゼロに近くなります。

これにより、大電流でも高精度な電源が供給できるわけです。

 

このように、電源が増えて大電流になってくると発送の転換も必要になります。

 

以上、小田切でした。