From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

北東北 LabVIEWユーザー会

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

Try M-Duino with LabVIEW and LINX Sample VIs

M-Duino is a convenient IO box for handling 12V to 24V IO and relay outputs. I will introduce M-Duino's digital output, digital input, analog output and analog input using LINX sample VI.

 

「LabVIEWとLINXのサンプルVIでM-Duinoを使ってみる」

M-Duinoは12Vから24VのIOやリレー出力を扱うときに便利なIOボックスです。LINXのサンプルVIを使ってM-Duinoのデジタル出力、デジタル入力、アナログ出力、アナログ入力を紹介します。

 

M-Duino12Vから24VIOやリレー出力を扱うときに便利なIOボックスです。結線しやすいプッシュイン端子台とスクリュー端を備えた筐体の中にはArduino MEGA 2560とインターフェース回路が収められています。

M6300604 2.JPGM6300608 2.JPG

 

LINXはご存知の方も多いと思いますが、ArduinoRaspberry PiLabVIEWから使うためのアドオンでVI Package Managerから「Digilent LINX(Control Arduino, Raspberry Pi, Beaglebone and more)」をインストールします。ArduinoLINXファームウェアを書き込むことでLabVIEWがインストールされているPCからUSB(シリアル)経由でArduinoIOを使用することができます。

VIPM.png

 

ファームウェアのアップロードは、「ツールメニュー > Maker Hub > LINX > LINX Firmware Wizard...」をクリックして「Arduino MEGA 2560」用ファームウェアをアップロードします。

firm.pngup.png

 

LINXのサンプルVIを使ってM-Duinoのデジタル出力、デジタル入力、アナログ出力、アナログ入力を紹介します。

サンプルVIは「ヘルプメニュー > サンプルを検索...」でNIサンプルファインダを起動し、表示オプションのディレクトリ別を選択して、「MakerHub > LINX」で表示されます。

デジタル出力は「LINX - Blink (Advanced).vi 」、デジタル入力 は「LINX - Digital Read 1 Channel.vi 」を使います。アナログ出力は「LINX - PWM 1 Channel.vi」、アナログ入力は「LINX - Analog Read 1 Channel.vi」を使います。

sampleFinder.png

 

M-Duinoの電源

DC12Vから24Vの外部電源を用意してVdcGND端子に接続します。

M6300609 2.JPG

 

デジタル出力

出力用の電源(5Vから24V)Q/VddCOM(-)端子に接続します。今回はLEDを点滅させるので、M-Duino5V出力を使用しました。

M6300612 2.JPGM6300621 2.JPG

デジタル出力Q0.0Arduino MEGA256036pinなので、Digital Output Channel36にします。シリアルポートはCOM25でした。出力を青色LED1kΩの電流制限抵抗)に接続します。実行ボタンを押すとwhileループ内の250msの待機関数があるので4Hzで点滅します。

d_outP.pngd_outD.png

M6300634 2.JPG

 

デジタル入力

デジタル入力は10Vから24Vの入力端子と10Vの入力端子があり、ON/OFFの閾値は5Vから9Vぐらいでばらついています。今回はプッシュスイッチで12VON-OFF入力を試します。12Vとスイッチと10kΩの抵抗を直列に接続して、スイッチと抵抗が接続されたポイントをデジタル入力I0.0に接続します。スイッチを押すと12VとなりON、スイッチを離すと0VOFFとなります。(-)I0.0端子にはグランドを接続します。

デジタル入力I0.0Arduino MEGA256022pinなので、DI Channel22にします。

d_inP.pngd_inD.png

M6300638 2.JPGM6300640 2.JPG

 

アナログ出力

Arduinoでのアナログ出力はPWMのデューティで電圧の平均値を変化させてLEDの明るさやDCモーターの回転数を制御します。M-DuinoではディップスイッチONの時にPWM出力、ディップスイッチOFF の時にアナログ(DC)出力となります。

アナログ出力A0.5を黄色LED(3.3kΩの電流制限抵抗)に接続します。

LINXではPWMのデューティを指示します。アナログ出力A0.5Arduino MEGA25604pinなので、PWM Channel4にします。Duty Cycle (0-1)1.0の時に10Vとなるはずですが、実際には上限が9.5Vぐらいしか出ませんので校正が必要です。

a_outP.pnga_outD.png

M6300643 2.JPGM6300653 2.JPG

 

アナログ入力

アナログ入力はI0.7を使ってみます。Arduino MEGA256054pinですが、LINXでは54pinは登録されていないらしくエラーが発生します。54pinA0 pinと同じピンを指しているようなので、AI Channnel入力に0を入力すると動作しました。I2.569pinですが、AI Channel 15で動作します。アナログ入力は0Vから10Vですが、LINX0Vから5Vを想定しているので1/2の値を表示します。係数を変更すれば良いでしょう。

a_inP.pnga_inD.png

M6300645 2.JPG

 

LabVIEWで12Vから24VIOやリレー出力を扱う時に便利なのではないでしょうか?

 

 

 

メッセージ1/1
2,738件の閲覧回数