什么是电磁阀
电磁阀(Solenoid)是工业上用来控制气动或液压管路通、断的设备。通电时,电磁阀中的线圈产生电磁力把金属阀门件从阀座上提起,阀门切换到开路;断电时,电磁力消失,弹簧把阀门件压在阀座上,阀门切换到闭路。
FRC 赛事中常用的电磁阀为一位五通和二位五通电磁阀,五通即阀门有5个接口;一位指的是电磁阀只有一侧有线圈,另一侧靠弹簧复位;二位指两侧分别由一个线圈,完全依靠线圈控制阀门移动到两个位置上。
二位五通电磁阀气动控制模块
气动控制模块(Pneumatics Control Module, PCM)是 FRC 用来控制电磁阀的电器模块。PCM 上面共有 8 个端口,编号 0~7。在程序中创建电磁阀对象时的参数即为 PCM 的端口号。
PCM 模块程序
一位五通电磁阀
import edu.wpi.first.wpilibj.Solenoid;
...
public class Robot extends TimedRobot {
Solenoid exampleSolenoid; // 声明电磁阀变量
...
@Override
public void robotInit() {
exampleSolenoid = new Solenoid(1); // 创建电磁阀对象,接在 PCM 1 号端口
...
}
...
@Override
public void teleopPeriodic() {
if (/* 某些条件 */) {
exampleSolenoid .set(true); // 开启电磁阀
}
else {
exampleSolenoid.set(false); // 关闭电磁阀
}
...
}
...
}
二位五通电磁阀
import edu.wpi.first.wpilibj.DoubleSolenoid;
...
public class Robot extends TimedRobot {
DoubleSolenoid exampleDoubleSolenoid; // 声明电磁阀变量
...
@Override
public void robotInit() {
exampleDoubleSolenoid = new DoubleSolenoid(2, 3); // 创建电磁阀对象,接在 PCM 2 号和 3 号端口
...
}
...
@Override
public void teleopPeriodic() {
if (/* 条件A */) {
exampleDouble.set(DoubleSolenoid.Value.kForward); // 电磁阀开启,一路输出压力
}
else if (/* 条件B */) {
exampleDouble.set(DoubleSolenoid.Value.kReverse); // 电磁阀开启,另一路输出压力
}
else {
exampleDouble.set(DoubleSolenoid.Value.kOff); // 电磁阀关闭,两路都没有压力
}
...
}
...
}
网友评论