
0-30V调压调流(数控可调电源)+低压电烙铁(T12先弄)
简介
自制 主电源用UC3842 副电源用VIPER22A(12A) 主控芯片STC8K8H64U(20脚) T12、C210、C245等低电压电烙铁(用调压方式控制温度) 0-30V/6A可调电源。
简介:自制 主电源用UC3842 副电源用VIPER22A(12A) 主控芯片STC8K8H64U(20脚) T12、C210、C245等低电压电烙铁(用调压方式控制温度) 0-30V/6A可调电源。开源协议
:CC BY-NC-SA 4.0
(未经作者授权,禁止转载)描述
自制(电源板有跳线和错误。自己要注意)
主电源用UC3842
副电源用VIPER22A(12A)
主控芯片STC8K8H64U(20脚)
T12、C210、C245等低电压电烙铁(用调压方式控制温度)(没其它头只先用T12测试)
0-30V/0-6A数控可调电源。
—————————————外壳——————————————————————
省钱方案。拆电动车控制器外壳。尺寸 长12CM*宽8.5CM*高4CM
整机
—————————————电源板——————————————————————
注意:电源板带市电(220V),有触电的风险。小心触电
主变压器拆舞台拍灯电源板(24V/7.5A)(某鱼买的。4元)。
这个出可以拆电动车充电器变压,
副电源变压器拆美的微波炉板。(维修店里拿的。没花钱。哈哈。)这变压器可以用其它变压器。主要是要有两路输出就行。一路给主电源UC3842供电(15V以上),一路给控制板供电。(6V以上)
UC3842+VIPER22A(12A)
开关管:10N60(某宝十家九家假。可以炸到你怀疑人生。。。。)开关管炸了(Q1)。UC3842(U8),驱动电阻(R8、R9、D3)。电流保护电阻(U6 )估计也会损坏。
驱动芯片:UC3842 测试时先不装开关管 。先给UC3842--7脚供电18V,测电压。1脚好像1V(忘记了。反正电压很小。),2脚5V(Q2保护时是5V),3脚0V,4脚好像4V(又忘记了。反正电压不大。) 5脚0V,6脚0V(Q2保护了,所以0V。通电瞬间测3V以上,马上就被Q2保护降为0V),7脚18V,8脚5V(UC3842有工作没工作主要测这脚。) 。
注意UC3842外围电压都用纶条电容耐压100V,特别是4脚频率电容。
—————————————控制板——————————————————————
主芯片:STC8H8K64U 20脚。刚好够用。主要是便宜(某宝一块多)
电烙铁控制P场管 :9540 (控制电烙铁通断,本来可调电源也要经这个输出,怕这管会炸。就不弄了。)
放大运放:GS8552-SR (某宝一块)主要是零漂(电烙铁温度放大、电流放大。到3V左右到芯片ADC)
比较运放:LM358 (输出电压、电流做比较,控制主电源光耦)(电流经GS8552放大后做比较。也可以不用放大直接比较,好像可以更快控制,下次有空在研究。)
显示:1.7寸12864 (某宝便宜货一块多多点)
—————————————开工电源板——————————————————————
—————————————开工控制板——————————————————————
—————————————开工整机——————————————————————
—————————————源程序——————————————————————
本人几十年前的老中专生了。自学自写。乱七八糟的不敢公开。所以只上传HEX文件
写入时。 IRC 频率 24M EEPROM 4K
—————————————使用说明——————————————————————
五针航空头。。。
最上两脚: 左针 数控电源输出 右针 电烙铁输出(相当于左针过P场管接右针)
中间两脚: 左针 ID识别 右针 电烙铁温度读取(T12二线烙铁与上面电烙铁输出连在一起)
最下面一脚为共用地。
EC11编码器。。。
向左(逆时针)旋转为减-
向右(顺时针)旋转为加+
短按:进入(确定)或调倍数(有*1、*10、*100、*1000方便快速调整)
长按:退出(或保存退出)
关于ID设置。。。。。短按确定--长按保存退出
设置00项--显示当前ID的ADC --按下为设置返回自动识别的ID参数
设置01项--显示 DC--CV --按下为设置当前ADC参数进入调压模式
设置02项--显示 DC--CC --按下为设置当前ADC参数进入调流]模式
设置03项--显示 DC--DC --按下为设置当前ADC参数进入常用电源模式
设置04项--显示 T12-K --按下为设置当前ADC参数进入二线烙铁T12-K
设置05项--显示 T12-J --按下为设置当前ADC参数进入二线烙铁T12-J
设置06项--显示 C-210 --按下为设置当前ADC参数进入三线烙铁 C-210
设置07项--显示 C-245 --按下为设置当前ADC参数进入三线烙铁 C-245
设置08-14项--电压/电流--按下为设置当前ADC参数进入当前电压电流的调压模式
关于电源校对。。。。。短按确定(在短按调倍数)--长按保存退出
设置01项--显示SET ***V --按下为设置当前输出电压
设置02项--显示B ***V --按下为设置当前输出电压的倍数
源程序里的公式PWMB_CCR7=6000-(((u32)CVset<<10)/CVsetBS); //电压设置PWM 乘1024
注: 调压PWM=6000(PWM最大值输出电压为0V)-设置的电压(01项)乘1024再除以设置输出的电压倍数(02项)
设置03项--显示B ***V --按下为显示当前输出电压的倍数
源程序里的公式Vout =(u32)avg(V_ADC) * (u32)VoutBS>>10; //电压输出显示 除1024
注: 显示电压输出=读取电压的ADC 乘 输出电压的倍数(03项) 再除1024
设置04项--显示MAX****V --按下为设置输出最大电压(预设30V)
设置05项--显示SET ***A --按下为设置当前输出电流
设置06项--显示B ***A --按下为设置当前输出电流的倍数
源程序里的公式PWMB_CCR8=6000-(((u32)CCset<<10)/CCsetBS); //电流设置PWM 乘1024
注: 调压PWM=6000(PWM最大值输出电压为0V)-设置的电流(05项)乘1024再除以设置输出的电流倍数(06项)
设置07项--显示B ***A --按下为显示当前输出电压的倍数
源程序里的公式Aout =(u32)avg(A_ADC) * (u32)AoutBS>>10; //电流输出显示 除1024
注: 显示电流输出=读取电流的ADC 乘 输出电流的倍数(07项) 再除1024
设置08项--显示MAX****A --按下为设置输出最大电流(预设6V)
设置09项--显示LCDF **** --按下为设置LCD显示频率(预设400 要*0.5MS即200MS刷新一次)
关于烙铁校对。。。。。短按确定(在短按调倍数)--长按保存退出
设置01项--显示T12-K --按下为设置T12-K或T12-J或C210或C245
设置02项--显示100C --按下为设置100度时的ADC
设置03项--显示200C --按下为设置200度时的ADC
设置04项--显示300C --按下为设置300度时的ADC
设置05项--显示400C --按下为设置400度时的ADC
设置06项--显示500C --按下为设置500度时的ADC
设置07项--显示MAX*****V --按下为设置最大电压(预设2400 即24V)
设置08项--显示MAX*****A --按下为设置最大电流 (预设3000 即3A)
设置09项--显示JKT **** --按下为设置烙铁加热周期(预设400 要*0.5MS即200MS一次)
设置10项--显示DJC **** --按下为设置烙铁待机温度(预设2500 即250度)
设置11项--显示DMK **** --按下为设置烙铁温度差在3度开始调压(预设30 即3度 ,大概升压为回温能快速升压)
设置12项--显示XMK **** --按下为设置烙铁温度差在1.5度开始调压(为了在1.5度时能稳定电压)
设置13项--显示BMK **** --按下为设置烙铁温度差升降压快慢倍数
设置14项--显示DJT **** --按下为设置烙铁温度进入待机/停机的时间(预设300 即300秒 )
设置15项--显示MKV **** --按下为设置烙铁温度进入待机/停机的电压差(预设100 即电压在10V 内开始记时)
电烙铁加热源程序{
t12adc=avg(T12_ADC);
T12out=temp_fitting(t12adc)+NTCout; //T12 这次的温度计算
if(dzok){ukk=dat9-T12out; }//判断是否进入待机。 计算温差
else ukk=T12set-T12out;
if((ukk>0)&&(tzok==0)) //温差大于0,且停机为0(没有停机)
{
if(ukk>=dat10){ CVset+=CVset>>2;} //温差大于大门阀温度(DAT10 为11项)。。电压加上1/4。(DAT10 为11项)
else { if(CVset==dat6)CVset=dat6>>1; CVset+=(ukk-dat11)*dat12;} //温差大于(或小于)小门阀温度(DAT11 为12项)。。电压加(减)扣去温差的倍数(DAT12 为13项)。(DAT6 为07项)
if(CVset>=9999)CVset=100; //电压大于9999设为100,
else if(CVset>=dat6)CVset=dat6; //电压大于最大电压设为最大电压
PWMB_CCR7=6000-(((u32)CVset<<10)/CVsetBS); //电压计算PWM
if(stime==0){stime=1;oktime--;}; //待机(停机)时间自减
if((dat13-oktime)>=30)//正常模式下 时间大于30秒 开始计算(用于稳定温度后电压稳定)
{
if(oktime<=0) //待机(停机)时间到了。
{
if(dzok==0){dzok=1;cmax=dat6;oktime=dat13;} //是(1)否(0)待机,
else {tzok=1;P17=0;oktime=dat13;};
};
vmax=CVset-cmax; //计算本次电压和最小电压差多少。//这里本来想省的。去掉不知道不稳定。
if((vmax<0)&&(ukk>dat11)) { cmax=CVset;} //这次电压比上次小且最低温度大于小门阀温度 ,取最小温度
else if( vmax>dat14 ){ if(vmx){cmax=CVset; dzok=0; oktime=dat13-15;}else vmx=1;} // 电压差大于 待机门槛电压 连续两次不进行待机(停机),用时间重计方法(DAT14 为15项)
else vmx=0;
};
oldt12=T12out; //保存这次温度
T12on=1; //T12 加热时间开始计时
P17=1; //T12加热
}
else{ disk=1;T12on=0;P17=0;T12off=0;if(T12){T12=0;CVset-=50;}}//温差小于0,
}
自己去理解。反正我也很乱
设计图

BOM


评论