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

野火STM32电机系列(六)Cubemx配置ADC规则和注入通道

前文已经配置了GPIO、编码器

本节讲解CubeMXADC规则和注入通道

本文adc注入通道采用定时器触发,因此在上文定时器配置的基础上进行

常规信号(温度等)使用带DMA的常规通道连续采样

注入采样由定时器触发,采集电机三相电流,并进入adc中断执行10khz的控制程序

ADC硬件接口如下

Motor1--IU--PA3--ADC1_IN3

Motor1--IV--PA4--ADC1_IN4

Motor1--IW--PA6--ADC1_IN6

Motor1--VBUS--PB0--ADC1_IN8

Motor1--IBUS--PB1--ADC1_IN9

Motor1--EMFU--PC0--ADC1_IN10

Motor1--EMFV--PC2--ADC1_IN12

Motor1--EMFW--PC3--ADC1_IN13

其中 设定 ADCIN3 ADCIN4 ADCIN6为定时器触发的注入通道,其他为adc规则通道,并由DMA进行处理。

先打开DMA配置

 对ADC模式进行配置,采用扫描,连续,开启DMA

 其中adc1 8 9 10 12 13一共5个通道配置为常规通道

 3路电流adc1的3 4 6通道配置为注入通道。

 

 

为了测试ADC和TIM定时器的同步,加入一个GPIO口 (PF11)观测电平

打开ADC中断

 

生成代码

定义dma数组和注入通道数组

 开启DMA,开启ADC注入通道和中断

 编写ADC中断函数

 可以看到ADC采样在定时器计数值为0的时刻,配置正确。

 

http://www.lryc.cn/news/65111.html

相关文章:

  • 预制菜,巨头们的新赛场
  • 英语语法第一章之英语语法综述
  • ChatGPT被淘汰了?Auto-GPT到底有多强
  • unity NGUI使用方法
  • 软件测试技术(五)软件测试流程
  • Redis缓存穿透和雪崩
  • 【C++】set和map的使用
  • 大学生学java编程的就业前景怎么样?我来聊聊自己的见解
  • JavaScript全解析——canvas 入门(上)
  • vue 插槽的用法
  • 【C++复习2】C++编译器的工作原理
  • 回调函数_回顾
  • 今天面了个字节跳动拿35K出来的,真是砂纸擦屁股,给我露了一手啊
  • 8. 数据结构与算法
  • Springboot +Flowable,任务认领和回退(一)
  • 机器学习 | MATLAB实现CNN-LSTM卷积长短期记忆神经网络模型答疑
  • 卷首语:我决定从零开始,用C++手写自己的键值数据库
  • 【Vue】收集表单数据 过滤器
  • Linux线程:死锁
  • thinkphp+vue+html超市零食品美食推荐系统零食购物商城网站7v281
  • 思考外语学习的底层逻辑(以英语、法语为例)
  • 命名ACL配置
  • 2008-2019年主要城市PITI指数
  • 拷贝构造函数和赋值重载函数详解
  • 5件关于JavaScript中this参数的事
  • 面试题30天打卡-day17
  • 对标世界一流|弹性应对“供应链不确定性常态化” ——快消与重资产行业的经验互鉴
  • 【MPC|云储能】基于模型预测控制(MPC)的微电网调度优化的研究(matlab代码)
  • 796. 子矩阵的和(C++和Python3)——2023.5.6打卡
  • docker打包部署spring boot应用(mysql+jar+Nginx)