温度センサーLM35DZを実用域で使う2017年09月25日 01時17分37秒

秋月通商などで手に入る安価な温度センサーにLM35DZというものがあります。
これをArduinoと組み合わせて使う記事は検索するといくつも出てくるのですが、ほとんど「コピペ」で有用な追加情報はほとんど得られない状況です。

そこで、いくつか実験も兼ねてテストしてみようと思います。
以下は実験風景です。
実験風景

多くの記事は基準となる温度計などとの測定値の比較をして検証を行うなどの基本的なことが行われていません。
また、データシートの読み込みが足りなかったりADCからの取得値のデータ処理の仕方の根拠説明がありません。

今回の実験では比較のために他の温度センサーでの観測値と市販のデジタル温度計の測定値を使います。
「他の温度センサー」としてはセンサーそのものがデジタル値を返すセンシリオンのSHT-11を使いました。これはADCによる変換処理の仕方の影響を排除するためです。

■動作電圧
LM35DZに印加する電圧範囲は広く、4V~20Vとなっています。
実験風景でオレンジ色はArduinoの5Vに接続しており、赤色は3.3Vに接続しているのですが、実は実験の結果、3.3Vで十分に動作することが分かったため、3.3Vで動作させることにしました。



■ADC基準電圧
ArduinoのデフォルトのADC基準電圧は5Vです。
一方でLM35DZを追加部品なしに使う場合は氷点下の測定はできず、10mV/℃という特性なので100℃の場合は1000mV、つまり1Vの電圧程度しか測る必要はないでしょう。このようなセンサーをADCで使う場合は基準電圧を下げるかアンプなどで増幅するなどしてフルスケールと基準電圧が近くなるようにします。
Arduinoはデフォルトの設定以外にもINTERNALという指定をすることにより機種ごとの異なる電圧をADCの基準電圧として使うことができます。
Arduino UNOの場合はその電圧は1.1Vです。
今回は1.1Vを基準電圧に設定します。
なお、通常の5Vが基準電圧の場合、生活環境での室温は明らかに他のセンサーの測定値よりも小さい値となりましたので、実用にならないことを確認しています。
スケッチは以下になります。
デフォルトと1.1Vの設定処理はマクロで切り替えるようにしていますのでどれ位値が変わるかは試してみると分かります。
ArduinoIDE上のスケッチ

■ADC基準電圧とプログラムの対応付け
5Vの基準電圧とか3.3Vの基準電圧とか1.1Vの基準電圧とかいろいろありますが、本当にそれらの電圧が基準電圧として正しいのでしょうか?
5Vのつもりが5.01Vであったり、4.98Vであったりします。
当然プログラム上はそれに合わせて実測値を採用しないと変換処理の誤差となります。
今回はそこまで実行していませんし、1.1Vの基準電圧の場合は外部から正確に測ることもできませんから、理論値として処理するしかありません。
また、これらの基準電圧そのものが温度によって変動する場合もありますので、センサーを使った測定というのはそれだけ奥が深いものだということを忘れないでいただきたいと思います。

■10bitADCでの換算について
10bitADCを使った変換処理で最近よく見かけるのは1024で割っている処理です。
ソフトウェアとしての前提条件とブラックボックスとしてのADCを扱う場合はこれは算数的には間違いです。
0Vの時に0が出力され、5V(1.1V)の時に1023が返るのですから、1024という数字はどこから出てくるのでしょうか?
例えば「10kmの距離を5時間かけて歩きました。時速は?」という問題を解くときに10km/6なんて計算しますか?しませんよね。
0~1023は1024段階だから1024?違います。
上記の時速の問題で0~5の6段階だから6で割る、ではないでしょう?
1024にする場合の理由はもちろんあるのですが、算数の問題の前提条件を無視するのは違います。
理屈は別の記事に譲ることにして、上記のスケッチでは両方試しています。

■他の温度センサーと温度計との比較
全部バラバラでした。
あえて近い組み合わせを選ぶとセンシリオンのセンサー出力値とADC基準電圧1.1Vで1023で割り算した値でした。とはいえ、1024で割ったものもそれ程差があるわけではありません。
単体の温度計の値は冒頭の写真を参考にしてください。HAKUBAの温度計は近い値を示しています。
センシリオンセンサーなどを使った他のシステムの出力
上記のデータはカンマで区切ってありますが、左から3番目の値がセンシリオンのSHT-11というセンサーを使った温度測定値です。
今回のスケッチでのシリアル出力結果
上記が今回試したスケッチでの実行結果です。

