softdev:tempmeter1
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| softdev:tempmeter1 [2012/02/07 23:27] – [PICのADで読む] king | softdev:tempmeter1 [2013/07/15 20:25] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 2: | 行 2: | ||
| 表示はLCDで。 | 表示はLCDで。 | ||
| + | 結論から言うと、、1KワードのROMでは、温度と電圧を同時にLCD表示させるのは難しそう。LCD制御で、かなり食ってしまいAD値から目的の値を算出するだけで終わってしまう。あ、そうか、足りなければ2個でやればいいんだな。 | ||
| ===== LM35 ===== | ===== LM35 ===== | ||
| LM35でナショセミ(もうTIだけど)の温度センサーですよ。ちょっとした工作によく使いますよね。会社でも性格じゃない温度を測るのに使ってたりする。 | LM35でナショセミ(もうTIだけど)の温度センサーですよ。ちょっとした工作によく使いますよね。会社でも性格じゃない温度を測るのに使ってたりする。 | ||
| 行 29: | 行 30: | ||
| </ | </ | ||
| - | だけどこれだと、整数部分しか計算できない。 | + | だけどこれだと、整数部分しか計算できない。10倍にして計算し、後で小数点の位置を変えようとすると、計算途中でlong型になってしまい、675だとちょっと厳しい。ソフト屋のT君にアドバイスをもらった。 |
| - | lm35_temp = lm35_out * 25 / 8; | + | |
| - | lm35_temp = lm35_temp * 5 / 32; | + | |
| + | < | ||
| + | (int)a = 498*5*10/ | ||
| + | (int)a =((498*5*10-1024a)*10)/ | ||
| + | </ | ||
| + | |||
| + | う〜む、すばらし。 | ||
| + | |||
| + | で、小数点2桁まで求めようとすると、どうなるんだろう。 | ||
| 行 107: | 行 114: | ||
| 最後の67は、67.84を切り捨てで算出。整数演算は切り捨てになるからというのと、エクセルで計算させると切り捨てのの方が真値に近かった。アンプゲイン10.1は、10倍でも誤差は変わらなかった。 | 最後の67は、67.84を切り捨てで算出。整数演算は切り捨てになるからというのと、エクセルで計算させると切り捨てのの方が真値に近かった。アンプゲイン10.1は、10倍でも誤差は変わらなかった。 | ||
| + | ==== 結論 ==== | ||
| + | いきなり、結論。この方法はよろしくない。 | ||
| + | |||
| + | オフセットをとる電圧が誤差を含み、そのまま増幅されてしまうのでものすごく誤差が出る。う〜ん、誤差と言うかバラツキ?値がコロコロ変わる。だいたい合っているとき合ってない時がある。 | ||
| + | というわけで、計算しやすいLM61に変更し作り直した。-> | ||
softdev/tempmeter1.1328624853.txt.gz · 最終更新: (外部編集)
