完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用的是STM32L451 就使用了一个通道PC0 使用的CubeMX配置的ADC通道1 发现了几个问题
1 :读出的数据不对 比用万用表测量的数据高 2 :当我使用万用表测量数据的时候同时也使用adc读数的时候 就比不加万用表读取的数值低 比如我正常读取的电压值为0.61V 但是当我设备上电读取数据时同时使用万用表读取电压时 万用表读数为0.51V ADC读数为0.35V 不知道是什么原因 理论上加不加万用表不影响ADC读取数据啊 3 :我使用的是单次读取非连续读取 当我在每次读取数据前都校准一次后 读取的数据值就会比不加校准值低 而且当我软件上 设置的读取次数增加后数值也会变化 但是我用万用表测量万用表读取的数据一直没问题 我感觉可能是我的分压电路使用的电阻是不是太大了造成的?因为我需要低功耗所以设计电路的时候没考虑输入阻抗直接用了兆级的电阻 下面是我的软件配置以及硬件电路: hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;//ʱÖÓ1·ÖƵhadc1.Init.Resolution = ADC_RESOLUTION_12B;//ÅäÖÃadcµÄ·Ö±æÂÊΪ12λhadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;//ÓÒ¶ÔÆëhadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;//²»Ê¹ÓÃɨÃèģʽhadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;hadc1.Init.LowPowerAutoWait = DISABLE;hadc1.Init.ContinuousConvMode = DISABLE;//µ¥´ÎÖ´ÐÐhadc1.Init.NbrOfConversion = 1;//¹æÔò×éת»»¸öÊýhadc1.Init.DiscontinuousConvMode = DISABLE;//²»Ê¹Óüä¶Ïģʽhadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;//´¥·¢Ô´ Èí¼þ³ö·¢hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;hadc1.Init.DMAContinuousRequests = DISABLE;hadc1.Init.Overrun = ADC_OVR_DATA_PRESERVED;//Êý¾Ý±£ÁôÐÐΪ Êý¾Ý±£Áô¶ø·Ç¸²¸Çhadc1.Init.OversamplingMode = DISABLE;if (HAL_ADC_Init( hadc1) != HAL_OK){Error_Handler();}/* Configure Regular Channel/sConfig.Channel = ADC_CHANNEL_1;sConfig.Rank = ADC_REGULAR_RANK_1;sConfig.SamplingTime = ADC_SAMPLETIME_2CYCLES_5;//²É¼¯ÖÜÆÚÑ¡ÓÃ×î´óÖÜÆÚ È·±£¾«È·¶ÈsConfig.SingleDiff = ADC_SINGLE_ENDED;sConfig.OffsetNumber = ADC_OFFSET_NONE;sConfig.Offset = 0; |
|
相关推荐
1个回答
|
|
根据您提供的信息,我将尝试分析可能的原因并提供解决方案。
1. 读出的数据比用万用表测量的数据高: 可能原因: - ADC参考电压设置不正确。请检查您的STM32L451的参考电压设置是否与实际电压匹配。 - 连接问题。请确保您的ADC输入通道PC0与待测电压之间连接正确,没有接触不良或干扰。 解决方案: - 检查并调整ADC参考电压设置。 - 检查连接线路,确保连接正确且无干扰。 2. 使用万用表测量时,ADC读数比不加万用表读取的数值低: 可能原因: - 万用表与STM32L451之间的接地问题。当两个设备共用地线时,可能会产生接地回路,影响测量结果。 - 万用表的输入阻抗较低,可能导致待测电路的负载变化,从而影响测量结果。 解决方案: - 确保万用表和STM32L451使用独立的地线。 - 考虑使用具有较高输入阻抗的测量设备。 3. 单次读取非连续读取,校准后读取的数据值比不加校准值低: 可能原因: - 校准过程中可能存在误差,导致校准后的读数偏低。 - 校准参数可能不适合当前的测量环境。 解决方案: - 仔细检查校准过程,确保校准参数正确。 - 如果可能,尝试使用自动校准功能,以减少人为误差。 综上所述,建议您首先检查ADC参考电压设置、连接线路以及校准过程。同时,确保万用表和STM32L451使用独立的地线,并考虑使用具有较高输入阻抗的测量设备。希望这些建议能帮助您解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1602 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1536 浏览 1 评论
967 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
680 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1579 浏览 2 评论
1860浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
640浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
513浏览 3评论
527浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
500浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 10:43 , Processed in 0.760662 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号