100kg电子称调试过程详细说明doc.docx

上传人:b****8 文档编号:11422591 上传时间:2023-03-01 格式:DOCX 页数:13 大小:496.52KB
下载 相关 举报
100kg电子称调试过程详细说明doc.docx_第1页
第1页 / 共13页
100kg电子称调试过程详细说明doc.docx_第2页
第2页 / 共13页
100kg电子称调试过程详细说明doc.docx_第3页
第3页 / 共13页
100kg电子称调试过程详细说明doc.docx_第4页
第4页 / 共13页
100kg电子称调试过程详细说明doc.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

100kg电子称调试过程详细说明doc.docx

《100kg电子称调试过程详细说明doc.docx》由会员分享,可在线阅读,更多相关《100kg电子称调试过程详细说明doc.docx(13页珍藏版)》请在冰豆网上搜索。

100kg电子称调试过程详细说明doc.docx

100kg电子称调试过程详细说明doc

电子称调试过程总结

在电子称程序的调试过程屮主耍设计两人部分内容:

硕件和软件。

苴中硬件部分包拆压力传感器、AD、主控单片机;软件是指代码编写部分。

卜面我就先从锁件的三个方面逐一的阐述调试遇到的问题、注意爭项及具体内容。

1压力传感器

它更准确的说是电阻应变式压力传感器,它主耍由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,电阻应变片(转换元件)受到拉伸或用缩臧变片变形后,它的阻值将发牛变化(增人或减小),从而使电桥失去平衡,产生相应的差动信号,供后续电路测屋和处理。

真体受力变化过程如图1演示:

luIurrj/^Ali31力M仲

RiKi

图1应变式力传感器的受力工作原理

它的特点是:

楙度高、易加工、结构简单紧凑、抗偏敦能力强、固何频率高。

实际外形如图2:

因此,在调试要注意三点:

一是采用惠更斯电桥的传感器仃四根线连接外电路.怎样正确的判定电源正、负极输入,信号1、2输出端口。

二是注意体重测量时的技术参数。

三是称重传感器的固定。

针对第一点,首先我们根据图2导线颜色依次记为黑、门、红、绿;然后用力用表两两测杲四根外接导线电阻阻值,举例说明一卜。

我对图2屮的传感器测最结杲如卜•表:

黑白

八八

黑绿

门纟1

白绿

红绿

307Q

261Q

348Q

394Q

307Q

2610

设定如图3所示

图3采用惠更斯电桥的传感器的外接电路线布局

由两两线何的电阻值和电桥电路可知,黑红、红绿Z间的总电阻值相等,黑白、白绿之间的总电阻值也相等,而白红Z间的总电阻值帕人IL不等值仅小「•它的黑绿线间的总电阻。

所以先假设线路如图3所示,设定Ri、R2、R3、R4,可以列出以下六个公式:

