可以4轴连动,可以支持LabVIEW编程,含软件开发包
一、概述
移动平台控制器用于控制步进电机驱动的移动平台实现多种运动,也可用于使用两相步进电机驱动的其它设备的控制。自带摇杆可实现直接手动方式的运动控制;从控制软面版实现运动控制,或者由计算机编程实现更加灵活多样的控制方式。每台移动平台控制器Z多可独立或联合控制4台步进电机,实现多达四维空间的方式运动。移动平台的位置信息实时显示在LCD 显示屏上。
同时内置运动控制和电机驱动模块,控制连接简单化;命令控制、 驱动程序等灵活多样的编程控制方式,可支持多种软件控制的开发。
二、连接方法
1.X通道:用DB9(孔)-DB9(针)连接电缆与移动平台X 方向控制端连接;切不可带电拔插!
2.Y通道:用DB9(孔)-DB9(针)连接电缆与移动平台Y 方向控制端连接;切不可带电拔插!
3.Z通道:用DB9(孔)-DB9(针)连接电缆与移动平台Z 方向控制端连接;切不可带电拔插!
4.L通道:用DB9(孔)-DB9(针)连接电缆与移动平台L 方向控制端连接;切不可带电拔插!
5.RS232:用附件中的 DB9(孔)-DB9(孔)连接电缆与 PC 机 RS232口连接;
6.电源:与附件中的电源适配器连接。
三、直接手动方式操作
1.按规定连接好X、Y、Z、L通道电缆;(切不可带电拔插!)
2.将电源适配器与移动平台控制器的“电源"插座连接;(只可使用本机自带的电源适配器,不可更改!)
3.确认所有连接正确,平台移动所需空间足够,各设备放置平稳后, 将电源适配器的交流插头接入市电;
4.左/右摇动四维摇杆手柄,平台 X 方向电机正/反转动;
5.前/后摇动四维摇杆手柄,平台 Y 方向电机正/反转动;
6.正/反旋转四维摇杆手柄,平台Z 方向电机正/反转动;
7.按住摇杆手柄上的按钮同时左/右摇动摇杆手柄,平台 L 方向电机正/反转动;
8.摇动四维摇杆手柄,体会平台移动速度与摇杆关系;
9.四维摇杆手柄某一方向处于自由位置(零位)6 秒以上,相应方向的电机将自动变为“空闲"状态;
10.程控(含控制软面板)时,推动摇杆可解除推动方向的程控控制, 摇杆回位,该方向即可停止运行,可作为急停功能使用。
四、控制软面板实现运动控制
1. 移动平台控制器与计算机通信采用 RS232 接口;
2.用RS232 电缆连接计算机和移动平台控制器;
3.确认所有连接正确后,再给移动平台控制器上电;
4.再计算机上运行:PDV Controller.exe,得到如下介面:
上半部分为直接控制区,左下部为联动控制区,右下部分为面板数据存取、端口控制和退出部分。
5.直接控制区。
通道:指明后面控制数据所在的行所属的控制通道;
行进速度:让相应控制通道的电机以该速度运行,其值在-4096~
4095 之间。正值正转,负值反转,觉对值不得大于后面的“Z高速度",否则速度的觉对值为“Z高速度";
Z高速度:让相应控制通道的电机速度觉对值的Z大值,其值在0~4096 之间,用以表明“行进速度"、“行进位移"和“点动位移" 模式时的Z高限速;
行进位移:以尽可能高的速度(不超过“Z高速度")行进的距离。 其值与后续“位移比"的乘积应在-230~230-1之间;
点动位移:点击 M-或 M+按钮时相应通道将反向或正向移动对应于设定值的位移量。其值与后续“位移比"的乘积应在-230~230-1 之间;
位移比:“行进位移"和“点动位移"模式下实际位移量与所设定位移量的比例系数。通过设定该比例系数可实现设定值为不同单位(如 mm、度等)时与实际位移量间的转换。
平台状态:显示平台当前位置信息和限位信息。数字为位置信息,“max"或“min"表示平台已到达远端或近端限位位置;
连续更新:勾选时“平台状态"信息将与移动平台控制器显示状态信息同步连续更新,未勾选时则不再更新“平台状态";
6.“联动控制"区:联动控制功能是用被选中为联动的通道来实现空间任意曲线运动的。这里定义一种曲线表示方式(与四维空间曲线表示类似):一条“曲线"由一个或多个直“线段"连接而成。
模值:为“线段"的长度;其值在-231~231-1 之间;X分量、Y分量、Z分量和L分量:每条“线段"在X、Y、Z和L方向上的矢量长度与线段长度“模值"的比值的32768倍(215倍),其值在-32768~32767 之间;
添加线段:将上述“线段"添加到“曲线"上;清除曲线:将“曲线"中的内容清除;
曲线:由一系列“线段"组成的“曲线"的数据;曲线上每条线段的数据表示为一行,分别为线段的“模值"、“X分量"、“Y分量"、“Z分量"和“L分量",用“,"号分开,行尾也用“,"号。曲线有多少个线段就有多少行,也可按照此格式在该文本显示框中直接编辑曲线数据。
X联动、Y联动、Z联动、L联动:勾选则相应通道参加联动,未勾选中的可独立运动;
联动限速:在线段方向上的Z高速度,其值在 0~4096 之间;
重复次数:前述曲线运动的重复次数,其值在0~65535之间;0表示只运行一次,不重复;1表示运行一次,重复一次,共两次,依此类推。
如果重复曲线运动要求曲线的起点和终点是同一点,否则重复的曲线将形状相同而不能重合。
开始运行:将曲线数据下传到移动平台控制器,启动电机,开始曲线运动。
7.在运行中实现等待。在联动控制过程中,将需要等待的通道的“×分量"设为0,则对应通道将停止运行。当“模值"的256 倍不小于“联动限速"的平方时,等待时长为:(256×模值/联动限速+联动限速)×0.4096ms;当“模值"的256倍小于“联动限速"的平方时,等待时长约为:32×模值的平方根×0.4096ms。
8.面板数据存取、端口控制和退出。
保存数据:保存面板上的各输入框及状态控制数据到数据文件中;但“曲线"数据不保存。
恢复数据:从数据文件中读取上述保存的数据,设置到面板上的各输入框及状态控制上,不含“曲线"数据。
通讯端口:设定计算机与移动平台控制器的串口号。退出(Exit):退出控制面板。
五、用命令实现运动控制
移动平台控制器从计算机接收命令,实现运动控制,前述控制软面板就是通过这些命令实现的。
1.RS232接口协议:波特率57600,无校验,8数据比特,1停止位;
2.传输形式:计算机主控传输,计算机每次向移动平台控制器传发送1字节后,需要等到移动平台控制器向计算机发送字节0Dh,表示移动平台控制器确认收到该字节,计算机才能再向移动平台控制器传发送下1字节,再等到移动平台控制器向计算机发送字节0Dh,表示移动平台控制器确认收到该字节,…….,依此类推;
3.命令格式:每个命令由字符串组成,字符采用ASCII 编码。字符串总长度不超过16 字节(含分隔符)。命令组成有两种方式:一种是: 两个字母+“;";另一种是:两个字母+数字+“;"。字母区分大小写;“;"号就是命令的分隔符号。除此以外不能有其他符号(含空格)。
例:X 通道以3000速度反向行进:“SX-3000;"
4.命令集。
功能 |
命令形 式 |
功能说明 |
备注 |
举例 |
设定运行速度 |
SXn; SYn; SZn; SLn; |
X以速度n行进 Y以速度n行进 Z以速度n行进 L以速度n行进 |
n=-4096~4095 速度V(转/秒)=n×55/220 |
SX100; SY-234; SZ1000; SL4095; |
上传数据 |
UX; UY; UZ; UL; US; UM; UH; |
上传X位置数据 上传Y位置数据 上传Z位置数据 上传L位置数据 上传限位数据 上传运行模式数据 上传零位数据 |
返回9字节 返回9字节 返回9字节 返回9字节 返回1字节* 返回1字节* 返回1字节* |
UX; UY; UZ; UL; US; UM; UH; |
设定运行位移 |
DXn; DYn; DZn; DLn; |
X行进位移n Y行进位移n Z行进位移n L行进位移n |
n=-230~230-1 单位:微步。 1微步=360/12800度=0.028125度。 |
DX350; DY-9987; DZ-3456; DL100020; |
设定Z高速度 |
MXn; MYn; MZn; MLn; |
XZ高限速为n YZ高限速为n ZZ高限速为n LZ高限速为n |
n=0~32767 速度V(转/秒)=n×55/220 |
MX2560; MY200; MZ1002;ML4096; |
任意速度模式 (说明见后续例) |
NXn; NYn; NZn; NLn; |
准备速度控制数据下 传,n为时段数。 |
n=0~682(仅X) n=0~341(仅用XY) n=0~170(XYZ或XYZL) |
NX50; NL120; |
LTn; |
下传时长数据n |
n=0~230 |
LT100000; |
|
LAn; |
下传加速度数据n |
n=-32767~32767 |
LA256; |
|
RXn; RYn; RZn; RLn; |
X重复次数 Y重复次数 Z重复次数 L重复次数 (重复次数=总运行次数-1) |
n=0~65535 |
RY132; RZ384; |
TMn; |
开始运行任意速度过 程。n为通道控制值,处于任意速度模式下的通道的加权值之和。 定义:如参与任意速度模式: X通道加权值1; Y通道加权值2; Z通道加权值4; L通道加权值8; 不参与加权值为0; |
n=0~15 |
TM1;(X通道运 行) TM2;(Y通道运行) TM4;(Z通道 运行) TM8;(L通道 运行) TM10;(YL通道运行) TM3;(XY通道运行) TM7;(XYZ通道运行) TM15;(XYZL通道运行) TM0;(XYZL通道 推出任意速度模式) |
|
ARn; |
从SD卡读取任意速度 模式数据。 |
n=0~8192 |
AR8; |
|
ASn; |
保存任意速度模式数据 到SD卡 |
n=0~8192 |
AS10; |
|
停止 |
PA; |
立即停止所有运行。 |
*详细说明见后面的例
5.控制举例:
例1. 移动平台控制器向计算机上传上传限位数据。
(1)计算机向移动平台控制器下发字符串:“US;"。
每发送一个字符,都要等到移动平台控制器返回一个字节(0Dh),才可接着发送下一字节。
(2)计算机得从移动平台控制器读取1 字节, 这个字节表示平台位置信息:
如果bit0=0,则X 方向已到Z小位置;如果bit0=1,则X 方向未到Z小位置;如果bit1=0,则X 方向已到Z大位置;如果bit1=1,则X 方向未到Z大位置;如果bit2=0,则Y 方向已到Z小位置;如果bit2=1,则Y 方向未到Z小位置;如果bit3=0,则Y 方向已到Z大位置;如果bit3=1,则Y 方向未到Z大位置;如果bit4=0,则Z 方向已到Z小位置;如果bit4=1,则Z 方向未到Z小位置;如果bit5=0,则Z 方向已到Z大位置;如果bit5=1,则Z 方向未到Z大位置;如果bit6=0,则L 方向已到Z小位置;
如果bit6=1,则L 方向未到Z小位置;如果bit7=0,则L 方向已到Z大位置;如果bit7=1,则L 方向未到Z大位置;
例2. 移动平台控制器向计算机上传联动状态。
(1)计算机向移动平台控制器下发字符串:“UJ;"。
每发送一个字符,都要等到移动平台控制器返回一个字节(0Dh),才可接着发送下一字节。
(2)计算机得从移动平台控制器读取1 字节, 这个字节表示平台位置信息:
如果bit0=1,则X 方向已参与联动;如果bit0=0,则X 方向未参与联动;如果bit1=1,则Y 方向已参与联动;如果bit1=0,则Y 方向未参与联动;如果bit2=1,则Z 方向已参与联动;如果bit2=0,则Z 方向未参与联动;如果bit3=1,则L 方向已参与联动;如果bit3=0,则L 方向未参与联动;
例3. 在三维空间中,画出重原点O(0,0,0)到P(1000,2000,-3000)的直线段 OP。
(1) 找出线段的“模值"。
可以将线段的长度作为“模值",为计算简单也可找一个不小于觉对值Z大的分量的数作为“模值"。这里不妨就取觉对值Z大的分量作为模值,即3000;
(2) 计算分量:
X 分量=X 位移量/模值×32768=1000/3000×32768=10922;
Y 分量=Y 位移量/模值×32768=2000/3000×32768=21845;
Z 分量=Z 位移量/模值×32768=-3000/3000×32768=-32768;
L 分量=L 位移量/模值×32768=0/3000×32768=0;
(3) 发送曲线数据:
JD7; //准备联动数据下传,X、Y、Z联动,L不联动。 JW1; //线段数量:1段。
JL3000; //模值。
JW10922; // X 分 量 。
JW21845; // Y 分 量 。
JW-32768; // Z 分 量 。
JW0; //不涉及L通道,L分量也要设定,其值为0即可。
如有更多线段,可相应修改线段总数,并依次重复上述“模值",
“X分量",“Y分量",“Z分量",“L 分量"设定过程,直至设定完所有线段为止。各参数设定必须依次顺序。
(4) 开始运行联动过程:
JT0; //运行一次,不重复。
重复运行时,当曲线的起点和终点在同位置时,重复运行时则会反复画同一曲线;起点和终点不在同位置时,一次运行的终点将成为 随后一次的起点,但都画同样的曲线。
(5)运行模值不为0,而分量为0的“线段"时,即形成“等待"。等待时长:当“模值"的256倍不小于“联动限速"的平方时,等待时长为:(256×模值/联动限速+联动限速)×0.4096ms;当“模值"的256倍小于“联动限速"的平方时,等待时长约为:32×模值的平方根×0.4096ms。
六、运用库函数实现运动控制
系统提供动态链接库函数,用户可在自己的应用程序中调用这些函数,满足特定的应用。
头文件:Vector_dll.h
动态链接库:vector_generator.dll
函数定义:
1.初始化串口
intstdcall SetComPortn(intport_number);
//port_number=1:com1;
//port_number=2:com2;
该函数应该在所有函数之前调用,因为其它函数可能使用的串口,使用前应该先初始化。
2.关闭串口
intstdcall CloseCommPort(intport_number);
//port_number=1:com1;
//port_number=2:com2;
该函数应该在所有函数之后用,因为其它函数可能使用的串口, 只有在不再使用串口时才能关闭它。
3.设置行进速度
voidstdcall SetSpeed(int Channel, intSpeed);
//Channel=0,1,2,3对应X,Y,Z,L通道
//Speed =-4096~4095
4.设置行进距离
voidstdcall SetDistance(int Channel, intDistance);
//Channel=0,1,2,3对应X,Y,Z,L通道
//Distance = -230~230-1
5.设置Z高速度
voidstdcall SetMaxSpeed(int channel,intMaxSpeed);
//Channel=0,1,2,3,4对应X,Y,Z,L,联合
//MaxSpeed =-4096~4095
6.取得位置数据
intstdcall GetDisplay(intChannel);
//Channel = 0,1,2,3 对应 X,Y,Z,L 通道
7.取得限位或联动数据
intstdcall GetStatus(intContent);
//Content = 0/1 = 限位/联动
8.联动数据下传联动数据
voidstdcall SetJointData(int Joint[4],intTotal_Seg,doubleModulus[400],doubleCompnent[400][4]);
//Joint[0,1,2,3] = 1/0 = [X,Y,Z,L]通道是/否联动
//Total_Seg: 线段总数(0~330),
//Compnent[400][0,1,2,3] = [X,Y,Z,L] 分量;
KZ-100步进电机运动控制器 支持LabVIEW编程4维连动步进电机运动控制器
KZ-100步进电机运动控制器 支持LabVIEW编程4维连动步进电机运动控制器