资讯详情

我在想用单片机控制3个继电器的通断,实现主电压8档切换,做一个30V5A的电源。可我

本帖最后由 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吸合;以此类推,中间的差值是回差。

标签: ad8851继电器j917继电器j912中间继电器d4367c继电器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台