※画面を横にするとパソコン版のレイアウトでご覧いただけます。
 正しく表示されていない場合は横向きでご覧ください。
  1. HOME
  2. 商品検索:カテゴリ
  3. 3Dセンサ・システム
  4. ネットワークサーボモータ

PLC不要・PCで直接制御(C#/Python対応)
ネットワークサーボモータ

シリーズ名

HDriveシリーズ

エンコーダ・アンプ・ドライバを統合した一体型サーボシステム

ロボットアーム バランス二輪ロボット 2Dレーザースキャンシステム トラッキングユニット スマホでの制御

point
  • イーサネット通信に対応したコンパクトサーボモータ
  • 制御機器が統合された一体型のサーボシステム
  • ウェブサーバ経由で遠隔からモーターの設定・操作が可能
  • PCで操作が可能、PLC機器は不要
  • 各種プログラミング言語(Python , C# , MATLABなど)に対応
  • CANスレーブ/マスタとして利用可能(スレーブ最大8台)
  • 省配線、小型で省スペース

Henschel-Robotics社のネットワークサーボモータは、モータ・エンコーダ・サーボアンプ・ドライバ・入出力を統合した一体型のサーボシステムです。一体型でありながら小型のため、省配線、省スペースを実現しています。多極ステッピングモーターをベースに、クローズドループ制御とフィールド指向制御(FOC)が実装されており、効率的に最大トルクまで到達、トルクリップルはほとんど発生しません。位置、速度、トルクの3つのモードで利用でき、位置データは、工場出荷時にキャリブレーション済みの14ビット磁気式エンコーダで取得します。

ネットワーク接続のため、PCのOSを気にする必要がなく、ソフトウェアやドライバのインストールも不要です。PCと接続するだけの簡単なセットアップで使用開始できます。WEBサーバーが統合されており、モーターの状況や制御設定、加速度傾斜などの各種パラメータが設定・確認できます。遠隔からのメンテナンス管理も容易で、IoTデバイスとして利用可能です。

複数のプログラミング言語(Python , C# , MATLABなど)に対応しており、簡単な数行のコードを記述するだけでTCP/IPを介してコマンドを送ることができます。PLCが不要のため、自由度の高いプログラミングが可能です。

最高回転速度 600r/min
ホールディングトルク(保持トルク) 最大0.5Nm
シングルターンアブソリュートエンコーダ
(絶対値エンコーダ)
14bit
絶対精度 ±0.2grad
トルク係数 200mNm/A
電流制御周期 24kHz
位置/速度制御周期 4kHz
起動時間 2s
位置データ出力(TCP) 最大0.5kHz
位置データ出力(UDP) 最大2kHz
インターフェース イーサネット、CAN、デジタルI/O
動作電圧 DC 12V - 24V
サイズ 42 × 42 × 112.7mm(コネクタ部除く)
シャフト径 Φ5 ±0.012mm
重量 470g
使用環境温度 –10℃ ~ 40℃、結露がないこと

寸法図(単位:mm)

回転速度トルク特性

ピンアサイン

コネクタ X1 X2 X3
タイプ M8メス M8オス M8オス
コーディング なし A-coded なし
説明 イーサネット デジタルI/O 電源、CAN
ピン数
ピン詳細
PIN 機能 PIN 機能 PIN 機能
ETH TX+ VCC(100mA) VCC
ETH RX+ デジタルI/O 1 CAN_H
ETH RX- GND GND
ETH TX- デジタルI/O 2 CAN_L
    デジタルI/O 3    
    デジタルI/O 4    
▲タブのトップへ戻る

HDriveはWEBサーバーを搭載しており、モーター情報はWEBブラウザでリアルタイムに確認することができます。
コントローラー設定、電流値、加減速カーブなどの全てのパラメーターが設定可能です。
また、ファームウェアの更新やカスタムWEB GUIを反映することも可能です。

▲タブのトップへ戻る

HDriveは複数のプログラミング言語で制御が可能です。以下が、チュートリアルとサンプルコードです。
イーサネット接続の場合は、TCPクライアント/サーバー接続を推奨します。この接続方法では、TCPソケットの生成が必要となります。HDriveはサーバーとして機能し、1つのクライアント接続を扱えます。同時にWEB GUIからTCP接続の確認が可能です。

Python example

import socket
import time

# Configure Socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# Connect to motor
s.connect(('192.168.1.103', 1000))

# Send control command
s.sendall(b'<control pos=\"1000\" speed=\"500\" torque=\"200\" mode=\"129\" acc=\"1000\" decc=\"1000\" />')

# Wait 5 seconds before closing the socket again
time.sleep(5

C# example

using System;
using System.Net.Sockets;
using System.Text;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            //create instance from TCPClient Object
            var client = new TcpClient("192.168.1.102", 1000);

            //if a client has found, the program continues
            Console.WriteLine("client found!");

            //create an instance of the C# Stream class and get the Stream to the client
            var networkStream = client.GetStream();
            byte[] encodedBytes = System.Text.Encoding.ASCII.GetBytes("<control pos=\"1000\" speed=\"500\" torque=\"200\" mode=\"129\" acc=\"1000\" decc=\"1000\" />");

            //send the drive order to the HDrive
            networkStream.Write(encodedBytes, 0, encodedBytes.Length);

            //continuously read data comming from the HDrive
            byte[] buffer = new byte[85]; // read in chunks of 85 Byte 
            int bytesRead;
            while ((bytesRead = networkStream.Read(buffer, 0, buffer.Length)) > 0)
            {
                Console.WriteLine(Encoding.Default.GetString(buffer));
            }
        }
    }
}

Matlab example

HDriveチケットを送信する

t=tcpip('192.168.1.102', 20000, 'NetworkRole', 'client'); %configure TCP Client and Port
fopen(t); % open TCP Connection
fwrite(t, '<control pos=\"1000\" speed=\"500\" torque=\"200\" mode=\"129\" acc=\"1000\" decc=\"1000\" />') % send XML drive order
pause( 5 ) % wait 5 seconds ( because the motor would stop if you close the connection before )
fclose(t);

HDriveチケットを受信する(TCPモード)

HDriveは最大2kHzでチケットを送るため、最新のチケットを受け取るには非常に早く読み込む必要があります。
ループ処理でチケット読み込むか、WEB GUIから送信頻度を減らすことをお勧めします。

clear all;
t=tcpip('192.168.1.102', 1000, 'NetworkRole', 'client'); %configure TCP Client and Port
fopen(t);%open TCP Connection
A = fread(t, 150); %receive one HDrive ticket
% convert received bytes into string
recieved_string = sprintf('
% interpret string
time_ms = str2num(recieved_string(137:146));
position = str2num(recieved_string(23:32));
calibration = str2num(recieved_string(59:62));
speed_RPM = str2num(recieved_string(42:49));
% close connection
fclose(t);

HDriveチケットを受信する(UDPモード)

HDriveをホストに対してUDPチケットを送るよう設定する必要があります。WEB GUIから設定可能です。

hold on;
clear all;
%configure and open UDP Connection
u=udp('192.168.1.102','RemotePort',2000,'Localport',1001);
set(u,'DatagramTerminateMode','off');
u.ByteOrder = 'littleEndian';
fopen(u);
% read UDP data and convert to 32bit integers
data = fread(u, 3, 'int32');
%store data to local variables
time = data(1);
position = data(2);
speed = data(3);
% close connection
fclose(u);
▲タブのトップへ戻る

円滑で複雑な制御が可能

HDriveは最新のARMマイクロコンピュータと高性能な位置センサを搭載しています。

フィールド指向制御(FOC)の複雑な制御アルゴリズムによって、DCサーボモータと同様の円滑なモータ動作を実現しています。

加速度、減速度、速度はそれぞれ個別に設定でき、モータの状態に応じて最適な値を計算します。

最大8つのスレーブモータを制御

接続はイーサネットだけでなく、CANスレーブ/マスターとしても利用できます。

HDriveをCANマスタとして設定すると、CANスレーブは自動的に認識され、ローカルのCANネットワークを構築します。 イーサネット接続されたマスターからすべてのスレーブにコマンドを送ることができるので、スレーブ間の通信は気にする必要がありません。同期信号によって自動的にトリガーがかかるので、マスタとスレーブは同時に動作を開始します。

接続例

接続はイーサネットだけでなく、CANスレーブ/マスターとしても利用できます。

イーサネット接続されたマスターからすべてのスレーブにコマンドを送ることができるので、スレーブ間の通信は気にする必要がありません。

動画

6DOFロボットアームによる正確な模写
自動でバランスを取る二輪ロボット
iPhoneでサーボモーターを制御
2Dレーザースキャンシステム
AForgeライブラリを使用したトラッキングユニット
6DOFロボットアーム
ボタン操作による位置の切替え
▲タブのトップへ戻る
商品コード(型番) 構成/内容 価格
HDrive17-ETH-i HDrive17-ETH-i ネットワークサーボモータ お問い合わせ
HDrive-M8EP-1m M8コネクタ イーサネット、電源ケーブルセット 1m お問い合わせ
▲タブのトップへ戻る
  1. HOME
  2. 商品検索:カテゴリ
  3. 3Dセンサ・システム
  4. ネットワークサーボモータ
ページ上部へ戻る