R血绿=尽〃(&+迅+RJ=261

%=RJI(R\+尽+&)=261

R白嫌=尺3〃(尽+&+凡)=307尺黑白=尺4〃(尺1+尺2+尺3)=307心白=(R[+尺3)〃(&+&)=394

R酚=(尺+&)〃(尺3+&)=348

因此可以得出Ri=R2

同时要注意的是为保证粘度,一般不要随意调整传感器的导线线长度。

针对第一.点,耍认克分析体匝测吊的族项盂炉泌:

的技术参数。

例如体旋测吊时的激励电斥5VDC〜12VDC,这个就是我刚开始测杲时忽略的何题,我只考虑到传感器和AD要使用同一模拟供电电源,乂由J:

AD也应该使用和MCU芯片相同的数字供电电源,l(UMCU芯片的数字供电电源为3.3Vo所以我就只选择了3.3V的供电电源,从而导致传感器在此电压I、•无法丁作。

最后这个问题在MCU芯片屮进行了解决,在后文会提到解决方案。

这电解释一卜传感器和AD要使用同一模拟供电电源,AD和MCU芯片相同的数字供电电源。

HX711芯片内的稳压电路町同时向A/D转换器和外部传感器提供模拟电源。

隐压电源的供电电压(VSUP)町与数字电源QDVDD)相同。

稳玉电源的输出电压值(VA7DD)由外部分床电阻Rl、R2和芯片的输出参考电床VBG决定(图4),VA7DD=VBG(Rl+R2yR2o应选择该输出电压比稳压电源的输入电压(VSUP)低至少1OOmV。

图4HX711内部方框图

 

针对第三点,平行梁式称匝传感器使用时耍按悬臂梁方式安装,具体安装方式见图5:

<1—UJt*引岀*代

图5双孔悬臂梁传感器安装方式

可从图中看到,平行梁式称重传感器使用时:

传感器的端支撑起,另•端必须悬空,同时应牢牢固定传感器的位置。

不然测吊时,会孑致测试数据不准确且不稳定,不能作为标定的基准。

2.AD

我们使用的AD电路是HX711,一款专为高糯度电子秤而设计的24位A/D转换器芯片.该芯片集成了包括稳压电源、片内时钟振荡器等英它同类熨芯片所需耍的外用电路,貝冇集成度高、响应速度快、抗十■扰性强等优点。

降低了电子秤的密机成本,提高了整机的性能和川4性。

芯片内提供的稳爪电源叮以自接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。

同时该芯片输入选择开关町任点选取通道A或通道B,与其内部的低噪声町编程放人器相连。

通道A的町编程増益为128或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。

通道B则为固定的32增益,用于系统参数检测。

我们在使用HX711芯片时选择了通道A的可编程増益128。

(l)Hx711实物:

 

(2)芯片手册。

在使用该芯片的过程中,它的芯片手册成为后期调试程序的主要参考指数。

能充分的理解和运用该芯片手册是调试成功程序的询提条件。

卜脚就我调试屮遇到的问题作一分析。

第一,由HX711芯片手册的主耍电气参数表格中,我们可以看到:

有效位数

Numher-ofBits)⑴

=速率二10Hz

197

Bits

兀噪声位散(Noise-

1r«eBits.)'2

増益=128.建率=40Hz

173

Bits

这个表格说明两点问题:

(1)AD输出范国虽然为J4位,其实只仃19位冇效。

但这19位可能不线性。

又因为无噪声位为17位,所以取17位才能保证线性。

因此在代码屮我读取了17位的有效值。

(2)W为AD芯片在放k128倍时.AD转换频率只能达到1OHZ,所以延时时间对应为

lOOniSo

第二,同样参照主耍电气参数表格:

输出总定时间的定义是指从上电、复位、输入通道或增益改变到仃效的稳定输出数据时间。

也就是说芯片只耍求在上电、复位.增益调整时,延迟400ms,AD的值才稳定。

由丁・

设备提供商的参数仃町能是在特殊条件卜•测績的.所以我们在设置时设延时500ms•这样町以留点有余最,扩人适用性范阳。

3•主控单片机

这里我们使用的取片机是STC12LE5A60S2系列单•片机,它是STC生产的单•时钟/机器周期(1T)的单片机.是高速/低功耗/超强抗于扰的新一代8051单片机.指令代码完全兼容传统8051,但速度快8-12倍。

内部集成MAX810专用复位电路,2路PWM»8路高速10位A/D转换(250K/S,即25力次/秒),针对电机控制,强干扰场合。

STC12LE5A60S2系列巾•片机工作电压为22V-36V,为3V电压单片机。

所以这里要说明的问题是3V电斥单片机怎么能够既与AD电源匹配,乂能使传感器可以正常T•作?

其实就是要在准双向II模式屮向3V单片机引脚施加5V电压,那么就耍加限流电阻或用二极管做输入隔离,或用三极管做输出隔离。

又由丁•仃些外国接的是NPN三极管,没仃加上拉电阻,其实基极串多大电阻,I/OII就应该上拉多大的电阻,或者将该I/O丨1设置为

强推免输出。

这也我们所使用的HX711使用的就是8550NPN三极管•正确的做法是应该上拉电阻或强推免,但是不加也是可以,只不过容易造成I/O损坏。

我们这由于前期做主控板时没有考渥到这个问题,所以没有任何处理。

后期会改善这个问题。

4如图6所示传感器与hx711及主控板连接方法。

供电+红色

*地线

抑:

线接CPU—1OU二B寸计线接CPU」O口垓45V屯源

供电•白色

图6连接方法

5破件这三方面的连接如图7所示:

图7AD与MCU连接图

图屮小板子是HX711.人板子是主控单•片机。

贰中HX711左端端II依次是E+、

E-、A+、A-、B+、B-,与传感器相连,颜色与传感器导线颜色对应,依次红白黑绿。

与E+、E・、A+、A-对应相连;其右端端I1依次为GND、DT、SCK、VCC分别-

一对应接于单片机上的GND、P26、P2.7.5V电源处。

接卜•來讲解软件代码坏节。

我们足运用软件keil4,C语言。

卜•而我先把代码呈现给人家:

#include〃51系列单片机头文件sbitADDO=P2A6,〃声明AD的DT端IIsbitADSK=P2A7,〃声明AD的SCK端IIvoidinitO:

〃声明初始函数

voiddelayms(charms),〃声明延时两数voidsend_char(char明串丨I函数

voidget_weiglitO,〃声明获取体巫函数longa,weight,//定义变盘类型

charc[6],al,a2,〃同上

chartab[H0123456789';//同I:

〃同上

〃主函数

〃延时500ms

〃初始化函数

//人循环

〃调用get_weight

longReadCouiit(void),mainO

{

delayms(500),mitQ:

while(l)

{get_weightO,

}

}

voidinitO

TMOD=0x20,

TH1=0xFD,

TL1=0xFD,

SCON=0x50,

PCON&=Oxef,

TRI=1,

IE=0x0,

〃定时器1「•作J:

8位自动鱼载模式,用于产生波特率

//波特率9600

//同上

//设定串行口工作方式

//波特率不倍増

//启动定时器1

//禁止任何中断

/

voidsend_char(chartxd)

/

//传送一个字符

SBOT=txd,while(ITI);

TI=0,

}

voiddelayms(charms)

〃将中丨1发送寄存器中的数据一位位从吊11发送出去//等待数据传送

//清除数据传送标,忐

//延时子程序

for(i=0,i<1卫i卄)■〃農个循坏近似等J-1ms}

}

longReadCount(void)

/

//AD骡动程序

V

longCount,

chari,

ADSK=0,

〃使能AD(PD_SCK置低)

Count=0,

〃清零

while(ADDO),

//AD转换未结束则等待,否则开始读取。

起了同步作用

for(r=0」v24,i++)

/

//24位时钟脉冲从授高位到最低位逐位输出

\

ADSK=1,

//PD_SCK置高(发送脉冲)

Count=Count«l,

〃卜嗓沿來时变駅Count左移-位,右侧补零

ADSK=0,

//PD_SCK置低

if(ADDO)Count-w-,//当数据输出为高电Countftll1

〃获取被测物体匝駅

}ADSK=1,_nop_0;

