本帖最后由 bg1trk 于 2020-5-17 20:59 编辑
而且程序相当简单。
如果做数控,在硬件条件的基础上,用单片机控制比用比较器简单得多,尤其是分段多的时候。你甚至可以重新编程市场上销售的单片机的数显小表头,拿出几个I/O口做继电器控制,风扇调速等。
一开始做数控电源的时候,用单片机控制切换,只用两个继电器做四段切换,八段切换加几个判断句。
以下是继电器控制函数,特别添加了几个注释。如果你学习一点C语言,你会发现程序非常简单,只是几个判断句:
/*********************************************************************************
* 函 数 名: JDQ_CONT
* 功能说明: 继电器控制,继电器值控制继电器开关
* 形 参:ADC_V
* 返 回 值: 无
* 日 期:
*********************************************************************************/
void JDQ_CONT(u16 ADC_V)
{
if(ADC_V<=510) //当电压从低到高变化时,5.1V跳变。
{
JDQ_J1_L;
JDQ_J2_H;
}
else //从高到低变化,5.0V跳变。
if(ADC_V>520 && ADC_V<=1300) //保留0.1V滞回空间。
{
JDQ_J1_H;
JDQ_J2_H;
}
else
if(ADC_V>1330 && ADC_V<=2000) //保留0.3V滞回空间。
{
JDQ_J1_L;
JDQ_J2_L;
}
else
if(ADC_V>2030) //保留0.3V滞回空间。
{
JDQ_J1_H;
JDQ_J2_L;
}
}
大致的工作流程是单片机通过某A/D功能的I/O口(或外置ADC)输出电压AD转换后赋值给一个变量,这个变量再循环往复的与程序内置的切换电压进行比较,符合某个分段条件时,就将用于继电器控制的I/O口置相应的电平。
比如三个继电器,挑三个I/O口设置为输出状态,这三个对应于某段切换I/O口腔高低电平组合。
上述函数是指电压低于5.1V时继电器J1释放、J2吸合;高于5.2V、低于13V时继电器J1吸合、J2吸合;以此类推,中间的差值是回差。