03.ADC的三相电流采集、温度采集及编码器信号采集

在FOC控制中,获取必要的信息是很必要的,(哈哈哈哈哈,这车轱辘话把自己逗笑了)今天来实现ADC对电机ABC三相电流 以及温度、编码器信号的采集处理,为后面的SVPWM和过温保护、过流保护等等的程序打定基础。

在我这个电机控制板中ADC采集及编码器信号获取有关的引脚接口如下,后面是给它的重命名,用EXCLE整理处理方便使用。

一、ADC1的配置

ADC1主要测温度,UVW三相的电流,电源电压,测的对象都是比较重要的。

1.首先配置引脚,并给他们重命名,打开ADC1的0.3.6.8.9通道,并将对应的引脚复用,注意这里一定要检查一遍引脚和通道是否对应,因为F407有很多引脚可以复用到相同的功能,比如串口1的RX可以是PA10,也可以是PB7,如果搞错了引脚,轻则函数输入没数据输入,搞半天不知道问题在哪,浪费点时间,重则损坏芯片,损坏板子。

2.配置ADC参数

下面对这些参数选项进行介绍:

ADCs_Common_Settings(ADC 工作模式配置):

  • 这里配置为独立模式,独立模式是指在同一个管脚上只有一个 ADC 采集该管脚的电压信号。 如果只是用了一个 ADC 的时候就配置为独立模式。

 ADC_Settings(ADC 参数设置)

  • Clock Prescaler 用于配置ADC时钟,这里我们选择4分频,详细的介绍请看下面。
  • Data Alignment 用于配置数据对齐方式, 这里选择右对齐;
  • Scan Conversion Mode 用于配置扫描模式, 当有多个通道需要采集信号时必须开启扫描模式,此时 ADC 将会按设定的顺序轮流采集各通道信号, 这里选择 Enabled;
  • Continuous Conversion Mode 用于配置自动连续转换还是单次转换。使用 Enable 配置为使能自动连续转换;使用 Disabled 配置为单次转换,转换一次后停止需要手动控制才重新启动转换,我们选择 Disabled;
  • Discontinuous Conversion Mode 用于配置是否使用不连续的转换模式, 所谓不连续, 比如要转换的通道有 1、 2、 5、 7、 8、 9,那么第一次触发会进行通道 1 与通道 2,下次触发就是转换通道 5 与通道 7,这样不连续的转换,依次类推。这里我们选择禁用不连续的转换模式 Disabled;
  • 不开启DMA,

ADC Regular_ConversionMode(ADC常规通道转换模式)

  • Number Of Conversion 转换通道数量,此参数会影响可供设置的通道数,按实际使用的
  • 通道数来选择即可,这里是 5;
  • External Trigger Conversion Source 外部触发转换模式配置, ADC 在接收到到触发信号后才开始进行模数转换,触发源可以是定时器触发、外部中断触发等硬件触发、也可以是软件控制触发, 这里选择软件触发,工程中需要我们添加启动 ADC 的代码;
  • Rank 配置模拟信号采集及转换的次序,默认是 1,我们上面在转换通道数量中设置了通道数为5,现在就有5个Rank需要来配置了,其中:Channel 用于选择转换的通道,这里根据引脚对应的通道来选择通道 ,比如Rank1,我们对应Channel0,以此类推,将我们准备开启的通道以此对应选择即可。 
  • Sampling Time 采样周期选择 15Cycles;

采样周期这里有必要好好的学习一下:

二、ADC3的配置

ADC3用来测UVW三相的反向电动势以及停机控制信号,这为我们接下来的无感控制以及对电机的保护设置打下基础。这里和上面ADC1的配置一样,没什么好说的,直接贴图。

1.ADC3引脚配置

2.ADC3参数配置

三、编码器采集的配置

编码器A、B、Z的是以高低电平的形式输入我们的单片机中,具体的电路设计不在此介绍了,看一下A\B\Z的波形及信号性质。

我们使用定时器的输入捕获的方式来进行编码器信号的采集。

TIM3的引脚配置:

TIM3的参数配置:

TIM9的配置也是一样的,注意这里的时钟是选择的内部时钟

三、UVW信号采集的配置

UVW信号采集使用TIM5的输入捕获通道来实现,其设置和TIM3无太大差别,直接贴图。

1.TIM5的引脚配置

2.TIM5的参数设置

四、配置 NVIC

本实验要用到定时器输入捕获中断来完成捕获功能。 所以我们要使能定时器全局中断,
并配置中断优先级。(为什么单独开个标题?因为这个蛮重要的,必须开!怕某些同学没看见或者忘了)

这里直接打开就好了。

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值