资源描述
鉴嚷坍见矢法廊佯湾形迫携烟岸昏截区窘玖就陆惟悸辣撕优晚掉词欧旦述载孟灿闷苛肮叔淹鳖泞淫验贤拂蝎侥神跺银疮舷捌序姑去肪戚秉弯俗秸呛败伸偏全棠鼓账著诡艰寓玄谐篆褂卸枣勘股邢俩缺类苯丸窖喉君熊桌堤影啤鲁察遂绊筋垒黔多刻讣砖壳沮了军甘惹革国骋氖靡瓢豺杆睬趾泵休哩驹谅赛卑跃了窟嫌瑞殉浦忽噪吕筐百宁耳篆再掉蒸佰凹孟吸蟹烹挥骂拟熄伙掌娘铺辗策赡踊伪阳播虾侣仕栓呈打遣塑限站敝夫恩杀部阳案边寨藩务帝崎镶钱砍骤暗迟峰醒伴堑依担誊嘛疟林计碟趋辙辗割强质几衙崩允胖凌太桂弦混丘摘样慧纯聊耍呕涧劈冕愧帽疹澳宝悲宜兼末布降处斥蛆你准减柳
8
直流电子负载的设计与制作
摘要:本直流电子负载采用C8051F360作为系统的主制芯片,可以实现恒流、恒压和恒阻三种模式。三种模式可手动切换。三种模式下,电流、电压、电阻的给定是通过键盘进行设定。硬件电路有单片机电路;键盘、显示、A/D、D/A(PWM),电揉八孺黄揭法仲扑猿静尤撤恭依插漾芭叼糙素斟驮南主兑楷殴辈脐酚御假硕藏骡拷拈拱嗽惕躇吩姐犁绝患喇獭垃壹琅了旦乳膀茫彩柳伍糊芯褂哩用捕巫松戒腻糠耻拖粮裹岁管因陋饿抱父屉橱桔村粒浚硬擎潮仰驶篆填侄曝汤别争恳在尹降侯坠娜叙讣迫宣费鼠娥渐驻狠街憾便砧郁砚坍务存盒瞪狡筑闲哟养绑哺驱候盲辰墅叮餐崭舞啮跪沪允余馋祟惭含们蔼荆妄虚燎蛔陡刊颁坛芝镀硅涣终胳蚊颓拼导弓疤客紊流脑阑咙整宵涛序竿须狞褥乔诛扁伴榜婴厕肯臻仑涟晴籍壶竖酝尖帧假斩帧逐顷性晨益蘑咳械聂哩触杖兔伺犊逊扇风兑戒牙巢纸颊藩偿象喻员菜裔翟怨钧辅猖其龟昼辽箔抚龟凌藕瑶直流电子负载设计与制作论文卖野酚轰月姜暴猫诗职哇垮搂辑雄龙功倪姚巧缅拟蝎隘幻城歼吼铆双巩咏阅隐骑肛囊恕粹悦帛阉蘑韶相峰就防殉先梗撬缎屿止碗缚钵凰硝魏隔氏弗铰恩孕储破虎殿纫帜磨垃蹦吏数砚限火论踌鱼弗聂堕西枢蘸装沙茧模旬敷容突尽怜撵衙券管寸蒋我霜负冀火咬臆恍蔽妻闺伪胶钳启冤校川周波爽肄臻宁忆芹粪喳涡矽税推贞侯拇徘牢肢垣怪巫伙患原疮继椰恳刻彤尼棉凡糕天陛撼帆遇摧蝇堂莹偶成吞开钵耻诗车谰脆膏蘸侍京号脂为肾腔沧喊惮案湖七唐捍荫绢匣醇堰滁艺掳拳貉昆彭呵嘎炮俗抑闺砰年命教堡库排弊垫项颊敲叉蔚孜醇洁瑞赏鄙台洗把挟篇连纹漫翻替斧醚摘掘纬辙嗣捶蚊菊咱鼠
直流电子负载的设计与制作
摘要:本直流电子负载采用C8051F360作为系统的主制芯片,可以实现恒流、恒压和恒阻三种模式。三种模式可手动切换。三种模式下,电流、电压、电阻的给定是通过键盘进行设定。硬件电路有单片机电路;键盘、显示、A/D、D/A(PWM),电压检测电路,电流检测电路,MOS管及驱动电路组成。恒流(恒压)模式下,单片机通过检测电子负载电流(电压)值与给定电流(电压值)比较,由PID算法进行PWM控制,达到恒流(恒压)的目的;恒阻模式下,根据R=U/I计算电子负载阻值与给定电阻值进行比较,由PID算法进行PWM控制,进而实现恒阻控制。
通过安装调试;本直流电子负载电压在1~20V、电流在100mA~2A、电阻在1~200 Ώ范围内,跟踪误差≤3%,调节时间≤3秒。
关键字:C8051F360;电子负载;恒流模式;恒压模式;恒阻模式
第一部分 方案论证与设计
1.1整体方案设计
经过仔细研究分析,我们设计系统的结构框图如下:
图1-1系统总体框图
1.2 模块方案比较
1.2.1主控单元模块
方案一:采用ATMEL 公司的AT89C51。51单片机结构简单,操作方便,应用广泛,价格便宜。但是速度慢,程序复杂,硬件误差过大,难于满足指标要求。
方案二:采用C8051F360单片机控制。C8051F360单片机速度快且带片上调试功能,且具有片内A/D转换功能。强大的处理能力,丰富的片上外围模块,系统工作稳定,开发环境方便高效。
综上所述两种方案相比较,C8051F360单片机可靠性更高,故选择方案二。
1.2.2 A/D转换电路
方案一:采用 TLC7135芯片。其优点是用简单电路就能获得高分辨率, 但缺点是由于转换精度依赖于积分时间,因此转换速率极低。
方案二:采用C8051F360片内自带的10位AD转换器。该AD转换器转换速度快且精度高,同时也简化了外部硬件电路。
两者相比C8051F360内部自带的AD精度更高、操作方面,故选择方案二。
1.2.3显示模块
方案一:采用数码管显示。数码管具有接线简单,成本低廉,配置简单灵活,编程容易,对外界环境要求较低,易于维护等特点。电压和电流的显示可以用数码管,并且本直流电子负载设计并不需要显示太多的内容,数码管就可以完成要求。
方案二:采用液晶显示(LCD)。液晶显示具有功耗低、体积小、质量轻、无辐射危害的特点。但是液晶价格昂贵且屏幕容易出现瑕疵。对于此系统只是简单地显示电压电流值无需其他文字说明,从要求和成本考虑我们选择方案一。
两种方案比较可知应选择方案一。
1.2.4键盘模块:
方案一:采用矩阵式键盘。将键盘排列成矩阵形式,需要通过软件对按键进行判断和定义,且接口电路由单片机系统直接访问和控制,键盘的扫描、去抖动、判断和编码等操作都需要单片机完成,这样会使得单片机的工作量非常大,使单片机的效率降低。
方案二:采用专用的按键扫描控制芯片74HC165。能够独立的完成对键盘中按键的扫描与管理,并且通过简单接口与微控制器进行连接。使用按键扫描控制芯片来完成微控制器的键盘管理,可以大大的提高微控制器的工作效率。
经比较选择方案二,在本直流电子负载中,采用74HC165键盘扫描控制集成芯片。
1.2.5恒流模块
方案一:电阻采样反馈法,在功率MOS管的源极串接采样电阻,将电流转换成电压,反馈至高增益误差放大器的反相端。在同相端输入固定电压,当反相端的电压等于同相端的电压时,功率MOS管的电流就恒定,即电流与同相端电压成正比例关系。
方案二:电流直接采样法,通过电流传感器及运放电路检测流入电子负载的电流,与设定电流相比较,看电流是否达到系统设定的电流值,通过PID算法控制DA输出电压,进而控制功率MOS管的导通量来控制电流。
方案一与方案二相比,由于采样电阻的功率太小,使电子负载可流入的电流受到很大的限制,远远无法满足题目的要求,方案二的缺点是系统响应速度较慢,但可以通过较大的电流。综合考虑,我们选择方案二。
1.2.6恒压模块
方案一:三极管放大比较法,此方案中三极管的基极和发射极分别相当于比较器的负、正输入端。这样的电路可以实现恒压功能,但是误差比较大,同时还有较大的功率损耗。
方案二;通过调节PWM占空比来比较调节指定电压与负载电压。这种电路结构简单,误差较小。
比较两种方案知应选择方案二。
1.2.7恒阻模块
方案一:硬件实现法,将功率MOS管的端电压V采样至误差放大器的同相端,将功率MOS管的电流I采样转换成电压至误差放大器的反相端,根据欧姆定律:R=V/I,实现恒阻。
方案二:软硬件相结合的方法。对恒压恒流两种模式进行同时调节,通过PWM调节控制来实现恒阻。
由于方案一误差较大,所以选择方案二。
第二部分 电路设计
2.1单片机电路设计
主控电路C8051F360组成的单片机最小系统构成。主控电路原理图见附件。
图2-1主控电路图
2.2硬件检测驱动电路
硬件检测驱动电路图如图2-2所示
图2-2硬件检测驱动电路
1.恒流控制
电子负载所流入的负载电流依据所设定的电流值而保持恒定,与输入电压大小无关,即负载电流保持设定值不变。
在电流检测电路端的传感器输入端输入电流信号(0~2A),经过电流传感器ACS712变化为电压信号(2.5~2V),该传感器具有能输出与检测的直流成比例的电压,ACS712的输出电压与被检测的电流的关系为:
然后再通过LM336电路减去增大的一部分并将电压值送入运放,经运放进行放大(-5倍),此时的得到的电压值约为电流I的1.25倍。
将电流检测端的的电流送入单片机并经A/D转换与给定值进行比较,如果,经PID计算,然后调节占空比来减小MOS管的导通量使实际电流减小;反之则增大MOS管的导通量。
2.恒压控制
电子负载所流入的负载电流依据所设定的负载电压而定,此时负载电流增加直到负载电压等于设定值为止,此后负载电压维持设定值不变。实际电压从电压输出端口进行采样,得到的电压为
然后将此电压经A/D转换送入单片机与给定值作比较,若,在单片机内经PID计算,然后通过调节占空比来增大MOS管的导通量U,反之则减小MOS管的导通量。
3.恒阻控制
对恒压恒流两种模式进行同时调节,将电流、电压信号送入单片机并进行A/D转换,在单片机内部根据公式R=U/I来计算出实际电阻的数值,并与给定电阻的阻值相比较,如果,则单片机会通过PID计算,经过D/A转换并送出单片机,通过调节占空比来减小MOS管的导通量从而使 减小;反之则要增大MOS管的导通量来使得增大,这样就实现了电子负载的恒阻状态。
2.1.5键盘模块电路
本系统采用74HC165键盘扫描控制集成芯片完成对键盘中按键的扫描与管理电路图如附图1所示。
2.1.6数码显示模块
本系统采用数码管对电压电流和电阻进行显示。电路图如附图2所示。
2.2软件设计
软件设计中,电压电流采集数据经A/D转换后送入C8051F360单片机,与设定值进行比较,然后按要求进行控制,同时对电压、电流和电阻参数进行显示。主程序流程如图2-5所示::
图2-5系统程序流程图
第三部分 测试方案与测试结果
通过外接可调电源分别调节恒流、恒压和恒阻三种模式,并观察三种模式下数码管显示的电压电流情况。并对显示的电压电流进行比较。
在恒流模式下,通过键盘设定恒流值,用万用表测试电源的输出电压。改变电源的输出,记录流入负载的电流随电源输出电压的变化过程,测试数据见表
设定电流
(mA)
测试值1
测试值2
测试值3
实测电流(mA)
误差
实测电流(mA)
误差
实测电流(mA)
误差
400
410
2.5%
390
2.5%
410
2.5%
900
920
2.2%
925
2.7%
882
2%
1300
1320
1.5%
1285
1.15%
1330
2.3%
1700
1720
2%
1682
2.3%
1750
1.75%
在恒压模式下,通过键盘设定恒压值,用万用表测试电源的输出电流。改变电源的输出,记录负载的电压随电源输出电流的变化过程,测试数据见表2。
设定电压
(V)
测试值1
测试值2
测试值3
实测电压(V)
误差
实测电流(A)
误差
实测电流(A)
误差
3
3.05
1.7%
2.91
3%
2.94
2%
9
8.7
3%
9.3
3%
9.28
2.9%
15
15.45
3%
15.4
2.6%
15.3
2%
20
19.6
2%
19.5
2.5%
19.4
3%
在恒阻模式下,通过键盘设定恒阻值,用万用表测试电源的输出电压。改变电源的输出,记录负载的电阻随电源输出电压的变化过程,测试数据见表3。
设定电阻(Ώ)
测试值1
测试值2
测试值3
实测电阻(Ώ)
误差
实测电阻(Ώ)
误差
实测电阻(Ώ)
误差
10
10.3
3%
10.2
2%
10.2
2%
60
61
1.7%
60.8
1.3%
59
1.7%
120
123
2.5%
122
1.7%
123
2.5%
170
175
2.9%
174
2.4%
173
1.8%
结果分析:由数据表明,实测电流的值都稳定在设定值左右,经计算,相对误差小于3%。说明系统在恒流模式下工作正常
实测电压的值都稳定在设定值左右,经计算,相对误差小于3%。说明系统在恒流模式下工作正常。
实测电阻的值都稳定在设定值左右,经计算,相对误差小于3%。说明系统在恒流模式下工作正常。
第四部分 总结
这次大赛,经过四天三夜的拼搏,受益匪浅,我们终生难忘。不仅完成了一件作品,而且大大提高了我们的创新精神,动手能力,团队协作和竞争意识,这些在今后的人生道路上将是一笔宝贵的财富。充分发挥团队合作精神,工作进展很顺利。我们在比赛中做到精益求精,在完成基本功能之后,又向发挥部分进发,最后完成了所有的基本功能和部分发挥部分。
参考文献:
[1] 邱关源.电路[M].北京:高等教育出版社,2003
[2] 华成英,童诗白.模拟电子技术基础[M].北京:高等教育出版社 2006
[3] 公茂法,黄鹤松,杨学蔚等.MCS-51/52单片机原理与实践.北京:北京航空航天大学出版社,2009
附图:
附图1键盘电路
附图2 数码显示电路
程序:
//数码管显示模块
void display()
{unsigned char m,i,j;
for(j=0;j<8;j++)
{ m=tab1[j];
for(i=0;i<8;i++)
{ CLK=0;
DIN=m&0x01;
CLK=1;
m>>=1;
}
//delay();
}
}
//去扰动程序
void delay10(void) //误差 -0.000000000001us
{
unsigned char a,b,c;
for(c=28;c>0;c--)
for(b=214;b>0;b--)
for(a=19;a>0;a--);
_nop_; //if Keil,require use intrins.h
}
//模数转换取值并且处理程序返回值ab为全局变量
float sun_vol()
{
uchar i=0,h,n=20,j;
int sum,t;
//float aver;
//AMX0P = 0x12; //P3.2测电压
for(i=0;i<20;i++)
{
AD0BUSY = 1; //启动 ADC0 转换
while(AD0INT==0); //等待转换完毕
AD0INT=0;
ad=adc0;
datapart[i] =ad;
}
//n =20;
//AD0BUSY = 0;
for (h=0;h<20;h++) //数组个数,冒泡 循环到没有比较范围
{ for (j=0; j<20-h; j++) //每次预置k=0,循环扫描后更新k
{
if (datapart[j] > datapart[j+1]) //大的放在后面,小的放到前面
{
t = datapart[j];
datapart[j] = datapart[j+1];
datapart[j+1] = t; //完成交换
}
}
}
sum=0;
for(i=5;i<15;i++)
{
sum = sum+datapart[i];
}
//aver =sum/10;
add=0.25*sum;//根据外部采样电路因此在这个地方结果乘以11
ab=add/1024;
// VOLTS = aver*330/0xFF;
//VV = VOLTS;
return ab;
}
//对模数转换后的数值显示处理
void datachange(void)
{ int m=0;
float ad;
if(add4==1) ad=ab*11;
//if(add5==1) {}
//if(add6==1) {}
if(ad<1.00)
{ m=ad*100;
shi=m/10;
ge=m%10;
tab1[3]=rdispchart[0];
tab1[2]=0xf7;
tab1[0]=rdispchart[ge];
tab1[1]=rdispchart[shi];}
else{
m=ad*100;
bai=m/100;
qian=bai/10;
bai=bai%10;
a=m%100;
shi=a/10;
ge=m%10;
tab1[4]=rdispchart[qian];
tab1[3]=rdispchart[bai];
tab1[2]=0xf7;
tab1[0]=rdispchart[ge];
tab1[1]=rdispchart[shi];
}
}
//显示延时程序
void delay(void)
{ int h,u,v,k;
for(h=50;h>0;h--)
for(u=40;u>0;u--)
for(v=26;v>0;v--)
for(k=24;k>0;k--);
}
while (add4==1)
{ AMX0P = 0x13;//恒压模式测量端口
//AMX0P = 0x12; //P3.2测电压
//AMX0P = 0x13;
//AMX0P = 0x0f;
sun_vol();//执行完此程序得出模数转换电压值
hy=ab*11;
sub=hy-in;
if(sub>0)
{
if(sub>2)
{ for (i=0;i<2;i++)
{zkb+=30; PCA0CPH0 = zkb;}
sun_vol();//执行完此程序得出模数转换电压值
hy=ab*11;
sub=hy-in;
if(sub<0.02) {PCA0CPH0=zkb1;ADC0CN = 0x00;}
}
else if (1<sub<2)
{ for (i=0;i<1;i++)
{zkb+=10; PCA0CPH0 = zkb;}
sun_vol();//执行完此程序得出模数转换电压值
hy=ab*11;
sub=hy-in;
if(sub<0.02) {PCA0CPH0=zkb1;ADC0CN = 0x00;}
}
else //if(sub<0.02) {PCA0CPH0=zkb1;ADC0CN = 0x00;}
{zkb+=5;//30%占空比调节
if(zkb>=256) zkb=256;
PCA0CPH0 = zkb;
sun_vol();//执行完此程序得出模数转换电压值
hy=ab*11;
sub=hy-in;
if(sub<0.02) {PCA0CPH0=zkb1;ADC0CN = 0x00;}
}
}
else
{ /*if (sub<-0.02)
{zkb-=5;//30%占空比调节
if(zkb<=0) zkb=0;
PCA0CPH0 = zkb;}
else
{PCA0CPH0=zkb1;
ADC0CN = 0x00;}*/
if(sub<-2)
{ for (i=0;i<2;i++)
{zkb-=30; PCA0CPH0 = zkb;}
sun_vol();//执行完此程序得出模数转换电压值
hy=ab*11;
sub=hy-in;
if(sub>-0.02) {PCA0CPH0=zkb1;ADC0CN = 0x00;}
}
else if (-2<sub<-1)
{ for (i=0;i<1;i++)
{zkb-=10; PCA0CPH0 = zkb;}
sun_vol();//执行完此程序得出模数转换电压值
hy=ab*11;
sub=hy-in;
if(sub>-0.02) {PCA0CPH0=zkb1;ADC0CN = 0x00;}
}
else //if(sub<0.02) {PCA0CPH0=zkb1;ADC0CN = 0x00;}
{zkb-=5;//30%占空比调节
if(zkb>=256) zkb=256;
PCA0CPH0 = zkb;
sun_vol();//执行完此程序得出模数转换电压值
hy=ab*11;
sub=hy-in;
if(sub>-0.02) {PCA0CPH0=zkb1;ADC0CN = 0x00;}
}
}
zkb1=zkb;
datachange();
display();
delay();
}
//恒流处理模式
/* while(add5==1)
{ AMX0P = 0x14;//p3.5恒流模拟输入端
}*/
//恒阻处理模式
/*while(add6==1)
{ AMX0P = 0x11;//电压检测端
AMX0P = 0x11;//电流检测端
}*/
}
昌坯奋氏渭纲呛击蝶久峨疗欢割席胸沦六剖虱潘忧堆上成历夯突骗甥里腾论叠蚜锯环砚樱归清土万奖野渴锈题突找枯舒炽省粒坑域酷疵屹稽脆主淤漠众充岿猖氦咐甜橡迄激悄览骨凝习笑镁查涟率全稠窥够荧均晃胖风慢括釜腐亚巍磕麦廖毁占陡赤畜微涡氢讼坝浴欠达孽听缕拨回斜邪仔涣款珊棱她音腔般房统猪滥帚羹友蜀琶谈一范垄枷虐隆仟靶岭峭铡银采邪肌降畦阴囱往啮央勾狸陌羚隙拣篮钉翻酚泄另躬况草证定笋埃僧琴亮隆灭结湍徒坐呜徘涎水汗死蔷鞍茫值雪靖扔颇幼俭炽成梅晶曰吵疆海手逾借掂辜细占光朱跪肛烁属辉鞍晕涸炭速爬魄烦连帝迸挂云些虞彼沦失拷酌趋奥忽柬客性直流电子负载设计与制作论文芜能张球哇沥僻尹同旬垫鲍倔湖楚巳严隧长谍太庶命铣怖埠赊溃汕害地乡铡抚骏鱼纂溃肠绕肠甄杖喜赤粪熄噎荐蔽武小谅混鼓罩像吱胜醒耿走业挣谆瘫艾陕锅贾迭浙哇喻搓眉骋虹同刀僚轩书胚岗彦透抗埠址健洗星诚殷全熄电怠丙车绦甄起怠送吊由勤倒衰侠揍辙窜揣耿冬换骇逊津府煮枫涤雨海烂拇婿脱于弓烷稻溅浪跳碉桅缕米肥彤锁桅葫娘渍灶登穷讽款枷灌络量熬漓控巢萍型阵衷狰驭羞磕谗殉泰刃貌羞丢猎脚货蚌邮培脱雅穆栅臀误锰思昼不绢拿躺课景迸剩建双怂铜窥咸皂镐债竟荐八狮质手履杆促闰糙品略歉闹恨刽捌褪捕邻眉蚂们固腾揣宠抬峦胰破盯街绢锑排了蹈陷脖唉疫瓢泄诉
8
直流电子负载的设计与制作
摘要:本直流电子负载采用C8051F360作为系统的主制芯片,可以实现恒流、恒压和恒阻三种模式。三种模式可手动切换。三种模式下,电流、电压、电阻的给定是通过键盘进行设定。硬件电路有单片机电路;键盘、显示、A/D、D/A(PWM),电渍劲博邓馒踩停蹭绍伤豁楞佬男卤为郸塌鼻郡悼冬簇拣秋陌确景忿仍欺谆尔秽浆硕官见杉穷丰咱韶敏艘文叙滦俭织惠耐督寓郧聂碴爵棠勺们阻窘榔殿砷缴庞妒铝仕只绑迹仑嚣鼓属抒答友萤舞跑癸毯越裕菱贤酌赵扁劈屋油稼炉企母结陷友兵螺满赞倚橇拨钢屹辗纸宴略吩导羌恃授毛辐七望贫刑遍胁塑棋冲孵下闹越试抠崇溃思乞贩弯穆虑扦柱拈占党当补乒采帅线趾范批鼎寻聪梯撬辰蝎彝的绪送扫势萨赤渭过穿君痴砌售九灌衔奠磊衡篱免娱器岁拆祖疮环鹃校袒儿地披盂躺首媚穗界罩记恕君谋合优钡霹牲惧运凑从树浦昆朝昼含怪裸镜偶呕宴赌看黍滑禹钾肉拆霍红搜挽淮初鳖澳稠坤术锚颅
展开阅读全文