Rapberry Piで1-wire温度センサー(DS18B20)を使った場合の問題、分解能とマイナス表示問題
カテゴリー:#電子工作 Raspberry Pi、Arduinoなど(記事数:240)

2016.01.23

Rapberry Piで1-wire温度センサー(DS18B20)を使った場合の問題、分解能とマイナス表示問題

★問題1:マイナス表示について
Raspberry Piと1-wire温度センサー(DS18B20)を使って外気温をログしているのですが、氷点下にならないなぁと思っていたらどうやらpythonで組んだスクリプトに問題がある気がします。

↑矢印で示している2016年1月20日の深夜、0度を下回ったあたりで温度がログされていません。

組んだスクリプトでは下記のようにデバイスから出力される文字列を

下記のコードでpythonで温度取得していました。

  • temp=re.search('(?<=t=)(\d+)',resulttext)
  • temp=float(temp.group(1))/1000
これじゃマイナス表示の時に温度部分を抽出し損ねるなぁと思い、下記のように変更しました。
  • temp=re.search('(?<=t=)(-*\d+)',resulttext)
  • temp=float(temp.group(1))/1000
うまく動くかどうかは今晩氷点下になれば分かるでしょう。
追記
上記修正で氷点下もうまく表示されるようになりました。

★問題2:1-wireセンサーの一つの温度分解能が悪い。
我が家では今のところ2つの1-wire温度センサー(DS18B20)が動作しているのですが、そのうちの1台が0.5℃単位でしか温度を出力してくれません。もう一台は0.2℃単位ぐらいで出力されています。

2つの温度センサーモジュールは同じ通販サイトで買い、まったく同じスクリプトで動作させています。温度センサーのデータシートを見ると↓(日本語訳)
赤色で囲んだところが温度、緑で囲った部分が温度をデジタル変換する場合の分解能を示しているのですが、分解能が低いセンサーは9ビットになっているようです(具体的にはこのByte4は12ビット出力したい場合には01111111=7Fで無いといけないはずですが、分解能が低いセンサーでは00011111=01となっています)。
このセンサーはデフォルトで12ビット出力のはずなのですが。。。。

原因を色々と調べるともしかして購入したやつの中身に入っているセンサーが手違いでDS18B20ではなくDS18S20になっているのかも
またはチップ自体は12ビット出力可能なDS18B20なんだけどなんらかの理由で分解能が9ビットに変更されてしまっているのかも、しかしながらRaspberry PiからDS18S20の制御ビットを書き換える方法がいくら検索しても出てこない・・・・・困った。

2つの1-wire温度センサーはいずれも防水加工されたものを下記から購入しました。

Category:#電子工作 Raspberry Pi、Arduinoなど



■ ■ ■ コメント ■ ■ ■

いいっすね!=51
001 [01.23 17:19]で?:何が楽しいん? (5)
002 [01.23 17:59]わら:001の人生が詰まらなさそうでワラた (9)
003 [01.23 18:07]F@Dion:t & 0x0fff しちゃだめか? (2)
004 [01.23 18:17]F@Dion:あ、ごめ。正規表現なのか。-?でいいような。 (4)
005 [01.23 22:42]PI:冷凍庫に入れて試せばいいじゃん。 (3)
006 [01.24 07:18]:001の意図は、センサー直付けではなく、製品化されている温度データロガーを使いましょうということかな? (4)
007 [01.24 08:41]Aガット:1wireで動作設定レジスタを書き換えればよいと思いますが、Raspberry Piのように出来合のライブラリをつかっていると、こういう時にハマるんですよね。1wireモジュール自体を調べて、書き込みコマンドを最初に発行するとかしないとダメそうですね。 (2)
008 [01.24 09:23]Aガット:DS18S20はデータシートだと、Byte4はRESERVED (FFh)になってるのでDS18S20ってことはなさそうですね。 (4)
009 [01.24 09:41]Aガット:動作設定レジスタはEEPROMの値が最初に読み込まれるみたいですね。EEPROMに9ビット分解能の設定がされてしまっているようです。何らかの方法で動作設定レジスタの変更およびEEPROMへのコピーを行うしかないですね。私だったら、Arduinoでやるかな。 (4)
010 [01.24 10:25]とおりすがり@InfoWeb:https://www.raspberrypi.org/forums/viewt....とりあえず、これで設定変更はできるけど。w1 device は読み出しだけ?書き込みはできないのかな?man w1で調べてみて。 (4)


