STM32G4 Simulink FOC开发实战--第十章:TIM1 ADC COMP DAC级联使用

本文详细描述了如何利用STM32G4的TIM1高级定时器和ADC进行电机控制环路设计,包括TIM1发波时序、电流采样触发、三相电流过流封波时序以及STM32CUBEMX配置和Keil代码实现过程。实验现象部分展示了接线和上位机显示的三相电流和电压数据。
摘要由CSDN通过智能技术生成

Bilibili配套视频:

https://www.bilibili.com/video/BV1Vk4y1w7xB/?spm_id_from=333.999.0.0

电机控制环路主要涉及的外设功能包含高级定时器TIM1的发波;OPAMP及ADC准确的采样三相电流;并在三相电流过流时及时封波;本章将会使用STM32G4内部TIM1 ADC COMP DAC级联使用,完成以上内容。

TIM1发波时序及电流采样触发:

根据MCU内部比较器的资源分配,我们INP输入为PB1,对应比较器三的输出脚,同时也为ADC1_IN12通道;INM输入选择DAC3_CH1,通过设置DAC的模拟值与ADC1通道12的采样值进行比较,合理设置DAC_CH1模拟值就能实现过流保护。

三相电流过流封波时序:

1.STM32CUBEMX配置及Keil代码

1.在上一章的工程基础上我们增加TIM1 channel 4的触发源,作为ADC电流采样注入组的触发源;分别修改ADC1和ADC2的注入组转换触发源为TIM1比较4事件;

2.首先将PB1配置增加COMP1_INP功能;

3.设置DAC_CHI连接MCU内部外设,其他参数默认,不需要修改;

4.设置COMP1的INP及INM,配置上升沿触发中断;

5.使能TIM1的break功能,滤波器配置为2,高电平触发break;

6.点击生成代码 ,打开Keil工程;

7.修改上传VOFA数据个数,ia,ib,ic,Vbus,V电位器;

8.设置TIM1 ARR值8000-1;CCR4 值8000-2;开启channel 4 pwm;开启ADC注入组采样;

PWM开关频率 = 160M/(8000*2) = 10k;

9.启动DAC,并设置DAC阈值;启动比较器;

10.在while循环中对VDC和电位器电压采样;

VDC电压采样增益:26 = 78k/3k;(基于原理图电阻分压)

11.按键2开始PWM输出,按键3停止PWM输出;

12.在ADC注入组转换完成回调函数中计算三相电流偏置值及ia,ib,ic值,同时使用UART DMA上传数据到VOFA;

13.编译并下载代码;

2.实验现象

按以下图片接线,并将USB转UART模块连接至电脑:

打开VOFA上位机显示三相电流ia,ib,ic及VDC、电位器电压

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值