北東北 LabVIEWユーザー会

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

Temperature Measurement (MAX6675) using Arduino Compatible Compiler for LabVIEW

Since the Arduino compatible compiler for LabVIEW has a sample VI of the thermocouple amplifier MAX 6675, I compared it with the sketch made with Arduino IDE.

 

「LabVIEWのArduino用コンパイラで熱電対アンプMAX6675を使った温度測定」

LabVIEW用Arduinoコンパイラには熱電対アンプMAX6675のサンプルVIがあるので、Arduino IDEで作ったスケッチと比較してみました。

-----------------------

 

感触を確認するためにLabVIEWのArduino用コンパイラを久しぶりに使ってみることにしました。たまたま手元にSPI接続の熱電対アンプMAX6675(センサー付きでAMAZONで500円ぐらい)があったのでLabVIEWのArduino用コンパイラでプログラムを作ってみようと思い立ち、SPI用のサンプルVIを見たらなんとMAX6675用のVIでした。

 

VIを作ることもなく感触を思い出してしまったので、Arduino IDEで書いたプログラム(これもサンプルを少し改造しただけ)と比較してみました。ArduinoMax6675.JPG

MAX6675のデータシートを軽く読んでみます。max6675ds.png

 12ビットデータを2バイトで受け取ります。下位3ビットは状態を示すために使われています。

2byteData.png

 よく読めばSPIはモード0でクロックは最大でも4.3MHzということも読み取れます。(LabVIEW用ArduinoコンパイラのサンプルVIではモード1を使っていましたが、モード0が正しいと思いました。ただし、モード1でも動いていました。)

 

配線は以下の通り

MAX6675<---------->Arduino UNO互換機

GND<---------->GND

VCC<---------->5V

SCK<---------->D13

CS<---------->D10

SO<---------->D12

 

きちんと測定ができるかArduino IDEで確認します。スイッチサイエンスさんにサンプルがありましたので、それをベースにしました。sketch.png

 

arduinoSerial.png

 

ArduinoコンパイラのサンプルVIも少し変更して機能的に同じプログラムになるようにしました。VI.png

 

ACC4LV.png

 

ACC4LV-COM.png

 

使用しているメモリの比較

Arduino IDE <----------> LabVIEW用Arduinoコンパイラ

フラッシュメモリ/スケッチ:3586バイト(11%)<---------->  スケッチ5948バイト(18%)

RAM/グローバル変数:209バイト(10%)<---------->  215バイト(10%)

 

スケッチとVIを添付します。このような小さなプログラムの場合はArduino IDEの方が見易いと思いますが、複雑になると普段LabVIEWを使っている人にはLabVIEWの方が読みやすくなるでしょう。

(2018.11.18)

 

メッセージ1/6
4,095件の閲覧回数

はじめまして。

CompatibleCompilerの記事がとても少ないので,このような記事を書いてくださり感謝いたします。

私は31855を使っていますが,最後の3ビットシフトを2ビットシフト(-2)にするだけで,当たり前ですが正常に動きました。

ところでMode0とMode1の違いは何でしょうか?資料がなく,よくわかりません。ご存知でしたらご教示ください。

よろしくおねがいいたします。

0 件の賞賛
メッセージ2/6
3,972件の閲覧回数

こんにちは、

SPI通信のModeは4種類ありますが、データシートにModeの番号を書いている例は少なく、タイミング図で何番ね、と判断します。

クロックの極性(2種)Xサンプリングエッジの取り方(2種)で4種類となるのですが、私が書いても間違いそうなので、ANALOG DEVICES社のアプリケーションノートを参考にしてください。

https://www.analog.com/media/jp/technical-documentation/application-notes/an-1248_jp.pdf

 

SPIのデイジーチェーン接続の話も書いてあったりしてためになります。

 

余談ですが、最近LabVIEW用Arduinoコンパイラを使う仕事があって、通常版を購入しました。Home版からのアップグレードパスはないのかと聞いたら”ない”と言われました。でも、Arduinoを仕事で使うのにも便利ですよね。LabVIEWベースパケージのサブスクリプションが安いのでこれも買ってしまいましたが、NXG2.1の入ったUSBメモリが送られてきたのには少しがっかりしました。NXG3になりましたよと宣伝していたのにね。

 

0 件の賞賛
メッセージ3/6
3,968件の閲覧回数

diazomar2004,

Thank you.

I think that "max6675.vi" attached to the link is very good with an easy-to-understand explanation.

 

0 件の賞賛
メッセージ5/6
2,221件の閲覧回数

if you want to read more than one thermocuple you have to use PWM out from arduino to the Cheap Select of the max 6675

0 件の賞賛
メッセージ6/6
2,212件の閲覧回数