ADSK=0>retuni(Count)>}voidget_weight()

〃第25个脉冲到來〃延长一个机器周期//第25个脉冲结束〃输出Count

intcount=0,〃定义count变M:

为整型,初值为0

longsum=0,〃定义sum变量为长整型,初值为0

for(coiint=0,count<6,count++)//for循环,变彊count累加到5时跳出for循环{

a=ReadCount(),〃读取AD输出数据,賦值给a

a=a»8,//a右移8位,舍去低八位,a为16位仃效,保证了线性sum+=a,〃将a累加赋值给sum

}

a=sum/5,//sum求'卜均什i赋值给a

//al=a&0xff,//a低8位赋值给al

//a2=a»8,//a右移8位后再把此时的a的低八位赋值给a2

//send_char(a2),〃串II输出a2

//send_char(a1),//串II输出a1

//send_char(Oxab),//«HII输tLlAB

weight=(long)((float)(a-546)*99),

//■RIp:

转换函数,传感器型号不同此曲数要适当修改weight=(weight+50)/l00*100,〃实现I•位四舍五入

c[0]=tab[weight/l00000],〃重鼠值整除得十力位

c[l]=tab[weight%100000/10000],//TE录值帑除得力位

c[2]=tab[weight%10000/1000],〃币;吊値整除得千位

c[3]=tab[weight%1000/100],〃晅彊值整除得百位

c[4]=tab[weight%100/10],〃重彊值整除得十位

c[5]=tab[weight%10];〃乘帚:

值除余得个位

send_char(c[0]),//串II输出从c[0]到c[5],由為位到低位依次输出send_chai*(c[1]),

send_chai*(c[2]),

send_char(c[3]),

send_char(c[4]),

send_char(c⑸),send_chai<64),//?

|lII输出@标记符号

}

/*由J:

称匝传感器线性度参数的不同,而对获得的贞帚数据处理,此处町能会根据不同称重传感器,程序的代码会有所不同*/

对丁•该程序的确定主耍冇两部分:

调试AD输出结果程序和weight转换函数公式。

调试AD输出结果程序:

a=ReadCount0,〃读取AD输出数据a=a»8,//a右移8位,舍去低八位,a为16位仃效,保证了线性

//al=a&0xff,//a低8位赋值给al

//a2=a»8,//a右移8位后再把此时的a的低八位赋值给a2

//send_char(a2),〃串II输出a2

//send_char(a1),//:

I:

II输illa1

//send_char(0xab),〃串II输出AE

通过该代码的加入,能够准确读出AD的初始值,和加上标准重量的AD值,然后就可

以根据它们來计算出k值(k为称區传感器线性度参数)。

然后帯入公式W=AD-无承眞AD值)*标准称重/(标准称重AD值-无承重AD值),就可以紂到weight转换函数公式。

就我们的实验数据为例,人家一起看下这个推亍的过程:

运行调试AD程序,得到初始AD值0222——(546)心加35OOg的币帰时AD值0383

——(899)io,得出标准称贞/(标准称晅AD值-无承暇AD值)=3500/(899-546)=99。

进而推出weight转换函数公式:

weiglit=(long)((float)(a-546)*99),

由电源千扰严匝,所以传感器输出信号•波形不可测。

HX711调试电路見冇同步抑制50HZ和60HZ的电源十•扰,所以调试过程中从AD中测得的数据输出波形DT,时钟输入波形SCK

(1)DT波形

(2)SCK波形

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1