当前位置: 首页 > wzjs >正文

自己架服务器做网站百度网盘网页版入口官网

自己架服务器做网站,百度网盘网页版入口官网,wordpress图片延迟加载,0基础学网站开发ADC采集如何减少误差 同样的程序,不同的测试版,我拿的测得结果误差为0.1内,但是另一块给测试组的结果误差为0.3内。测一下两块板子的参考电压,把精度高的那一个地方的电阻换到精度低的里面,用电阻检测仪器测一下电阻误…

ADC采集如何减少误差

同样的程序,不同的测试版,我拿的测得结果误差为0.1内,但是另一块给测试组的结果误差为0.3内。测一下两块板子的参考电压,把精度高的那一个地方的电阻换到精度低的里面,用电阻检测仪器测一下电阻误差。建议买一个参考电压芯片,那个输出的3.3V很准,或者我们直接先用电源输出3.3V给参考电压。

ADC减少误差
软件上:过采样,去极大极小值,采样周期拉长,ADC校准,看时钟是否满足要求
硬件上:提高ADC参考电压的精度(可以直接用参考电压芯片),提高分压电阻的精度(目前无法避免的误差),电压转换芯片的反馈引脚和输出引脚本身也是有误差的,采用误差低的转换芯片。

时钟是否满足要求

把软件的时钟配置放到CUBEMX里面,配置这里都报警告了。所以要改到指定范围内。

在这里插入图片描述

ADC有时候准,有时候不准,是ADC的时钟配置的有问题导致。

HSI时钟精度是比较差的百分之1,HSE采用外部晶振,外部晶振误差万分之一。
所以用精度高的晶振。如果不需要精度高,需要低功耗那么选HSI
也可以直接用外部晶振不经过PLL(倍频分频)。

static void BOB_ADC_Clock_Config(void)
{RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC;PeriphClkInitStruct.PLL3.PLL3M = 8;PeriphClkInitStruct.PLL3.PLL3N = 40;PeriphClkInitStruct.PLL3.PLL3P = 2;PeriphClkInitStruct.PLL3.PLL3Q = 2;PeriphClkInitStruct.PLL3.PLL3R = 2;PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_2;// 输入时钟范围 4-8  40(HSE)/PLL3M = 5PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOWIDE;// VCO频率范围PeriphClkInitStruct.PLL3.PLL3FRACN = 0.0;// 分数部分PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL3;if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)//当前配置的PLL3输出,P分频:100MHz{//Error_Handler();}
}

在这里插入图片描述

晶振也分为有源晶振和无源晶振。
无源晶振便宜,需要起振电路,也是比较简单的,大多工程都是无源晶振。

在CUBEMX或者代码里都可以选择ADC的时钟源
CUBEMX上选择:
在这里插入图片描述
代码中选择:

PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_ADC;
PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_CLKP;//PER_CK
//参考上面代码.把pll设置删掉即可

默认PER_CK就是HSI,如果感觉HSI时钟误差大,也可以把PER_CK设置为HSE

PER_CK(Peripheral Clock)是指外设时钟,它是一个独立的时钟源,用于为某些外设提供时钟信号。默认是采用HSI作为PER_CK

你怎么看你的PER_CK为哪里的时钟源呢?
可直接观察寄存器
如我的芯片STM32H743IIT6,HSI是固定的64MHz
在这里插入图片描述

如何观察寄存器的值

在这里插入图片描述

系统时钟和外设时钟配置

在这里插入图片描述

延长采集时间

//分辨率为:16bit
ADC2_Handle.Init.Resolution = ADC_RESOLUTION_16B;
ADC2_Config.SamplingTime = ADC_SAMPLETIME_810CYCLES_5;
/*转换周期为810.5+7.5=818周期,频率为25MHz,则采集转化一次需要32.72us,1s可以执行30562次≈30.5kHz的采样速率*/

采样精度越大,采样周期越长,数据越准

使用高精度分压电阻

不要用百分之1误差的电阻,用千分之一的,而且虽然他说是千分之一,但是国产不要太相信他标的,可能还会超过千分之一呢。

确保参考电压稳定为3.3V

在这里插入图片描述

量一量参考电压,想要ADC测得准,参考一定一定要准

电源转换芯片也有误差

在这里插入图片描述
算一下误差为2%
在这里插入图片描述
如果有预算,直接买一个参考电压芯片,就不用自己设计了

ADC_DMA

STM32H743_ADC的DMA很灵活,不像STM32F103那样(F103是DMA对应指定的ADC通道),ADC3可以使用任意DMA的任意通道。

H743有 DMA1 DMA2 BDMA三个DMA

DMAMUX是STM32微控制器中用于管理DMA请求的一个重要组件。它通过复用多个外设的DMA请求到有限的DMA通道上,提高了DMA资源的使用效率,并提供了灵活的优先级管理和通道映射功能。STM32H7的机制可以让ADC3选择任意的DMA通道,而不是像STM32F103一样选择对应的DMA通道。
参考B友DMA笔记
在这里插入图片描述

DMA可能就是不行,我搞不出来,ADC3_DMA存档,然后用PLL3来当ADC的时钟来搞
在这里插入图片描述

生成CUBEMX代码

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/wzjs/279714.html

相关文章:

  • 温岭营销型网站建设湖南正规关键词优化首选
  • 龙华做棋牌网站建设找哪家效益快百度账号快速注册
  • 网站建设公司株洲厦门百度关键词seo收费
  • 网站建设话术反向链接查询
  • 怎么给自己的网站设置关键词百度云搜索引擎入口官方
  • 动漫一级a做爰片免费网站培训中心
  • 魅影视频武汉seo关键词排名优化
  • wordpress 站点转移快速网站推广
  • 买网站空间深圳电子网络推广查询
  • 网站建设界面ppt演示搜一搜百度
  • 衡阳县专业做淘宝网站批量关键词排名查询工具
  • 淮安专业做网站免费放单平台无需垫付
  • 福州网站建设兼职在线网页制作系统搭建
  • 海南网站建设小强seo网页优化培训
  • 做旅游信息的网站能赚钱吗上海快速优化排名
  • 四川省工程造价总站官网网站怎么建立
  • 营销型wordpress模板下载上海专业seo公司
  • wordpress 浏览器不居中惠州seo全网营销
  • 大连网站建设多少钱企业网站seo案例分析
  • 新型网站建设中国疫情最新情况
  • 编程网站哪个好百度问答下载安装
  • 用rp怎样做网站常见的营销型网站
  • 深圳商城网站设计电话电商培训机构靠谱吗
  • 网站建设制作视频教程免费网站推广工具
  • 网站扫码怎么做的中国的搜索引擎有哪些
  • 辽源网站建设公司模板建站和开发网站区别
  • 天津红桥网站建设疫情最严重的三个省
  • 做lol数据的网站有哪些朋友圈的广告推广怎么弄
  • b2b平台网站源码南安seo
  • 网上有做任务赚钱的网站2021年经典营销案例