嵌入式设计应用
电磁阀(Electromagnetic valve)是用电磁控制的工业设备,是用来控制流体的自动化基础元件,属于执行器,并不限于液压、气动。用在工业控制系统中调整介质的方向、流量、速度和其他的参数。电磁阀可以配合不同的电路来实现预期的控制,而控制的精度和灵活性都能够保证。电磁阀有很多种,不同的电磁阀在控制系统的不同位置发挥作用,最常用的是单向阀、安全阀、方向控制阀、速度调节阀等。
电磁阀工作原理
电磁阀里有密闭的腔,在不同位置开有通孔,每个孔连接不同的油管,腔中间是活塞,两面是两块电磁铁,哪面的磁铁线圈通电阀体就会被吸引到哪边,通过控制阀体的移动来开启或关闭不同的排油孔,而进油孔是常开的,液压油就会进入不同的排油管,然后通过油的压力来推动油缸的活塞,活塞又带动活塞杆,活塞杆带动机械装置。这样通过控制电磁铁的电流通断就控制了机械运动。
单片机控制电磁阀简单电路
GPIO=1的时候,光耦导通,电磁阀吸合;GPIO=0的时候,光耦截至,电磁阀断开;如果需要相反的逻辑,只要去掉驱动光耦的三极管即可;如果这个参数驱动不了BU408,减小R1即可;
最关键就是GPIO上电的状态;保证GPIO上电的时候电磁阀不工作;
如果BU408不合适,可以换TIP117这样的达林顿管。
下面是一个用stc89c52单片机对电磁阀进行一些简单控制的程序
#include
sbit a=P1^0;//下开关
sbit b=P1^1;//上升
sbit c=P1^2;//下降
sbit d=P1^3;//上线位
sbit e=P1^4;//下限位
void main()
{
a=1;// 上开关 常开
b=1;// 上升 常开
c=1;// 下降 常开
d=1;// 上限位开关 常开
e=1;// 下限位开关 常开
while(1) //循环
{
if(a==0) // 判定上开关闭合 执行语句
{
a=1; //断开开关信号 依旧执行 下降 直到碰到下限位开关
c=0; // 2 启动下降
}
if(e==0) // 4碰到下限位开关启动
{
e=1; // 下限位信号保持 依旧执行 上升
c=1; // 2断开下降电磁阀
b=0; // 1一直启动上升电磁阀 直到碰到上限位开关
} //
if(d==0) // 3碰到上限位开关
{
P1=0xff; // 断开所有
}
}
}
全部0条评论
快来发表一下你的评论吧 !