■Lチカの理由
上記のスケッチではLEDを点滅させていますが、これは他の負荷がある場合にADCへの影響があるかどうかを確かめるためです。
試しにA0に3.3Vを直結してAREFをデフォルトの5Vにしてみると分かります。
固定値のはずがふらついています。
もちろんこれはLチカの影響だけではありません。要はADCはセンサーと接続しない場合でも値がブレるということの確認です。

1日程度の遅れで問題視してはいけない2017年09月23日 10時48分52秒

ある会社の社長さんの言葉。

「1日の進捗遅れでも叱らないとダメ」

最近の若い人は叱られ慣れていないし、仕事の厳しさを教えるためにそのように思っているようです。
また、若い世代は怠けることを先に考えるという先入観を持っているようで、「遅れるのは」「怠けている」「本人の問題」だと決めつけているようでした。

この社長さん、別に高齢者の昭和の社長さんではなく、IoT関連のビジネスを展開しようとしている人です。

しかし、ここにはいくつか疑問があります。

(1) そのスケジュールは適正なのか(誰がスケジュールを立てたのか)
(2) 遅れている背景を探る必要はないのか
(3) 担当者の認識と依頼側の認識はあっているのか

例えばAという課題があった時にある人はAならB、BならCという段階的な課題の連鎖を考えてAという課題には複数の課題をクリアしてZまでの作業工数を見積もってスケジュールを立てるでしょう。
でも経験の少ない人はAという課題に対してBまでの作業しか想定しておらず、Bまでの作業工数でスケジュールを立てます。
Zまで考えられる人とBまでしか考えられない人とでは作業量も品質も全く異なります。

担当者本人にスケジュールを立てさせていざ作業を始めてみたら本人も「あ、Bまでではだめだ。Cまで考えないと」と思ったら、当然当初のスケジュールからは遅れます。しかもZが本当のゴールだとしたら結果も依頼者とは食い違うので、Cまでの結果で「出来ましたぁ」とか言おうものなら叱られることになります。

このような認識の違いがあるということを前提にしてそれを俯瞰した上で全体スケジュールを管理するような認識ができない人はマネージメントの立場になったらだめです。
技術がよくわかっている人が依頼者の場合はこの乖離は大きくなりますので、十分なすり合わせは必要だと思います。

一律に冒頭の言葉が出るようだと論外だと思います。
さぞ、息苦しい会社なのではないでしょうか?


基板設計はケース加工を考えてやろう!2017年07月22日 22時59分13秒

久しぶりにEAGLEと格闘していました。
自作のモータードライブコントローラ基板をケースに組み込む時にこれまでは手動現物合わせで加工していたのですが、面倒になったのでタカチの加工サービスを利用することを具体的に進めることにしました。
その為には基板の穴の位置とか部品の位置を測る必要があります。
出来上がった基板をノギスで測るのもバカバカしいので基板設計に使ったEAGLEで寸法線をいれてみた、というわけです。

いやあ、部品配置するときのグリッド設定を細かくし過ぎた弊害ですね。
今後はせめて0.5mmグリッドで部品配置するようにします。
反省反省。


部品配置や穴あけ寸法が半端

有給休暇付与条件を勝手に変える労働基準法違反の会社2017年04月26日 08時21分30秒



あるロボット開発会社の就業規則の一部です。
有給休暇に関する規定ですね。

労働基準法違反部分は以下です。
1.9.5割以上の勤務条件(労働基準法では8割以上)
2.6ヶ月経過後の付与日数5日(労働基準法では10日)
3.1年6ヶ月経過後の付与日数10日(労働基準法では11日)

どんな些細なことでも法律違反する会社には存在意義がありません。違反する意味がないにも関わらずわざわざ違反するという労力をかけてそれがその会社にどんなメリットがあるのか。デメリットしかないことが判断できない「無能な経営者」というところに問題があるのです。

