编辑器设定及监控


编辑器设定及监控的命令是enc

相关命令有计数方向设置、计数器值设定、计数值监控及定期监控等。

设定编辑器计数方向

设定计数方向的命令是Tset pol

"dc1 enc set pol (polarity)"

polarity上指定计数方向(+ 或是 -),基本值是+。

在传感器为一个的编辑器上polarity上设定为0。 此情况,pos的值将会一直增加。

方向 旋转方向 计数器值
+ forward increase
+ reverse decrease
- forward decrease
- reverse increase
0 forward increase
0 reverse increase
spc_request_dev($sid, "dc1 enc set pol +");
spc_request_dev($sid, "dc1 enc set pol -");

设定编辑器计数 值

设定编辑器计数值的命令是set pos

"dc1 enc set pos (value)"

value指定计数值。计数值可设定范围为-1000000000 (-10亿)至+1000000000 (10亿)。

spc_request_dev($sid, "dc1 enc set pos -5000");
spc_request_dev($sid, "dc1 enc set pos 3000");

设定取样计数

设定编辑器取样计数的命令是set psr

"dc1 enc set psr (value)"

value上指定取样计数。

编辑器器取样计数指在测定编辑器输出脉冲时使用的脉冲个数。取样计数越多,误差越小。编辑器取样计数可从1设定到64。

spc_request_dev($sid, "dc1 enc set psr 16");

监控编辑器计数值

监控编辑器计数值的命令是get pos

"dc1 enc get pos"

<?php
include "/lib/sd_spc.php";
spc_reset();
spc_sync_baud(115200);
$sid = 1;

spc_request_dev($sid, "dc1 pwm set period 10000");
spc_request_dev($sid, "dc1 pwm set width 1000");

while(1)
{
    $count = spc_request_dev($sid, "dc1 enc get pos");
    echo "$count\r\n";
}
?>

监控编辑器输出脉冲周期

监控编辑器脉冲输出周期的命令是get period

"dc1 enc get period"

编辑器输出脉冲的周期的单位是毫秒(us)。

为了减少误差,在进行编辑器输出脉冲周期监控时,请将编辑器取样数设定为高值。

<?php
include "/lib/sd_spc.php";
spc_reset();
spc_sync_baud(115200);
$sid = 1;

spc_request_dev($sid, "dc1 pwm set period 10000");
spc_request_dev($sid, "dc1 pwm set width 1000");
spc_request_dev($sid, "dc1 enc set psr 4");

while(1)
{
    $count = spc_request_dev($sid, "dc1 enc get period");
    echo "$count\r\n";
}
?>