2018年 2月 の投稿一覧

静電気対策の方法

信頼性試験で実施する静電気試験ですが、試験のためだけでなく実際の現場でも静電気は飛ぶので、この対策は非常に重要です。

ということで、代表的な静電気対策を簡単に列挙したいと思います。

 

◯電源

まずは電源です。

電源は静電気だけでなく雷サージなどもあるので、高電圧の対策は必須です。

そして、この部分は逆刺しの可能性も考慮して、双方向の高電圧保護部品である「バリスタ」を使用することが多いです。

普通のツェナーダイオードですと電源逆刺しの際に、ツェナーダイオードに大電流が流れて破損してしまいます。

 

◯インターフェース部

コネクタ類です。

コネクタに人が触れる場合などに静電気が飛んできます。

なので、インターフェースの各線にはツェナーダイオードかクランプダイオードを入れます。

普通のデジタル信号線には負電圧が入ることがありませんので、双方向の保護素子であるバリスタは必要とされません。(使ってもわるくないけど)

ツェナーダイオードはGNDと信号線の間に入れ、ツェナーダイオードの降伏電圧以上の電圧をGNDに逃がすようにします。

クランプダイオードは、「信号線とGND」と「信号線とVCC」に入れ、VCC以上またはGND以下の電圧をGNDやVCCに逃します。

 

◯人が触れる部分

スイッチなどです。

ここもツェナーダイオードかクランプダイオードを入れます。

 

◯基板外周

基板はたいてい筐体に入りますが、筐体の隙間から静電気が入ってくることが有ります。

なので、基板の最外周に部品があるとそこに静電気が飛んだ時に部品が壊れてしまいます。

最外周をGNDにしておくことで、筐体の隙間から飛んできた静電気がGNDに逃げるようにします。

 

◯ネジ穴周辺

ネジ穴も静電気が飛んでくる場所です。

なので、基板に開いているネジ穴の近くにGNDではなく部品があると、部品を壊します。

ネジ穴はまずGNDを置いて、そのまわりに部品を配置します。

 

◯金属部は部品から離す=GNDに接続する

金属がある製品だと、静電気はまず金属に飛びやすいです。

なので、金属の近くに部品があるとそこを静電気が通ったときに部品を壊します。

金属はGNDに接続するなどして、静電気が部品を通らないように配慮します。

 

代表的なところではこんなところでしょうか。

 

以上、小田切でした。

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

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

 

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

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

 

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

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

 

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

 

◯接触放電

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

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

 

◯気中放電

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

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

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

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

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

 

◯間接放電

製品の横に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などを活用しましょう。

 

以上、小田切でした。