上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
あけましておめでとうございます!

実家の近所にある神社で、数え切れないほどのお願いをしてきたゆってぃです。
いいですか皆さん、初詣でお願い事をする時は、以下の手順でお祈りするんですよ!

1.まず、昨年のお礼をする。
2.次に、「今年もよろしくお願いいたします」と挨拶をする。
3.続いて、今年の「お願い」を伝える。
4.そして、その「お願い」を達成するために、「自分自身が努力する内容」を伝える。
5.最後に、もう一度「よろしくお願いいたします」と挨拶をする。

言うまでもなく、4が最も重要です。
ちなみに、ソースはたまたま聞いていたラジオに出てきた神主さんです(^^)
神主さんいわく、ただお願いをするだけでは、神様はその人の背中を押してはくれないそうです。
ただ、「自分はここまで頑張りますので、どうかお力をお貸しください」というお願いをし、
神様と約束をしたところまで頑張ることが出来れば、そのとき初めて、神様はその力を貸してくれるそうです。

もちろん、お願いが成就された時は、すぐにお礼を言いにいかなければなりませんよ。



さて、今日のテーマは、組み込み・制御系エンジニアとハードウェアの関係です。

組み込みエンジニアにとって、回路などのハードウェアはどうしても無視することは出来ません。
制御系のエンジニアでは、それに加えてメカに対しても考慮が必要になる場合があります。
(筆者は幸いにして、優秀なメカトロ屋さんとしか組んだ事がないので、あまり気にしたことはありませんが)

では、組み込みエンジニアが知らなければならない回路の知識とはどの程度なのか。
筆者はど素人なので、ぶっちゃけどの程度の知識があればよいのかよくわからないのですが
今までで必要だったレベルでは以下の項目があげられます。

1.チャタ(ノイズ含む)取りにおけるRC回路の知識
2.AD値取得のための抵抗分割の知識
3.デジトラの知識

などです。
つまり、制御に関わる部分の波形品質に関する知識ですね。
(今回は内容が長くなるので、複数回に分けてお伝えしたいと思います)

まず1ですが、これは開発する製品・装置によって大きく異なります。
絶対に誤動作してはいけない装置を開発する場合、ソフトのチャタ取りのみでは
不安で夜も眠れません。
そういう場合は、シュミットトリガなどを用いてH/Wで確実にチャタ除去をするようにしましょう。
というか、何も言わなくてもハード屋さんがそうしてくれる筈です。

しかし、H/Wでの対応は、コスト的にも実装面積的にも不利になります。
そのため、基本的には、複数回入力端子を見に行くポーリングにて対応します。
この場合は、チャタの発生する周期とポーリング周期をマッチングさせないといけません。
(たとえば、チャタ周期が10m秒だった場合、1m秒毎に3回見に行っても意味はありません)
たまに、タイマーを使用せずにfor文などの繰り返しでポーリングをする記述を見ることがあります。
しかしながら、これでは動作周波数の高いマイコンにソースを移植された場合、ポーリング周期が早すぎる可能性があります。
チャタ除去なんぞにわざわざタイマーを使用するのは手間に感じるかもしれませんが、空いているタイマーがあれば、最適なポーリング周期できちんとチャタ取りを行うようにしましょう。

ただし、あくまでこれは対処療法ですので、理想的にはチャタを回路で除去してしまうのが一番なのです。

そこで活躍するのが、大学1年で習うRC回路(積分回路)です。(筆者は理論物理出身なので習いませんでしたが…)
RC回路を用いることで、任意の周波数以上の信号を除去することが出来ます。
一言で言えば、「チャタみたいな高周波(※)成分はを取り除いちゃおう!」ということですね。
(※高周波と言うと数GHzとかイメージしちゃいますが、ここでは違いますよ(汗))
ただし、時定数を大きくすると信号の波形がなまってしまって、入力がHレベル(あるいはLレベル)になるのが遅れてしまうので、そこはオシロでよく確認をしましょう。
せっかくチャタを除去しても、反応が遅くて誤動作…なんて本末転倒ですからね。
なお、RC回路の詳細は、先人達が残してくださった資料をご参考下さい。
(例のごとく、またまた逃げます。。。本当にごめんなさい…)

特に制御系の場合、制御対象となるメカ部品(あるいは駆動用ICなど)の電気特性は、制御プログラマが確認しなければならないケースも少なくありません。(特に、ハード屋さんが不足しているプロジェクトでは)
ですので、その場合はしっかりと制御対象のスペックシートを確認したうえで、RCが最適な定数になるよう、ハード屋さんにフィードバックをしましょう。
納期直前で、信号の立ち上がり時間がスペック外だった事が発覚!!
・・・なんて事がないように(汗)

今回はここまでにして、次回は2以降に関してお話したいと思います。
最後までお読み下さって、ありがとうございましたm(_ _)m

重要:筆者はあくまでも「ど素人」エンジニアなので、話半分でお読みくださいね(笑)

関連記事
スポンサーサイト
コメント
コメントの投稿
トラックバック URL
トラックバック
ご訪問者様
プロフィール

ゆってぃ

Author:ゆってぃ
経歴7年の組み込み系・制御系エンジニアです。
("ど素人"という文言は取りました…笑)
ソフトウェア開発経験ゼロの状態から、なんとか実務がこなせるようになってきた現在に至るまでの経験を、備忘録代わりに綴っていきたいと思います。
入門者の方、大歓迎!
(上級者の方、ごめんなさい…)

あと、ブログには全然関係ないですが、Bumpy Headというバンドのギターをやっています。
ライブ情報なんかも書いたりすることがあるので、その時に「行ってもいいよ~」といった感じのコメントを戴けると、泣いて喜びます(泣)
ブログ読んでくださってる方なら、チケット代サービスしちゃいます!

最後に…滅多に流用することは無いでしょうが、このブログに書かれているソースは、特に指定の無い限りMITライセンスとします。ただし、一部それ以外のものもございますのでご注意下さい。
※ブログのリンク先にあるコードに関しては、リンク先のポリシーに従ってください。

最新記事
最新コメント
カテゴリ
RSSリンクの表示
メールフォーム

名前:
メール:
件名:
本文:

twitter
リンク
ブロとも申請フォーム
スポンサードリンク


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。