Darkside(リンクエラー修正しました)

2014年12月の記事

<< 前のページ

2014年12月29日(月) 21:58

危険な演出

 びっくりした。
 年末と言う事で、いろいろと普段と異なる番組が放送されている。
 そこで目に留まったのが、フィギュアスケートのアイスショー。いきなり信じられないものを見てビビった。

 演出用のレーザーの向きがおかしいので目の錯覚かと思ったが、次のカットでは本当におかしいことが判明。
 見ての通り、レーザー光線が床の氷に照射されて模様を描いている。

 レーザーで模様や文字を描くのはありふれた演出であり、それ自体は珍しくも何ともない。問題は、天井や壁ではなく床に描いたという点。まっとうな業者は、絶対に床には照射しない。
 レーザーポインターが規制されたことでも分かるように、レーザーは極めて目に悪い。演出用レーザーは、レーザーポインターに比べると1000倍とか10000倍の出力がある。だから、絶対に目に入らないようにせねばならない。だから、ちゃんとした業者であれば人間の目の高さよりも低い位置に演出用レーザーを照射することは、絶対に行なわないのだ。

 ディスコとかクラブという類の怪しげな店で、客を興奮させるためにワザとレーザーを危険に使うことはあるらしい。しかしこれは、普通のアイスショーであってTV放送さえ行なわれるまっとうなイベントだ。それで常識外れのレーザーの使い方をしていたから、ビビった。

 演出用レーザーで模様を描くには、レーザーを鏡で反射させてその鏡を高速で動かす。レーザープロジェクターとかガルバノメーターと呼ばれていて、うちのサイトでも自作記事を書いたことはある。つまり、鏡を動かす機械的部分が故障すると、レーザー光線も動かずに一点を照射してしまうのだ。そのようなリスクをゼロにするため、最初から目の高さより高い位置にしか照射しないように設置するのである。
 床にレーザーを照射して、故障によりレーザーの向きが固定されたら?
 そこに、客やスケーターが居たら?
 浅田真央や高橋大輔が失明していたかもしれない。信じられない暴挙である。そして恐らく、暴挙であることを殆ど誰も気付いていない。

 鏡が故障したらレーザー照射を停止させる安全装置は、恐らく組み込まれている。だが、安全装置も故障確率はゼロではない。どんな機械でも、故障することはありえる。
 だから、原理的に絶対に事故が発生しないよう、照射向きを高くしておくものなのだ。

written by higashino [科学コラム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2014年12月28日(日) 22:28

簡単にしろよ

 一見すると、昨日と全く同じ波形。しかしこれは、SPI2クロックを半分に落として計測したものだ。間隔が、全く変わらない。すなわち、SPI2が実際には全く働いていないことが、更に確からしくなって来た。こうなると、SPI2のプログラミング例を探し回るしかない。

 I2Cでもそうだったが、サンプルはいろいろ転がっているが何パターンもある。どれが正しいのか良く分からない。昨日も書いたが、ソフトで信号を上げ下げすれば極めて単純で一発動作しまくるのがSPIである。だから、独自規格のシリアル転送でも、ほぼSPI方式にしている。
 そんな単純なSPIを利用するのに、手順が多すぎる。

 この手の調査は、時間が掛かり過ぎる。そろそろ年末年始でもあるし、例によってこのブログも休暇かも。

written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2014年12月27日(土) 20:02

CSしか働かない

 SPIのプログラム例を見ると、ピンのタイプをCSだけOUTでそれ以外の3本はAFに設定するようだ。AFは内蔵ペリフェラルの入出力として使用し、OUTは普通の出力として使用する。そして、LEDの点滅と同様にCSはソフトで上げ下げする。
 オシロで確認すると、さすがにCSはちゃんと↓↑に変化した。

 それにしても信号の立ち上がり立下りが遅過ぎる。これでは、波形が綺麗なのは2〜3MHzまでではなかろうか。とてもじゃないが、10MHzでは使い物にならない波形になりそうである。それでもI2Cに比べれば1桁速いが・・・オープンドレインではなくプッシュプルなのに、この程度なのか?

 更に、やはりクロックはウンともスンとも動かない。内蔵ペリフェラルのSPI2と結合したはずなのに、ずっと死んだままだ。

 最終的にはDMA転送を利用してCPUの負荷をできるだけ減らす野望があるのだが、DMAを使わないSPIが動かない時点で話になっていない。

written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2014年12月26日(金) 21:33

最初から働いてない

 マトモにプログラム開発可能な状態に復活したものの、相変わらずSPI2は働かない。
 256分周という最遅クロックをやめて、当初予定の8分周に戻す。ところが、32倍ではなく4〜5倍という謎の半端な高速化。波形も想定しない形である。何がどうなってこんな変化するのか?

 あれこれ調べて、実はこれがSPI通信しようとしているのではないと発覚。リセット直後の信号変化に過ぎなかったのだ。SPIの初期化に絡んでいるかもしれないが、いずれにしろ本番の通信とは無関係。SPI2の本番通信に関しては、最初から全く信号が変化していない。CSもクロックも動いていない、というのが真相らしい。
 根本的に、初期設定がおかしい?

 さて、遂に日本でも無人機の規制が検討されるというニュースが。
 レーザーポインターの規制は、実際に事故が多発してから行われた。それに対し、無人機の事故は発生しているものの、まだ問題化していない。対策を先回りで行うというのは、お役所らしくない。それだけ、無人機が危険ということだろう。少なくとも、レーザーなどよりも。
 いかにも悪用されそうな雰囲気があるレーザーに対し、ラジコンヘリは至って平和的な雰囲気である。だが、悪用を考えた場合にレーザーよりも遥かに危険なのは間違いない。撮影が可能であれば銃を撃てるし、荷物が運べるなら爆弾を運べる。何よりも、レーザーと違って安価で入手の容易な民生品のみで製作できてしまう。空飛ぶオモチャが数千円で作れるところまで、科学技術が進歩し普及してしまったのだ。

 レーザーでもそうだが、規制が行われると「自力でどこまで製作できるか」が決定的に重要となるだろう。自分にとって、レーザー規制はザルもいいところである。無人機も、このまま技術の自主開発を続行させる。

written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2014年12月25日(木) 21:43

バグ発見

 プログラムが怪しいということで確認すると、I/Oピンの初期化でヘマやってるのを発見。SPI2で使用されるのはポートBの12〜15番だが、初期化を行う際に誤ってポートAを指定していた。ポートAの12〜15番ピンには、内部でデバッグに使用されるものが含まれており、それを設定してしまったためにマイコンの状態がおかしくなっていたのだった。

 ポートBを初期化するよう修正したプログラムを、ST−LINKで書き込む。すると、思った通りUSBの勝手な切断は発生しない。

 CoIDE からも再び認識されるようになった。
 結論として、Discovery の基板は別に壊れていなかった。かくして予備基板が在庫され、液晶ディスプレイも別電源不要で使えるようになった。数日を無駄にしたが、完全な無駄ではなかった。

 だが、肝心のSPI2は使えないままである。クロック信号すら発生していないようだ。
 SPIは非常に単純で、ソフト的に信号を上げ下げしている分には非常にトラブルが起きにくい。PICでもSTM32でも、すんなり動作している。それなのに、内蔵ペリフェラルでハード的に動作させようとしたとたん、動かない。というか、全部ソフトでやれば遅いだけで想定どおりに簡単に使えるものが、いざハードとなるとどうして複雑怪奇な設定をあれこれ行わねばならなくなるのだ?
 SPIぐらい、関数2つか3つ並べれば使えるようにしておけよ!

written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4