6ヶ月の勤務日数を120日とすると0.5割は6日ですね。2割だと24日です。現実的に6日という数字は多い感じもします。月に1回は欠勤しているということです。
労働基準法通りだと月に4日欠勤しても有給休暇は付与されます。欠勤多すぎですよね。
気持ちはわかりますよ。
でも現実的には健康でまじめな人ならそんなには休まない。
現実的には大抵は多くても0.5割も休まないのですから、わざわざ労働基準法を違反する内容の就業規則にする必要なんかありません。機械的、事務的に労働基準法を逸脱しない内容にしておけばいいのです。
就業規則なんてひな型がどこにでも転がっています。
この就業規則も元はどっかからひな型を拾ってきて、そこには8割となっていたはずです。それを「変えても良い」と思い込んだところが「バカ」だということです。
そんな頭の悪い人間が社長の会社が創造的で先進的な開発を行うと言ったって信用できません。

2016年に映画館で観た映画2016年12月31日 22時54分25秒

今年、2016年に映画館で観た映画は88本でした。シン・ゴジラはMX4Dを加えて2回見てます。

1月

  1. 杉原千畝 スギハラチウネ
  2. 母と暮せば

2月

  1. オデッセイ
  2. 人生の約束
  3. 傷物語 Ⅰ 鉄血篇
  4. ディーパンの闘い(寝た)
  5. NINJA the MONSTER
  6. 恋人たち

3月

  1. スティーブ・ジョブズ(寝た)
  2. ブラック・スキャンダル(寝た)
  3. ちはやふる~上の句~
  4. SHERLOCK/シャーロック 忌まわしき花嫁
  5. 女が眠る時
  6. 信長協奏曲
  7. 黒崎くんの言いなりになんてならない
  8. さらば あぶない刑事
  9. セーラー服と機関銃 卒業
  10. 僕だけがいない街
  11. バットマン vs スーパーマン ジャスティスの誕生

4月

  1. あやしい彼女
  2. 仮面ライダー1号
  3. 暗殺教室 卒業(寝た)
  4. ルーム
  5. 名探偵コナン 純黒の悪夢(ナイトメア)
  6. ズートピア
  7. スポットライト 世紀のスクープ
  8. テラフォーマーズ

5月

  1. フィフス・ウェーブ
  2. レヴェナント
  3. アイアムアヒーロー
  4. シビル・ウォー
  5. ボーダーライン(寝た)
  6. 太陽
  7. 追憶の森
  8. スキャナー
  9. リリーのすべて
  10. 64-ロクヨン-前編
  11. HK/変態仮面 アブノーマル・クライシス
  12. 殿、利息でござる
  13. 世界から猫が消えたなら

6月

  1. 64-ロクヨン-後編
  2. (吹)スノーホワイト 氷の王国
  3. ヒメアノ~ル
  4. 高台家の人々
  5. 植物図鑑 運命の恋、ひろいました
  6. クリーピー 偽りの隣人
  7. オオカミ少女と黒王子
  8. 10 クローバーフィールド
  9. 探偵ミタライの事件簿 星籠の海
  10. TOO YOUNG TO DIE! 若くして死ぬ
  11. ダーク・プレイス

7月

  1. デッドプール
  2. インデペンデンス・デイ:リサージェンス

8月

  1. シン・ゴジラ
  2. ONE PIECE FILM GOLD(寝た)
  3. 秘密
  4. ペット
  5. ルドルフとイッパイアッテナ

9月

  1. 君の名は。

10月

  1. SCOOP!
  2. ハドソン川の奇跡
  3. スーサイド・スクワッド
  4. 聲の形
  5. 怒り
  6. CUTIE HONEY -TEARS-
  7. ある天文学者の恋文
  8. グッドモーニングショー
  9. 真田十勇士
  10. スタートレック BEYOND
  11. 何者

11月

  1. DEATH NOTE
  2. 永い言い訳
  3. インフェルノ
  4. ジャック・リーチャー
  5. 溺れるナイフ
  6. L

12月

  1. 聖の青春
  2. ミュージアム
  3. 奇蹟がくれた数式
  4. アズミ・ハルコは行方不明
  5. ブレア・ウィッチ
  6. 古都
  7. 劇場版クラッシャージョウ
  8. シン・ゴジラ(MX4D)
  9. 海賊とよばれた男
  10. この世界の片隅に
  11. ローグ・ワン
  12. バイオハザード:ザ・ファイナル