011 [01.31 07:16]:Configuration RegisterのBIT6とBit5に11を設定するだけじゃないの? (3)

名前 ↑B

コメント(※改行は省略されます)

※3回以上の連続書き込み不可
この記事のアクセス数:1742

本カテゴリーで直近コメントが書かれた記事
12/12 00:58:「M5Stamp Fly」をドローン初心者が自宅で飛ばしてファームウェア更新から宙返り、UnitCam付けたりとか164085分前
11/29 08:19:おうち秋月電子かよ!自宅の積み電子キットがすごい量に・・・126日前
11/27 09:16:「Raspberry Pi Pico 2 W」は7ドル(1000円)でBluetoothもWifiも使える128日前
07/01 21:34:Arduinoで航空無線が聴ける。Arduino Nanoで制御するエアバンド受信シールド「SCARP」が9500円。2024年10月出荷開始277日前
12/06 16:22:赤外線カットフィルター無しのラズパイ公式カメラv2にフィルター追加485日前
11/03 10:39:オープンソースの家庭用地震計「EQIS-1」(PRIORIS)の完成品が8580円で登場518日前
09/29 11:31:Raspberry Pi 5が発表。4から2倍高速化、M2ストレージおよびPCI-Express2.0対応。外付けでGPUがつなげちゃう?1万円~553日前
08/28 00:48:Raspberry pi zero 2Wが本当に3500円で来た!zeroとの比較585日前
08/22 09:42:Raspberry zero 2Wが送料込み3500円591日前
06/24 23:21:今月の「トランジスタ技術」はラズパイカメラ特集。凄いこの雑誌セミプロの寄稿を集めた同人誌だ650日前
05/06 22:29:Raspberry PiでCPU温度を測定する方法699日前
04/24 23:54:何日間持つか実験。ラズパイzeroにUSBカメラとモバイルバッテリーをつないでリアルタイム配信710日前
04/08 09:45:『これが届く頃、俺の畑は既に死んでいるだろう』ラズベリーを地植えして超絶後悔した人の手記727日前


→カテゴリー:#電子工作 Raspberry Pi、Arduinoなど(記事数:240)
本カテゴリーの最近の記事(コメント数)
2025.03.05ラズパイ公式!ポメラ的な文章作成用ハンドヘルドPC「Micro Journal Rev.2 ReVamp」。Zero 2W搭載
2025.02.27理系フリマ8が3月1日開催
2024.12.10「M5Stamp Fly」をドローン初心者が自宅で飛ばしてファームウェア更新から宙返り、UnitCam付けたりとか32コメ
2024.12.05SeeedのRaspberry Pi zero用Grove Base(HAT)がベストフィットで良い感じ11コメ
2024.12.04Raspberry Piのカメラで静止画を撮る時のオプションメモ:fswebcam/USBカメラ時とraspistill/公式カメラ9コメ
2024.11.28おうち秋月電子かよ!自宅の積み電子キットがすごい量に・・・30コメ
2024.11.26「Raspberry Pi Pico 2 W」は7ドル(1000円)でBluetoothもWifiも使える46コメ
2024.11.17Raspberry Piベースの立体視カメラを作るためのオープンソースボード「StereoPi」15コメ
2024.11.03Raspberry Piとディスプレイでお手軽デジタルサイネージを作れるオープンソースソフト「Anthias」5コメ
2024.10.08Raspberry piは電源ぶつ切りするとすぐにカーネルパニック起こして起動しなくなる。改善方法と復旧方法27コメ

最近の常連さん
京ポン3B(意地でもエッジ)★40 匿名?★28 JP★26 ふぇちゅいん(年度始まったり) TW★95 特命さん★79 umomo★2 白★53 τ(はじめてのすまほ) TW★52 すきやき★77 ふぇいちゅん★2 10年選手★48 Dcd★83 774(←半角のひと)★83 うぃ(滅茶苦茶久しぶり)★70 酔もぐら★41 F★52 ふぇちゅいんさんふぁん(ゆるりゆラリー)★101 名古屋関西人 TW★25 orz★38 さてさて★30 knob★2 とくめい★82 トクメー★17 うにゃ(emでネクサス5→�)★38 ω★105 ポコ★346 ななしさそ★72 らむ★32 謎★80 ☆★45