图3为过零检测原理图。用光电隔离器TIP521对电压过零检测。当电压没有过零时,TIP521中有一路导通,则DT&DS=0;当电压过零时,则DT&DS=1。DT、DS经一与非门接到S3C44B0X的PG0口,则当电压过零时,触发中断EXINT0。
4、基于FUPID的加热电流优化控制策略
电镦机镦粗过程中镦粗压力、镦粗缸和砧子缸的速度以及加热电流等几个参数对气门成型温度、成型形状及质量等有直接影响,而且各参数需优化配合。加热电流直接影响加热温度,但镦粗速度也会影响加热温度,而镦粗速度又受加热温度和镦粗压力的影响。这些参数之间互相影响,且这几个参数的变化关系是非线性的,用常规的PID控制器,难达到较好的效果。
FuPID是将模糊控制与经典PID控制相结合形成的新型控制器,适用于非线性严重、工况变化大的过程,能够有效提高控制品质。FuPID使用方便,参数调整可以参照PID控制器的调节经验进行。FuPID还可以根据实际对象的特点,实现局部控制规则的调整,从而实现控制参数的局部优化,实现更好的调节效果。
4.1 模糊控制控制策略
模糊控制器[4][5]是一种语言型控制器,故也称为模糊语言控制器,其核心就是利用模糊集合理论,把人的控制策略的自然语言转化为计算机能够接受的算法语言所描述的控制算法,这种方法不仅能实现控制,而且能模拟人的思维方式对一些无法构造数学模型的被控对象进行有效的控制。
模糊控制的主要步骤是:
①将真实的确定量输入转换成一个模糊矢量。
②转换的模糊矢量由基于专家或手动操作熟练人员长期经验而推理形成的一种语言表示形式-模糊规则,来计算出模糊的控制量。
③由模糊控制量计算处理得到精确的控制量并输出到执行机构上。
为了提高控制性能,采用二维模糊控制器。FUPID控制器结构框图如4所示:
5、可控硅调功控制的软件实现
5.1 电压过零点检测
电压过零检测端口接到ARM端口G的PG0端口,则当电压过零时触发ARM的外部中断EXINT0。
中断初始化为:
Void init_Ext0(void)
{ rINTMOD=0x0;//设置为IRQ中断
rINTCON= 0x1;//允许IRQ中断
……}
Void Eint0Isr(void) //中断服务程序
{
OS_ENTER_CRITICAL();//关中断
rI_ISPC=BIT_EINT0; //清挂起位
rEXTINTPND=0xf;//清EXTINTPND
OS_EXIT_CRITICAL();//开中断
OSSemPost(Sem);
}
5.2 触发脉冲的实现
检测到电压过零后,启动定时器来对导通角触发位置进行计时,当计时时间到时,由PE5口发出一触发脉冲。在系统中采用定时器0来定时。时钟初始化程序为:
Void timer_Int(void)
{
rINTMOD=0x0;
rINTCON=0x1;//使能中断
}