智能小车系统设计(STM32版) - 第10章 -基础实验:电池电压检测实验_第1页
智能小车系统设计(STM32版) - 第10章 -基础实验:电池电压检测实验_第2页
智能小车系统设计(STM32版) - 第10章 -基础实验:电池电压检测实验_第3页
智能小车系统设计(STM32版) - 第10章 -基础实验:电池电压检测实验_第4页
智能小车系统设计(STM32版) - 第10章 -基础实验:电池电压检测实验_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章实验8——电池电压检测实验2022Batteryvoltagedetectionexperiment

容Experimentcontent“

通过学习智能小车核心板上的电池电压测量电路原理图、STM32微控制器的ADC相关功能和寄存器、DMA相关功能和寄存器以及STM32的固件库函数,编写智能小车电池电压检测驱动程序,将测量结果保存到Common模块中,并在OLED显示屏上显示出来。One

ExperimentalprincipleTwo

原理“电池电压测量电路原理图

电池电压测量电路原理图如左图所示,从图中可以看出,电池电压测量连接的STM32F103RCT6芯片引脚为PA1,对应STM32的ADC123通道1。与之对应的DMA通道为DMA1_Channel_1。

ADC功能框图如右图所示。该框图涉及非常全面,本实验仅涉及其中一部分,ADC的电源与参与电压、ADC时钟及其转换时间、ADC输入通道、ADC触发源、模拟至数字转换器、数据寄存器。ADC功能框图

如左图所示是DMA功能框图,本实验涉及DMA外设和存储器、DMA请求、DMA控制器。DMA功能框图

本实验涉及的ADC寄存器包括控制寄存器1(ADC_CR1)、控制寄存器2(ADC_CR2)、采样时间寄存器1(ADC_SMPR1)、采样时间寄存器2(ADC_SMPR2)、ADC规则序列寄存器1(ADC_SQR1)、ADC规则序列寄存器2(ADC_SQR2)和ADC规则序列寄存器3(ADC_SQR3)。

以控制寄存器1(ADC_CR1)为例:0000:独立模式0001:混合的同步规则+注入同步模式0010:混合的同步规则+交替触发模式0011:混合同步注入+快速交叉模式0100:混合同步注入+慢速交叉模式0101:注入同步模式0110:规则同步模式0111:快速交叉模式1000:慢速交叉模式1001:交替触发模式本实验设为0000:独立模式ADC部分寄存器

本实验涉及的ADC固件库函数包括ADC_Init、ADC_DMACmd、ADC_RegularChannelConfig、ADC_ExternalTrigConvCmd、ADC_Cmd、ADC_ResetCalibrationADC_StartCalibration、ADC_GetResetCalibrationStatus、ADC_GetCalibrationStatus。这些函数在stm32f10x_adc.h文件中声明,在stm32f10x_adc.c文件中实现。以ADC_DMACmd为例:ADC_DMACmd(ADC2,ENABLE);ADC部分固件库函数

本实验涉及的DMA寄存器包括中断状态寄存器(DMA_ISR)、DMA中断标志清除寄存器(DMA_IFCR)、DMA通道x配置寄存器(DMA_CCRx)(x=1,…,7)、DMA通道x传输数量寄存器(DMA_CNDTRx)(x=1,…,7)、DMA通道x外设地址寄存器(DMA_CPARx)(x=1,…,7)、DMA通道x存储器地址寄存器(DMA_CMARx)(x=1,…,7)。以DMA通道x外设地址寄存器(DMA_CPARx)(x=1,…,7)为例:本实验向DMA_CPAR1写入ADC1->DR的地址DMA部分寄存器

本实验涉及的DMA固件库函数包括DMA_Init、DMA_ITConfig、DMA_Cmd、DMA_ClearITPendingBit。这些函数在stm32f10x_dma.h文件中声明,在stm32f10x_dma.c文件中实现。以DMA_ClearITPendingBit为例:DMA_ClearITPendingBit(DMA_IT_GL5);DMA部分固件库函数

STM32微控制器共有3组ADC,分别是ADCI、ADC2和ADC3,每组至多有18个通道,但是每组只有一个ADCxDR寄存器(存放A/D转换结果)。这就带来一个问题,当多通道采样时,不同通道的A/D转换结果会相互覆盖。程序随机读ADCx_DR寄存器时,无法确定这是哪个通道的转换结果。有多种方法可以解决上述问题,下面介绍一种使用DMA来解决的方法。原理如右图所示:第一次A/D转换完成之后,DMA将ADCx_DR中的转换结果存入数组第一个单元,第二次转换完成后存入数组的第二个单元,依此类推。当ADC组中所有通道读取一遍之后DMA又写入数组第一个单元。如此多个通道的A/D转换结果就按照顺序存入数组中。若需要读取某个通道的A/D转换结果,只需要读取对应位置即可。这种方法的优点是不占用CPU资源,ADC采样通道数量没有限制,但是会占用外设资源。多通道ADC采样原理步骤1:复制并编译原始工程 步骤2:添加BEEP文件对 步骤3:完善BEEP.h文件 步骤4:完善BEEP.c文件 步骤5:完善蜂鸣器驱动应用层步骤6:编译及下载验证实验步骤Experimentalsteps“Three实验步骤steps步骤1:复制并编译原始工程步骤2:添加ADC和CalcBatPower文件对 步骤3:完善ADC.h文件步骤4:完善ADC.c文件步骤5:完善CalcBatPower.h文件步骤6:完善CalcBatPower.c文件步骤7:完善电池电压检测实验应用层步骤8:编译及下载验证本

务Tasksinthischapter“Four

本章任务Tasks

智能小车核心板的电源输入端有一个电流检测电路,如图所示,可以监测流经整个小车的电流。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论