- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第18讲-测控系统
系统误差校正技术 系统误差:相对随机误差而言,由系统自身因素引起 分为:恒定和变化系统误差 系统误差的模型校正方法举例:避开MC14433双积分ADC芯片的过零延时。预先提高信号。 利用校准曲线通过查表法修正误差(用于无法建立误差模型的情况) 非线性校正(线性化过程):拟合 量程自动转换技术 程控增益放大器 标度变换 线性标度变换 抗干扰设计 干扰源:电磁设备的启停,电源波形畸变等 抗干扰原则:抑制干扰源,切断干扰传播途径,提高敏感元件的抗干扰性能。du/dt ,di/dt大的就是干扰。 减小干扰源的做法:在干扰源两端并联电容可以减小du/dt; 在干扰源回路串联电感或者电阻以及增加续流二极管可以减少di/dt。 切断干扰源的做法:对于传导干扰,增加滤波器或者光耦。辐射干扰用增加干扰源与敏感元件距离,用地线把干扰源隔离,把敏感元件屏蔽。 屏蔽技术 利用导电率或导磁率告的材料制成护罩。 电场屏蔽(静电屏蔽):抑制分布电容耦合产生的静电场。 磁场屏蔽。 电磁场屏蔽: PCB布线原则 地线:模拟地、素质地、安全地、系统地、交流地 低频用单点接地、高频用多点接地 模拟信号和数字信号采用2套电源,并用光耦隔离 元件布局:强、弱、数字、模拟都分区布置。 降低外时钟频率 安装去耦电容 减少过孔数量。 不用的IO设置为输出或者接电源或者接地 软件抗干扰技术 看门狗 指令冗余 软件陷阱 主动初始化 重复执行 休眠工作方式 低功耗设计 选择合适的单片机和工作方式 外扩存储器芯片低功耗方法 外围数字电路期间的选择和设计原则 外围模拟电路器件的选择及设计原理 电源电压的选择 休眠模式 空闲模式 ADC噪声抑制模式 调电模式 省电模式 Standby模式 扩展Standby模式 /* N 值可根据实际情况调整,排序采用冒泡法 */ #define N 11 unsigned char filter() { unsigned char value_buf [N]; unsigned char count,i,j,temp; for ( count=0;countN;count++) { value_buf [count] = get_ad(); delay(); } for (j=0;j N-1;j++) // 冒泡法 { for (i=0;i N-1-j;i++) { if ( value_buf [i] value_buf [i+1] ) { temp = value_buf [i] ; value_buf [i] = value_buf [i+1]; value_buf [i+1] = temp; } } } return value_buf [(N-1)/2]; } * /* 算术平均滤波法 */ #define N 12 unsigned char filter() { int sum = 0; for(count=0;count N;count++) { sum + = get_ad(); delay(); } return (unsigned char)(sum/N); } * #define N 12 unsigned char value_buf [N]; unsigned char i=0; unsigned char filter() { unsigned char count; unsigned int sum=0; value_buf [i++] = get_ad(); if(i == N) i = 0; for (count=0;count N;count++) sum+ = value_buf [count]; return (unsigned char)(sum/N); } * /* coe 数组为加权系数表,存在程序存储区。 */ #define N 12 unsigned char code coe[N] = {1,2,3,4,5,6,7,8,9,10,11,12}; unsigned char code sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12; unsigned char filter() { unsigned char count; u
文档评论(0)